Pipes

From Get docs
Angular/docs/7/guide/pipes


Pipes

Every application starts out with what seems like a simple task: get data, transform them, and show them to users. Getting data could be as simple as creating a local variable or as complex as streaming data over a WebSocket.

Once data arrives, you could push their raw toString values directly to the view, but that rarely makes for a good user experience. For example, in most use cases, users prefer to see a date in a simple format like April 15, 1988 rather than the raw string format Fri Apr 15 1988 00:00:00 GMT-0700 (Pacific Daylight Time).

Clearly, some values benefit from a bit of editing. You may notice that you desire many of the same transformations repeatedly, both within and across many applications. You can almost think of them as styles. In fact, you might like to apply them in your HTML templates as you do styles.

Introducing Angular pipes, a way to write display-value transformations that you can declare in your HTML.

You can run the live example in Stackblitz and download the code from there.

Using pipes

A pipe takes in data as input and transforms it to a desired output. In this page, you'll use pipes to transform a component's birthday property into a human-friendly date.

import { Component } from '@angular/core';

@Component({
  selector: 'app-hero-birthday',
  template: `<p>The hero's birthday is {{ birthday | date }}</p>`
})
export class HeroBirthdayComponent {
  birthday = new Date(1988, 3, 15); // April 15, 1988
}

Focus on the component's template.

<p>The hero's birthday is {{ birthday | date }}</p>

Inside the interpolation expression, you flow the component's birthday value through the pipe operator ( | ) to the Date pipe function on the right. All pipes work this way.

Built-in pipes

Angular comes with a stock of pipes such as DatePipe, UpperCasePipe, LowerCasePipe, CurrencyPipe, and PercentPipe. They are all available for use in any template.

Read more about these and many other built-in pipes in the pipes topics of the API Reference; filter for entries that include the word "pipe".

Angular doesn't have a FilterPipe or an OrderByPipe for reasons explained in the Appendix of this page.

Parameterizing a pipe

A pipe can accept any number of optional parameters to fine-tune its output. To add parameters to a pipe, follow the pipe name with a colon ( : ) and then the parameter value (such as currency:'EUR'). If the pipe accepts multiple parameters, separate the values with colons (such as slice:1:5)

Modify the birthday template to give the date pipe a format parameter. After formatting the hero's April 15th birthday, it renders as 04/15/88:

<p>The hero's birthday is {{ birthday | date:"MM/dd/yy" }} </p>

The parameter value can be any valid template expression, (see the Template expressions section of the Template Syntax page) such as a string literal or a component property. In other words, you can control the format through a binding the same way you control the birthday value through a binding.

Write a second component that binds the pipe's format parameter to the component's format property. Here's the template for that component:

template: `
  <p>The hero's birthday is {{ birthday | date:format }}</p>
  <button (click)="toggleFormat()">Toggle Format</button>
`

You also added a button to the template and bound its click event to the component's toggleFormat() method. That method toggles the component's format property between a short form ('shortDate') and a longer form ('fullDate').

export class HeroBirthday2Component {
  birthday = new Date(1988, 3, 15); // April 15, 1988
  toggle = true; // start with true == shortDate

  get format()   { return this.toggle ? 'shortDate' : 'fullDate'; }
  toggleFormat() { this.toggle = !this.toggle; }
}

As you click the button, the displayed date alternates between "04/15/1988" and "Friday, April 15, 1988".

[[../File:data:image/gif;base64,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|thumb|none|300x62px]]

Read more about the DatePipe format options in the Date Pipe API Reference page.

Chaining pipes

You can chain pipes together in potentially useful combinations. In the following example, to display the birthday in uppercase, the birthday is chained to the DatePipe and on to the UpperCasePipe. The birthday displays as APR 15, 1988.

The chained hero's birthday is
{{ birthday | date | uppercase}}

This example—which displays FRIDAY, APRIL 15, 1988—chains the same pipes as above, but passes in a parameter to date as well.

The chained hero's birthday is
{{  birthday | date:'fullDate' | uppercase}}

Custom pipes

You can write your own custom pipes. Here's a custom pipe named ExponentialStrengthPipe that can boost a hero's powers:

import { Pipe, PipeTransform } from '@angular/core';
/*
 * Raise the value exponentially
 * Takes an exponent argument that defaults to 1.
 * Usage:
 *   value | exponentialStrength:exponent
 * Example:
 *   {{ 2 | exponentialStrength:10 }}
 *   formats to: 1024
*/
@Pipe({name: 'exponentialStrength'})
export class ExponentialStrengthPipe implements PipeTransform {
  transform(value: number, exponent: string): number {
    let exp = parseFloat(exponent);
    return Math.pow(value, isNaN(exp) ? 1 : exp);
  }
}

This pipe definition reveals the following key points:

  • A pipe is a class decorated with pipe metadata.
  • The pipe class implements the PipeTransform interface's transform method that accepts an input value followed by optional parameters and returns the transformed value.
  • There will be one additional argument to the transform method for each parameter passed to the pipe. Your pipe has one such parameter: the exponent.
  • To tell Angular that this is a pipe, you apply the @Pipe decorator, which you import from the core Angular library.
  • The @Pipe decorator allows you to define the pipe name that you'll use within template expressions. It must be a valid JavaScript identifier. Your pipe's name is exponentialStrength.

== The PipeTransform interface ==

The transform method is essential to a pipe. The PipeTransform interface defines that method and guides both tooling and the compiler. Technically, it's optional; Angular looks for and executes the transform method regardless.

Now you need a component to demonstrate the pipe.

import { Component } from '@angular/core';

@Component({
  selector: 'app-power-booster',
  template: `
    <h2>Power Booster</h2>
    <p>Super power boost: {{2 | exponentialStrength: 10}}</p>
  `
})
export class PowerBoosterComponent { }

[[../File:data:image/png;base64,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|thumb|none|300x105px]]

Note the following:

  • You use your custom pipe the same way you use built-in pipes.
  • You must include your pipe in the declarations array of the AppModule
  • If you choose to inject your pipe into a class, you must provide it in the providers array of your NgModule.

Remember the declarations array

You must register custom pipes. If you don't, Angular reports an error. The Angular CLI's generator registers the pipe automatically.


To probe the behavior in the live example, change the value and optional exponent in the template.

Power Boost Calculator

It's not much fun updating the template to test the custom pipe. Upgrade the example to a "Power Boost Calculator" that combines your pipe and two-way data binding with ngModel.

import { Component } from '@angular/core';

@Component({
  selector: 'app-power-boost-calculator',
  template: `
    <h2>Power Boost Calculator</h2>
    <div>Normal power: <input [(ngModel)]="power"></div>
    <div>Boost factor: <input [(ngModel)]="factor"></div>
    <p>
      Super Hero Power: {{power | exponentialStrength: factor}}
    </p>
  `
})
export class PowerBoostCalculatorComponent {
  power = 5;
  factor = 1;
}

[[../File:data:image/gif;base64,R0lGODlhKAGIAPczAP///6XG/4yMjDk5OTExMSkpKd7e3ufn5+/v7///93t7e/f39xgYGEpKSq2trbW1tWtra5ycnMbGxr29vVJSUs7OziEhIdbW1hAQEKWlpZSUlISEhEJCQnNzc2NjY1paWvf3763G//fv7+/39zExKSEYGBgYIe/37//3//f//3ut/wgICPf/9+/v94Sl1vf3/yEhGCkpMdbW3gAAAJy976XO/5zG/+/v5/fv963O/0JCOaWlnDk5MdbOzufn71paUoSl3nuc1nul3ufv74yl3oR7e9be3r21tYSEe5ylpUI5OSkpIbW9vXNra7W1vVJSSlJKSlpSUt7e1hAQGBgYEBAYIQgQGBAQCCkhIQgIAMbGvWuc75y174Sc1oyl1q3G73Ol/+/n77W9tdbe1pyclN7W1kpKQnNza4yEhIyEjMbOxjkxMb3Gxt7W3rXO75St3nOUznOczpS15721vb29tXt7c1qM3nuUzpScnISczmtrY4SEjM7W1oSMhNbWznuUvXucznOUvefe3qXG72OU3qW975ylnISMjLXW/2Oc73ul1mOU73Ot/7XO/73W/2uMtTmM9+f3/zGU/2ut/63W/97v/3u9/5TG/1Kl/973/0Kc/+/3/zmM/3O1/3u1/1ql/0qc/2u1/2Ol/4S1/1qc/2Ot/0qU/0ql/8bn/8be/0Kc90KU/87n/zmc/zmU/+fv/zGM/2t7pTFSe1prhEJajEpac1JrhFJjhEJac1pjhGtzc2NzjDlSe1prjEJSc4yMhGNzhL3e/1qt/9bn/1Kc/4S9/2uc59bv/9bO3rXe/87O1u///87e/yk5UjFCUjlCUkJCUiExUjlKUikxSjE5Slp7vWNznFpznKWcpbWtrbW1rUprrVp7pXOUtZSUjHOMtXuUtXuMvYScvVp7nIycvWN7nEpzrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQECgD/ACwAAAAAKAGIAAAI/wABCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KdOMCBAiOKl2wwGdSpE+TNtWJQIKGDRokIBB4YapCpk81Kk1adOMFAQ0wqGXAwMIACA683jwg4INaDG3ZEvgQ1+aBDQUwcFCgoAMHDx08NLzgYW2FjA4GYFjRQG7ZixNWzFghAMEDApshbNVpgMGMGRQOGNhgekUHyyEXdF1YgcAKBg5GAzDgYUblhhUwbH6cUYBmDrAVIjBwGeEFzSsiCJQgfIWGnQgKnP4gcMGG0ysemP+sACH5wAraMYgvuODDb4YHWhPHmOH0APMINzhofvD56esAIADaDMhRpd0Mik2n2QwQlHQABw0o18BpHiTHGH4EGWDBZhJo5IB9GBbkAG78GXSBcDNIF+AApxGgGwBKbUTWQi8WlB2FA2V2mgIGMWWej8n5CONABlDgm0IRQLdejxnIBZZlB2y4QocExRhRBprdV6WVBDlgwQr79TjjVyGy5J91Agl4WoEBCjCAWx0Qh4AAG9QpgAEP1FlnXBLUuaQEFBRAgAIHcFWnAhosUAEFFgiA0I0MDvTdDBZQKVAFHxRgQQOJFoSpppzK9QAHFnCQ2FYVsEipAhtc0OOEMzD/wBxDCESQKQMcCOCVhhwOtEAGpBbgAXF51inBAsUqYOmHM2gJ4wMQEMAAAR0UCqMG1VGA6FSfbqrBaAs4cOixERBAgKs1+TcDgBNUpyICDaxAqAMYFDABjEmeFsECBxjZLHMIeACBtREwkFoGGFCw1QLGzUDAZyAeBOkHyykwGQeWAvCABZUe4MEKFOfIsQQGQACytRIw0IABixZwwK+wWsAqugRdYFqzZT547l+aKTBVlL0KZPKdLBbAnAEDbgDAAUkPhCXOMEKgHgL0orbVBaydpi2AD7RFsskh78aivBu4a5O630ow9msCKXAbcwtMSEChC/hbHgA6ygpjq5d+/yneAiyqKIFmGEBwQQczfJAcpCtY0NoHxw7ENINNVaCZ0kuD1iAAls+AOeIF9mutBqdFiJCOUC/0HQMd+meBtbxOKVCSRgOAOJgwfrCZ0nWfhjkAzGr5wApoIjA2lYCfFmbmCF4q3O+9OawBerinuyAGFhTw1gRT8TrAaL2tkIFADmj2OgDYbnadATwKhDgGcE/42+CbjV8rzTYe6AECF2iwIQYemFUETuOo3WzIZQAY4AwKCDQE6i5xrnLArEjnG/Og7nsM+Q6a/AM/gQBNdgvgAIEqNwACzMpfmHvg756mpXYlDkZj60vyqoc+AnrwgNaK3twAIIEmnW1B3xqTQP905KxJJehG4vPOpCqTgTCFMFYd2IACtFOArdAPA/h71IHuBjwUUaAp/nqXdmTnLwAdYIzkWlAB+iIQCpruIJ1zWJlqlQGkUBCLAondY4JTwTRNpXcr4B0KB8KsAiFLAwZA1oZm4ERVOfGBKjpjrxYQPe7oBG0IYdZ7ljgQxPlmAhEozQwwIAFCpWmLhLFTU+hngVkpR3++UtWU4naa8QVojHGBlS2RuB8EPHCUG5iKG80DtFi5kkYRoIAGoIOuD3ZIR2wqyCABoEKnZckryFLmgMJkvM04EVbcxKVAopegnJxJRQYpXx8BAAGtTYU6oxxWe0r3OzXJzlcKopS1FDL/uUh1x19gomX1YvcAgYbpg+tBQAdQtIJ71fBICYleQxuitkqdCV2xe6b59umravZugYQEUVMMYJcIdLN6yWNkd8B5w82sJ3qbMycQEUI/NkWvfStyp8ag41AYiRBNBunc+WgEy5WC517tnIEteYWBxyR1qaZpKgC6gqwtzq50+KnAzdgmMYF0DaQn2sysPviYsIanR9UEgJECScjjjBQ0X0wpN3+6vKfCKD6jRBdMd4JJiYnQRQIxEgZ6WsPoeFA7HHjRpDBIPitulFYDKmfKsIo34hXQP7/JDGecN0IA8G2qG9qcJjE0KQbMhyAR+Bus7kW/FWBUSh2i5TqX1hTd/7FVtr8LXlMmpbTJoZSlTdHsZTXTgNEktZw4Qd3vDPIAvDxmclzNI/Zc2QG2Zkh/F6DjEE/DgCz252YcMIBnBhTe7vTmN1higEMp2cf0OnQDK4PhWTV2mgJc4AHe7c4GjnPav3RgK2qaQbUEUB0qmdWhLpSXeCPgUAFo7QAOsGobW8SUB4bXS/8ZiL+qFRf2ojdW65nnC3FiAAFwYDL12kBBexQBCwwqLaJhDwWQWwELnHaIA6qXrjhHgbt84MYEQYAGeozivOzlAS/yGAA7oCk2Lq0xiGnyVAg8AAU0xmdpeiADdpyQB/SYAR5gFQQa4EP3EW4DBoBVAw5wAbuohf8CVGrxaTBAgOUZQFV1/li9CuoAAkyGAdVC2GY+sJr6UmkCUiIAcZQcZQssr8VqaVSNZgKVseDnABnAymwMIgH8ISs5EN5AKIMMFSGKKSqVTogE6JSbg6xaPy8yAMs0IIAbIyADAogcQy7gADpFQCvsycD0PKiBCFir1GMyQAT0w9GlaQCRMHpKU45S6iEKgHv4gvZAzjJqglSA1RylNlKYUqJym/vc6E63utfN7na7+93wjre8503vetv73vjOt773ze9++/vfAA+4wAdO8IIb/OAIT7jCF87whjv84RCPuMQnTvGKW/ziGM+4xjfO8Y57/OMgD7nIR07ykpvc3tP/HtK0WYAClru85TB/ucxjTvOZ27zmOL+5znPO8537vOdAtzmQhk70ocOoTAlfQKcNcAGmG2AMbYD609sw9apL/epUx7rVs871rXtd62Dveti/Lvayk/3sY09712XN9ra7/e1NP2bE8YeCk2ckvw7Hu90roneG933vEvk7P6+yLyJd5U4h8fKSZEKzE0gF6YA3kUUMsFB0co7QX7kI05aHEMjj0yLoakMB2MKAmEb+IYJfyAU4hm0YcRkkIeQ8QzxPkRSg6wErO8ABJn161V+EfZlC1wIA1B1y45Pcf0x+d6KNzQHIfkgBMsiYxh3t0UzfSUeHfs3a6DPe9973oL8T/wfKy7CpTIDWHYiLkCkwAQ5A4AEfuDYFBjCBCnigAAVknwA60D4EcED2E/ABuFYAGJNHzyZFu6cADEAoAmAwiYQWifQAywYB4jVk7VceAvBF2wcAHtAAHFAA1fJ9qPd7joIe+zN8TQEtTXEBD4M3FpABD1BHDTAwCsUBFeAZrWQ7SqMhjxF7BcE0EFABFdAALuJLseUBFQIv19Ee7fMAHQKDMEIB5YFoMNgkDyAAIjAQCeAq7bEBqiEwtHd6qacQJTZEMoOC7VFACzBmslE7Ucg7DpBYu1EAjzEB2bUxj+F/shdCtkQdEjAqo5EyTyiHAjA3v8IU2iIAaOEiF+CGy/83ELbnR1zhiCKoEGOYEGUoEBlgAbTGFANAfCbWhvv0AZgDLE1xRh1CR7URW/9nI624NPaiAc6iIfdyAPR3XxQQARUgHv6nFVAxVQiEECiALgsDi0BWiZI3eWoIAA1YIXFTTgJQISxoLV1IPgViAAVwLBAwPkyTihxgS77yirZYAV4yK9iILgqwjZjGARpAN7lyHvwTjAexhWKDLmwwAM2GjMnIdwXUHWNGPooGIx1wL404K3VTitdIh8aTNhbwALv3irFUQBlQHg8STMCDU6vHjQSAOQtQMB3wABqQAS/gBznoVYfgFZG4hhRoAFGAU/roHBYxAR5AAN8iOZ3yKxD/8Gy12BgUCAAZQIBO2ACcSHlg1j8gCCgDIwAWQAGnFUIegGvtyBUQIGp15CsCMDo0wzAFUABIgABK1pPDp4Hb5kEzuZHe95JccRHUlxBc8ovV1xTUN27TNpdvWSUD0CSTdhQRoZdpspYAkIUbmCYjkABoaYnl5oMrEYlaWJjgxx8saJEhQZgJIJmTCQAJMAYCQZinJ5mW2ZmLUSIHoAGscowkIQJyh5Yp8BWXWHBbuAAokAAokIWy+Ze0OZu2WZu4eZu6mZu8uZu+2ZvA+ZvCGZzEOZy3WXev+QICkZxEd3SreW+IUAgBkAMBUJ3VGQIBgJ0B4AJCwJ2KAARC8J3h/wme4lme5Hme45me5qme6Lme7tme8Mme8vme8xmf9Hmf9pmf46kIQaAI3+kFfNAGRiAFb+d0Z9lvjcAI1rmg2mmdNICdDxoAETqhEFqhEmqhFHqhGpqhHIqhHrqhH9qhIDqiIlqiIXqiJBqi1skFW+AIE0edjPkQQhACmvlwCSChCAECMUoQIuACNaBufFkS07mYhJkdOsqYmskCQhAAI5EnCqCIAiBBHyEXEuAAEDAwQhoC7BEgFnCglcgCQMCkIvErGBAXmDYAlmcR+ThVr1EkGcNPE6GZOCo5H5BdXbqjy7mkJHEiPaWUpykRFQCOqGVJkFelFlGdmalkduqlIv/IAl0gpiJxIkvSXJbCJd0hRECyNBTQGTaiAArjK5YhJEvTAJxafLCBfJkpENkpEGXgfueCAHeKpyigCFo6EnzqjzvEOc+2LZeyq50SmiG5AVRTALmoG7XSAPh3g7S2AQHUqxoAAfviJcq0FQ6AfuLxF+xXZZSEBi8gp2JKoLa4qHgKAGAKqSFxIhBAJ/NHHJhSKA9yHe26NOzok+MTLkzBKQexAYrjk1/kf+NzONSaWHGjIhmAZRJAAB3iJQ/gAHGhAUlAEIgqOQMgrrKqCOYKEidipqNCAcxhZQPhJgjgsQJRiFRDAFUJI/hqEPrKFdyTKtdRJ1OxMPgaN7ZUN9z/cbAcVaMAgJ1B9qqxuqPluqeDNRDU8RozNhUPYDRH61UuM3wDcJcom6Z7s6+HtCjXAQEdwB74KiDgqACVcbCTppk0kAOpajwUu6OzWquRqh6SYwGKAwFsEocIALdTEYf80iYW0BUNILWeRQFtxDYfIB0KwFiyFjfXYTxZK5ANojZnGbEeNLGwyqgiaLEkQR3rhTDjUxt/IwDSobmuJx0O0INwxoQvUxCeCiMeQDEGwAFoJgEW4AF/mCgH6ZUZYEIBEoR4k6vDNz7eWrZrcLYxKgJh2qR2EX/7xxcDAS2cuzzKGwFhkgEeoIg+VLuv55NbiWYTQAAU8AAKwAGu8gBv/xKCPkkAujJ8HVBsHcIbgEY3HrBcqzoQ/ge8MTqjIwEW0gYbphYgThKk2bclSFF8j5gm7IFN0/e/+CSnNFAQJ8Clktt7C+ACF+twEauzkTuuAKCnEue4PdvAp/fAEdxwAfCjXTWuKDC8GZzAIpAA3boACdAULNDCCcACWSjD5DrDNlzDOEzDOnzDO5zDPPzDPhzEPTzEQEzEQlzESHzESmzELMDCTUy5EocIi+ACLvCdQHDFWJzFWrzFXNzFXvzFYBzGYjzGZFzGZjzGiYAIE/cCjWADNbCgcBzHcjzHdFzHdnzHeJzHerzHfNzHC+oIdVdxOmvBBjHICpeahJzIiv+8yIzcyI78yJAcyZI8yZRcyZZ8yZicyZq8yZzcyZ78yaAcyqI8yiNhABnwa7oXEqHJKlcZLnayeAGMdKusiBrQeiqxGnVCmoX5AB1wARdQLoTlEUizZke3X042edprABLQAB+wpvULXxxAAc8ZeXHTUxkQzB0RN5ZEPniUEc84HRiwXOPRYWHYwQPAVQiQhzFrfOu8JaEKG+5HEO3iSqK6fARsHodxWPt6dH9EFo/HfKbaIwHcUSCoy4xJYHB2qQKwRsBzzgswARTQawRIJcomANvIQ8aLsFXSAMjVXBgVARY9PhKQ0Qlrra+SICfCI7+CfscSYeH1GQVQUBLQihL/ANIewD0BeBXnkipZhCwb8CbPt6MdGRjDslJh4rFMEydD+D0HoABbgWgVUDdMiXi+0gADYCfM6lpL49QuGNUUMNWmbLAEEMzavBweMADMgRUAyRxo0RSRsRWYNlU7Vi4POSyIRHnOrFDySMjs0xaqZUvpeBTfOB2sMyqKqACcyE4uGY77AxX08r2kKgCIfbXtQ7P/VCEbTWZRCtcIO23kuwBIU4cxDTyuogHG2wEMIB7xVyXKwQGwvKP7lCoCG9ECsQENgphndH6iUW3texDfnLx4pAGN/Yu9HSAmOxBe6yQcrX02gzxSGDX/1WvN7EPpWmoVRnwNoQBBXZiH6DTf/2PZABDYevi492W7AeJU4jwQ+Qzc35ur6cxOmON/ibsAHWB6ArHebasidQMgqZIBFYA019ZGxeVBrvIB2L0Q3vGnhelLIbYBr9EeA4MpleF/BWSl/PK0qYVmHJi4WrvNPolHTIOmecIciDEQ5QIwuLvRHg4j3bsVvEGNM8gUYzYaqxfR4pIUmyo5HSB3gZoUE7Dd3E0YdHK+o5G9rh2NN/gWIB2VPLYpCSsogrrVDIB/hZIBMCYei+LkwAPl06YB5/trP6iAVF4lDv5s+OMAVBKoBIF7DFCnCaQ9YZIqN3awDbABb5rIpoZ80/aN/CuJzDdpUVF8fjkjY1El+au/BjTMHhx8qf08JkFifJoMOEBOyvj2mOVM6ewmZLmM6Zze6Z7+6aAe6qI+6qRe6qZ+6qhemAEBACH5BAUKAAAALHwARAAUACIAAAidAGcIHChwB4AKBAleSEhQAcOBEh5KJFgB0J0/gADBuQNoYKw4dwJlBAmgpEmTA/OcXMkSwEA+LWO6FHhBZsuBfmyyHFhT50mePn/SDIpyKNGZM3oSBXqU6VKjT5MeRao0qFOrULFKbZrV51WvAitMHfhorEAvZrdGrQpWrVa2Jg1UmEsXoUAHdefWnMjX7sMNDh9K2PDQAYCFDw0EBAAh+QQFCgACACx8AEEAVAAlAAAI/wABCBxIsKDBgwgTKkw4o6HDhhkAVHj48MLCixgzZqT4UAFHhxI0ihwp8qPJigMTkFzJciAIBDARnIAJMibMGwha6tx50KHFhCIAoGARNEHRowCMAhDAtKnTp1CjSp0a1WEPqYq6KHIBJAgQIV7Bfg3rlarZs2irNnyUlmmOADRytJ1L96zDPHN56tXokM/ev399Ah6806EfwohXCk7MeGPDn40jM3wsuXJPypYzC1ys2TLnzpI/g24senTi0qYJo04NeDXrva5f84wtWyft2ix9zg1KtK7v300dVpgLpLjx48iTK1/OvDlzh2zbBphOvbr169iza9+u3aGXvLgx3i4On9BAhfPoJzZ0kP48ZPIKT8qvAH/hyQ0eP4asn3DDRwcAXGCSAfwVaOCBewUEACH5BAUUAAIALLwAQQAUACIAAAhcAAEIHEiwoMGDCBMqRJhgIYCGDgUKmEixokUBCUQ8vMiRYhAgQoJ07JgjAI0cIzlGXMmypcuXMGPKnEmzps2bOHO2THlRIwsRPC0CGQokaMUASAMYpaizqVOBAQEAIfkEBSgAAgAsZABIAAQAFAAACBYAAwgMAKCgwYMIEypcyLChw4UCAAQEACH5BAUoAAAALGQASAADABMAAAgnAEOEAECQIAgACAqAQGABAUOHDR9KjEgRosWJCBYwWICAAAKEAAICACH5BAU8AAIALGQASAADABMAAAgQAAMIBECwoMGDCBMqXLgwIAAh+QQFFAACACxcAEgACAAUAAAIVwBVBAgQQoDBgwJSIDQoAoBDhyFGFBixEIEJEA8BhEBgAePDACcsIMi48WLGABwbPgwRcuRHix4hcowJAKRIkjBPpiR5wqRDgwhKnKhIYmjFjDUNAkAYEAAh+QQFPAAQACxcAEgANwA0AAAI/wDBQBhIcGCIgggTKlzIcGEKAA0jSpyYMAFEhAsoatwIAYDHgjcKiOBIkmEOjwBY4MiIgEHGkjALBvAoxUOBAQoMWAARs+dAAC+iKLhx4UMHBgh8xpw55oOBgRMIIFUa0yPPgRk4MGhBFSbKgRc4aJjalePJjwYaKPDB4GrZjSgrcNiwAIGFpG81hvAoYQAZlnfzajwZRscGGQgQGHApmOJeMVQwMLBgYgCGl40jzgSQGMEJBFICZ5boMUHBFqJHN/xKEAEJvKpXJ+QamyGNgaYJsshdu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59OHIEDARMWXIRgYIP3CsAReIr4AAGDgpcLNjTgQOEC8AkSIApgAB5CBQcL8gc/gPJAgQkQLPBBAR3UBxxKABzQwFMLPLDBABY4QBwADmiwHQQIdFDAAcMdEAECF2LIwQPCLeAAfyFCoICEwC0wgQGsEZTeU78toMEDF1wgQQYL7IiAiyz+poBkDEyWAQQSENDABhKU2NmP6OWHUkAAIfkEBQoAAgAsZABIAAMAFAAACCQAAwgEQLAgwQQFERBUsABAg4YNCDog2NBgQoINFCq0yBGAgIAAIfkEBRQAAgAsXABIAAoAFAAACF0AVQgYSLCgAAApDA4EIELhwBEFRigMgMAECAAYM4ZAYOFiRgADT1hA8BHjRoslAVC0IKJkyJEpKaL8OJCjx48BRJIsefJmxpUteZ6YmbFmiRMOEZBAmjSlyoUKAwIAIfkEBR4AJQAsXABIAD8ANAAACP8ASwgcKDAEwYMIEypcyLChw4cQIxJMAKCiRQAgLmrcyLGjx48Xc1gkiKCACIkoUwq0yALBAgAIGGQESbOmTQABKl74UIBDhAMMWiRQSfQhgAVRNiCoMGCHBQRFozI8ugNBRQ8KGCyQyhXhRRBOGjjQ2rXsyooLPjCgYIABVLNdLy7Y6cEt3LgsRFiUUADDy5uAA1sMAeAClAMVJ/R9ezcqgBFPFBy40KCDia2NHQOQwnOAAClPM2sGwGKB1ZiYRausSNFii9CqV29EQIJxbJQcWwjeDZiGwKEDWQC/Tby48ePIkytfzry58+fQo0ufTr269evYs2vfzr079qMVDFzBROBAwIS/FQ1sWF+Bt3sEGSw4+IsAwocGGBT8XbChAQcKF7j33gAZWPSABAssIAAG7QFQwXwJJlcRAhwUWBFiFxYwwVE8dVABcwtw4ABHBzQg3gIPbDCAfMtROOJGD2igEQIdFHCAciG+eNEBGlg1IwcPLCeiRgs4gOFGCjggYYgWovXAkURuYAByE1ZoEQIRPHDBBRJksECXLk2gJJUHbLDWA0cpgAEDbFpQoAQENLCBBMpNiMCdaN15Z4Jo8VlRQAAh+QQFCgACACxcAEoADAASAAAIXgAFABABoKBBgyFGFBghUODBAAhMgDh4MAQCCxMpFgxwwgICjQUtSgQJAKIFgiBDdPwIEuLIlBczauTokaRImRRNotSo8uVMBCVOkIRIQihIgSxbDgQgoKmAFCieBgQAIfkEBRQAIwAsXABIADAANAAACP8ARwjMIbCgwYMIEypcyLChw4cFEwBACAKixYU5AGg0iKCAiIsgD2qcKHABAgYLQqoMoDGBwA0eEFhAoFLlyBETMHw4SbPmRZYaD3zwsBOlT5AtFQjQsBNGz6MPgR6JyRSBiZRQH4YAYORDhRFVnWaNCqDIAAUbGhDYwODpWIYsHCDZoKBBAbYt3jYE6hJsU7d6E94cESGmCcCBRW4siQAG1sSCAfQV2GImZIWDBSIggfiyQJIG83o+SEPg5BEsXIIezbq169ewY8ueTbu27du4c+vezbu379/Ag0Pd6MDBY9gAEGyAUKFzawQfNhyX3YECgtWxL1iIMEGAhOmuNTA1iHBBQIEHsztwGAFgAQQOzj3XZQ/AAYH4lx8QOKDxQQPwrEGXQXsbZECbAUppYFxtEy0wUkAAIfkEBQoAAgAsXABIAAwAFAAACGcABQgMIbCgwYMIBQAQAaChQ4chRhQYYdChQAQmQDx8GAKBBY0bAQg8YQFByIYdM568aIHhyRAkTZ4MgBFkyI4fVwqIeRJASpsPWbrcOFJlyIslTuhEQELp0Ys9AQQQKLJgChQCUgQEACH5BAUKAAEALIQAcAAXAAwAAAhaAAEAMLChYAWBCBMqRLhgQwMOFC4snJiwgoMFGClqXPChQIeDGikueLBhgAUHIUMi6FDgQEqNCDg8eKlRAUqaCxsawCmwQgYECybc5CmBQIMNEngmxLhAKcKAACH5BAUKAAEALFwASAAMABQAAAioAMEECFBjoMGDAVIAQHgwAYCHEAGAMAjx4I0CIgDkgIhgAYKPFhAMfKjFggUGFiAwWKDxYYYPUnwcMBByJAAFAhawXLBy5AIKFAYQ6GCAgcgAABA8EYDgAgWVC2xmfCjBAoajAFLcgHiBAYaoSC8oMfBwAgGjI0/86NDmQgMFaJECkPKhwAABB2rKBcDiY1K9ETkCBuCQI4GjeyMieGgDAAoWB1myABAQACH5BAUoAAEALIQAcAAfAAwAAAjuAAEseCBAAoCDBxdcuIAQAAIHAiYsaGhgg8UKCwRAoMAgA0IEGSw4mOgQwocGGBSQXLChAQcKFwwYEOiBQsMDAzwefCBhQUYMFQ5WGOmzIQANChou4KATwAGEBwpMEPihQIegFDcgaIiAgwOjBw80mDlwwwCRCCMQKPBAqVewAB5oMIqgQ4GnAiVQsDDzYNevRg9o2EqXQ1uEBghMTfhWqQO8YBUARvgBq0CmSh9ANsrSQAWJCyQI4IrZb4QHCyVkCJ0BwYIJX9VS0DAS6gYGFNouUICBgW8LHiUQaLDBYELXYBcgWH58ueuVRQ8GBAAh+QQFPAAMACxkAEgAAwAUAAAIKQADCARAsCCABAAWEFRAEIFBAA4BMARA4ACAAgYADHAogKDChyANMggIACH5BAUyAAAALGQASAAEABMAAAg8AEOEADAQgEEAIwwiICECAAIGCABAYLAAgAELERdQtAhR4kYLGCIywFCRQEcFHQ9gdLhSY0UEBCI6NBgQACH5BAUKAAwALGQASAAEABMAAAgoAAMIDACgoEGDCQouMKjAIIKDDhkaJHCgYAEDBQc8BCDA4EKIIEMGBAAh+QQFjAACACxYADIAwAAuAAAI/wABCBxIsKDAFG5CBFjIsGGAGg4jSpxIsaLFixgzatzIEaPCRi8MiiTYCMzDEBAhMlQYAGVLiC5jwpz5sqZMmzRv6szJE6fPnT97Ah0qtGiAHCchIq3hcmEiRyOjPgSQgGDVqFizat3KtavXr2DDjkzRJcDXhQBejHhx4kUKtynEyp1Lt65duwmEhPgKMYWmVYA1QdIECsXdw4gTKxb7AojZrgkUvlgFCfAqV4BDUl3MubNnxEIed104uVOkTaiZadL8ubXr11pZlD0b4IWrS69KlRL2aRVr2MCDv9YroLjx48iLk9aULJWqy7B8HxROvTriBY6Taz+O8gWoYa9eDf9J9clVXOvo088Nvb19ABopPrFKhanUsWHEfqvfzz8q2QDtbUfaZZrAAoklLXiyTH8MNliQIiEEqB1prWCyCiySTLJJMfo56CF62AEoIXLddeJDJ5LAwmEnm3zoonrsjXjceylgMswwwkwyTCqanHfei0C+9p+MM9a2SimpDLFJMMRA8mOQULaWV4REKlebK5Jg5goksLjSYZRgJtaYaFwNCAuGaLbyZZhs1sWCY2fl8IImf10GGChrtqmnVlcJVBULQdRAGwCoFYpannsmyhUKKLiwl1c0BMCCcQMlUNwCAGCKQlybAtDpp5yG6qmooI5qaqmokqrqqaumyuqrrsb/2uqsxaVgWAIsJJDAAttlCmdBmAab6bALNGIMIC544UIeeSjbxbLJJguEskRIS621LlTrxbTZYqstt99eu6244Hpr7rjdohtuuuWqe2678JIrL7vidgvEvYoAEYQL+eYrhAtCKLJIIwRVcMEFBiCcsAELyyBDBcgoI/HEFFds8cUYZ6zxxhx37PHHIIdMsUoM0aCQyYXkgAhrC1yg6MuJiWBAWC7DbLNdNXu1wMw39yyWCEYAwMJXF1Rp9NFIJ6300kw3zTPRAlXQ9NRUV2311VXm3FXLWHft9ddgG/20VzVvEPbZaKddtdZc7az223DHLePYXRUtAAVy563322xziVUzr3sHLjjWdG/FtQAIDK744kv3vZXdAzAu+eQjFq6V2wJ8QPnmnBvnuFY1G9D56JNbnhXmpKe++OdZse7z61GZjtXOA6lu+96yY2X37bzL7XpUf/cufNq/j8Swwsgfr/zCzCff/PLORw/99M9XL7311F+vffbcY+/99gsfAPv45Jdv/vno1xUQACH5BAUyAB8ALGgANAA7AEgAAAj/AD98CAGgoEEAAhMqXMiwocOHDw8aRCCxosWLGDMaDBHAIgICFDWKHJkxQEeDCygiYLDAIMSXMGESBHAAQgECEC5YQBCzp8+GBT1AOGDAgwcGIUkqXcqRJoULBSsUwNByqdWRJgsmMOiAANKfYH3ONHiAwwaWYdPCPHiAQocDO6/Kzdi04IUGHVLGnctXYlYAFQYIaIlgp9rDDQmOwHugsQGWLhFLBqCFAQMLlglgSNq3b10EoEE/XiC5tECPhk0jHnsQQQyeqg/nuBhya2e+IbgURJECBQARBl8AYBH7J4AvW7oQcUHECxAXApsT6VK8uvXr2LNr3869u/fv4MOLlx9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKKB3E7TmgAATVKUUdhYkhAAEFDSAgQIKjqRdSxNIAMACAmBQwYLYCbDBhgeQVYCGFn5X0AENGABidwU5oIFV3tEUAWcpdudAiTReR1pCC0zg4lXcLaDBAxdcIEEGFWakHUULKICBZZdlQJJ3KQmUUpMaBQQAIfkEBTIAAQAscAA1AAgAEwAACEgAAQgcSLAggAUGAQSAcKBggIUGJQxA4JADwoEHOGgo+CHAxYEeDS4QYRABgiEOAwxoOHABApIJY8ZMYPCFQBQKA7ggsjMAz4AAIfkEBTIAAQAscAA1AAYAEwAACFUAAwhEIHAgAYIBFiBgsCBAgQ4XLCAM4IEBwgoFMDQUOMBiwQ0MA1AIcEBiQQQmAwBACULgAQMMWgi0kLElQRkwZA5MGQBBjIk9Cy4AgCLAC4EuCgYEACH5BAWgAAIALFgAMgDAAC4AAAj/AAEIHEiwIMEFABAqTMhwocOGEB9KjEhxosWKGC9qzMhxo8IXC0KKHEmSZEKEBlMWXCDhgoELZYzEnGnEQEybNW/qzMkTp8+dP3sCHSq0aNCjRJEaTcp0aU0pBqJKnUq1qksDKrMKvKC1q9evYMOKHUu2rFmDXMmmPcu2rdu3cOMCWCuWrty7ePPqHWsX7AUBgAPvHUy4cNy+X/8GFkAAwgHDkCNLzoq4awrFiwVAmMy5s2GumUOHnhtawgAEnlOrPgxAtGvApENzaLG6tm21rV+Ljp1ZQ4LbwINTzq07MwrMi1EKX74cdPHMvBczny7c+fPACZALps69tvXrAo5n/77hA3X3852/X7+c2QSDAY/Ry4es/nn0wObn6x9cuWv//QDm9d9vCRBI4BgCEQiAggwu6GCDED4oYYQUTmhhhRheqGGGHG4o4UC/FZSCVv+pJAJWAaY42AIlppRdAi/8hhCMMi4YI0M04njjjDvaWGOOPP7YI5A+6ijkkUYmGaSSRS7pZJNQEikCAFNSKRAKVLoWkl2IFBJACAGEKeaYQSjShSJBuFDmmWmuiaaaZr7pZptx0skmnHfOiaecde5pJ5959qnnoIIWGuihgCb6J50uCHGmIkB4wUcbRkBllQH5AdAIGDZ8+SWYY4Yq6qiklmrqqaimquqqrLaKKg1i0v+whSNj5RCAQCOqqKtcQuQwVgA1AJBCCpsssMkLKSAL4rIJMutgs9A+K22I0zpL7bXWZhsttttqW2234H4rLrUFiQDEIGIl8OUmoEACyirwunLKC7vW+5WCLAhxq1hhvrCKJKu4soomAm8C3sEIJ6zwwgw33LAi+4YFbAqudLLJxT6kokkKDnfs8ccghwyeECGMFQINFA9SSSmifILJKi+ILPPMNNdcnAsRg0VDDpuYgkoqkGgiCSeuxGjz0Ugn7bC+v9YwAiiVvJJJC6l8okrMSmet9dahkfxrAC9MUgkimHRSSSqqcMz12mwf3UXOXwH7gsCQwCLJKGFj3fbefHvkDLHJKGtCiit1W2yJ3n0nrvjIJYtFQwgveBJJKLDAcskmpdxo7+Ze4fxrCJskcvYnYlOyitqLp65613B7FUAOc0/CSiSvIPIuvZznnpUijUuM8iqwCNwK8EWvbrzxTPMLeiuSVN48wJvoLr1BnvMbALsCwwsvJgYf773iQLTe1ZcAbELsxeh/r37fb/9KAwAsTAkjYAmIsP79a/8tFiKLuOACpEAIoAAHSMACGvCACEygAhfIwAY68IEQbGAiEDGWFzTCBjVwlQY3yMEOevCDHXQElspCrumZUCUlVEmuTshCuAQEACH5BAUKAAIALFwASAAMABQAAAhoAFUEsBEigEEaBQ3WAAAgBcOHD2kAEAGxYogRBUYkqMgwAAITIDgyDIHAQkiRAU5YQCASAEmQLT1aoCgyhEqWKD+e5EjSZMybLV/urCiTJs8TMHOWOBETAQmmKAHgjEoxQQoUG7GmCAgAIfkEBQoAAQAshABwABAADAAACFwAASBwIGDCAgAIEypEAIFCAwwKDipUOEECgAUCMFSYqPBAwgMFJnAceaCBgZEcH2hAOfFABAQsEy5w4DHmxQknbS7Q8ODCBQkZJHJUgIGBUQsZWC5AwHSpUI4BAQAh+QQFCgANACxcAEgADAAUAAAIoQAbCBwoMEAIgggTJgDAsCEAEAxzMExBEEEBEQIdLlgAAIGFBRkfCiBQAIIRGAhCoqFgwMCHJiY4Buhohg3DCxkYpGwAoIIOAxnSjPG4E8AEAh86dBjgQGfGCVceMIwwgIFMAGoKGLhpwSnPA2sqMJRAAENRAB08tExqNeQNBQQIbDBg4exCBAg61g3pUK9dhwgI7OTZtyNDGwBQsCDIcWFAACH5BAUoAAEALIQAcAAQAAwAAAiSAAEIBGDAgYMFAhFemDAQAIINECogaHiggYeBCD5sQNgQgIYPEAZ2oDCx44MJEAVesBBhggAJAytkWLDhokcGES4IKODAYYSJKQF04IBwAQQOCCJIRKDgA0IFDTg6IFCBAAMGFjCsGHDgAYEDAh00QHCg7IEOHsBmzCBwA9uGNQcaUCBAQM+OAkI2RMCxIwCOAQEAIfkEBSgAAgAsZABIAAMAFAAACCMAAwgEQLCgQYIICCog+ODgBIINFgAgcAAAh4QbEB7ceFBAQAAh+QQFHgAAACxkAEgABAATAAAIPQBDAAAgcOBAEAMRFBABAIGFBQAuWEAAoAMDiBkYUHRI0YFGAAMuArDwkQAGihYhGpjYkOUCkQgIUGw4MCAAIfkEBQoAAwAsXABIADgANAAACP8ABwgcKDCAwQAEEypcyLChw4cQI0oUCAABgIsYAUzcODFEiwIjCF5MwLHkwxMWLGa8aLLlQgQmQKxk6bKmQAQWZM7cybOnz58hUKpcadMmTJ1Ei7rEKWKnUpdCf0qdSvViiKNOn5rEiTSj1q0ps37diHXmWI4om5o9OxFBiRNi2UJEUADuWrkRh1bdy/ciwoUs8AoeTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2suisCBgAkL+oqeisDDhwYYFIQezXrnBAkAFgjAUCGu4QMYDxSAffdwxgMNDNgunNGBBp6Kc0fQm9R3bAe4fSKOPUG4dMQLNDy4cEFChtVeEysRwMCgvIUMwwkvQIDgJviZAQEAIfkEBQoABQAsXABIAAsAFAAACJAACwgcKDBEAYMEEwpMAEAhggI5AKRoOBABCREFAAAQAWLBCAQHGDwEcGGJCQYlMMTAMJLFgZcGKDRhMCKjRoERGhiwMPLmASVMEPAMoDFBAQ0UFgjtCeBEgwwFlhLVWGHAgag8I2rU8GEB1p4JPAgQuNSmCA9JyGbVCKCjWqYEyxaNS+BhRocFbCgssABAgoAAIfkEBR4AAQAshABwABgADAAACMUAAQBYUMGAQIEIHAiYsOAgAgkaHBxwmMGCg4YAEED40ACDAowbHCCo4OEARgQDMhx8IGHBAgEYKgCo0KDhAgUqEXLICWCiwAMFJgAwUODBQA9CBS7g4OCg0wMNDN4soCFDU4dMna7UcHBBBwwQfCrNqvWABgQHJVgt8AEBxqVXu0o8eODDxApUu+50uuCBWAAPKGCM4AErTwQRHly4oHaBAQ4XBEaI8HMDAwpGb2JgwNlCzgkbNFTFmBGBaaWm3bp1ulpgQAAh+QQFCgAOACxkAEgACwAUAAAIlwADCBw4MEQAAAgTKlyIMAFCHA0Z3iCBYEHCBRYBIGCwgMABABoIFPBgAIEFBAoAPBhQwUAHDwcsLEAAQIAHhBIGGGBAE8AEDhUQbIApE+ECCAwYEAh6EqEAChcOCGhwoekCDg+McshgtUFWAFe5ZnwaVAOHqj0XbBhg4QPTnkYrauTIEKFJuAsREMCbN6HDBQkcOLDoICAAIfkEBSgAAQAshABwAKMADAAACP8AASx4IEACgIMIERqIMGEBQgQOBDR8GHHiwYEFEx6scEGjwwsTEl7YQLICwo8PTkrQ8MChQoYuBRI0qBGAAQcOXBogucHkAgcbFJCM4BBjyJpIa2JseXKCxIsCIFBgkAEp0AMTNjhE4OFDAwwKtnb9GlZg1KlVDx7IYMFBzQMNPCTc0IADhY4I4coVuGHCgQgdXF59oNWsVKoJEWyAUAHBRbp2O14YwKFBAwIQDKNNmnAB3osKKEyFUFQDhA8MNNg0INADhZoGGvik4HaChAULNGAwadvsbgAXWC9wnZiAW40RPuwFICEnbuQfMgNw8OEgggYRABzgMNtt8NavrX//KIywgnOXEgzgRiAg5ffh4TnbzI5wwsQIDEIa6LigQ4OYAGigQE0ZDOAYABtQgMABeRUQEoNqOaiRgIlxcBxCD2Ql3XAFdGBSQhkudlAHy9G1QAQGHhQagBSOqGBnH3T4oUcdQIhQixcdmNBfOz5kHHIdJLSTjghB8N9BGRRAJFys7dhAkwcN2ZmFCVWQwQKLFQUUB22Vd+UGexnpkgYEIOCfS0naKCVwFjBUUFGEDdClRhIMKOQGOkoQgQAe0KQWfTUhcNeOG9gYAQEFpKSRaAg5YIGNADygmkaSJnRoohVeiEAEjomYWAcFsLZpp9I9YEFICEDAgaDxOQrhpRNp/8BABBcIgOlDoEIKQHuWIspUBQI4pMEAfwkgIAUCJPsZAFklVOCcAklAgQVQHvQBBS4dauMBGhCpHaedSUvtSRykdWJjCCjwAYAAIGDhuQiku65AGnCgQAaYLXBttgRAiIC0oQLQAQdFqUqku4pe1AGRCwDMmgIeaMAnAxIseACwB2Ss46aQNuwBA8saQMBRCG1A8EECrHqRA7r+pKtaIz9EpXYEMMCABRisQKxGCjxwQM0357yzQAhMUMBtJruUMoA/N6TAkdOVyfOFzG2AVNMAfMBpvAjExKNHD1Sb1wBUZz3jQRL0e5AHdg7U8gRin/TBZwvMrF3GB5D48gYdWf+ctweQIvBBWWlDyLZHc0eq9nRQP1btU0rNvYC6Ln2n1qRNNclu1hJU0FDDAlingE8QuGVA4rk9cMEFElyZ+uqtA+C5QxKELnNaGoGJdgZdT1A2gstpB0FZApVuU+KzM2e74GltUFXrvVNtpo3J1442Ax44kEG3eQEqUAQOrG6lZ59XoNWhFGiQk1oDKHqAsQJ82IHN9F+pAAb0W3BlBAV8IMD6atmABSjAlIREBW0EaMAGblOTAwInKCRTC/w+xD//AdAmCjDWcdKmQD9txHYHqWB7dOSAAWBPbADaAP1sFroHEABZDjjQArrmEY/EZIbxmmFRuDbDk9DQIzlEyg0fn5OUmPxQKQDSIVKOKBAi1rAzTHzI5oCIQx0p8SABAQAh+QQFHgACACxsAEgAAwAUAAAIHQADCARAsKDBgwsIIiCY0OABgg8gEnx4sKJFAQEBACH5BAUUAAEALGQASAAJABMAAAhIAEOECECwYAAACBMqHKHwIAAEJEQoRHiAAYKJAApguDgRgkWMBixwVIhAJMaSIxOiPGly4kqXLUnGVDkT4QIGC04SSKkSI4CAACH5BAUyAAEALIQAcACjAAwAAAj/AAEAWFDBgECBCBwImLDgIAIJGhwcOEixosWLGDNq3Mixo8ePIDMiyGDBQUMACCB8aIBBwckNDhBU8HDgZMibOHPq3LkTwYAMBx9IWLBAAIYKACo0aLhAAVCeUKNKnQoSAYenACYKPFBgAgADBR4M9OCVqtmzaHku4ODg4oEGBpsW0JChbdq7ePNitGq34gMNBxd0wABBq97DiM+u7XvwgAYEByXULfABgc3EmDPfXFxxgcTGHyZWmKu5tOmOa7EOfGAYwAMKJyN4OE27NkWrWBFEeHDhguQFBjhcEBghgu3jpg9sYEBBbFMMDKJbeDphgwa6l5FrP7wAgXeB3b13CL9sebv5wwEBACH5BAUeAAIALGQASAADABMAAAgbAAMIBECwIIAEABYQHHAAwAaCCAxKnEixosSAACH5BAUUAAIALFwASgAKABIAAAhTAAUAEAGgoEEAIUYUGCHQoIAACEyAOFgwBAILEykGOGEBAUWEETMehGiBIMUQHD1qDPnRIsaPGzu2ZLmyZMsTEmEiKHFCJ4meGgGoDEpQgNGGAQEAIfkEBSgAAQAshABwABgADAAACGEAASBwIGDCAgAIEypcmBABBAoNMCg4yLBiwgkSACwQgKGCxY8HEh4oMOGjSYQHGhg4afKBBpYgIyCAWXGBg5A0Fy6YsDKnwgUaHly4ICEDRZoKMDBYaiGDT40IFkSN+jQgACH5BAUoACAALFwASABAADQAAAj/AEEIHCgwBMGDCBMqXMiwocOHECMiTAAAoQiJGDMOzAGgI0EEJBBoHAkxREcACRAsAIGAwUqSMBl2PAChAAEBByyIjMnzoMkUZzwcqMAhgsueSAUGAIDDzAOBGz4w2Jm0JwAWCiAcMEBBg4UWVXsuBVBmAAMGH6ToDGsVAZQNCC58gMDgBNuYSysMOCCwQoEpL++SBFCBx84KFjBcFDwYwRMFWz14YDCC8UiOZD0QIKDAwFrLGk+yQCDyxlHQGTsmINjiM2qJJz+GfJ0aIVjaEWkIXD2QBW/cwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2Icb2MC9wkEDDxwEjja+YEMDDhQuDESQVQLV4xXELwiM4MOG8ccXfCjQwfvADhTgl98DGwxggQMCXWBBBA8IIEFzCHRQAF8aMBDBBQIU8BRzCHCAYAccrLQABBy8l5wCTynQwEsOEGAichuo9wABfIHwwIrISZCBShMgyNIHGYBQXpA5EtDABhIEZoACAmiwIXHvzScgSwucFBAAIfkEBSgAAgAsZABIAAMAFAAACCYAAwgEQLAgwQQFFxDMQLDDQoIICCogSOAAAAIRHQKIaLCjxwQBAQAh+QQFCgACACxcAEoACgASAAAIUQAFABABoKBBACFGFBgh8GAABCZAHCwYAoEFiRMDnLCAYCJCiBgdWiQ4McTGjhlBeqx40aNGjitVprRA8qDJiC4RlDiRkwTPjABQAiUooGjDgAAh+QQFMgABACyIAHAAFAAMAAAINAADLABAsKDBgwUDCETI0KDCAA0jPozYcCJFhAovMsyo8SDEjiAvPhwYkgGDjyEXLAwJICAAIfkEBTIAIwAsXABIAEAANAAACP8ARwgMILBgiIIIEypcyLChQ4QpADycSLHiwwQSE4KwyLGjwhwAQiK8UUCEx5McQ4QEsADEghEILLxESfNhgJAGPBTgECEmgppAGYJc8APCgQoUIjCYGbRpQQAXeBgQ+IADg59OswKQMMDkCAkWMGDN2hSAAQISBApggIEpWaAsBQxQAEFn27dlASSYsGECV7F4gwJAsQNrBgpXA9e8eeKHBh8SGjiQqZimSgA9KBTQ4cBnZZorWSBoARMG6c8nQyZA2MLCWNQcVyJEQOI1bIsZWd/uSEPg6oIsfu8eTry48ePIkytfzry58+fQo0ufTr269evYs2vfjt3shu8VCi7JuHBhtgMBE9zuZrlhBAcK5WFmsOCgIAIIHxpgUKAeNoAK9S2wQG4IEJBBQQ9IIKAAGIRH3AIfFNBBBSIJhAAH9Ql0QEEHFDBBcQs8sMEA9OW2AAcHKnRAA1Mdh0AHBWwo0IkZJvSABskBcOED9mGooga2DbeSAjXSmNACDsho3EoLbNDiCCemOOMDShZXQQYILDCBAxVeKCUCETxAngQZ9PeZBAQ0sIEEFR6wAQMU8LiAAhgwYKcFUq730oAVQonAnzP+mWWWAAQEACH5BAUyAAIALGQASAADABQAAAgmAAMIBECwIMEEBRcQdECQgkICBwAUiDggIgeFHhROMMixo8EEAQEAIfkEBQoAAAAsAAAAACgBiAAACP8AEQgcSLAgggMDERpcyLChw4cQGyoUOBGBIIJDIhKsWDDMwIsPb2gsOJGjQJAWB3pEIFJgy5EPfbiEuVDmwowCcSLQqXLny5YeXxo0ObIkTYZEKZJMyFQpTJ5OUxYdKBTq0as5B2asipUlQ6EjZYq0aRDqSoMrwSI4a7VrVIdJ38blGNet3athRA7Ju/MsQZR3C1r169LmDcNfycb0KtahyLOEabaNWPeq0cB2K1aGmXQyZrgR2RZezJmqRrVeZ6pOm1VgZNQaL0PcTPnzwcA6h6CkzdrzScF/m95+C/HnVcVDCyKPuByj1pY60+IEansp8anCk2uPrRGw74cTX0b/loxZ9NWXtGszzE1w/Mi9mNMP3265etTvIwnjt18QJeyFsoGn3nwLiddTQ6x1tBN/XcmXXXUOlsYgVhOxN+F2/1lHkHGqrdXhgq/NZoABBxxAIokRPjjgVSeOaCKKs3UnXIDAjWfAAwIoIMADBggkAX4mltjjfPLdsJKQJIKGVXOkreeShcC1l9pQEmzAwQoAZKmlBxnMpWKMAIa5UAUbUKAlBlpmGUGKUjF4gQJZDtABAB4A8AEEH+zGkAQfaCkBVjxFQAAAGHCwWWNiSgiTex5C9N0DWm5wQQZbDnmdog0aVEGaF1SgAJoAQIAQmzQdIEF4Gwk0gZZr6oZABX0a/9qfcBJoOQFmG8RZInMIGFABgxmitaGTUu6ppQYCQZqlABdm1quWFIyapgPNDjSBBxMFRdCqWWZAoAFZ7rdplrc6G4GW8h0AQAS2BfuhaVpNCS9otS4rkAEF6FpqtQRdoOUHtylLZ6oaOgfTBQMAUBFP4KILHJ+ANTQuAOUSaPHFA52bpUKbUcoudgwhR1bEGeUF5VkRn/WfBFgCwOyzWRZg6UFJBlYijRTF1XCWAwkMAUk3B5ezIBxvtOtEFzQAAAcOaaCltwBqoJmJBl3AALkk1SyQCBFpDMDMQpqUwdVQG631QDgArVyUICL43kP1unxvmgoZsMGgBEDwZ68bdP+ggAIbVOCA33+z+8DfXSYbcwcX+KjAnAKY2gADG1hs4r8DzYm1tVpyEHlB3C79+W0ZJBzqBz1OMGiWfu+9EQda/grgRAYIYCYGA2ww0cQVH+A0ABZ88KcgSfytwAMIZOB3B8gL5DXHGdQJQAEQNH7QBlcD0EAHo4fu+ZA+GLL8A77n6/pdGe6HUNwAJIvlDMjCzDilFiDvu5aRG6A0AAT8asAHHhiSBtBUgXM1oEcHyNX0KOWwqOzsaxWYE+7INxAHXO0B/gIABSxlQQAw4QIemMHXVLW0CnDrAvfTUgfqsLeXsEFLBKhIxASSQQkYAE4A6IBCrLY5dQEgcLFDQA//YpAlBSAggwBQgEI0FsOD1CkDBmDgAREgARxqj3sHcUCWHlCBOm3wIH5QoRWlNqX/gIUvbCsZhxgVtw3caHWiOojmfnUA2BWgcQfYH7YQoMUs0VEBe1vVDKjlw/iFzgMSgIAGiYJEAGRPg82jYZb2yC0FZCSDHrjIBNBkRARIDyEVaID1BJAlDpBFMX3cWFwygkPkxc16vBOI0yzQOEUCIAkHgUIRD6KlTobheXy01wFW1zwfAgBqB8ggwBBQyYH0aXoC4FbZ4mUkl/jFB9CJ17uKtSBjpWmSDlDIuAgwpGd+LAMiBEDjSGmvCFJEkQygI+wUhgCBsat25yPIzlBX/6V/yY6dlXtVlizQI4BmpAJXI6gxKfCrDPyzlGrxSCqbWCOK4JBZcZMdDynWK9MdQBBsIMAa6NjLg5gpiRnTUo/6SAEESEFLOxCIEVg1EIAKhA8lyJL1nvm1A0xgTQ6BEkMgs83vrC9SLhqVQPpIUSsiZGcRuCEODRWBjx0gYRiAwOMskKXUBREuO9sjAiLQsgYgBH8yxcIWEYBWBMx0iykEXpcUokBTMiR0IyzQQAygAQ2MiJ0r2NvEXFlKhQjCCBQpqTE7OVZ9HSADAqjAATq4rpM8jSInjV8ZsjSDWx3gmdG6jUJswiialBZubTUIMBEw1cRqCUeDZdzcJtmB5f/prp5fvdQDOZYm8s3zYzvbQR3VNNtj9uqkAMCSQtjJAaG8pJHWgwhfG8BOAMgulqlECFQUe1LGrjaLDdgDTXlJ3IP8VqbjTVOqOAQRlZXFIaeN28tUW1iBSM+sikuu8A6AXCUWt2LDmUA6o0swGuZrYK7t1nCNKwgkJiEMZgDADLzVYM4aIm0GaMK0BMLcUxaEp9SCyAMG9YC47Q2JtxJYdEHC310udiA7QBcozeTX8b7VuObNEh64hkSoPVOsxApqSwwzHcd8R7531RcCntmBvWoJvwwEQIhLlNoAZ4kBBGbIPjk2TwAgT3rxQ2iW5nACMAukAjkFwJ9ONYQo7/H/d/RciCDEsKWkyGCpu6xAyzSavVvFLcQb6e5a9mfEjGhsAKDMklmH2a2TmM6qesgSspLpp7X8+CYQmaGwBKPplVU5IQYw3ZD2Z7/rSVqSABjAzDRHTopAkZkDhsgFDhxn7yFEWQF94dIQ4gA05bplJQKkReKGEI0xDdMHsGI+D6KBmC6YWqETrK1ynCWQDAGFxmzyi9fyvANorsn4Ku+C2XXrLAW0XhyQwQk8maVlzoeov8HKaR2SSsYahFIYuFUG4ziQccnuAIq0t0DbXQG+xq+PGKCjQyY2gAtEkday+9/GGkuFEEucnueaQojhxAfyemuyA5WAA5btEW/H6XwG/+gABHq0s+op0Ms+ei2eWceHMmigeS+fFFd5xmGVIuAHcapAlAWQkTxq6QJJOEAbnlkijU35pC01CHsjgpohuGtMCjBdEcM5lN91AHYBJEkD3M1MjjrFAbS2wG0loDQsUaB3TLmAAPaXJjRR4NW3uUCf7qTWJDx37xBQqyFWAicCdKBPOrwXcm/73uTt7wN+8wAHyMjLdCpgYhzoFAWuAIArNMCzcM5SEgQxgletbl0fwADnu5QBWlfPa9bVnNkfcDURTkAkercTBLgaAZHE9Ycz02Y3hy8c+PhEI0x60YiWH3yCFFBHp1pKiYfzWLocMQId0IDsaMb8ujD/+7sayv8DNqAAPLTBKAcQA/kjMIazVMCEfdjABCrE1+MhRC3okUAEyB/N4PtuA1qAEBfQBxqAR+BHERWQIxFwAUbiKnInAH/yIkYwKt83BJN1PCynAZFFej6yAZG1EXSwfmWwFxS4fGNgMPDlFaU1HhmhaeqBfgVTYATiJZcCJmISINaXKnrSFyHjGCx4GzNkEjKxFQWDGmziKjvhgqTVGk1RNK5xIB7yEvtBddzxJSaRFE4og0ihFFgYg3qlGjjIhFIXgyhxFjahEI+hFsbnEWIRFEEhE9ZnfEolNCmBhDXIFIqhF85VWux1dfOihZhSH0dxhSsyI1/iYQpiF7BRZCiYFQn/khpTuE1sk4hrQR3EcUZdASWTMRFkYSDO4RElAyGJUmCEyC8pGBF2GAY4gRJQwYjCJ4ZqOIkaoRObYXVM+B2gWHyGKIYp+Bjr8RqPCDKkaIr08Rl+qBFm2F4HUk2N+ItRUSF/GGRfUS3wFoWviIoNcYx3WIWD+CVeWIza6BjF0SjkGI0LAW/MGFFQOG/ngQDIgRq+mI3zEo4Y4S6eQSreKCAUsoXEwYkDwSRt4oLyiGmq0RahWEaRaI75YU0HAhWY+ITkcYtHERnVaBtEcZHeiI+fIZBaOB0GCS8f+YchCYUESSRBJXxEGBnG55HCJxsJaVrQQY8YuY3NopHyqIkN/4EThLESxuc2EMmMC7kgeuEVU4gS/tEsjFKN2nIVrSgvwiiIUGmT0xgY8fgVFSmJbQORlaiQRFWV7TiO2biTPdGHUGiUH1GPysiPmUKMJjmMBUYW7HgUwSKFIWEaL+mTk6GUpoiTElkQnniSFjmKu2g5aymYsggoT4KCTYlpaHSNr0gYQ9kaN+AZuZFNWTGUrDiYlZkTlsmUjpmPNuiWn5Eu/BEsdgiN5wiFkamU9GiNRLgfQGGJaTlUD3FaV0mPPBEU8CGTzlKYpSlnZzlUsamVw6IS8JiT5KgtS0mbT+iVBpMhGdKY6+iUXTmP6JgWtxmXxdiNDNKFGjKT7kiSd/8pdfjRmV9IlJ9pWrhIktXCl8PHE+jBlt8InnWRIpVRi5mYmLPYeBjzENGBlu9pmjF5iwP6nugZmUKZoON5mAyqPokilc/4lFTpENgkEBVKfNzkHqyJnLUJia2JjOzJTczpk+XolNhYlfgIofI5EhE1ZMGCRtppoiRancu5adZom+JIiTWanNQ5lvOolTAqm8qpkP+hkaW4j4AoEaC5HAu6ISzZJuSZiK6IoE06K1i5ogbalxiKoB0amDEoG96Zjzn4EJoGkI6inyUpVM8ZkY3ypMOHmm+qi5w5pwFKp5t5fBh6FPhxkJGootzInW8zhlh6nvxJm5N5pYPaLp4JmUj/2p9sySZE8aGJOqmUOqHF+adK6oV+6qjbcSjVIamVGqoM0olRkos2s51teTE4o493wZGi+qqwWpfmEaMrSoOG6RZ0eRA3EwYH4CoXcQC8mhLB6gNs+KsHEawHgE0+YKzLGp7AihAy0ax5Aa0I8av3p6xGMiq8CqyHcRHZ6qx50azKqq2joqwXAYfIaq7gWq7duq4Hoa4+UK26Gp7xmhK7chElJwj1CpahyanEOKaFSBDI4VMS8H5qULAVwAYJWwEHu7AKKwEFqwUFG7ELqwUVQLETa7EYWwESy7EOe7EWqwYPe7Eju7AF27Aie7Ek67EhO7Eeu7Ea+7IyG7M0q7I1/wuzNnuxEzuyEmCxIcuzD+uy78dN5hmwRwqaSXqqxLGDALI3aHihwYieFvoubUEWFgKUFBmcPAqkOtm1ruG1awG2qvi1ZBu2ZTu2Zpu2OSmWaHoAbFCcuRkf2wmmaqkZmCqXCbF9p+WHcJmeDEmioBqrp6iaDeE6cSu4g+oZirFsH2KqgnqejwiUdXkaP9ohZGm5lVtGmUuWO/ohbSEI2zeVCyF32Yc05CcpE+IADTBNSoK0/UoR51MiivGfxPm4evocWnqnaoq4EHm1zdimB3E+P6gWB1ABijRpwctQc/ilA+IvHyODdsuqqgpfakBDdZIvWQYcY/GPORqKJyOb0/9ZlfC2kjxZvjlhvjyYvuR7vuyrvujrG2grougRuiO6ELXCAICWQCmqhaMyAMhEqUW3N33SKX2CKlf6EohYm//BqLxbHqlplwbBuDARQWbitAFFEUnCMUFzNBpcEloDLs/bFGcTJHuVJMtHgQkRfqI1KmjoI0fUAIGUV357ppHLolSIuTisuTl8uTrcw8bRuZeKFOeDf3ATOAPQcNejEA4gABsAAfc0d5DiAQ5AARugRQTwABPQJwG1KU2ceFdVNrxGAfu3OQkoALWFQnPCOAokWXAiWUs8JwU3d1qELRuAXxRRvfNxLmXInpL6g3aKkoDcwGfKEkUmVKxRvM5BMgv/VzmrgjoH8DkOsEe14i0WFAEO4Few43CKNAEGoEWSBQFNtil/EmohfETkMgGwMyIwpy4fYCKeY1JNxke3ogEfBwXY8gAlYMlSkwGMdxD0y8WecRjcO7VTiZPYaaNDKr5t470ewsy5+MzL3MzSDM3OHM2Oa6PFgqCmEmSlVSWK0wG1UyJUTBF1YirWlVj+dS49cgEWkGI2pEWe5b9OcVUfAykTUDoK8QD5NlaqhgC5gkJSoy4dsAEKVAYvFLrQOhDn4y/8BhNTR4l++cCCzB/jEbUCS79HQSYpxcSX8zIJhGibEl0U0EkRgGgCdSsGtyrIA8IFQcqStMQUtSnUcgFX/ywBGdAAGjAB1BJqnLx8VKROmltyriMBHBBHCmGLeeoQKJGHVDFvD32ePBzVmzvVO9zUJcmgNyDBFl0QGn0zCkRl7qYArSwBd4RZ6UxP/jJ/HnBPHEXPLV1ZR0QA+nfOAhWBHbDWF1DSAoBHP2QtvqJOyYfHq6I74HuctuGeiD3RyDmUHHK4zOgDWtACoyGje2JvByB5CNF6ngUBrmQB/4ZSCOA0PbIpnEwAAnAjx+Rw8lwSPBcB2OIv/pUBPxNzyDJrRlQihxAqSSAA7LIq25cB/qXQz1I9BiADwecXh5q7ER3NvPgZia3c0J2l0r27IvqTz8kGXFOoDeEAfXLaFP8hd6OiAR7ggcgzLh4gWRFgAQPgANwSWYr0AWQSKg/QAB5wAbnyeRsxAB+gAR5oPRLgAToSVQmhAKPkOoKQKxagAH9NJ3QkXtplEb+ySY60c9lLqxCt2ImatZSdEBL8hC0IID4NvR/sIr2SVD59wr3Cwr3icBUBwiSsT0cjF8OhGy+O4vNqEz4Qccx3gvxi4Rg+qIg8kJnahKI1z0OehWp5EAPwvOF3n1OxHDeA3SO5oFX645jhnpQRu26xqYNYAQUQ3HdRES1xA2Re5mR+EFrgFfd3ACLR5iwxmb53EL5H5mzOEnXe5rZ4A2wO53zO5n7e53Ne53vu53JudWio53b/nuiIvuhrruiNzuiOHumQPun35xVujue+6BlhgNFqG+aDSRuVYd9+A2AqkhTeERuy85c+uRJsC6IlyurjiEaAUU1jvpS0zpC1nhq3zhK23uu6buv7iRRRTqj1meQDsqozeB1Hy6EKGcHKKhXYdBEXgYTeyquTOa1JmBO/egPbLhPbzuZ7gejWXnTiLq8IEay3ge7nXjTqvhbs/u5K0e7yDu/pDu+u4qvZzozn2q4Wus1WfreK+AVywAWFQANcYPA08AYITwOBcAdxcAeBAAhw8AcPDwcS3/APHwgWDwcRDwcQX/F/IPEQfwci//ASDwgaDwh3sPEfv/IRv/Ih7/Eo/6/yFk/yGt/ygZDxOo/zO5/zPP/zPh/0PT/0QE/0Hf8HG9/wG58HbECxQGux1uPj/y69BlEIW8AFcpDwCQ8AB9/1Cs8FXx/2Bv/1YG/wZc8FZ3/2Ci/2Zb/2Zs/2ac/2b4D2a3/2A4/1aH/3ep/3fI/3fr/3f9/3gD/4gl/4ga/2Bi8Hii8HhOAG4SkvkAkVEEq3NJmqt9qfAEsQg0ADrcGXGYEToN9NoR/6CzL6aTu7GGr6pb/6VS64PEGEAhEIXLBuIYqq/iq3lb+XbwAAQzky3Du2oPi+6DtUzCz68Uuvjy8TbGiOe9H8qvj8zh/90D/90l/91H/91p/9198XB/9pEYAgB0Q8ww1MNfsCE95KA3JgGiIhBTJj5mX+5m3u/vLP7W/urZfu/pZO5vY//+8PEDduICA40CACgQkVLmTY0OFDiBElGkw4ROCBOFwQDCHIsWNBgiFFjiQZ0oECABtURrhA8MDIlyRjIphZsuaDDB48tJRJs6TLnyEPxOTIhUbIG0MRGLBQM6RHnx/DbEQwFerVglCDbqX6EYEgrmHFjiVbNmhMH4A0ggw5laBbmEK3GoiwIoOBCxEAaDAblyBPuRIgHLjQYIJYwn0RTqWxtsIHCwM0GGBg4OnbgYrZag6aWStYzqFFj3Xq8s/RtqNLSgDgwOUGBhVGT4hQUgP/hZelf9JWnPlNIZpPdkpooIFBTLhmM5sF3XXj1BtDoKcWCXXmdblAtUfljn279+7Zw3//GRPj2pGenzY3y9o1wQwAHgg1YJ7mUKUu8SMovMGySAMAaOC/pZzC76ULUiLwgPpEyk2/p4y6QQICeoCPAwxiWk4kt25IbrkO4UqOIPaQqgqhkkZUbUUW+zpALa+cQ3GsDUVyzyUACuBpAgEE6ECAmHjc4MeXDOhRAwUO0KsBAQg0QAMOUprgAJVQkg2BCVLaS0kBm0QgAwE2gCAD/lBygIAODgAgycwaG2ICHmQAAYEHLMCAwMsQusozt7DyKoyZ/GxxUEJXjAkO1GZE/0w8H35izYMNFGiAgMMQkICCli4YQABLMeVvUyX5UnIoADglSQHcENCggaEksxQCy+K7QE1TI0jzgAfkOyC+DDKIgMraQvoNgQpImM+HDTDIkMMaeyv0WWgNlSmQRE98i0XW7jIggwEakK2DD14jwABwQ9oAALoAiOC/Azgw9TpUCarggQOy5FSBJGmyrF1OA+SLpgYAoBMAwHyKDgGjaEIDTQA+KGBZzZoNK8QYfcgsDIm/Eg88jjf2mDyQxxO5455ogrGk6FRU7EaCshysgXDhA6CChkOSVU0CCPiVVgcJ6iDVXQWYgMkDPIAAJneXUjekDjioF93s2tToBEEeUP/AgQkIwECGFNu6WFFrw1YZbJFqxKrEaNNW7bwYbQot25ASxM0DAGLiNsAB7M57VgPOlYBnmFB6SYDBDqCArw6gJrYCngM8miYIBH5gXJI8ROCNowQh479VK8tzI/Vi3FN08QQduzq1U+espgPuqPbg8j4mO6Qs3ztAg6UnKIBMKvnSnfcN+IpAgqUMM7yDC/BEoIMGaPoA3QoGUKCCCRj44AEHgDygAQWSx102Azw47AEdXRIgAouLOsoACpqcgIMMYJjp9JHGXi5j1fPXf6Y4qg27r0aRJAMUAEBKxESBDOTGAZASQAJpssANNPAlEfjASl6Cuw2Y53YFnJ4DBOT/gA4M4G/xAQAEWsIl/xyAcD2az2NKeMIPKGA5jSGIFhoQmbtYQE4m+kmN8CeWH55FdiQb2RCNGDIiEhEmgUDPsxiEFwNE0UANclB9NBjF+xQIJlFsEIOy6BIqFsk8UrxPFHmyH9+gJikGAIsBTCAFaNGvbfqjo7TSshat0FGJ4tGMbjTTqIEMIWFR4QhT8CSdqKClKhZBQAAtFgZENgqSeiIRQSTJEYxRBTQcQVsdPYmY/pWtI81JIlnA06I9iqw3U+GCHNgyEAMU4D+Wa1ZmfCjKg/SQh1wRxAg++UuSsOcAf2iiHLkSRGj5sY9lORgN/BcS5UVMOcwJSXOsWU1s/1ZSmxrb5jW7mU1uhtOb4gTnOEeCKLUpkzRui9YefeNKsLykUS/hiHQ4Is8bgKVR89xIPBv5HHv+cwhgGahPGmVPSPqTnv6sJ1Ua+lCHRhSiE5VoRSl6UYtmFKMPJSjb5gjAZYasZ6HxozpjF5Iv2CEOfwDESl36h5e6FBCBaCkgZnpTmbYUpjuNKUxxalOaBvWmcBiqTwEBB54mtadLVWpTmfpUp0YVqlOV6k7t8AVRNjIzFrPkVr1qSj6yKJXbCc08CyEHGsiBC0ZZa1vZutbGrBVzbo0rF+ba1rrmta13hStc49qYuPLVrYMlbGENe1jEJlaxi2UsDb5gUmCC9f+Tk0SRhyxy0IhShZ4V3SxEM3vPjDqUoD7ZqEZNW1rUnla1qcVoWAkFWa7oBrZmMZDsunKAIQxBnbMVIll7G1ngKuYlNwjgJ8fK25OO1LVbgSxslYlc7qwTiUcs4nStW13slvK62o1ucqErXVX61ri/BW95g3te9Eorvd1V7micu9z1xredopEtKksWXr+wM7a/fa98/evf467uvi6Cr2T1mzbuJpi6Ct7ugh3cYPB+d78iFW973UvetRH4vxvW8P44nF/mGnjC7P1wiUMq1kGVtMAgLotJT3lfCZtYxvSlrn07/GIWW3jA84Vwdh/s4x4zGMjYDQuORwxj2xY5w8n/RXGHZ/zkEsfYwyIesZSh/GErH1i9NGZyjruM4SuH2cZE3rKLuazl/GY5wj8WcpvZ/OYgr7jJylVzWOs85iOjWcwcvrN8efvcPQda0J7s84kHfWjVVUADAnjABQDjHRw/CCjmucCQFLCBWWUAXxtwgH1U6cdKd+DSjH5uaSTdXuyUpgIKEHWlaCKBKxFkWwqgl3fhPGQ3x1nXuJZzBiAAawG0RseioRkHTmgAlDiQpMQq4LwA4KkQf1nJB1BAlLz1F70Eiz8eoECU0iRnRANY2ASJwHwKlZsoRSU+f8tzeTgQs1wp4Mx6nkAC86OvpREEa0M5l6vDfWUDEKBufzkM/xYLxDoqgjHVBgKAB0TiwVgzSNKnlrhNCoigZ48Rml20or40aGrxGq6E/qbJAIKVmL/I599iptIKVK6vc5EpPoNxQAMicK4BVErRG/DAryZAAZUUwN/tEphJAEA8YmmA57X5edCnBCYxkUk77YoZazpAkwiECQLzic8AKkDCBOaKTBNAUmsO4ID2KaAAEmAN0oWi6QJKXdYDKLp2LsCBWN8617ze9d79Xh4NWKBhSG9XsCAQrgRBYAIS4MC4LtABy+RqSgGbwAby3i4CbFoBz5PN4yMPgAkYgPKWj8BgBmZuoUTJAI8hgGwUACQE6IVx55og1C7AFwlkUFU6CtAHeP9UgQpAIO8AihxgAnRykYAJ3Cv3cwUSZ3Y11UZNHmhVsCQfH5UkDkgeuLqn1fQBLm7r6F/iQPZLhQDu4+hf2/sA6zjAgZtnIFMvD9AGiCV0OllA5rLZANDFhAHXALpEiq6Z0BS5OwCTI4kL8BLmCzPAyJq82Z5gUQCHO76Uyx4PCL+XWBObeDeg8CDiEQDw46KXiCFZy7cDaBr3C5eZYA1z2x7qUxNYyYD+u72XgBQNNBxT2TGfkTsDGAC5cwmWaMAwux2RiIBxiT6aKJcfDJYLIAAJiI8rMYDD8AB5+46asZnxgzhZq8Ir/MHHmT7WyUKXSJD1Y5KW0ZkJoBlOI4j/c/mPC2Cc9jGl6RGKfHMJByiYNNM7Puy7PuQ7/BoJ9rEdBSgcChgOAmKQlIAP6nvCvdA02fiAx0EaCjjC8UuQR6xDSXSJ71kK8aFE1gkhy3iMKxHDouGA/5AABmiAXlGA+ljEvxC+kSC7oXCAIGxCaBIAB2A7WiRCACsJcumASIEA/6CJXBkAB9gA3wsQD1C6YsSSBmAAldOLAvgVkXC+AsI0JYkSD0igoZHG+aBGa1QhYmQ07cDGlCgYZCPG8XOJDJiPetG2s7O2ELQAAuCdLHE7fQMADqA1SlMAC2DFJSygAmIAbfNFE8sNg4OmAym5X+k4hQOjhdw4g3uiMLrIe4WUON0IPwKsOFTbojFayGjyOJIwo/8IPzJCyBlLJQuksz/8Oz+MSUCEyZl8SZuUyTp7CZrJF5XsSZ9Mm1BTAJL7SaIsSqM8SqQ8t5usSZxcSpp8SqeMyqaUyaSsSqu8SqzMSq3cSq7sSq/8SrAMS7EcS7IsS7M8S9EICAAh+QQFCgAAACwAAAAAKAGIAAAI/wAnCBz4QGDBCQcHKjS4sKHCgwkZIpQIkaLDghUnaswYkaDGhUcEHmEyIWRJkSgHhmRi0mTCOXQmOJlAh6RAmAJjOokJ06ZPOnPEzJkgRmBRokaNzrFJcyZQiUM/Koy6UKjGliezxmy49ajXpEjDfg3L8+hNsw8dpt0ola3bi2rjru0oV27GhRgFMp3gc6DPlQr7iiS5d0JQvnqp2hz69GnDqJBvKrQ6uerAoUJrhi1IeaFgmzPdho5sWHLp06Qh7z18Ge1EjnUl2rU4l/bdtbY9vsUrW+HIrC5TomSZEihToEDN4sRJsvHnptA1S2/ePCqTmAejZgdrmmrtk1hpOv/sCnas+fJgy051TRfu695v2+OOrTuifPjf3UcUHBhwYIGhbRUaU/ulRBJjhvEUV2o3EaZgZZNBptlXVsknWGgZjdbdhqhxqNp6lzUEW1tq0dXRiPXlJmJ+J+L3HomIhXfbSiY1hhhOahHXk2SaLaUXdrRNR1Nzph21nVQ9csjbROFttRB5YqEX5ZRjqSeZWfetiCJ+WWa5olTttbjkfRn5V9hwgVmHZkkstWkSYqUVdaCTjuXY4Wk7weldWAkyQRWFtDUEGm0a3smgoR4yhZl+FnnZ2227ubWlbinOB6N9Du0VnEYk0TjQUb8NlmONizl5nY9XdernVkKi5ZiRPO7/9ZJpcP1W43hSnkdlruktSqujj1IK46XDMmrpfJiC+Z2nZ2bVH63FLjQTc4admqlDPqamU1J71gSZckjBGulAGEpU6KHoeijZUIrySZADD8QLL7zJyiZmsvKNGOZC9PYbr5hLuthsRoTZ6hdSETmgAQQfdCCAAwhFcFBMcz4UbzYQp3TQUeRdB+dW/8JLR2hgRQXubGyKxxWvu7asK8e+evRABB4QsMIKGGDAAAMFNKBAQmS6F3C0gWqUAQQcYHCzzjpbwMHP+bVV0aZ0vXmwcANl4IEFKxDwwQcUENAABQ0c5JRfK0XAAc4YaHB1aVGdSxO7EyhQwM0DZFfUn1Td/3XbYoSqi+jgDEbWrkMCrDDDDB44sEEBM6xAQcYyK2t5vZWSiOnMGCw+gAM0dy55XkMP2yynJc18UKiGHaQB5Bj8HNIDGTQwQ958KRhRSHiI7nZCIY01JMV6gQfB4jFok6elBzmQgeYqcTcQlC+zXP2UT2FJUASKr9CBQAJ0PgMELhL7ZdHwYT6BAxYszgFGHiy+wgal1ws8Q7sPpAEFuxM5gQbtm99ErOIADuAuTmkhSQZ8Fz3A9YkqIXkTSRSwOAKYLVgE8QD9kFW80yREboQT3KE6NDCBcG9x5Ftf+2ZgQUqR7oWZIxbmxMS+xZVNIBpY3Az4Z68e9vBMB7FJBv8I0MKI+MgBA7BhQQqjNpPszSFHyAADIqcBq+yFJOzpYEFCQsEZFKAgy3OhQBQQOzGCxF0T+1HuXGa98vgKZsI64Qy+tz7IzcACEIMIvOhDn3/ZJV7CekANZ9CAiSRucR/4yL/whRBAZgUjgNziBDKQxAEkcCsdkN8GQjKU2SHkZ34yiCBJN8kprsBtKhslJ/nIhC4SgHKN3ONGNjBFBYjIj12qSLpCeJo7hag0QJyAHDtQEAfYsYXr80ABeEaBCAjEAR6I5gcgkIENeOAD0fyZAK65AYwIgAMWsMAHnjezazZsZgNggAeANpBBFhIhH1gcA1CJQ3AyYAAQIKUG7In/T9JtgAAMIADZIPY6eWLTmXBDCAEWh4EMUMdi7ewAODFQgHyySYqL0wBMnPCADgCUAQ3AA0I2gM0PHGICRfjaBwQgki5+0SAbaEABMGCByRkEAqLjwDRdZ08CWPQBrbymB/owhw5YoAAI/YqQlvpQ6TilqTMRHv5MqLjxga97dETiCj7gOJ2xtKNVJSYSF1cAcjagARnrAAYGkAEFrIADefSA4izwOLKSEiGDhGsGPqA0AnxVILRkgABq91bKBXawDSgsDjFAgAzsE48dTeIMGPA1ZxZlKxEQ3xdNwi6rTZIABdAANCP3gYNgNAsaIMkDKLACD2QAchZ4XgZW6IFJ/9pxnXxx6QPo8IAGYGADXb0dxELnuZ1O4LAZYC1cS5KBGCDSA+IjJi93uSdfmsazA5EjBBwgADvy8AEfwBk5FxpbhEiWhwKQZwbi5QGEaoABAjTmHK8auQZEgAIzeB9vBrkCBuRUAAl5LSFxqLja2nbA/yswSfDbQko+bwLHY+G5SCKALNj1JwcrSDzbJkzFMeDBGD2lQDIZ2yPEcwa2fAAHFldbFbO4pYp76QYURz75roClCLGjLQUi4BtqoMAiWfEdIQDAFdhyOhRL8ho9xuQkL8U4SrYWk1MUAR02rWcA5vEUC5BH2xm5IBtQL4TFR769YgS/DTXv7Qry48XZ0v8BHUCobNwJOpzOAAP2FUiEW7zAyUJszwjBKAOy4eL8OnMDD44w7poM2Kp+ESYfakn8VkC+E64AxFOcgdscsFALMuF1BdgBQoTcYiEnMreLI8EDnHBIDszhAZAzciNjvWMIv7iUk02CQGx3Rwc4QQNQm64I1WK4rVQ3u1XNJ70YEmYvHiR+CHaAKYl5zQo+QAEpfsBCMUCBa04Rj/9jKELZ+a4V3vC4VdWvkFNYwxtPYN3PDOBJM7k4C/zsIIo+UlTa7EWIYTEnHYSzWCO8AmfOIcQaJUPn1lCQOcCLJWJQwosLbeAjdDEGu33ABqjpgD5kesewdnMjhfw9QQbwq7z/1m9RohquNroMM77yGDCdVJEqo5DcdVNc3jTsuYOceAACiPMUMSAArsbbhl+7pkUP+WHmqVCJBrHjjbUt8qejmOooPnrWC6jD1mIkwgRQ2WUVmOmGOiZbZ3lmBwagi+4hFOETOEQFlaMTUo8akXrRLUE2wAEIrHDHDnCurBVa9UEWYdc2PM1ThkLdYUNRMh7b00GGCR9XHoTXuHtAm1dg30IPoLRHF3Fe2CxmSbXT3KKU7Ay6KVn60c6UrI9cikO8QQeEV35p0HPPZbIuhPDa3TKPSVEg8rp52rzgfMGopieQ3sligy+horiaGTcQt85A1QVRGwY6YGPA69ggCx28//LpNwdeF7Imv7neWBjNfmapkW690e5c2oxMXp+6jrtvtrsxslCryqzNTWcX7gQRqsdSXkZHIeZMvIaAnYMB3iBM8bIBK8RD9HZAMTEdGiA+/MMuSxEVGbMBnVNblqZrUWRKbpNZM5AFG0QQ0teCdYM8BTFbaxZyWccEWLdBq7U4CDhFVkAGQWF+JCNsp8FZgtMQq+Q/aUF5bcFpvSYQSeRuN6WDR8dlGURWGaNxBOVhD1Y0A7hYPfcAh2Rg9FcQh5RCY/gA7RUxU/QEBWF5ANJLrwZtDEAGItIBridZLLV5b2eChCdcBkFOK7ZV02dgOedsaIh37WZLR/AAkpVizP8HZB3GQpeXeEDCflEWZWpkidC3iYQhHn2jEM03A/enGzPGYTL4XSakMw8GXtTHEDJISBEAZzvWbGm2L8KUaY3lOCtEAONmO7hDQURnECv2iziDYx7AVusTAwL0AL9QbxEgAEllGEUhBuAVY3K2PmADMfK1QzsAAd2DY5aGY2lgBYiUAXAmADsRYRyQBBtQAotDAUcRYVQoZI2lAJmWQoz4jtUUL74YL8CIBnxRaBzAF97ReEPoeAuxHHBCEFpjMzdjARp0Vx3FMx8wAJIDS+Z1bpo3T4okACukMxalNjfzVqh0Fw4AARapNP3lX04DXK9BWGNjAQzgiIKUWGOzM47/KFcF8AG+BXpOwHV3hluPYRgbMABWQAU69QFPQAA/M3xRID+utQYVlAEieQUrMAC/UweZdgUFUGsRYEf2llgrQFfXxjU4M07W91Z7VW84JgCZFlpDAZMUYAIwoAAzcQQdAF86g1sjc4lL5pcYxmibIY0HQ3Pt5ADzMkpj0lYeAAESYxEa8JgwxU4xqAANM26ChJiI6UhrMS+aqZmRhBcCAAEeoACyRBCjWZqnGQGORZoakEZw5gFZthN3SR3YEQEKEE26IFqXYYMdQGQzcTQdQE6fuUc2mAG68AEKsF5McjTUJC/zglefiRDb9DDr85vOdB1OQAYeMJzTiBAL8wFF/6Brw5eZoDkVjkcaRIgn0JIYDxJIjZQ+x2JGwlI6cQEwXjJ6ptcRr0aYaTETQagy6Bk9BAp9Mgdwp7MUq+RZ/gEexHETjtGXjFGQOUEVkWEyA1oar8Ia6iclNlEl3LI3plIpJvIipKSfFYGiUwVD76GfJJoiLqoljdJyLQpw4lEQIxMdzTETSxQqfkIZ2sF7QaGgP/pkPwonbTIRNogYPnEYWIQq2okw4XIYnBElnMGhMGegBpkuZwd5jPcfBOkk91k+9clHZjqmaFoXKUofpNEQoRGgIdItxZET/6YyrGKjPJGnCbKny6GnfcqnfpqeRTg9NtqhLdNU/vMVf/odQf8TKbChLyrCoox0OTEko24xFhlxgTnhFE81JGwCf2+6IX5yIKTKe0xaPPzxHEjaQX2hia4aZczCgYJqKA/yIRa6qqaKppByPmfaq/NZpsPConXRptLyhkPZSxVqp1Jyp8r6p84qooAarc5aq7N6bIXqcrqCqGLnn3mKICqiq/JpopE6o7uxJbu6qy+qEZjKEMyaoysBmIlxI91Rqj4yIKvKH1ejqs8RmIAJmMyyElvqIdRaLdASSviKMuj6q76qpigzJowCLNalEDMRSh2UUF+KI9mTFMGHp9Lqp3sDrdPasXxarbFhqNnqqdLhn9A6N8KxpkQzKZI6ruJKqTQLF13/oiLrmqN3+qDv+pc3shrzSrD22qoVKyiserSnupAmy4n/SrKoMbCoEiKD4i59hD68urAMm6aMarNkmpDtGadvIxcgo7FK1qx+6rGEeRghu7bqEbB18aHYChba2rZwpDJR6zdda3rpCqkzO6mTCq6AmxFKFVVGGhYhsRMKKhPGcbgDmhokMbSoWrR2gqtEu5Cf0kbEkbmekhVuq5Co0SyhcRQBUiKkOy4Ki7XACqyTsrVs+rUkZKZWISd+6Ylny6cfm7YgW7vPmrYIGReCsbSIsVS4GxXGRqefKDV567J7mxvmWjQJO1VEo7cbg7KdxLEo67MHSiukAblJezrXQrm4/+oQ1aO5TJsS60ldUNssosstWWssN4u6QhO/6eq+eftLPtKJo9qBpTEtFiuksvtkuUMkbIu7BKy2uou2avtEgyMXqmqoczu8pqEgSHgbq8sbkMK3LkvBztu16oOwEjESZdskCLqzZeske0Iandi9vrqvkiu+6EG+bhEe5yuwhqK+3GIT2yK/9Ku18Pu+Dms545olQGut3+sZqEox70odA5zABXy7S+zETqwkYQumv8syD5zAFzo9FBtDj+rByCu9evutpguffDQiIQFl/9YmQ6rGVnG4i5sg1UuhyFq53hsbdAy7Gru5VGO+KYEuA5urEKKol1u6WXtXOtyrPsy64f9awVRsv/RxJnSMxkNiwNIKxU2ctrpryUxMrEhrtLh6stOBIx+bxcDkiZXKFs8bxkG8weXKwfbJtTEModbbrnjqP7ScoUZ8sAubwnWsFnKixxrzwXxMq77kQCyTw6ULLMJKyIjcsIqMQYwsKJoxsR2Yv9ZczV8KoNXCeKG0Ezsay48ks2YczGCsEXuiqp5cxWGBqMvhFaQsq9yRsDEbuD88z2KcygDjzIJLGrfcz2ukrBvrup0Mv+Hbq0wmw+S8OsMMQRwCtC1DHkQ8xs98yM58tfdczxjktcqKrAbdwp2oGRXBs+KcGyJdziG9nvo6ub9LN8I7pHzypcDEycv8ovn/iT4ZDM04rbUQO6lywnsTSxREusYjIdRFehKQRhyIa9RvS9CejLoyh9DhXNJnTBXFy55fAqIy5xqwXMjJW8YVfdGVE8btERW3wrJYq8uretKbaNIkvbkYzBAwbK/ga8SrmqO8J7wPakRe2iC9RG62ONNfcsGq3LzRks9MfdiIndiKvdi7zCbClx7/LKbmo8zQ+9WvrLo2jdGQFJ+L9ADU+NlB8QCvJhTU2NmmfdrxsoiL2Nmq/QCqjRCZgRGkLduhDdu17dm3Hdu2TY27Tdu8jdu81dut3dquXdyrbdzI/Wowgdui3dyvxlHL/c7GGjf1ebPKG9isrMGOSqaGfRGR/xkBrAneVEmV2BAB5V3eeIANhpDeEYAH4x3e7x3f8B3eSTDfVFnf+B0B9c3e/I3e/t3e/93fAD7gAl7gAX7gBH7f+r3gCp7fDb7g9W0IEbDe5S3hFj7hEbADGY4HrClSUbKxSIgbMFTT0Zu6hZ2m6gNDtsIEckZuINqst5snMq4TNP5AOjuhLOvPG63jPD7LPk67IrvE0MIgb0oHCHUoZ/OJOLfIs8G3qjyzGa1Ip/sQ4wYftjqqBNvYKh2vWJ4t9PrlBOvlphqqBsuBYB6qvMfC93q0SAbAggkyzoTXxdvLJSqjqex0rkzGQgMbBsPisMwxPn4YM664hJ4nPbFR0f+B4z2+4z++6I4OcEusu73XuGMeE0du1YwxwevDMNLFY5y+ivWLtx1RlK6XFks+Q5XNSiXR4pw5FaQq5lGr6ktNkAQJ5rBu66WK5tRM612e68a663eswsFrm7nj5swqEwglmJPcnrRDAdsHEWojmVK+pnVeH69Va1+c7VJeOZv9Hnn9dhTAADUF6oDO6NHBqefOshVCG2X96Obu7vCerI2h6PQ+6Sdc6RHjyN6ixZQSATuTZfFiURKNF92tbSDHQaluPws7M743OREwNrOyzWdupr2cJrUe5riO8Rqv67xu5hv/6x0v7Lycr48tFr4ipk4QjQFM1VvsERHwARzAAOP/JvCN9EK4tEjPFJqjBEldWSmyBEkJsWyZaRBX6EeiFEkh7UxI5F5UiD2Nju466xRZyrfx/u6NfvVWb6f1Pu/WsnhSHDc0funvue8CmhARQE1ERE4CvwEdcE0/c5JAJzbfBAHfVADQ2AAQyWPTRAGgZ/D48025aQEEgErO+TWIyVdc5QEMwAESc4zrxfZgY44oKQBig4bLBX2YOUYWBNPc/PGAPLl85PFoV+Yh3+tCC/Kkb/r1ivqyiuVrbrkdpCvTOxnRiCpkj8wKcfaaZwFo9QAWtQH8MzMFQD9uqQAbYJoCZY5hI1q0tF58X0pKz5QL8VoUoAEaAFqIyQG/c1bx/+JTo0YBgOU2dpiRYMgAdvgz1vQmR3CNnwUBurLo44zUNT7oAV3CWF/1+G+jUL3iSg0QE+ZMEFiQIME5dOYwURgB4UE6TAZOoDPByUGCDw5m8EBQAIMPDyA8eMCh44QHDQY8iGDBIUmTGhUQ0JiBgYYJAiI82HATJQEFGQk6AOoRg4YNBBwY1fBAQQEHIgtkcArzgwcIA6C2zIDxAUMnER2inJCBA4UHE9VOYCKw7UKLBC/GxYixbV28GNW+fftQItuBfyXydUt37kXBgeEubntYLmDIgwuzpVw5rxiCmCdo1qzRMkuCDCFTpEva64QIEMgqYABh5IMCqlFCoNlyKf9KDh8IzqxpAacDBR00+CZZ9CDJAkHLWtgAoYDGBzYFTHBQQOeGAcI3UCegwcH3pVzZHmFyxOCcsagJfFiKmTNB86Yryic437Pn+BrnYN4vlOzm+gIUTTT6CpzvwAANTBBBBRucLz4I2yJvAvLWKshCigZSiIn0NDxoLtJA9Ay1kVB6wAMGGiBpABVn44AlC7rCTTenaIqOuAaCqu434+4zLoMCkGJgrAxcQumDHIEjAIKliCpxgqbEi+8uzECDMrYRB9ortMIci+uvuu7KyyC8GDvPL8UAIwwuLxFLUzIz24xMsTXbuktMvOZ7D0CKBAvtiLEw+0uzEMdE7aSMVNL/aAPfUKJguggYkLGkk3hbzrvYHPhog++My+iBJWVCKwMCPJCJRtQY6GA5U1HqAIMPmlOAJUkp26DVgUBzYAAKMgAvM2BJS2hBYkULS6CIEhpIjGWB7a8/+dqKqE8Hia32WgaztbaiYZ/lj9nRtETorwOXHcvDgioCcb7/BOAgU7IcKPGBDihwbboMKMCgAapYI2ADDQZoLd99U7OAgoD5hYCBAXC6r4AGOnBNxgga8KADBW5DyYOoJoDAoYoc8MACBjjOoIF9uxLpRYbackgDDDBggAoMpjpzstHmWuwhLg/C8+Yy+7o5Tbp2BlPnvo4etyClCyMaaaYn+jkvPUNj/1CwhurDujR18XogKo1N/O9rklACD7rvSEqb7I6jIkmjs0ckataOhXJbqBFRuugiOpzQpuMjzqaQJG4pHOvs7/jcs2/SCNRs2veGDWvZZhUX6FutqZ12c7aq1rzzYDl3PPOKRv/cdNG5xXw/yiHrNjHTLDo3wIkKPW1s//D2uq77dM/b0OM8Lfv20zyriHEQxdToLsRQGss8EHnGcGjpeTbUwtrrwr566rvf3nvuv/8eeLzEPN5n86w01mqueXefrN5xl9/Q+OOHv6VW3a8/r7kqwo8sOpjneAqhgxgMQRbM0AE6ESngZhioETEw0D0SdKADGcIsMZBHgRZsYAQvuP8fDU6QIQykoAc7WEIUXpCDIjyhCk3IQhiucD8ROYJ7QlhD1blpPD4DGZkKFyARvY98Q4RO7oA3ogxA4CoOMyL9/jOfi8AlQ4IijwZRgg3TxAdB3SpXhryokC9qCF1dBGMZxyjGMKbRjGpE4xrd2EY4slGOX0QWfA4SmCMCii7rA130iHcc+e1vfu8TZPGcGEj+aa50CGHXcSJAnrSIwQkLdAIkwzLJ8jDhAZf8yhGcIElL9q2KmkSJJlnXyUuOcpSRrKQmOak3Zn2FldD55BxkuZ9JwtKWppQkLWPJy1xu8pez1KUs+3bMSx6TdcxSiEZqqEpNpueHwoIIIK35uyH/5sV+R2xiEf9DxCYORBzgCMcfwPGHP5TzG+k85zWuMQ5rwFOe1nDnPOd5jXjm0576jOc1yvFOfAa0n+/UJ0D/6U53HvSfBf1nQ/35UIdGFKITlWhFKXpRi1o0oQgdB0cDGosIRCAJEcADNkJ60pA64Fhz4SMfrbm7+QkSm4icKfzGJNMx+Y8g4KjGH9YZjm8AlZ1CDSpQjRrUnx71qD5VKlKbqlSiMpWcUHUqOcn503U69alO5epWvdpVsH5VrE5NZ1C7EQ60XtWn3zAHOerYs2piZJrTNKI3D8nNbzpxm9cEZ+90Rod0DihBd2pcZajUMzvBlbCG9dm09hgsafWM/6XUooxjF3tZxGaWsZvFLGc1S1jHZk5MTBjHH0rHRYt0LbV7VC2B/mjTQcYUpoWc7SH3KtfMmHNDFWrLbS65WtYNZiEVYlZ5VhsWiWDGTY1RE4WkdZEK7XAwjKtSXPZmXcZp5LfazW5qL8Ld73qXLNsVL3jH213y/nYhwV0vs4Z7hGuAI7KJzVNd5kqmmpJvpr/Lr1dua8j+bpNv66wsRejgABhk43wRnKGB6fDgARq4gg+oyBEq/GALBxDDGGaIBhm4GfMwk4AEdDCETSzhB6M4wilm8YpdrGIYtzjGLs7gAGtMkQiihBvhYNxEzGNc4x6mtV372QME4IEPQAArCv9Q2TdH9GQh7g86GlBAAxpwG2/adXdaPo5GplXOCr+NOgwoYhn9E0WGLGRDZm7cIj2bIAjRp3SbQ7Nb0gQuPLcuz5vRc5/5/Oc9B9rPgsYIuA5i6AeU4w+VnZp9HV07dnkGOCugWwcIsCrdOdk/UDZbXlEzKg40hZtka6KmAbgQchLkZAy4tAMYoLE7QTpBY/JSHM3In8u+6WYIYlA2ff1rYA/R0JmZCHR2/MMJ9e5Zb8G1s/ISgRVMhyQoosqvt0nlTHfgRXntXd6wfTtOY2RC5USJDq6sAQ686n/D4lOd1fxuAiGos1OLM681JK063XnQ+wY0vwn9b3+37tC1u4//NRYt2CE2kprKI0sEMLAdgmxgBTgxkZih87YnizkDA+BYXRzwAQ7U7Wu80/gAmNTlvF1cbPP5BjhQs4RqJwUDt4k1I62lvcfE5Y2kwc9ivSQmLfF61sEmetGJPuw/63jRalFX09/d7IT4SeEEgfZ0HBUjgmjANUn2jNaVWCJ5daADplKABbKjMQdY2gIeaIqSPcCvrEuMAh1wCsOYxBPXUGA7HOGAAAoQEosVsZxz0MBzPMKAmdORT3Vyy5pBFzvO1g5PAgxQGflG2PVCBuD95vzmPR/wzguc2MBKdDgW/+vQUlN30G6AkrXisAiEvCxLQo3sSTWS4KBkVg8w+Us9/7BtBawEVKuKAAWWkpSo9H4CCgjJAwo/HdZsQAGzgkBQStfy5UjbAzFbCvMMosWb34xvfGsjn8wT9ZxPVi/cOh/kjf5++JNv2OB6wDUWbUfGMW5CE4o60/2EF2jjFAdIigHoCiSBDuf4uBaRCuBIDixTviI6kW2LAAFwvtiYACSLF5ToPd7DNN57kcKTEaFgHJ9CCT34OwpoAAtYAf04H8EyE8OYs8cLk9DYkspgt+PRkLnQjJobFND7vNALQiAEwoHLCEUji0azLzxJvUhruGgjCw1YAbRgEc/oiY1rkQmwQnopgORYEbrjnd+Djg0Qjux4AAqgAEACFdVwAAtQjv8H+ICVGA6NKbMJIDAKObI+KLzEGw2e2aJeO5P8kwj24xOhIwzLACMfK5D4W0RGvIxi0zHTg4jxcy5kAZP+YyQwqQuHg7iyYIAXoQCaiDilAMUqpAmqEJkh4T3Z8CaQ0wgIQIuSoLsPgApVo4reIwq0cBS0KLylyJtjIjenWIo50LY9PC3OoBPJajzQATq7uKO/QLOJqLBKxKPF0zch/EFsvEZt3LxNM7hnyaklDEeYgpIndBUMCIrh2I4TWZV03JhVUYCXaJiSYI+wecMBwI2QI5UPyAAN8ESkeI3c+I4OsBkHQJicoMXZUIBjmYBwcDkH0AEm0QCgILPHmI/sEZb/QWQXcSkjfBsW46k8IIKrB3mIP2xEkzRJROOG+wOQNBNES0wWTFQLQsmIDeAADDAJJOOAWYk4i+mADRDD1vNJmeAAJdvJspsX3bOAtcsAAbAADtiADyCAndiAAmCAXklKUxEJe+kAfLHJq0wJVGECO0Q3VuOUV6Odw+oP9bsTGaw5MvGZz6IdmJwsmPTBbczGIcTLbASQ0guXoaOszDk0QgKPuBmbuzmOw3wbLKOOlFObjhm54ak4+BketSmiX/kU02hIZPmaJjlLuqCrahqI87uQ+ohGagELZAk61WSauFK9vzxJ2FxE+rM/0ticxIDJaUQI/jhJnIItKds04Kyt/978MztMoKHwzD5pFrXsGsdKoOcaPXKJxsNaxj4BI3BZqeSEyby8S+7cTu8stiO0RNySKzyZSVPrzW6LTf0qNXAqnRKsoeFigmywgO6DJlWyqQj0LmTaz2TqT/5EJj7DIJvyTwL9zwI9UANNUARdUAU1UJQYh0i0zUt0SZnEL5NET0TyzeDcr0yjrV+8v0aST/UcURIt0djsG4MztIv8S/Pk0AylLRPlq2CLn3DohiPYD+iYg/ShkFbypGbCJfisolNSIE/KoFQy0r6JpR8VJZRIiEoSgwfwUSewJUh6piOVUisVJSR9Uizd0izl0isNUy3tUjIVUzAd0+9SSS5JFv82TYzd7Kb4y7INlVE5zVBCetH6EodtGAeH6ig/BSh5+tOOKgduAFRAtQZuQNRyUFR/StREHdRrKFRBNVR4ctSISlRCZdRM5YaGstRG1VRP3dROBVVS5dRPNVVRPdVRRdVQbVVN3QZx6BbgUTj+ulM89TRwgr//Wk8knAMHEId1Oqt0QqdyGtZhLVZkNdZk9amyYipn/SljVVZinVZmjSqiUidsfdZsDSpt7VZu/dZtDVdvFVdwHVdz/VZyYKmmOy7V8rT+IjoMvdN4ldc5xbnKw6Pioq74RMJR4te28IzOGo9/9VeCBdhmfLN5i0uEVdiEXViHDVgcW9GbEqLcidf/XZ1YXPW1i7WtzbgkScIgidXVei269LxVi63XkzVZlF1ZBFqmXBlZOF3Eed0ylqVXO7U24PzNm+XYmY1Rn/3ZbKpV4azZoA1OnM1YXu3ZOIXZGe1Qlk1ZqH1aqVVZqt0roTW64QwwouWr4YRXp9XQ2MLYOoVRoC1bsx3HmOU0stUmmy1apMWrlF3anQW2ko3aqp1au81bvDVa9qRYseXbvt3anDXad+2rwZ1btgXbtT1bxj3bq7VawP1bQ3pbGXVbOhVcuiVcrP1avb1bz+1c0N3ad9Va2UpcyXXRsUVbr8WdrlXd1A3bxo1dx03clIvc19qmxTW1XBVaDC1cjI0t/98Ft8/d2+Et3tA1Xr99KdotNRflWOUFW6QN3r/t2pqqXTuVXtnNXvWsVevdWMjlXeZV3eeFXDzdWNOtXMqF0+NdX+JlX+SF3deKsr5t3t8dpNuqXpGlXvYE35jVXv8t23CDWfzltrSt2PoFXPLVWfN93sll4Kt9X/eN4PadYMTlsvj9rwHeXf05YAY+Wtpa2weuq/8dYbNFXeE9XwMmnvwUX/SFrROu0/QNXL7t3tulYAmGYBvO4bC9X71qYHftYNzV3eS14N/VX/gV4j/CXhJe4s094JIF4uTN1RqO4UyLX7ya2NENXx2+YS7eYuK9nQwQOwHwFRc2XRiOzLJwO/8IoIpb8QAPgLhws17ekZeruJgKxFUxS8MUjmNcjQAkY7v7EUHqUAAIuGMmPuQSvY8NoIAICGPrgDI5TeD3aQkCUJmPW4GfZF1N42PUcEqmHADZ22Hl5WQ53hgCIAAOOJwOYICggJsG4AACgJUV7mIcrmVaBuEBuGOnsDo8vit5BWWMkLiX8OXz3MAGMIr82WADth9mvh0qy2Oz6cKIawqRmDhEvubYlLS/k7TfkDTKHIos+2ZoNhEWEQphRsz0zLj9IoBj/hpPvA/KfMy7yeNxHtmSOBiKkzRPabIisbpb9mJbBmilJQsPWIG+ywh5YYCfpEq0EIABUICR6Q6qk5j/HHE+k4CARvGRYz6IDcCAlwhjCKhodMMK4miOV4Rj+GFnqoMV3cu7pig7qaRK5jCyf3G+sWuACnQXJXOJwksPE7mVquTE4nDD/9i4asNmpG5iJ1vlfcnnhyYIJCmLAkCYCCAAqPi4pfiIpgBlrUuP4igAN3bjBlgBh8DqnLiJD+xq5iOJ4eDljABlBziZqTgR1XCKuc4KmaDFMD4UjeiAGAGVBtC6DMiXSQGkgsQ6E/GUYJYNzhVoxw5oyN5V6MiAD5CZn+S9Vn67oUYJmEGKJUGy1piABkCVsWFnwlQAj87Cz/6A0B7tt/ZAKizt7Ki+pQASXQbrSznr7dgAh4AA/6J8xYcriboWGyEiCqEuCm8K48VMauYm2Y3IiMKzkaeegA9AQ1BRDjYUgJAmTI2wmLqK7Ygja3q5MsHx7q9pw4yIyoyLbc9wOIfhPRUxQ7QgZA4IY5KgAI4RHKJU5pSLlXhRbN0T5Mf+58ge8G6iF4x4iuRr5QOcG1UrgAigShlxAJwIvOJR6SpMbQkfiqbwbu7IRereaI2uC5uAbdkoPAXQgCIpZIKgjdvIgJ3Yb8neGK/uEZTYgMJW4uZu7vt4SujwAFjkgCuLPeELleVTESC5NKjsigZAQ99E5QQna+rgQp/0ACZ38i3sCgcIbCdD5Qh8Q6UoC7gzZpJogDBPFf+dvJXkY2zKPmqN0AC6MzKidvCMKOSQemYDL3A9p2Vc/bgkA/KTO8gCuJXAJoqIcY3bCBiGeWml3MmNYO2lnIAOGIAVaICfVHR5LLs2REB7gQCKe3QGiPSDEJmtHOYstLpvu/FYTmVJZ4BBf3MIrwu/KxVDpg7WHoDLruyYYQBV2XFfv2LfMZtejBeMQ4kuLJuLm+fLtEzB4UxlR/ZfQRuLgx/CxM/KHJsvx8/EEfZhH3bDlNNqd8xm3/M8J/DjZcTrpuJfX3d2R2S1fVoYyR9zL3d6J3d7n/d7X0Q6BuR273d/9/WofV18H/h6J/h8P/i4/XeFX3iGry2EL3iIf3gziTd4Am94i794f6f4iNf4id94j4dsjA95kWduji/5jzf5jk/51h15lm95l395mI/5CQgIACH5BAUKAAAALAAAAAAoAYgAAAj/AAVsEEhwoMGCCA8qTMhwocOGEB9KjEhxosWKGC9qzMhxo8eOID+KDElypMmSKE+qTMlypcuWMF/KjElzps2aOG/qzMlzp8+eQH8KDQqU6NCjRpMiXapUAJpDCZlKbXrz0NOrVrNi3Qp1qleqAvqkYQj2q9mQXNNq1Xozjdi3buPCnSu3Lt27dvPi3au3792CAwUeLFszMEK+iP3GXau2sVWCArJCtijZ5tnLEAUIVLChM2fOnQmL7LwBtOfQAuU6Xs2YrdXAHjdAaNCAggcFAjsYtEgad8zTmIML7tDAAgAAKwBgwGBhwIfQwh8qaEAgOXIMyBkQeB52MevVZDVD/28YeDp2Cxw4DCgwYACB8Q87EEAOAMLLPh+MAygAv+KeX/8FCOCAAhZIoGgUeXAcAA0o4AEDxw0AXXQMdbBgAQoQZ52EChHooYF7qOUQabpNJAAEEALwHInz8SdeRB1YB0FGim3QwHEWwPfhL4f8MlCGAoC443/kIRjfDMdRMBAE1ik5WXiDRQmUAim+J9CNx3lwEIBOQaWXAG69iBBZEEgYEYrHfRAVAS6G9thCFgIwAwSJvQUmXQR9gON4mv0XF4Bo7GGjmgMVSBFZFA7UAZIAOEnlnoBFRZpgCu2GUUiPAkCAYBAsaOZBfewmVlSUChYpZB0UwB9sCRUQoUNo6P9ipUFPDXSVUx1McRwEcW0glpSWViqQngDkaCppAL5F5AdXcAcfq8EGe6yRBMXZqEH6MYDbbpMaJuaLvE06rbAjpsjhiYxygMYGAZK2gVwTuvtkt6Glut+EgFFw3AxaNhTFQYd0VsQeAVdLhZwzVuquYRYRmyNqCwuU1QcYrKAmZJR2q9m8/X0VlbWOpviwANNZgAEDHMxIcgPp0daBBxyw3MBzEMTc7wYeEMAAyqARl56SEBSAQQMdZ7qpQBwch4F9AgAIgc4YFKDkeE8zELWTpHlgcnNmQqAfBjHrlpB+AHTQUMDv9lEEBQRgcIUFULjZAXYrMN0ZBUJjMEDCMNv/LMAHLKdskMOwfTAAhDw7ZWNyMxAQs0FVX73bBy1rSQEDFpiNWYWMOqmgnBRopkABM3CgwAcrLH33gkqOjmOJBAywLeoEdKAnhlciyUB+kFZqdIYcJGeBB1nhvBwEHQzQ+EEeHJ984751aoECT2PAGd5Kp6f5i9Yy0DFBfZBsAQMdTCcnBwYpgN2c4g3AYAfGkS9ABykSnSnRnRHrfWfu38bsfgo4RAeSdpwCcGBqzVva8wiwLQXoJ2ZNSlS1WEe9FKGvMwTUnKu0JRBXAcBMn8OA5hogNghgR0sbME7oTuSp5GmqYxtIkXIWRAAPCAQNJIPQANzSKQCgL4cfXNJx/zggEPetanScEQCW2hQpDzBqZBJJAwFtqAskWU9R2KnP3VLHGQISaj4M6gwYiTiQDyDpYU681gZMgDDB6IdQQLRSDy8oADAygAIomgEczwIYRS0odZgbAApJhp391VFO3CHWFSkQwQEaxH0r0OC9ZIMki5WGAttTyO+Ic5wVMDBg+mJQqBSgtNUxaDPYuSIYa7eBD2wrlEwczOeK9T2D9OFGMwidtcw2P7olzDgPQ1HmOngc/IGRaMOC1OfeE8M0bWBdxtGjQULZAFQeZ1t25AwEnoPDs/wCY4pilP3g87mH2ehVJNvXc1hWwFY6yzgrSA8HCombHkayIkYzyCz5g/+GGCQJh5myoQdDtqsNhBIAu3PXEiUCAUZ5jyJpOF3rsFS2dc2tjUy6V8bEWEyO+lAwhOuMB0hovDRFJoUm9ShB58S/48xKYrWkSr1YJ61WImlVAiBgm3TqAUz60nQ/MlfLHocu5SRxIpn6FEqztNTnHCJTz3mjZ1K0IjB2VCChNJZD1LcgsUkkfJeU2r7M9tQszqicHfMg/jxIxr/taTcekBpVreJAZwrkjZuBkMU0A8ZzrYtaY5pf5xpCrDa5T6OyoaF9wGjA8uwrYd3qofXwaa7deBAAWvIgobjKrw1o1pr82gwBs4TVdkrksJitiGxMhryuPvOiWvRAcq6YkDH/CuSYg3vr/KpDgbqqqFZ4JaYeNQPbDzxlDREqHrVGBLKH9HBkY9yNflxErNSSBp5OEo8QjXqRfArmsjY8bOjQANsZiZe4ndRNiT5QWQHAUiKy2RB8ByLbMO4yYFytz/ySswIbBgu3AlBraEL6qBh05o2vwWtLVzA1rkYyYH195nIhsqgkNaSuD90AGP17JeSErjQQml5BCMjB/HWmoUalrEsJktF7HeJz1dyALvb04mIK5LmdaUDCLmqmwloES5HEl0FR6Kr+slBOZkMDZ+3j2QJui2QevaCAh3VGDA4RiMPtzGfpa+P56fawViqYBLl85YYoKMiPoqOiUqe5DSSt/62KMpduKMCdz93zIdXK4vQcJLIOvKZFZSTtugD9NyT5twEF0JwFsvw5BkDAA15NCAGHuTEFpAc3CmDjB82XpafEiX0446/pFGCbgWCJgexFpxKPsz8wYuFlWcQaW23H0VURi3iDXvFrqAXWahVnXwyY2UKwejIOuEp2lWLPQUyYMFM9qJND64y9XGq3hJC6yNBegXZWVCsFzCd2VnNWab7tPgwYN2A3Qk91fjjuBSFTInFNnePUIzXoKGFBHJg2huyVnAIwjQJZ1PbFNkA/Vn/Ajs9JdYROt6/akZhpzcMR0+SjqXma+zUAv06DJhwlz5jmqJEqDeUw+awTNVukI/863QEzWZqWx/QzpYF5LWczM5BDjjauPEgHOkDzat+tASg0EcEBd0AIFCFYFGhAE35UmwB6vOXDoQAHcj6p6ZAcOJv5zLZGGvSkR5o4JC/IbKYOmm7H3E3faU3avwOuEdUSz+Qa12BIRa/YgCvkz9RYZ2q1rmcBq+QagRhBxDz4SP1VJnHfu0G0Yqpjwb1Iuzk8x+k+rpBbPvF9jCnm4duRmuK9j78BTFoA73i9f35El3+mmLlVedbzZvKTH3PsZy/72tP+9rbPPe53r/ve8/73vg8+8Icv/OIT//jGTz7yl6/85jP/+c6PPvSnL/3qU//61s8+9rev/e5z//veDz//+Lev9vKv3fzoP7/608/+9bu//fB/P1fGLxL5x//+9s8//vev//7fn/4gwX8C6H8EOIAGWIAIuBYAWH8H2IAJ+IAOGIEQiBULGIATKIEYeIEamIHlV4EMuIEgyIEhOILw54EWKIIoSIIqmILtd3fi94EsuIIyGIM0aIIjgX4E8RRPooOswoMv4oM52BU/KIRBuINEaCtH2CVGuIQ9mIRAiIRMOIRRWIRNOC93ohh48oIpMXqCUSuqt3do44ViGIZkCIZm+IVoOIZnqIZpWIZtuIZuyIZyGId0CId2+Iaqx3f/p4UroVyRsTGAGIiCOIiEWIiGeIiImIiKuIiM2IiM/3gSNlgS3bQwlFiJlniJmJiJmriJnNiJnviJoIiJafASY8IqPDF7xYM8O7eKrNiKrviKsBiLsjiLtFiLtniLuJiLutgBdSIXpUguQvYb0LJctZJJkciHfdABWFgXoDdsQ3F5TaEWufEafHiMacCLy2gn3uKCVmgZ3CgUDqF2BAc+2ViOvXiO5piO6LiO6tiOczGOH1EQ03FA0DGPmNR6iHIpOLMdfLIRlPd4cwcngSEomneM0GeMFwEYCjAADFYQ8hFpqBcv+cgtVDJw2nUqETkZiWcpfVcpSeZCDIBsBtl9CHkorDI3GBB0NpKRr8d64GQBhCIuLJl6h9IVUDEvuv9xCGsgO8nzKSOJfSUpdKYyQG3DSyupXUJGL6Wid6ZxYHtUKr4RL5S4GaEBGhu1UUo5jqOjOV5TBDQ4g2AZg352fglBHA40PTmWNUk3dTlWQ+wRV0BHAMNTJsGmKLSRHj8Ck5aSM4CDOSrTAWsJVMFjOg0QNbqBaLrRU+qhANcWVxKCaBtQPGPpK0+RHwVZjc0HjxxRlkRDP8yETB7AIfSjJc3zAT01OrKzkP7mICK0AQOAPnNTIjAJLlSyN0GjLd7GZO6hZcb0Qx4wI3TWQRLSPFHQUzjzbrmRBgCSl1jzk9UXlJlxkjHWPOhjTDHmmvwRmwbhOMNiLBZyVom5NHf/FZNuVGd1ozWhoSD2YZk2oi0GJUYxg2jeMzcB1CVgGCgdwCOKEgMSEpb++ZUiOJYlaCnEMWAYkHQHhjXFQXAlpmE/xJ5UYh8SRT9MppeAMZsgNlIjMzc2RCWQFld4pCUOxGSMyaCcsS67ZhDKqChYgD6h4py8x36a6Y+DUaCCUZjMVACzQh0mup1kBKGq4xwgNiMOZJFOGVS2I0K5QT4Y5BynYwG9dVf4cyI9GhlYsQE+QlZeQzTs2KXu+KVeGqZgqhhD8gu9Ap0AmRvXWUSr8iAJI0gEN1nwORB4M1X2UZcKknN6qRAWEGOGUxp9WkbsNjetgzKCwUgcMFLPcQZK/1pGRAMgAaMbRcAejGmVmMl85aeiIIEQOXNH21Ia70YBA1AbHcqQA6AbFFMAvyk0DeI+tXM5e0OpOHpyKUQASbdxBPeaFBClBoGrYXclVgObA2AFp7ouPBoiWXoiK2AFy4FQTzYQcYEQ0XoQ00oQ1Qqto0Kt2Wqt24qtY6Gt38qt4eqt0tqtV1iu43qu4IquCBEg5CgWZZobm6pJpSEp4gFyMJd1vXEaTVl1JTohe+p3LVmJSlaihzCKWFooBOcWpVEE//qivmJLEisQEFuxExuxFHuxFpuxHIuxHruxH6uxItuxIFuyIxuyAuEjKWsQciEkgoKmE2mvEjmzMnuZUf+BoY5XGFyyB0GSpVbBs9AKJkIrtGNRtER7tEabtEi7tErbtEz7tE4btVA7tVJbtVB7sFirnD0SrXYSJjNKET5Ye/SjZi2xeGgwIFfRB2jQBz6SjG3rK6EStxHbB3JLt3N7t3Ybt3WLt3W7t307t34LuIIbuHkLt3g7uIZLuH+ruIj7C6HStmkQKL/iel+bkLY3jzoWerYiECGitlgaIpqKQ6KrnKQ7umZqpqZbuk5Buqi7uqcbua6rumjAurA7u6+buq1ru7JLu7hbu7wbu7n7u7obvLcLvL77KwVRMOEjiNL2Eb1We8H4ErXSB1lBMIewB9R7sAQXsaQRKp3hvdz/G77gO77dW77fa77ii77ke77sm77tu77uG7/wO7/qW7/nu7Z5N4pYuTAQuZm5pxNWAQy9kAu9MAu5YMAGPMCzYAu+0MANjAsODMEPHMEUPMEW7AsSjMEVrMEXnMEevMEf3MEgPMIiXMIcfMIhjMIkfMIUXAu1+Kz6iI/ihwazQAsLXMCzUMC9gMMFTMA5nMCzAMRC7MNDjMNEfMRGnMRBjMRLrMRF3MRQ/MRSzMRT7MRUfMVW7MS9YAsLfAu8sAuBUqYuK8al2I3b9xQFjL12sbaLIcZuPMZw/MZyHMd0PMd2XMd43AfYKyC+0Atiihd0Z7NL0ZKQ1x2hssC/UCt7/8y5nKvHkfnIARPJkDzJklzJlHzJlpzJmLzJmtzJnPzJnhzKoHzJqfEuPuILs/DHeREegDiMrnx3ZjyTqCEmw3YopSwQBRzJa3u2VIIECesjwPzLwhzMxDzMxlzMyHzMypzMzLzMztzM0PzM0hzMbNsZuDALkVmAnCozONdmCmOvjad529QeMJwxrad5oaHHv0DA8EqQe6A+2Qyg/znP+HdDAVMLvbATGqkvz/GkzfnKwrKUllotEjI6J1d5VAkssfwUQfwfFAelG4ABXknPFC3P8JfNG9DHqpyFQ2ldNkJblkIql2c7p8I2rkcesrFH+NJ6yULAAkECshM0+hLPFf9d0xadFva8AbjQCwlYlkYWaHYTMftrzqMzpeljbJbqdqJTAFNaKhcpZAydz/STn3ugNSsgyDCaKGKm0WPK0RN0M4ezLRCwllMjG2TNdLuKPqkapYdaAMFmH3d5qrmRdAOgJGvNGR9A1yJKHQ+CPgSAnAcsGzDALr/gAVSwAhN904pt0+6n0/mME5FiIaOKaBbAZPKBaX26W5ht1x+2IvU2LRxgJR+wKlA6P7LzN2j52ZRzYo7WSin5Ac9BZwl7CAV8jY4mFg1gBVd9qdl3eFy90dU6Qf2cH7WTUzs6PaF9o97DXuLG1C7IowRnH16jJCzDLZ41NVLzXe+BIlEJHf//ccDoVgLqoTMAwNvXp1wbgM/6TKAe3SkSomyaoSfyMSvNcz3j49llPWKzktcy7Zrs9l1Tk1BIwx/c7Xgqaws8LRBcBwEwsAIwbN7Rl9F+3NXMqBAxMkjq8x4DoFWjvZDG8jf88RmFqRufDRihbWoXZKtuxkHzQ+LV5EDsph6rBcMB0gcEHDCuJChss9tZjXzQsdM9zSqdYkNYZUkoQii1IRsMgEJJ/gEaZB9MXaIjtioE8B7wYzomRACPtlYNQmrys5Bn1aCy7SNpEMSdQQJEEzQUA+HcJ+HADReAkTOeRBvu4SyhWRt2Pqqy/Td/LWx/U5eUwl7B9jIMoKockDk4/2Myp91KdWlQem4fFLfojlPjtX0ITSA0eimnPV58BgHkGGhtLWcamacwUtmvzyJzlUiVzRgxT0cpPvIUB7yyvTEF43ErB2HrXdJNuR6Euo7rvv4mu46EvQ7svz7sxs7ryC7syR7szF7sy47rCvHbFG6u1UjptqCcbxGZRaDp8Wy2Yobe4F4rEiPu3T7u307u4X7u6u7t7G7u7V7u8J7u7y7v7m7uV+HYQX6MKpsLtkApoIsEDZp3At93BK94A2/wBX/wCp/wDI/wDr/wD9/wED/xEl/xEX/x3SLtwO2ch5DDA8EjPBIk7wIVJP+HJX/yJp/yKL/yKt/yLP/yLh/zMP8/8zJf8zR/8yl/Up6uzRBO5rNwCz6C8KFi8RSP8UR/9Eaf9EW/9EjP9Epv8RpP4SOZFbsgC75QCxwswRCs9Rq89RbM9Vn/9WIf9l1f9l5/9maf9mi/9mrf9mz/9m4f93C/9rIAxng8xwap6wqwCwj+wzrs94D/94If+IQ/+IZf+Ih/+Iqf+Iy/+I7f+JD/+IO/CwPx6eYtKAebyD+rx5xf457f+aC/x6E/+qJf+qGfLG5x96p/x6y/+q6/I6bH5i6R7dibNtN++2+O+7qf+8rS+m+86cAv+8E//MJf/MR//Maf/Mi//Mrf/Mz//M4f/dA//dJf/dR//daf/di//dr/3/3c//3eH/7gP/7ifxMwSv5Z7XlYbRKbN6929/6xHLPlP2FP0sqBlaavnBn2D8uWCxACNggUUJDgwIMJCyIc2FChwYYMISZ0uNCiQ4wUNWbkuNFjR5AfRYYkOdJkyYoRBXagQAGCAgUCN8zEGJGjSpoEBSigwIFDAwUbPjT46cGmTKQzZXLk+bMBBaNJDyqlOnVpzoU2OXYgygFC1g4dpg41ivLkWbNp0a5V21Yhxg8cwlJgELWjzrY0OzAoEHQmBwAflJrcOHMvgQ4QCvRl63Ep3rcNClhALFDBBwyCCyoYQKDACg5uRTceXZr06ZQHC9j9AAGn1aqvIWMsQIDq/wcAHaimThobr4UBAyGsaECSYc2LSGFPhSCYZkMFFjRv8OB6QwMAX01vR92d+/fkGxiEtmwd+uDnsXc/pwjcoofcx7UOflxzQ23LGGxflRnU8vqr7KvvIAIYGEC7paTrr7+6wHPQOwgfbAu7AlyzrIHMqAOOOgKGYsCCrwRgqYEBBIOAgAYaYMBCmmrLyYMVdNtgxBI3ODHFFYWigES7DtpQRNBm+mDHA4X6sAMPGGBAMA+ks5FIozwgYMcVO7BAN7w84MCCzKZSUKWdChBLwgjLJPNBijagAIAVEGuogA8E4iA4BcaDQDELYOIgJg8wcK02CBoYcyELLEgxRQJy2/9pTwH6/JOAQDuIayYIctytNpgIuFKAFIW88roCPI2JJxGLE4AumIALVIEOBvDvKAU4YODVDZykaMgzzdQ1V9M26gAwDMqC86/gao3TxhWaKyBFDjCgYIMBQlMP06Aui1GAD5YlylloybuPAplcnGqyoT6oNkeBGCiuzq/g8wBbsRpAkUQAjELxuI+ie1emLx3iyTdedxU44LswerVSC2YaVoA5Z7K1Tg8ocBUmmqI1yMvgCIJPN4kp9svimZZsiINQMdrQIQiye7PYaIWS919ogap2pimVI4mDYx2eTiZzB/aZ4J8dO27nD/K879iGo4tzJwYknXWzrwYoLj2BxB3/6IMYqXt6p6hNjc7bhpMqIGPonA33WQEqbW2vBt5Vk7ENWN3g3qNAEjSiL2XyYFCg+w66b4XtanhuV08s2dCr6SyUgriCIsDbiyhDCrev6rSA8T3n9pYusTiz0Mf9qNoypg4IeHXsmQZIWDj9PhgqpmUNipXvtJ+lbumGbJ0JqrAgQNtv4P8e2KcUB6AgJq0t8EDel4DbESiBFMOgQiNFRipWDDAASigLABjAKOmp/0BJ59SU2iWVsNf+1Z1IbInvD9xu7qAmARBTTQyctBHEhJo01K64NWs1f1kBm7K3s+AlUHjfOY99cmIs9mjlP76ZmU38wp+4xW0qANtJBm/CgL6b1IRWfqnbBj94wQzObIErVGCv3JKVvLWQhTOUYQ1pKBLUGGY8HLRhD2/oQyDq6jQKIEoDEBREJP5QiUlk4hKd2EQoPlGKUaTiFK1YRSxeUYtZ5OIWvdhFMH5RjGEk4xjNWEY0nlGNaWTjGt3YRji+UY5xzFV45nhHOuIRLQEBACH5BAUKAAAALAAAAAAoAYgAAAj/ACl8oEBwoMCCBA8qNMgQ4cGGCxE2hDiwokOJFx9ijGhQI0eHExNG/KjRoseNISGCHNmx5EqWHkMqFEmRZMuOMmsmVEmSJkyXP1XqvOnTJEyiJ2cCNTrypcmnLzMW3Ri1Zs6VOJ1iHOpzaUaoJ3lytYrSK1CtR9FCbRmz7FWZU9vKJcq1rUW6Zb2Kxbq1L9ugTcdOvTo3L1KpF/+CrQs4cNK9O+PiPWyTb+S0YakWFqmUMGXEfT+SxczUcFfIb12mzNx4sVajnisjhe32q2XXnSPvnR167eveZ3WeHp579eXYmzUf55y1rlC1nO3eXq66du7k10dnl+74+u+Zz02b/8XNNCv20doL32XtvHVo29t9M+86nbp84/e9k12PnO96+P8JR5pogAloIHigRRcgWuMlZh1hl+kmm2noESdZhH5FpSCAeUXHnWIIntfUfCNW2BNuHipVHX8kVogadQQ1kKJ4vMFY2VkzcUBAAQRwkJCPxP01oHobxofgi49lOCR5EpLYQAEMrLDCDFJigIEFAyQ1I3AlDrcfBQ0QYAGVVEq5wpVZtlifa0h+FKaUDBQg55UFWCBeAxZMuQKQbTY1AAZTMuBgeER2CRdjXXbHJQczNEpAA382ameGLEL34WBdNTDlDAw08OSmBdD4U1UY+bjaQBxgQGWaAuHJqX0Icf+gp6lr/kRAo1M0+Z6MNmqHV4G1yrdcA43OkKasjh5mnnRgATsfQw2oOsOkFNzaKJBcfrcgQRyEClqqq2ZkgaDVPaTptQdu9sEAjVJhHWcEZMkmqXA1RqqRPxGbLEHSYkDVfyEWOS+BF0lrJ6rFHqwiwQF39UMDDAhqHAOSYsWBwkXGeMW1Tf2QaEPszpAriVsNsEKawvla640LQraSvjMQkFC/WzbJIsD0NYtStBVzW6y3IC5sc4QfQPyqgxSEbGxorApZ0blZ8DnjzTOF7K+WHidksrHLIi0kyyvD2iCYxRJgkLTkDkSAlRgUwCsFcu746ABxF5Blt3YfxAEDVrr/LRDePFKw9woyE8XztAcV0OieHeEJKAMyS3TxmZDTNECUDFgwKQdTNNq230ZRTGUDX+8EqQlXrFB5Qg1Yga7WUV7JwUB0y+lj7QXMLlDI5BI0gAWAti2jxwRsakHgA0H8eOG+y5l7tVbyWiOS29b7ctk+O9oqxW6bzHjS2Ls6Awa8aq616pCqnpC1GEQ6vq4Ge1oAnFLLuqerFpC++5kc4K+/rJ26GPmSJroVyOltBznX+5RUNL75SHEzAJoCaWWBLMSAZwM8nMwO5y3wvW8gecrS1sj1qUbFKXImw0D/xpS/7TWKR5tinrrEYy+zwExm4IpgQhS3Al5RbIAUEN3B/0LWQ4KADllAUpXZBKen/LHwK4crE5UYQCswqWpzU/IWzw6GrFB9YEwk7J21JLYRRnnuXwjhoY/01cPkzYogPJiBFWQEwTSNSYcUuGMMPLauMyZtSpGTFq2kxSoKXJFbWTTIHTHQI0ChzFLmQY71GgKzKskugaq6Wh6ptESryah42nvSDkdHEIqRy4xLq5aMZGIwMIFyBS38gLUKdy7yyVJ7YJrSAO/YwgEMb4xlQaUm8zJLspHSiq/rnLusaMsg4lJ0HQzZyJBlAoJQoVGsEp28qqW9oumyfJ6TEQe26R4RLckhN6SPGdMGQQucDZtwg6CgBjAAg1DMgHOiUvaKSP8bkbTSd8Ui1x0jZ0iODbRVguSm5x4JTKQga4HlEQkBeECBJ1jrexNk4tGic8cCgPCFfAzZMpP2qKS5jmv8wqY993U43fGSPZYiEKJ4k04E8W6UG5Wnjs61J78RxHjOC5zgFqc/CT2tlSvlmDYNsqksaROh8HTm4mKwPhPaTIFFnFC1ILepVfLUR+vsi+giJzqq0g5XFOCj4CBHyJlFVaqsIuRHEacm95SmPbi5oUxuOlcymhGWPrpjnBQiSIqYEYh3RSZdByK6pT1VsU6N6uHqacRizQBIwJTLHS/bHVRhwAocMEOxeNWAjXH2r9ITSUcJckcSaM2PYIqSzFR1Mrf/Lo2x8PRmVHkpSQZxKT1bQeUSs3LYgqz2IGjbXbGkNtaVIIufRrUtxhobWJbO6osqzSWV1ug7pPKVPgrsIE/+GDNjzsCrmzKDdjmbleb+oKwHuSkyydVW3KIUbpLtKmt7FklIwnRUOFovQUMHUdFV0VppwqBEIDjMYxEVYND6p0aPZsbI6euUL4yRVavFAY+dy1vylQsE9zSSHpUSng8l7UmBJLreqTbDUnUtQBcIQW/J9cSpXFcWNXw07CKuejHFz3eMqjSPhsh7a1RVB1slJf19QHFGZl38quXgYw5NgZ1KGtpWuUlysYvE+/XydtNaABPwSlWUtRoH+kcdBqf2/0k+lZbbLgokNgJpaxH0FD0JYi0TPGEAJ1UY+/bLqfThUqrdCzNAwbxJTmVNbIJZWKRD8qTGtm2bDVlb2yg2KZNkTiSpkhrtpCUlCxfQArS6SZgKWKYzYYkzeILl/GrbkTwd70ysikEW2panJRfQizAZnKzrxIBHjthtLfZUlEyoOzzjGpMLzdP4RAgoKnXPeE/ynKkeqsJW2Xp+7StI8cwUgyfMEMBCTlTNPIQTSPEIgR1hs0Ie6RC6lZQt8FZOjASmtx0VMt7+5nLRGqAjE2uEAAYXG6T8LTWtmbhoCC/qhsJkN4lDvKQpQqDgnsfne8coBh7nVsBVpPH2DMmuBP8zecoHxBZhlZMxtJkpdPrT8qGNqkY3OpFvBWPynjMIrxlLWW0ogyKc5eflGoroOTs7c6Q7veYN8/nN/fv03ya9XDKvq9Jj8yup81xUkKb69MRO9qqb3etUJ3vp0u0bF12dO2WPNIfAdva62x3td4+7tpq+ckyFx2Unv5TdH/R2vFNP73lPvOHTXk74MExNA4u8ZphU9aObaPHnxrzmEb95lKM83TJFDIQ+1hPF64fzZUe96Vff+azLnd3v+hK+Rm95/9Swn633b+5Zr/rdX/7qlepa0etT+OLEVOto9D3jlc/75mNe9yRLDaxq7/YkAWtebO899J2vfe7XHeh9Xzr/fehum9QIS0CT777U1c9+73f++F/jOqVyzvLxx9/mxgE783vr/vbvf+9pAXqAlzMA2HUT0k+213f/h27+14D913jOQoCFUinOkh5HdyQdshxj94CUt4Ae6ID8N38hInRgt3PeERykpzMdCIJBwoIc6IJ8B3szFHN8J3suZ33NYoMuOGk72IMvyINmAWDpt3RKNyiXooMb+IHb8YJMyHwmSDSi0jJPuBtKYnxLaH9NWIA+qIQfyIPbwjAGSIRw9y5g03ZbOIVnmIWrl4D3JxdDk4QRiIEGSHNDyIVaqIZ2aHrjFXojmCQhyIDLUi9E5zUXgoctaIiIuH7h119/d4JA/3gofJgf2ReIach/eXiJ2teIhDgd0vd7Zig0bhh1nLgipEg1pkiKK3eKqliKrLiKrtiKsNiHQKhuoZguIMIbRjd0DLhuvNiLvjgiCfKLwjiMxFiM69Zf02d1ghiFCRh7hHeIN2iM0jiN1FiN1niNE5gxU0d/BzIwVih8ykgS/eMp5FiO5niO6JiO6riO7NiO7viO8BiP8jiPqZWCWiV5M7ghkuglboh+JMd0KjN4vVKJDVh9XCFwGriJjoiDfvd4m6gzTJeKYKKQhpKJYpiIqVeRjZFvLrOPWlIoKRJRn2iGkwhgCOmJ0Jh2v4eR32cZMXWSxMdnQpU8CIdxKCiFEP/2O+RkfY63gfyYPDKIjJYIfYfHkng3ioBRj8WXPPMTOaiSZRAGipSIENHySHPIQNeHNF4FbrEUdrvHj0ZpkQuZL2V4GvaDLdUCe5MhhxFSbFboeFvij8tSPnaCJ0BzexZZlJiYeEgpHG8jeSbxJMBDK06JjZERbh8padhISQRhZtyiSeD3fiu5l7lHe1qhlAOYQI+CAVmWliInJmlCAFSUOb8TLxHjS8DjRU+yIx3klvFmAQinOnWGcAcENwb0JlkmmuLEmp80mnZCANWkEPl2OdtXmWNDmQ64Mk/Th8wSIxt0JXzGLZNSlUxET041KeNyO7sUKpriQ1YZLbmzN7v/BCTmE0RLdDy0czt2ZCeyYp0kFRkICTEEhZd8GZQE2X8hmFokCBKixEShQlbMMy5W9DbH4zsk1G1s9idJtJOGJC+yMk5p86Ba9kkDlCYnBCVT8ASpUo+BSZUmsAT6x3vBd59dOHeMiX1lESbxRTgAahCiKTjNFERG9icx0m1UFmql1DQ5mhB7sjasczIN1D+XMwDjNBA2OpHRYnHwqTeDFXZL+HxCSaLJSXcGkW+KGSEquj6wVErUUicDmhAFSkAxQmKvFi260z7rEW5FQz4m41VAVCe+9CcEtTqC86XXwSt7U5gjeoCxmH+v+KewCKiC2pdRgZASmUB3mUdepkID/5E33XkQYUqcVtQ/jASjvhREhVRKKFSXTUo3BdGeVtRBxWMBOhAvTMRlAyBDExlELbSq9tkwv7iHpWGYtCqNHcksHKqQBiFA8+mZSQObBmdrMmIyVDQ4jzI/+bM2qPZpxUNFJnElNak/dhkvEndvGKc2gEJVsdaqwLmk9mMmV7OnpxKotjeug3qu5DqoOkcy+/Z1GgKMHqJxGseLJYep2vgcs0qVGFKlSmGlNRQwU0koAAuFSDOwBTuVBpuwQidkQOlb7xqlXqmcG6GmDHmlNKgr+kmu6aqx6NqxG+uxp8ic+5aVWEcvIkt6IwKeYKmDaJQb8+qLpWONMVurNHuN5v86kTAXdENGIRKrEKypOy9CeQ8RBZbhZH1arkdLJCD7sUwLqKE3s7nKp0Kbi1doL0EretVBtARRC0QbIGhZs2AbtmJrmFWULioid/JHpcBxtWtHAdLwDHAbt3ILt84wDc0wDXaLt3ebt3yLt377t4DLt3s7uHpbuIYbuH5LuIJruIrbuIz7uIsbuY4ruZA7uZGLt9QwjuwIfiXrGDg5dSiCfzrHIs/QDM7gDHMrt2/7DKv7tq7LurD7unG7urBbu60Lt7f7urlbu6o7u7j7u7YLvLcbvMQ7vMYrvMhbvMk7vL8ru84QDdAgrkH2quPKrhYSNPkXhKyhEG+bmMbYNcX/6DRjO76xOiPTIA3UG4NSuJAkubbbOKuQuCzP4AxQl1ZIp4JmV3xhuYYKoVbna3X0Cb7Spyi42IKfi4FlAbdAMUz228BZ88DRAcEtAcEOTBAUrFb9m8EVvMEXbMEezMEf3MEgPMIiXMId878QG5k/EjcId6nKAobvwS2/kz972LIX6xBwKyQrEKJ6wcNXu78L+BLT8Aw+/K4HV1uQsjr4+yz6qht4Elu5+h8ZqytQocBgkieQoylOqolFzI1S+oMXgcIpSbJjyirzY7R8GhnjdBJicrIKsca/YhY5TAEfqmwmo3cud5RqC8SqtxL/28XjZRHEQisSqo3jFyN0qhBQ/zKv4yWfGCKVB6HASWqgWTDGsrrHXvjFmAgRQ4x7agce7alIA/QBBTeTpWxhLRwqf6LEBspIPkKbNCw4tCkzq4xCCIclEIdqbZNHSza/gjMypCwlW9yMTwp/lqzJ3YcRf5x5DivIsLQjEbNtLRQtZnMxMuLIe5Y0mjoSXiqm5gkmfiOpkEM73oKjJuOephrJz7CmQBIDwpy/nfjJzMzHLZkQf5zCTdcSxJIlSZxldVIRayOYB+Gjf/JI44wR3UxwVmQ2chI6ZLVNn7ahEJE1Vrw2cgI8MzDM91jPK0jPi8fJ6IvP/+rMlOWfrKo15PNp3UWhiFk5N9HNJJWnvBwd4/9MnUYkKKkCI3MsODGgA5yzw/CMhU5nosjcfH6MvvMMfvv8NOpTAP5CO4IioLvjL7xSPDJy0BoBJQLRxnkkM05dEJ7yzYYEbF6a0zDhy0ljbgQE1JX3jD43lB6Nxw5BDUTc0YgSK4xWPHeDmKZq06ZKpKXkI3HCZTuEnfkDMW4jK6iWqqXkNwHNWuIUo6ZK0URMxwQABXtzx0EdkUeJnCxJAcush2ulOrDMKhfTwj8CrPJSmnmjZQMGPbeZKlS0yGvtU3LKZ8C6Rr1WPnc5xxBjBVTgS2wNdEBm17/h2citEEOc1E8Ia7ryyDDbi3EMijgbIQr8F0CtcvyGfBBY1Hv/iRD3LJY5+IbriqJjybPbYcUHkTXDnc9Ki3rGHddtDdohncw1h4BXKnjYq1VLKRG+rBLhOr0/98EGkTUql9yIeBDLLJkBto/NQdQXqN/qNsdqVXNqdeHVgeEDUeH2axEa3uEgvuHrPeIiXuIg/uEoTuInruIpbuItvuImTt/tZ4TjjcBh88PofRVoHZLk2+M+Pr4eI8aijd9+utGHmsdz5xDSEA1/e7d7m7h56+RR3uRQLuVSTrlTbuVZXuVbruVe3uVg/uViHuZkPuZmnrfQK9cDGOE8WcxM/I3n1BC0m7p0zrt1Prdzfud0Pud8vud4/ue9G+i+K+jAO+iGXuiI/27nip7neY67iPeTPFm9Hil7Ljl7PamWx3iChhy+P97pwujJnwca5revOVfkR5iBZguvwOXmbKiL8p2HxxyRPXy2pVfA9w2XS8wk8teNaquJn/Hq3l2D90LMk87EBcyQf7iWEXh4LDuSwQ7sKLu+jCjUMFyLXhyxH4mEYaPqHYLg3i7ePA6QhOfJxV2ItWftoZvkcW6P3w7trtcg+Dt6obiyVSu05d3qKMnZ3O7uzw4hyLiza2nrGumNWbnr287sZdnuCp+RD57vNzjAFlh/mCHU+52M5Efq8b3wcX3J9Enj6I6UwGeC1Cd+vV56/X7yQ62AexeVkGchEg6H/67vs//4virP7xsvgY04SUc+8dmo7QlP1Akp68yp8URvzPhchFRLiwM88Fg7kBZbgQE4ikVv8ypz19s76oLn1sU88ovYjy5vIrE+9RovujAs6frIIYMo4SbrjTr/8v0t9ijPuY33hS1/7MVO6k/7qt3u9V3P93BP9eZusglZ40uM6rqYr1gJU/8ul+8B138/9VGfi4QSz2MYz+JLgQ1f9gBM99YO+NDOEWHSI2Ed9Pd+ERT3bkkTN/QmsAhCcTWJLQ+eILeO9nDWI41Tj3Sz+p7/+AFDN56yNpQl+Ta+GNHSmbaJaQjM8msaQBFjtJkPZNHFE1DS/Fq6TXgyLgZEsLz/+UD/4Za+87XPnRk18mkVwS6MrOlgodKy0qv5GseI3xBr3BWIKTiYRWIivf0LX3O73Cr+ChAUBA6k8IHgQYQGBTKwINDggBUNHCJMSFChQgoMCzbAwKAgRZAgMX4keVGgBQwWJJKkgGGAwQ8NFHLkMNFkyYk4dd7kmbPnTp9BgQ79WVSoUZY2BRJYwaDmQKYDKAzAUIACBwYDCGDAUDMmAQIWpHKwALbrR4MaFXJYwcFgA7Bir5bdWlMrgQJSb2qk0GCF1algC9jt2ICqy6tZrw4oIJcsXgwNOETOObUAgxUvSSq2uFAizKOhiYpGWpr06dGpTaNlaXLrCpUfFX9o3Lcq/wesGPoCZluTIQcCKwcyqFoAr4UZEhvwbpvRAnDDvM+aZNigAUqZxgVSlUjA41TdfaUu3045JfTlnwdixE5wNmutI1fPR01fdX3894d2vrl7ReaFpKKgAMAQ+6C3ARgwroAVCKDAAsBAS6uhvqZq64MEF2zwQcAyIkAhvjBiICsCBlDuLIEwcJCmq5ozkQLv4gKwrJFYwyimrEBDjCW41tPPPiDzC/JHIUMDrbL1JvsuxwEp5KwlrTocqCzWhqOwIIi6u3LKAhTaccDvQAtxo+YmPMkqrRgwTCDthHvQQZ1aY1OzAKs0UcIiidRzSD7zXE1OhRxUiLuMBKwNyo0i4/9uLQ75cw60LK+iLCaJIATRKoMaq1GtgfwS0MO3XOKAoxIN8s4h6zysUimMCljJoC8FGrWiPf20tVZc+6xSvoyeGhAwC1Qia0k4B2iIIwZKDK7RIxf6riCmakJW2Uo73Gql55Qa0UcwlYttIWDDZCsrxk6Cczf1ZIWTAwFB1MxUE3Fr91Zd66X33tSCUohAvLSTtSOtsk0JrOAMwqopwlQsabkVVJTJO9hqOtgp8BQ2lS63SGLYYZP4XfajAZ5iF6OJu2tYL6wy/kjJwSZimDMG//tPL3ztzbVmnHHiNaQaJ3oSSZ4JclOgV0MyOqkK4+QW6J6P7o/btw5Sjlabq87h2Wo9lcpvIJew9vpqsG8W++uxw+7pRj05itBstst2m2y4245b6V1Rg5FAlefWW26+3+577/t2Bnzwvwv3+3DC3dY6ccYNbxxxxyOXE3LKH7dc8ssrF0pnGzvH83PPQwd9dNFLJ/1001NHfXXVW2f9dddjh3321IE++nbcc9d9d9579/134IMXfnjifaf9eNmTR3555Ztn/nnno4d++s4qQ9v6pa+ffHvtu8/+e+zD5x788cX33nzyzy9/ffXbT/999ONPinr6pbe/fvzv1z9//qMv/n8ABlCAAyRgAQ1IvIAAACH5BAUKAAAALAAAAAAoAYgAAAj/AC0IHEiwoMGDFgoUVIiwoUOHDB8OjChRIMWJCxFerMgxYcWND0Fm5CgyIkiRGC12XMlyZMuOJg+iZHlSpkuaL3Nq1Mlz5keeP1fG1FkyJVGjPo0CXVp0qU2ITnMmfdpwaEilUW9mhbmVIMqmVaGqHKtV4kyrU6n2pJrW6cW2Lb+SlCrWK9a6ZrnuNHg2qEeXb+8C7rrWruG/OMmShfsSbGHCkAkuocs08mHLlylaxcy37F7OnuOqBZ1Yb17FpFM3Di3Ur1vTUdGuhixbNWifjEs/xFL7IQMMGBgwGDh8tuXJApF3HrwccfPNkDGsWDGjOvUVwS87d324JmoL0qlb/7++ovhR1kGlz8AOnD2G5gTFlxf8HSMD+S+Vg1Ru+6pDBtXNMNx91b2nHXR9ZRXgChb8Jp6B9VnA32gNmVeheBZacB1HBApY0WTQgWddSxn2l1SIDgVoIIAFtqZdZAsOhEGAJSI0IYkQKtVhjdL5Z0GAWbHI4ErZufiZcbkVxKKHAsXYX4TbPUiciqlN95CURv3WEY1RCbkSgDUC1VuSLVEpkHgzZEWmRE42aCZnG1bIJUJhHjTneV5ySF2dTxpJ55v4yXhdkeABB1yDhmb3G6G/rQfhoofeh11DWIq4noWNTjeFQTBMt96mBEm6whUrynfoQWiGRRAV02UxaXzVMf8QkaQzFAnpgIaal6dADFiRhaMEzWgdBqAiel2xFlCRa4PT8Xmaqts9NOeS5lH3HoDzudmihtYV96qbDM44pLblBWrniJZmy+ulFlyxXqjsijslg71mYUKyaJ5qUJtVmTDdvcLmeOeM713n7baV7jrjcFOga6mjVKybxXAzXgFrreoxWRmUW7bYIYTCDmTwmdsuKWNxBB6MsoqZYoVmgLVmaK1AJmzrb63r4izikJ3K6LBdS45b34wTk2venOJSHCvJtSqUMLosRsytxhjCakXOEOab8mJI0aebkjBPh52FDgu7cnUCCcskyGiTPCS1aafo8ZJs6wwD1Nv++O7Ub0//ufdBQVckLKhA8lo1t29bybSBT+/NohUwTF3t0lgPZN296fLqLGFpvQn23wGLvDRwIwonOsbqvV24ROYGbmnWS2Npwq8eUgGzhcKOe5Hramn58MWyEig0Qe7qHHrO4/4WOdxMTz6D1HqvnfdrbLFE95+gl93tcDQKXGCiK65OledoDnd49OZTLrlAVsD86M/7ii8RBlc0XF3kTS69a0Ht6yylQvtrkBUyBjuqqe9w5uJcVO70uXHlzm8x41uOzgevv0XrdBPk0vmqdr6B3S5t8MNI+V5kuPIsCXMWoN2AunWQ4hnIhX4T2nQKdsAaagxp0xtT184jN51tR3s+5FvO/5jktOkRRH4N4dcIzWa5tjGRabwyHN4seK4gYs9AAcJf9O7VKfVdzED9e5/j4rRB9QkLeuLxGRVT0xbmoepvFHwi4gryQBkhr0QbSVigWASqPLEofHuz1czI9ZDc8ehgHjphE2eAvwRi7niNGxIkbairkjkMhmp6zkuuh72DQYgh7AJhjpj2trOlqSJO4t0ctWUed6mOSfcR3dlM6BBD0rGAGDBBxlCmwiFey3SZI6Aah1Q8BrEqbw8CZvteaZ7+DS82XxOU+8xDEWypZ5RnytF9StShkqmNUAfJ2ILWoy6fka6cFmgfqfbkM/YE0VRcs4jwEpUthXyTbyaAQf/Wg/+5JYWSlB2aTzdzSTddspBZBxXROc0zBdp9S4fxFE1XFlUhg1BTSeA8kte0I5yMEmcKHm2Q7zC6OeIAB5hKmoIWQ2oQkPIIWRL5DUNHqcsS6ZKlfYILijbGHY361Dh9CqpQeYqYNZkGoj3lYV16M9SmOpWNj9mKUdGz0dIg9ao7LGpWsRpRrmq1q1vNKmwk2hWd3mUqUyXhU9fKVsfMhWNKfRaF5koZttr1rj+lTVjhytfIMBWvgG1rXYFKPbU+60RJ3etXF+vVxirWsWCNLGPF6ieyQvOo8JHrYAPL2ZzSdallzeRYCdvZ0g41rYdVLF76KtrFmva1pkVtYauaWh//IemxuJUsZCer29zy9rd/1Ww04/rWvBo3sbBNLk+9Y6SNkEm2Oz2ucJVLXczItrauJa1lhnLd6np3tkFFkJiq+lzf7va85k1vb9f728oOV6rjLe57v0vf4jIXs5+tnmWzu1ofdbe+AGbtZfn7tf8G+MB4NfB+4Qul6EILveyFMHDVO+EIU1a+ghVwfr2204go50YfGsiHRUzi5JRYQicesYlXjGKJqLjFMH6xjFNMYxaDOKKGfTBW2uLgufa4sDfuSJCdOmMEa9i97R3umhRs5CY/hsmn5bCqoOxkAFN5v1NdcpW3HNrbQkvHOc4MbVlzZS6bubmfKe+RLcOAfLoZ/wZcfHOcLQBnOt9rOG5ukAXyjOc69/nOe/ZzoAHN50HrudCIFnSiCa3oRjP60Yd2dKQhjTI9txnOmM5nmqsc3AuiRotn3vJGUOjp8GZWujp5MUFIfepQx/YpoPYrfX6cV1prmCGx1m+Fdy3hXlNYwg9h9ZdllNGTTpdC27yrsF3NbKr6DFM4jQo67RqeaDf7tbszcW62Zkc4ldQ2xekRRa9NXS0XslnEAc2015q84fnawvDm9a/njeOGLPtL5nMgcRYV7nKVKzjNctCKgqOvehpOOOjmlaFECR5090ikp8KAFVj1Hn3RzKLPJDd9c13qcDJLkgo/OLOEYz4DSWeFaf+7VramHXDFZevhr3qV6YAp7onN3EDIyfW3NF5diqCQTKWqeDYFNXKRlUrkM2fSzs+0MoQTR6CSBLmGDGWl+9z74vGB0JB5nmHt7vvpp/rWw0+ZcsOJDGUI91aJ1FWehzdJ7SMHJjpnJxlOZX3T8X63vPNO773/Zyk5kg7jQKbyuzPLchRjHNwLwnbhkD3Zhao42x9F5xVcfc+GwybXm8yYUT4c8ooqD0NkPq5TTgryBh/64acecsSr3k3BmULEZqfFkQqkkRAidZFjXGPe27j3u6/774fv++Lv/vjAP7Fv1vxxz5s0OOGOoKQQPimCIRzgkkene3AHfTp+XZrvMYH/u6wQ7qutGqHVcdV3t35gWxMYsEvX9ZhHwvHNf3dW8UX1fJneWpHw5/L2F4DvRxrxh1wrUX8C+F0XZV20ZWsL52xIhnUJKGoXVlhm1WB4FxpJgYATSF3fNmz5h2atZQJVUAUWUAUkeIImQIIkWIIuOAUvGINVAIMzWII0WIM2KIM3KIM4SIM+mIM9qINA+INBWIREeIRDmIRGqIRIuIQ1WGkDYmkKxHxCNRMsqIIrmIUomIVc2IVe+IVgGIZiOIZkWIZmeIZomIZiaIJNZVTup3/2BoAdCFtT8HN9R1aBMVq2VYHbkYJ2xX5zaBAoeBsL9oZ8SBSDiCqBCFuJyGYn/2VsoNFRmkdcyLGCIEF2+weHu9Ydfad3XjUQdQgaC5N5cMJ/oLGCIjMdEYOJnPgdSJWBEXhmJch3HKMxbscTKBUsk1ghH3gQs8h6vcIqYbaIQhWKoKExYLIUBXiLFVGAHYE5/oIy1EGMptWIbGaLybMsCjdu4EFR06ckM4QrbieJ1xJKBFckJ1d9OZKCPUMzv7JZ/uUXneaJnUhvMEgaqJNw4GF0iMKPtmKKYxFxQyJQR6chKFMqK0Ry3bhq9zI70ZdxSaZazNFxIOhqiQhs4CiN2eF2PcKR9LJzy5g8Q2dxqjd5RYcQJGhP7HEF0zh/1Ggb1mgZyIgz37JNNTkf1f8GkLpoUslGkgb5euIGkTSDQjJFIC/ZWcaIGZDXJAXTbg33dMGCk5r3cBEneaHCelhZKKuHkv30dKwojyTkfp1Gi35HjzgWkzBSSYsXeuEWhfwXkkN3H9AXcIOXNg40IEIDTn54euWiSXD1YbhxiCVWZp01iBgZKoPSHrqijYgCiXIJTMmImHzZdolzkyanjQRDbAx5e75SHndjEMjHYg4RmsZ3JKR5mslHfKipmqAoh5xFmB+BlmdylJz1i071isbFGIG5amy4L7QZWEm5XTt2my5pEKh4EFnwm4BlmHd4bPAoZQs2EH6onK8VnMklF5o4jHvWm9RZWve4VrjJgLb/1YIwuINAiINOeJ5JaJ7oeYPuqZ4uuITsGZ/0WZ/2eZ/4mZ/6uZ/8KZvP2XGohZ1gJhpcuIVnaKAHqoZamKAK2qAO+qBieJgDGlVUpWZ7qFf/uWHdCVUZeqFd5pwMtqHiGZEaGot4uFG6KZGtJqJeR5iI1Vd5CIGeIaAdWo9kaZZlqaIlil3DmKJh+WogyqKEGIIGyGlCKpySFaR6mH/RdV8T2aRHCl4U+aF+uX9oJRgxam7xeKM2mqNcWm/ZOaEr6mVVGqUiCpsYdp1mahvhCYsl2l1jeVYZ2GOGuKZTyhlZWpyzhl9F6pw4+qddultKClr9daKDmol2amWJuqiq/xGnYqqdAGqo8PiJMsqokNqoelqBCSKYVMhfgPqlXhqqbUqhYEqqd3qppVanloqpXseqqzqHkDiFkXeQ3RekiZKLeGoQD5huJLWjr9p6Jwcn6jKK0vaRQskZ4ZGX5YQdg8RcnyqqgdqlBqEuuEoYOxeZhUF6u8hmYVKTgtKLv8p42iRrWekmW/EtaySKYzOtYaIx4coSSROVeKlyDpItkiiO2Pp65kpsikJ1uCJTqFJ6AwewkoJQeDkg/DZywaouDOEg7vqTipipv3pN1dJv2ZRvcVN0ATet7kE64SZyVlJxCDmt10KVBfl59pqxMNd9tqerrLhuLQuqzzqzFDY/lP/zcnXpJtdHOiKLENd6SnLJs1oJkPHXLIRiksmWtIlnKB7ijCOxrDzyroPqcuGmeGfnkz6pr8mItVkDMrqjryeJleIWKWXHeL0ITtMGrlJ7lVAJsWFXsUuZeIfxswfXsEOblcxYrq/3LbS0rk+ZbuvWEKOETmq7tmenmYWCsVjpO3QJtqkIL94yNjm7lRmnOFHZbSUpQyY0uftIFisyHBFRToqCUjQrs9EKqggBPo9itNnRsSbFLpKCTeJSKtInNngpdidVIrOrq7kbKroimVFnr4QbjnRkjuNUuIbLEYGbvMyrE8vbvM2LVHLZitBqutZbvdhbutl7ul2StdD7q2gp+r3iO77ku6Xbe73am77cq77oy6nl+77wG7/yO7/0W7/2e7/4m79LERAAIfkEBTIAAAAsAAAAACgBiAAACP8AZwgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw4tHH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YZGBQQAOw==|thumb|none|296x136px]]

Pipes and change detection

Angular looks for changes to data-bound values through a change detection process that runs after every DOM event: every keystroke, mouse move, timer tick, and server response. This could be expensive. Angular strives to lower the cost whenever possible and appropriate.

Angular picks a simpler, faster change detection algorithm when you use a pipe.

No pipe

In the next example, the component uses the default, aggressive change detection strategy to monitor and update its display of every hero in the heroes array. Here's the template:

New hero:
  <input type="text" #box
          (keyup.enter)="addHero(box.value); box.value=''"
          placeholder="hero name">
  <button (click)="reset()">Reset</button>
  <div *ngFor="let hero of heroes">
    {{hero.name}}
  </div>

The companion component class provides heroes, adds heroes into the array, and can reset the array.

export class FlyingHeroesComponent {
  heroes: any[] = [];
  canFly = true;
  constructor() { this.reset(); }

  addHero(name: string) {
    name = name.trim();
    if (!name) { return; }
    let hero = {name, canFly: this.canFly};
    this.heroes.push(hero);
  }

  reset() { this.heroes = HEROES.slice(); }
}

You can add heroes and Angular updates the display when you do. If you click the reset button, Angular replaces heroes with a new array of the original heroes and updates the display. If you added the ability to remove or change a hero, Angular would detect those changes and update the display as well.

FlyingHeroesPipe

Add a FlyingHeroesPipe to the *ngFor repeater that filters the list of heroes to just those heroes who can fly.

<div *ngFor="let hero of (heroes | flyingHeroes)">
  {{hero.name}}
</div>

Here's the FlyingHeroesPipe implementation, which follows the pattern for custom pipes described earlier.

import { Pipe, PipeTransform } from '@angular/core';

import { Flyer } from './heroes';

@Pipe({ name: 'flyingHeroes' })
export class FlyingHeroesPipe implements PipeTransform {
  transform(allHeroes: Flyer[]) {
    return allHeroes.filter(hero => hero.canFly);
  }
}

Notice the odd behavior in the live example: when you add flying heroes, none of them are displayed under "Heroes who fly."

Although you're not getting the behavior you want, Angular isn't broken. It's just using a different change-detection algorithm that ignores changes to the list or any of its items.

Notice how a hero is added:

this.heroes.push(hero);

You add the hero into the heroes array. The reference to the array hasn't changed. It's the same array. That's all Angular cares about. From its perspective, same array, no change, no display update.

To fix that, create an array with the new hero appended and assign that to heroes. This time Angular detects that the array reference has changed. It executes the pipe and updates the display with the new array, which includes the new flying hero.

If you mutate the array, no pipe is invoked and the display isn't updated; if you replace the array, the pipe executes and the display is updated. The Flying Heroes application extends the code with checkbox switches and additional displays to help you experience these effects.

[[../File:data:image/gif;base64,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ACy3Nbx8I1LqyDeaZr491hDNKj5i777+vxYXOPgsYGKSCUH/haeACS/AYEB//BnyX1MLQuVTgPJBlSCAEtpn4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqOKKLLbo4oswxijjjDTWaOONOOao44489ujjj0AGKeSQRBZp5JEoooBk/zUEqKLCAUtWw4BmUVZp5ZVYZqnlllx26eWXYIYp5phklmnmmWimqeaabLbp5ptwxinnnHTWaeedeOap55589unnn4AGKuighBZq6KGIJqrooow26uijkEYq6aSUVmrppZhmqummnHbq6aeghirqqKSWauqpqKaq6qqsturqq7DGKuustNZq66245qrrrrz26uuvwAYr7LDEFmvsscgmq+yyzDbr7LPQRivttNRWa+212Gar7bbcduvtt+CGK+645JZr7rnopqvuuuy26+678MYr77z01mvvvfjm+6J6+vbr778At2IZpA00GfDBCCes8MIM/4pAZY3S1HB5sE1s8fTFGGes8cYaSwBlLPy+6QAN77BSMccop6zyyiy37PLLMMcs88w012zzzTjnrPPOPPfs889ABy300BpHp512Jxtyz3531tSABAIM0MDUSReSgAAh3/kAAaY8wgANTOu5dYOkPaCkIOfYtIAADYqN9W4EPE0DX1BL0EDUWdu59SQcCKAZAwKcgIIA/kAdIZ57F7C2dlB/Y4MtgHe95wNvU27QNw+csPUgg+ddZ+IBCODOUhykIEA+oR+uNQGTABA3A16dDsABDXDAAAFv8/nAAbZwcLcA2QjiuwAESECA6n5mfRY0zDfv/PPQRy/99NRXb/31uAQCACH5BAUeAAIALHkANQAHAA8AAAc6gAKCCISEHyGEgoKICIoCIQoBAIokHBKOH5aOIRweDxyCJCKOApmXlCMPmJqLnKQfhYaMjiAAAAoAgQAh+QQFFAAAACwSADUARQAOAQAH/4AAgoOEhYaHiIkADoqNjo+HCgSPBZCWl4gKAAyYnZ6foKGio6SlpqeoqaqrrJgDrbCxqwIBsra3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfYu5y6laANk7sJ29nk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAMKHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmy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|thumb|none|360x412px]]

Replacing the array is an efficient way to signal Angular to update the display. When do you replace the array? When the data changes. That's an easy rule to follow in this example where the only way to change the data is by adding a hero.

More often, you don't know when the data has changed, especially in applications that mutate data in many ways, perhaps in application locations far away. A component in such an application usually can't know about those changes. Moreover, it's unwise to distort the component design to accommodate a pipe. Strive to keep the component class independent of the HTML. The component should be unaware of pipes.

For filtering flying heroes, consider an impure pipe.

Pure and impure pipes

There are two categories of pipes: pure and impure. Pipes are pure by default. Every pipe you've seen so far has been pure. You make a pipe impure by setting its pure flag to false. You could make the FlyingHeroesPipe impure like this:

@Pipe({
  name: 'flyingHeroesImpure',
  pure: false
})

Before doing that, understand the difference between pure and impure, starting with a pure pipe.

Pure pipes

Angular executes a pure pipe only when it detects a pure change to the input value. A pure change is either a change to a primitive input value (String, Number, Boolean, Symbol) or a changed object reference (Date, Array, Function, Object).

Angular ignores changes within (composite) objects. It won't call a pure pipe if you change an input month, add to an input array, or update an input object property.

This may seem restrictive but it's also fast. An object reference check is fast—much faster than a deep check for differences—so Angular can quickly determine if it can skip both the pipe execution and a view update.

For this reason, a pure pipe is preferable when you can live with the change detection strategy. When you can't, you can use the impure pipe.

Or you might not use a pipe at all. It may be better to pursue the pipe's purpose with a property of the component, a point that's discussed later in this page.

Impure pipes

Angular executes an impure pipe during every component change detection cycle. An impure pipe is called often, as often as every keystroke or mouse-move.

With that concern in mind, implement an impure pipe with great care. An expensive, long-running pipe could destroy the user experience.

An impure FlyingHeroesPipe

A flip of the switch turns the FlyingHeroesPipe into a FlyingHeroesImpurePipe. The complete implementation is as follows:

@Pipe({
  name: 'flyingHeroesImpure',
  pure: false
})
export class FlyingHeroesImpurePipe extends FlyingHeroesPipe {}
import { Pipe, PipeTransform } from '@angular/core';

import { Flyer } from './heroes';

@Pipe({ name: 'flyingHeroes' })
export class FlyingHeroesPipe implements PipeTransform {
  transform(allHeroes: Flyer[]) {
    return allHeroes.filter(hero => hero.canFly);
  }
}

You inherit from FlyingHeroesPipe to prove the point that nothing changed internally. The only difference is the pure flag in the pipe metadata.

This is a good candidate for an impure pipe because the transform function is trivial and fast.

return allHeroes.filter(hero => hero.canFly);

You can derive a FlyingHeroesImpureComponent from FlyingHeroesComponent.

<div *ngFor="let hero of (heroes | flyingHeroesImpure)">
  {{hero.name}}
</div>

The only substantive change is the pipe in the template. You can confirm in the live example that the flying heroes display updates as you add heroes, even when you mutate the heroes array.

The impure AsyncPipe

The Angular AsyncPipe is an interesting example of an impure pipe. The AsyncPipe accepts a Promise or Observable as input and subscribes to the input automatically, eventually returning the emitted values.

The AsyncPipe is also stateful. The pipe maintains a subscription to the input Observable and keeps delivering values from that Observable as they arrive.

This next example binds an Observable of message strings (message$) to a view with the async pipe.

import { Component } from '@angular/core';

import { Observable, interval } from 'rxjs';
import { map, take } from 'rxjs/operators';

@Component({
  selector: 'app-hero-message',
  template: `
    <h2>Async Hero Message and AsyncPipe</h2>
    <p>Message: {{ message$ | async }}</p>
    <button (click)="resend()">Resend</button>`,
})
export class HeroAsyncMessageComponent {
  message$: Observable<string>;

  private messages = [
    'You are my hero!',
    'You are the best hero!',
    'Will you be my hero?'
  ];

  constructor() { this.resend(); }

  resend() {
    this.message$ = interval(500).pipe(
      map(i => this.messages[i]),
      take(this.messages.length)
    );
  }
}

The Async pipe saves boilerplate in the component code. The component doesn't have to subscribe to the async data source, extract the resolved values and expose them for binding, and have to unsubscribe when it's destroyed (a potent source of memory leaks).

An impure caching pipe

Write one more impure pipe, a pipe that makes an HTTP request.

Remember that impure pipes are called every few milliseconds. If you're not careful, this pipe will punish the server with requests.

In the following code, the pipe only calls the server when the requested URL changes and it caches the server response. The code uses the Angular http client to retrieve data:

import { HttpClient }          from '@angular/common/http';
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'fetch',
  pure: false
})
export class FetchJsonPipe implements PipeTransform {
  private cachedData: any = null;
  private cachedUrl = '';

  constructor(private http: HttpClient) { }

  transform(url: string): any {
    if (url !== this.cachedUrl) {
      this.cachedData = null;
      this.cachedUrl = url;
      this.http.get(url).subscribe(result => this.cachedData = result);
    }

    return this.cachedData;
  }
}

Now demonstrate it in a harness component whose template defines two bindings to this pipe, both requesting the heroes from the heroes.json file.

import { Component } from '@angular/core';

@Component({
  selector: 'app-hero-list',
  template: `
    <h2>Heroes from JSON File</h2>

    <div *ngFor="let hero of ('assets/heroes.json' | fetch) ">
      {{hero.name}}
    </div>

    <p>Heroes as JSON:
      {{'assets/heroes.json' | fetch | json}}
    </p>`
})
export class HeroListComponent { }

The component renders as the following:

[[../File:data:image/png;base64,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|thumb|none|400x232px]]

A breakpoint on the pipe's request for data shows the following:

  • Each binding gets its own pipe instance.
  • Each pipe instance caches its own URL and data.
  • Each pipe instance only calls the server once.

JsonPipe

In the previous code sample, the second fetch pipe binding demonstrates more pipe chaining. It displays the same hero data in JSON format by chaining through to the built-in JsonPipe.

Debugging with the json pipe

The JsonPipe provides an easy way to diagnosis a mysteriously failing data binding or inspect an object for future binding.


Pure pipes and pure functions

A pure pipe uses pure functions. Pure functions process inputs and return values without detectable side effects. Given the same input, they should always return the same output.

The pipes discussed earlier in this page are implemented with pure functions. The built-in DatePipe is a pure pipe with a pure function implementation. So are the ExponentialStrengthPipe and FlyingHeroesPipe. A few steps back, you reviewed the FlyingHeroesImpurePipe—an impure pipe with a pure function.

But always implement a pure pipe with a pure function. Otherwise, you'll see many console errors regarding expressions that changed after they were checked.

Next steps

Pipes are a great way to encapsulate and share common display-value transformations. Use them like styles, dropping them into your template's expressions to enrich the appeal and usability of your views.

Explore Angular's inventory of built-in pipes in the API Reference. Try writing a custom pipe and perhaps contributing it to the community.

Appendix: No FilterPipe or OrderByPipe

Angular doesn't provide pipes for filtering or sorting lists. Developers familiar with AngularJS know these as filter and orderBy. There are no equivalents in Angular.

This isn't an oversight. Angular doesn't offer such pipes because they perform poorly and prevent aggressive minification. Both filter and orderBy require parameters that reference object properties. Earlier in this page, you learned that such pipes must be impure and that Angular calls impure pipes in almost every change-detection cycle.

Filtering and especially sorting are expensive operations. The user experience can degrade severely for even moderate-sized lists when Angular calls these pipe methods many times per second. filter and orderBy have often been abused in AngularJS apps, leading to complaints that Angular itself is slow. That charge is fair in the indirect sense that AngularJS prepared this performance trap by offering filter and orderBy in the first place.

The minification hazard is also compelling, if less obvious. Imagine a sorting pipe applied to a list of heroes. The list might be sorted by hero name and planet of origin properties in the following way:

<!-- NOT REAL CODE! -->
  <div *ngFor="let hero of heroes | orderBy:'name,planet'"></div>

You identify the sort fields by text strings, expecting the pipe to reference a property value by indexing (such as hero['name']). Unfortunately, aggressive minification manipulates the Hero property names so that Hero.name and Hero.planet become something like Hero.a and Hero.b. Clearly hero['name'] doesn't work.

While some may not care to minify this aggressively, the Angular product shouldn't prevent anyone from minifying aggressively. Therefore, the Angular team decided that everything Angular provides will minify safely.

The Angular team and many experienced Angular developers strongly recommend moving filtering and sorting logic into the component itself. The component can expose a filteredHeroes or sortedHeroes property and take control over when and how often to execute the supporting logic. Any capabilities that you would have put in a pipe and shared across the app can be written in a filtering/sorting service and injected into the component.

If these performance and minification considerations don't apply to you, you can always create your own such pipes (similar to the FlyingHeroesPipe) or find them in the community.

© 2010–2019 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v7.angular.io/guide/pipes