diff --git a/.gitignore b/.gitignore index 5d381cc..d319cc9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,162 +1,19 @@ -# ---> Python -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class +.idea +.code -# C extensions -*.so +# python -# Distribution / packaging +# Virtualenv .Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/#use-with-ide -.pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env +__pycache__ +[Bb]in +[Ii]nclude +[Ll]ib +[Ll]ib64 +[Ll]ocal +[Ss]cripts +pyvenv.cfg +venv .venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ +pip-selfcheck.json diff --git a/README.md b/README.md index bbb6e48..d8af50c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,97 @@ -# freelance_invoice +# Freelance Invoice + +is a simple command line tool to generate invoices for freelance work. It uses a simple template system based +on `jinja2` to generate the +invoice in HTML and then converts it to a PDF using `xhtml2pdf`. + +## Install + +Use python venv: + +```bash +python -m venv .venv +source .venv/bin/activate +``` + +Build executable: + +```bash +pip install --upgrade build +python -m build +``` + +Install the executable: + +```bash +pip install . +``` + +See where it is installed: +```bash +which invoice +``` + +## usage + +```bash +invoice -h + + + +``` + +There are two yaml files describing your invoice: + +- [RG004211.yaml](test_data/RG004211.yaml) Contains the invoice data. The filename is takes as the invoice id-number. +- [envelope.yaml](test_data/envelope.yaml) contains the address data of the sender and the recipient + +The invoice data is read from the `invoice.yaml` file and the address data is read from the `envelope.yaml` file. The +invoice data is then used to fill in the invoice template and the address data is used to fill in the address fields of +the invoice. + +Some data are globaly available from the envelope template. Some of them can be overriden by the invoice template. + +invoice.yaml - The Name of the invoice file is used as the invoice number but you are free to override it in the +invoice.yaml file. + + + + +```yaml + + +```bash +python src/main.py --help +Simple invoice generator for freelancers and small businesses by Torsten Ueberschar + +usage: main.py [-h] -b BASE -i INVOICE [-e ENVELOPE] [-t TEMPLATE] + +Read invoice and envelope data from yaml file + +options: + -h, --help show this help message and exit + -b BASE, --base BASE base directory for invoice and envelope files + -i INVOICE, --invoice INVOICE + Invoice file name + -e ENVELOPE, --envelope ENVELOPE + Envelope file name + -t TEMPLATE, --template TEMPLATE + directory for template files +``` + +## example + +```bash +invoice -b test_data -i invoice.yaml -e envelope.yaml -t test_data/templates +``` + +## to do + +- give more structure to code +- make code testable + +## see also + +- https://xhtml2pdf.readthedocs.io/en/latest/index.html +- https://jinja.palletsprojects.com/ diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..aefea6a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,29 @@ +[project] +name = "simple-invoice-generator" +version = "0.2.0" +description = "Simple invoice generator for freelancers and small businesses" +readme = "README.md" +authors = [{name = "Torsten Ueberschar", email = "tu@uesome.de"}] +requires-python = ">=3.10" + +classifiers = [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers, Freelancers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.10", +] + + +dependencies = [ + 'PyYAML', + 'Jinja2', + 'xhtml2pdf', + 'Markdown' +] + +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[project.scripts] +invoice = "main:main" \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..0157327 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +Jinja2==3.1.3 +Markdown==3.5.2 +PyYAML==6.0.1 +xhtml2pdf==0.2.15 diff --git a/src/invoice_generator/__init__.py b/src/invoice_generator/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/invoice_generator/html_generator.py b/src/invoice_generator/html_generator.py new file mode 100644 index 0000000..8b1ba47 --- /dev/null +++ b/src/invoice_generator/html_generator.py @@ -0,0 +1,72 @@ +from pathlib import Path +from jinja2 import FileSystemLoader, TemplateNotFound, Environment + +from xhtml2pdf import pisa +from datetime import date, timedelta + +import markdown + + +class HtmlTemplate: + def __init__(self, templates): + self.template_name = 'invoice.html' + if not Path(templates).exists(): + raise FileNotFoundError(f'Inivalid path to template files: {templates}') + self.templates = templates + self.path_to_template = Path(templates) + + def prepare_template(self, invoice_data, envelope_data): + try: + loader = FileSystemLoader(self.templates) + env = Environment(loader=loader) + env.globals['format_float'] = self.format_float + env.globals['calculate_total'] = self.calculate_total + + env.filters['markdown_to_html'] = self.markdown_to_html + env.filters['named_replace'] = self.named_replace + env.filters['add_days'] = self.add_days + + template = env.get_template(self.template_name) + return template.render(invoice=invoice_data, envelope=envelope_data) + except TemplateNotFound: + raise FileNotFoundError(f'Could not find template file: {self.template_name}') + + @staticmethod + def calculate_total(invoice_data): + return sum((pos['Quantity'] * pos['PricePerUnit']) for pos in invoice_data.Positions) + + @staticmethod + def named_replace(value, **replacements): + for key, replacement in replacements.items(): + value = value.replace(f"%%{key}%%", str(replacement)) + return value + + @staticmethod + def format_float(value): + return f'{value:,.2f}' + + @staticmethod + def add_days(date, number_of_days): + return date + timedelta(days=number_of_days) + + @staticmethod + def markdown_to_html(md_content): + html_content = markdown.markdown(md_content) + return html_content + + def convert_html_to_pdf(self, source_html, output_filename): + # open output file for writing (truncated binary) + result_file = open(output_filename, "w+b") + + # convert HTML to PDF + pisa_status = pisa.CreatePDF( + source_html, # the HTML to convert + path=str(self.path_to_template / 'fonts'), + dest=result_file + ) # file handle to receive result + + # close output file + result_file.close() # close output file + + # return False on success and True on errors + return pisa_status.err diff --git a/src/main.py b/src/main.py new file mode 100644 index 0000000..d79c9fa --- /dev/null +++ b/src/main.py @@ -0,0 +1,156 @@ +import argparse +import yaml +import locale + +from pathlib import Path, PurePath +from datetime import datetime + +from invoice_generator import html_generator + + +class DataObject: + def __init__(self, **kwargs): + for key, value in kwargs.items(): + setattr(self, key, value) + + +def parse_yaml_file(file_path): + with open(file_path, 'r', encoding='utf-8') as file: + return yaml.safe_load(file) + + +def check_file(file_path): + try_out_extensions = ['.yaml', '.yml'] + + for ext in try_out_extensions: + if file_path.exists(): + return file_path + file_path = file_path.with_suffix(ext) + return None + + +def parse_date(date_string): + return datetime.strptime(date_string, '%Y-%m-%d').date() + + +def merge_envelope_data_into_invoice_data(invoice_data, source_data): + if (source_data is None) or (invoice_data is None): + return + for key, value in source_data.items(): + if not hasattr(invoice_data, key): + setattr(invoice_data, key, value) + + +# Utility function + + +def main(): + locale.setlocale(locale.LC_ALL, 'de_DE.utf8') + + cwd = Path.cwd().resolve() + + print('Simple invoice generator for freelancers and small businesses by Torsten Ueberschar') + print() + parser = argparse.ArgumentParser(description='Read invoice and envelope data from yaml file') + parser.add_argument('-b', '--base', type=str, required=False, default=cwd, + help='base directory for invoice and envelope files (default: (current working directory) %(default)s)') + parser.add_argument('-e', '--envelope', type=str, required=False, default='envelope.yaml', + help='Envelope file name (default: %(default)s)') + parser.add_argument('-t', '--template', type=str, required=False, default='templates', + help='directory for template files (default: %(default)s)') + parser.add_argument('-i', '--invoice', type=str, required=True, help='Invoice file name') + + args = parser.parse_args() + + invoice_file = args.invoice + envelope_file = args.envelope + + print(f'Searching for invoice files in: {args.base}') + + invoice_file = Path(args.base) / invoice_file + envelope_file = Path(args.base) / envelope_file + + invoice_file = check_file(invoice_file) + envelope_file = check_file(envelope_file) + + print(f'Found invoice file: {invoice_file}') + print(f'Found envelope file: {envelope_file}') + + if invoice_file is None: + print('Error: No invoice file found') + return + if envelope_file is None: + print('Error: No envelope file found') + return + + try: + invoice = parse_yaml_file(invoice_file) + envelope = parse_yaml_file(envelope_file) + + print('Envelope data:') + envelope_data = DataObject(**envelope) + print('<--->') + print(yaml.dump(envelope_data)) + print('') + + print('Invoice data:') + invoice_data = DataObject(**invoice) + merge_envelope_data_into_invoice_data(invoice_data, envelope_data.Invoice) + + selected_customer = next((x for x in envelope_data.Customers if x['CustomerId'] == invoice_data.CustomerId), + None) + merge_envelope_data_into_invoice_data(invoice_data, selected_customer) + + if not hasattr(invoice_data, 'InvoiceDate'): + invoice_data.InvoiceDate = datetime.now().date() + else: + invoice_data.InvoiceDate = parse_date(invoice_data.InvoiceDate) + + if not hasattr(invoice_data, 'Id'): + invoice_data.Id = None + + if not hasattr(invoice_data, 'Positions'): + invoice_data.Positions = [] + + for position in invoice_data.Positions: + if 'PricePerUnit' not in position or position['PricePerUnit'] is None: + position['PricePerUnit'] = invoice_data.PricePerUnit + + invoice_data.Id = invoice_data.Id or invoice_file.stem + print('<--->') + print(yaml.dump(invoice_data)) + print('') + + except FileNotFoundError as e: + print(f'Error: {e}') + return + except yaml.YAMLError as e: + print(f'Error: {e}') + return + except Exception as e: + print(f'Error: {e}') + return + + if not PurePath(args.template).is_absolute(): + template_dir = (Path(args.base) / args.template).resolve() + else: + template_dir = Path(args.template).resolve() + + generator = html_generator.HtmlTemplate(template_dir) + template = generator.prepare_template(invoice_data, envelope_data) + + try: + print('Generating invoice...') + output_path = Path(args.base) / 'pdf' + output_path.mkdir(parents=True, exist_ok=True) + output_path = output_path / f'{invoice_data.Id}.pdf' + invoice_pdf = output_path.resolve() + print(f'Invoice PDF: {invoice_pdf}') + generator.convert_html_to_pdf(template, invoice_pdf) + except Exception as e: + print(f'Error: {e}') + return + + +if __name__ == "__main__": + main() diff --git a/test_data/RG004211.yaml b/test_data/RG004211.yaml new file mode 100644 index 0000000..309b59c --- /dev/null +++ b/test_data/RG004211.yaml @@ -0,0 +1,20 @@ +#Id: RG004712 +CustomerId: KD01234 +#InvoiceDate: 2023-12-23 + +Positions: + - Title: "Zuckerwatte essen" + SubTitle: "Leistungszeitraum: 11/2022" + PricePerUnit: 100 + Quantity: 100 + + - Title: "Sinnloses Zeug" + PricePerUnit: 99.99 + Quantity: 12 + + - Title: "Irgend was anderes" + SubTitle: "Leistungszeitraum: 10/2022" + Quantity: 3 + + + diff --git a/test_data/envelope.yaml b/test_data/envelope.yaml new file mode 100644 index 0000000..a2d6cca --- /dev/null +++ b/test_data/envelope.yaml @@ -0,0 +1,47 @@ +AddressContent: + LogoFile: Images/logo.svg + AddressBoxSender: "Abs.: Klaus Kleinkariert, Musterstraße 1, 12345 Musterhausen" + Contents: + - Text: | + ![logo](images/logo.png) + Klaus Kleinkariert + Musterstraße 1 + 12345 Musterhausen + - Text: | + **Kontakt** + klaus@klaus-superheld.de + +49 800 12345678 + - Text: | + **Steuern** + USt-IdNr.: DE123456789 + - Text: | + **Bankverbindung** + Klaus Kleinkariert + DE12 1234 1234 1234 1234 12 + ABCDTTCXXX + Geiz Bank GmbH + +Invoice: + Vat: 19.0 + Introduction: | + ### Rechnung + + *Sehr geehrte Damen und Herren*, + + für folgende in Ihrem Auftrag ausgeführten Leistungen erlaube ich mir zu berechnen + + Footer: | + Bitte überweisen Sie den Rechnungsbetrag unter Angabe der Rechnungsnummer auf mein Konto bis zum %%ZahlungsZiel%%. + + Mit freundlichen Grüßen + + *Klaus Musterhausen* + +Customers: + - CustomerId: KD01234 + PricePerUnit: 43.50 + DueDate: 14 + AddressField: | + Beispiel GmbH + Beispielstraße 12 + 12345 Musterhausen diff --git a/test_data/pdf/RG004211.pdf b/test_data/pdf/RG004211.pdf new file mode 100644 index 0000000..4a5ca56 --- /dev/null +++ b/test_data/pdf/RG004211.pdf @@ -0,0 +1,417 @@ +%PDF-1.4 +% ReportLab Generated PDF document http://www.reportlab.com +1 0 obj +<< +/F1 2 0 R /F2+0 9 0 R /F3+0 13 0 R /F4+0 17 0 R +>> +endobj +2 0 obj +<< +/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font +>> +endobj +3 0 obj +<< +/BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 341 /Length 63844 /SMask 4 0 R + /Subtype /Image /Type /XObject /Width 341 +>> +stream +Gb"-6GAnL&U8Qbi!K!447L/"E1BEXE"9SqlS9(PqOif]-auNUj/P?S:Cg"1l.qcsqQK9qZSoA?)h7BfXh;,PYX*/:Irp`Ua)GNL378f@%>P?;:l;oMRC)d3_J#?)75(1_oLB%;Szzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!5Qe:``HN]GNJCh;]fh%mI7FK46CD41iL:/\a)3"?,(B$/Y4tG6h1bOH\WsSrJs&rHq8K&;8ul6o[6tAeg[cJ_\?2sEXfnOq5EsUAJ^VhpMXI1L_9pi]`B=Tq%k_!BCY@F(0d,],#5>5(DTN+q$;H4*(2WbPmb,J/?=Y[uT$^G9\"`%7QuOF=Cs^kNJh@i6eJ"XPpt"?JqDK+cV+6opnB-:DE4A>Uukn7DW5!5MCidd9-`ZY$Hg1(o4,@_j"(<)18/To`.5di#n$("7k''Bhe$s#_/r;__RPaI"/+'E:Hd2.T+G+>ea<'5/'TG\EJ!L1r("=Q32#4K=F\V@,hc-hDI+9LF-s@u&3#jD0q^\kqm?&WA%2N$1c#+J,D"25(TC`$;R49MXRt8:1RE;^CrD#s)3_/:C%[k9W1E/_3"IR>\sM5GeW>)`+!ui&;R2TR"ii:-&@NpTpCA2ih*Z#;ArI37&L`0PD!+r6Kb_U;Og)TS&*fI@e06fofW(te7$DnkXG&cd.dY2-cSZs^U5CIlHUM3rmLWG%ZVMQ27tlUX=:-Ol&RS<-8'ibFZ!a80m+65r@,UPeD;OWAp&Z:mfn=tkXc^02YZQ^ML!c8,cpD]fA+'$o/4Rh0'QC6`J8,+9keec>8#Ss%%>Ou[7i:J0c,Tg\a((U(O=T+h9m&LYnr/$,bI$`$@M,j9^HBS[b`FVN=jj@AE0I^]6D'Og-kr_L*)W!7KDqEIIZ0])c$rjkT;CKJHIW[OG_R]C\75?CS=.cXoN*%[+[nRF>!Y93f&AcJt7^baWIICJ(l:#q0[C^H@S$b;<'d8:JX'fH6gTA5YYh)>QPe5L%>(QF@"r)BaCOc:Wl;8dX8`(CZ3Sdn3]7%U>Q-9I]a0$d[+N.3Dc22h^V)aa(n2@e;+F&gUm<@k51Kp?oCT.;;ZUd=sUA5l1\La!I7#EQRmZ@?0\?uk[_nR->(&lc#07O6)(hUG=5R6i:97'hBE#!ddGo>fAic`@(VotWBVT25VPTDm1&qb6VmL5]g+@8/:S&^+1mnW^lJmc408jDd;-'MB"`Q,KI+W-&%/&'r#Wh\cE]aPH_(C3sQho+_t"+9@a);$DEGs%*(78M11sU^9b+Nfo@"8XP5Vd*kC;nW!&.NUt2]GTmMqC^l*:2ha"ns&bsDD%Omn=r*9($YlE_g2qc)p_KHR8OAj9OeDY9OU%V)TS/,fWkf,j->-=2I2cmP/$?j)ZY-,iYBX7&O?ILV8ABPOcG;_mc;ELGDJEue]2(O32%s*TSc*J'VRE#Q:Gu6&KGdI,*.=e;*78MN$f68N_]eXN^2-WLcPaf`5,r?-0g\%@Lu6^OU/[4,c6F:1f8X;.)[o0;+,+1Yj0=YLn6Q"qjf:b`1tIgSh-$L*rhVMf>PRa(lgG1-&UYPA%AmIXt5;PV$XO!YTcMN*#l/5W/6HJ(eglT5DgZrN\So#UKTFI9u;hq4>iBMUXF/VEW+R"r'::HrZnq2_Np<>7'Xi>Pq@=8^Gu:EZhNAY=<^E!$'Gi'%@/@LK)-]1iYY1?NU_hpOoCe/OXcMA9GFNbmXg%fcFUj>b+;aeet0b0m_[QCJsNQkk+;LJDI7I/DGq>`D_qC%Uj]JCIB^(g.$TVWfbN>L.sm"$H\SSI8#gl*b'Sp6oT,70%[ZhuQhJWUm[YB^R2+qRC1#VL;+>tHBgt#R'-m^H.rl37=l=P6/6WRo$Al6*!0;.ptCNAtT?GG<'mOYO7<&PNA[hmQ'HR]uRQL&.5.TNEB`"X3!-'T[K.MOWhMEL6!&pP/rA+lpr%UPg1ZK-aSJ:Q8kHfSkB#N[Zm#:7]2qb\`m]*npl45mbGE%2s:pB>T-C+jiOG`"dQ!Y^hO4X%7VG[e]5M;=B%p*).ND^MFa=Eg[NM-9/$0ps3f]uk.>F'm[q8cl056-hYc<,=5Q0OoCX>tpDqt-i)j\f=%i[b9';BUHkMW=@L>[p)^*cA(uGt!Y[pe"KZY'-fch%L@k0eR!-jpU=hKEN6)S`7)G`]0:Z\TCmSdLV'f4847_IR#P@UU$/,/C[fcU%A#S`h#ahSt^c_!i0?k"fe5D:\GU%:9ZbKKnOJ:CJR5Q`QGcigEaM>ulGi(lV';@QXopK4/j4IKZ9Rf]QRGI0I+fhDR4*oK`j:@tkoU7d/L#8Td;2!NV171U!:\=R[Ei`eo?jN/$o0#a@nXp[/X`^gEU](Cg-ikIJ[MIdCCFLij11=tY(RW+7-4^R_D3$2`o(Qi#eStQS5T=_Pktk"ABNU'p2o.RB**'$pji7<3@PK_8B9(j3`h,&1F5?p,N$H+oR%W'M7gV!][2^NbSq"AVhC0.Si?&6.r45p1N9sln8M:7qUfTmA)R"R0cf#&W%mTp#g&1>TFE(WX;i;d5\1M*dZM3oX=k&1-su[nbSFklS"6+b:*L6/6>We9JL@/$qF"`!/11LaBU0R.negB'A2jYVBe'VF8>7;Qi3HTs02.?Sf=0;TX"a;bPe^oo]P1Se0Lb,.M#dGROKGU"/7LtkYGgLrI4P*@\0#8ac,7m7WAl7S4W>`7Z?52%4eCtH!D7'6)1'aEVj4KUhmaYOn*'/-!Mb,NOSH%TTih$/+'eA1Rp5@4[F6!/T?hsDN94._ur;H)fI/Ch;5QC%C?DV[eT`iqGqFAHW<4+Yj?PJ3^UH%g(p(R99Ers:rO1G@#3K5C0d1Icj@K4_b5Qs^-4*9]4/g3B9o=Yq=`5o#Me.9WH@<*BLXCn?)?(u4p`+u>719qjjV*XV/]9uTY@#?b%DajJ,5j[9VEkib63!sBtX+iCTR9L\*$ittm/1;.mVP+;[Tr"SoE@rrV_j5Tpq2ko;/P.GUpVettX4+I%Kp_W'n\'bkrad,0jai.Hp$7pHoQo7&1K?-/'!JM.@-oqHf:Cg1@Dlmo0"I_$Y-;J*1ABVkh78OU$d9n@+o/68;^E4FaV%>LANq%ALms+fk7+QHmXe9tX4)[kFQ5`9E7C/6KYUXl60]).Dn\i8#61Cj?n9IM94=%'lQ6?T2JrAs,TD:hS!&KBVeO69qf,pWSNmODORNf<5-jG!=#"*f,/]3[T'GC<'7)!.Qho1Y/JQ@T'$d2@81DJM2NOSA)5CRsi,nET\6>T$#ZTa>7"#6kg'>L79l&ph1mt?o@8E59>R5A!eJM2M&jhLdBf3JU.V%?9'Z#gOE%FJ27Yc`?'cHrUU^Ae:0BS*0r.V?9`i*V9foBJC^fU<)3+X08_,t];K(lEmN:-dUr'bDZ?4p.BUs%'kdl"QEkDAC]?aiGHXjQ/^BRV8!LGRK%Xaq^,N@M8Etrf:qU`[=aE.MH2q9StO-Uh'bF.KD.I;DDlb#(h%Vo9;(6q-bJhi:)@di"q@n6#IY'p\^Pu+J;RV0;3fDkU5?iD!;jb+9B:kfb.0L896-rC!k92ifAPJ:POqOQ[(<0H,?M*+WjG8P(I=IN3o[:=IWSZdL0aaPY:X,"cQ;s>BYl?W22b-%;8mam.m]+V6P,'fb.L5*p:-Eon[$rJcQ8tJ_+$ER"\.2+]K;MHU7Z@-?"/H@IF2a77nb/U%(T+(&-R"^K%,.[7YZ">=OQ)m+Ml'ii)D%p71^B3jSn.2[RkSbj:(XBIDV9eX"+kp6?X++K>]V>=SIQ+^k3b0hkLB/i@Rmf3gq@;q9PuGX.7hbQP4Yi+oS!ig99d&O2;SJ(4-FH8P-kkE.4aUBF76:C+$SJ$rcNi%LH0>&r2k,1Z['W/qjS0.*.fJ=XDHY^PC"M[.Y2fG[IItb:EG050;bLUkPNf@uL('[[-ob474KKI)5F!IkE><#]SAZ!9lR+]b!W\gMO"Oe5Yg=3k3q;Ep:L%TXA!SO7MQSYYUo;SPk9,0lKJc"4^4Q'T%j*uO=h,V`)T$`%&\P2YN['-nMF^ae1Y!Ff^\RBX__$X.KZG!1ke?nKs"f$!WGl`%P[oGVKpfo>7"K.I]Z/@2@Ki/2bJGgsg@=)Sim(CliX=475k[Z5j.^+gT=t0q^Kg]tqf=^1g2ZcFg7e0Wg/<`<.iDTOl[RkDLoH#)e0I#SIX$3ARMq&mKd@"t'Fe"/g]#q(dsMrk[iSH0a(kcfAR>,B=.a8pf(Sfm,r%r4N6Djmm^%S-1=l5U$bCJ/qih3'AA.HS]8oU"%e3ds8P!`(\qW[U-M'(a*!J'"BKW@'"n.N6."`m\pt1+q<2@%/la]43F)gp5\^unW^%]U;gCM'(G5IkrRs$>dZXItOWhgY@=g_i,hBQs/\cCkArQXr]jXX:g(KSiN=9cVS8r>^gt,cemT!rS+NRIr45]Ca^HZbht^fIiMZ6Kg"!o5&`jFInJDcTrdZ9-Yjt;c&8=VK.UTcar%QLe,U>h5FJ8l`Wf7bZ?Wf;^TMi/5L#6sm?VV"jYbV@1/i)$c;gle#3;(TZ-b/4H6d*hb2Kc(!j/$l5L[4HIMpF9\XL=qa0GCG4F%R@8jH>^Lk^fN6Ma2mQ#,iHLAS,)9>6QmRZn$Y#SJ.R-$q[-PC5choE[2A[Vo5_p38BV8lJ'Z5[Bd\']3=>G9^pbQf6C)rlRO])Paa1;57re#,=L/'.P5#;`;W9S_*e+jd"[ldDj'#lUnER[eM*tPF3\E`"H+`]>>S;8WR\Y=$I@P'(#afkA+i[K?VZY*Oa^q>5;\HNV8_?Iq)APNlqVQuJp&$Fcrs5Z!16eC+I:jg\jqF@7aUp*A<^J?TMR!dHkjm:I=3G7EZ5>hu_dIb+&W`W'Iej:@',Y&s$eVp'uo-Wa`%hIS(Bm`?#)Ch<%1EF?/OS_DcP@27rSXCL$2pVYC4XnkPG2C\oKQg04^jLcLn2l"Q9BWjE7qZU:ok8'\Y=?JgOK30UDj\0$2h"Q@8mjTPqIYJM?o>>i!G'/3-tE*PU:u[H2(k(*"Bj;5j=.sNj`P-8SFSDJ,2)\^HP8T+"kj<*F1V_1DG!bJS661mTApD36r5'Y(ISFMC%!eh>&;Pr(,CnZ#q=K[:S$GoAUUJc1JZn&T+U0;!;T1%MSsc8k"MH-P.9lIkV4)KmL\"sLE&S7@N?i^9rK4@MA+oE/dd@8._n0-NrH%&@p>$#D&TaAb141]N+aiUo!nZ>-thH&XS/\&?lEp2l/H*J3W9`6h83T32]jI.LG,Gd6]Fpa,aodT%b5^D$!3Z[](<+2$fU-)%2$cFR<0]5jtHhSRL[6W4]P+_SnnF5hGm=m$.<0@5R'SN_*&5/I#a;SCkWm?7[-q)*b&063oT.Wc6g*aO1bDNE4N>Fp`FAq/c^\miQo*[Lk!AQ/;h;k[$+eBh`SPaJr"@JO1\+&@oLYemsGkXOn.\(.%(t*)k`_kKqB]m31f0>hq(;bZ<8ti]+=^/Qi^d%or#'mnRI]e->L'ftIVt_/h^-G2&p_*BSdmXbB`.Z'JY2jE%+bY/3@TRXCL@%.fW:ls_PQ[_^EgS$Gq(gR?Bb9;TQb)f-QKC1S$>ZnAf4L"_uie<2h";7(FM).U;aRF@'lBW5>H+e^jW?na>HKK\?RD00)U_E@tO4QV+k`6o#22KFfR>,(tc98-DrJ7[AjM#6R(!WIG\g80cF$E4cc%iOYE**neX/K84NME1e(&3JI]Hs3VSJRArHlWtX.>h94;l=(HQ%j+!JoS><Liae.@mb>h6DQX7@$2kJ[D!aOQ:J8(JM4jj6MCsT=94*O+\k5U<#++ll;sLj?(m,Ogp_L`YR?+KblW4!8\V`,S.<4-ZGZ*6$CqL["Jm_Mlp#@Ip#,\p<`pkFNiu-_aac7CW&lB$"'GMJM?s2iS3kVA:_6&6B!N-?Dm3rIfYMDA[o`R1PVi-*^ta'pHA`NqY0F8=U6S"i:!G>QH!j&@W#+#"XW7h&hU3)gh::5=2RTiYWemMX)]OpSe(:o@u3PFrnR96Yq#NCkU4OGi*s*+/6'#rirpG3.4UQ+6%%P&9BhW!\l6&WX2;*5q05VA\n$9TlYRTJA,ea7lTAPfruRYfA(5\2H[>SWO),2*$A&/bY6-Qn9l6q1aG+qbdh3tP1Lioq`*GIOl;JVC9Ir9DDY^LEfci*/sC<\6F5\jkim[bC(CBDaQr`"JY.A+LI7Ld?NdBM/Re:%Qf7%F@or5=i8cadtC_2n9u8t*=7$@PhNj*8^[ThX"G3,@2=o8<.:("]OfmatRt-":6QWFPniRHm)HD>;oWb!!qfY:LX-G&7,PA&k2tGQ#@jjp%ks)8u89FF:>^I!d7b-DMC]j3u$4:B^+sjGNQOWb1aGVdsJYDU_V(05B\IHf;UY4J#jAn*lNrHj957s/2%,T)VO6((#6r$\LB%P`Ef%&A'CMqnXI>7X5mP?&I=2#edJ)s?#V?b[Hhq5C:hR`:`gR^Vip\_k@o.0M#UEjV2`3[J"3das><(%>?aY5GB)]f>1-UNIIA`Y()92!g:kH+LmS>b<,>`equ95bYEt.LubMp;.U^u-KYQ)TK`Ur#6rO_Gm[>,GK&hhnO6d]n>rRmMGr0K$2!ie_jn@_DXILrr*c1H6kG`^noq4lqp*Nl$N\!R;s@'n=@o5\MV&N!C4ZB1L"06+-*YGU:EGENNiNZQgMM@CI@G+dD>>r6lN>c4DqmFhF`%/5LhG=`_#tkHq42tY1NZEoD65U&-(2SpA\Fh`ntW+5)*%E&B@7/$l#QqjSjE&afl0q(W;L`E.eO6AD*hSchg/VhYg\^f#TIWiY;uDMFP,O_ee3A-Z:n%DhR/CMZnhMrm!r:&-"b=&b&G4k/u4R9KJ14nU,a,)=;V-#gd9oI"_A<3b-(Z*\W/qo,b/03i_P^]%Ks]!H[_::lg^F=fN;=\e%fBDHQ9aqLA3n)^Z9S%mp0hM-sF%@>ihY.-DqF0E@;?$eGAoGqOe?R/9shu4-^Y!4X:+PnCM9-_kfDk6cM"so5F.uAd;1O+DNC+F7`bOiaGWRHL9MX[Hl"&K#Eo7HZQQL\O2M-WF!5NE,V=Z`-'4i6;H-$Sb",N,KHN42V[>'#1nFW^aIuSqq?,&lG@'[LeQcHEc]6GjXB3*d)]+bVV(@<>'D>8b9.KX#Y29*6o5d9K[6JrfhTVZ(+*)8S]WD11jBq$i85U\TmsIlCETKDN.j:HRq2^p!Xuoj@qdr7n0nb-",#IPc$TLh1#U6n4`@S")c:AQ$t0j>9nR.O-,d/KuW\q=F>I!.H8th#0&I&HVi;+:PM13Xm.65Ml4U):P4p&WiA.KuK*Ej,t6A&q^urkJj=&A('"L)4]V@*"nH$@PZ"U2BF33_Eo\&PT3pZ3&l2V0TIcAA+=%GE&7q1Y0/`*rihiM.\Ti0_Ca(m56(DS4'>:a:gXW>oVLY+d:brY$P93GQ,?#H]4h-OMCZ5,&T/4DX&k>@Fm"8[;k8O^*is#.$JNXoP1KE"1pRa1XeM#&3#PYFZqu#%D044DXR@J@m*(ph-c^$b7oRHM#_@_m_pr^?k9]"e`OKjaoP0"r.=c\="%3$6Qr2<7s)Z@eAis%ao*EfUdaq<.,^Ah'Vnr;2+QPHlg>"Vu[mOHFXb-dNh/7ip-,s/`$S__B3Wdg8iB/XrRi"t=kk?fp]b':Aa-0g!SpOBaF]0G3LmZ4ikq#cbK?[mRc_0=MGqY&K!^V_.@oDR2Ehqn/%f`R(\%A[M/U--8%rReKIAF>YP!*h74/](e*o:H:]3.4-QLGF$EEB='[_>,&3e*G=ZR:@pfWZaU[=I>oY-gCRIQ3t4*P%Ch.fk\-$NPX+/OmEuGWsZ*J%aLQRMGlPHVU.>;Lku%-;iu%@.$k\^*$S=0'4U1B`0WG$s5!J7mcp%`^r&FYY4o!jdHf(C,qpj)pT,d_&qQ"84m<\6]m3g3G3-fDtlgM%0Isf*+,BGa`R'Z%mi4;'WbI=o2gsA$!:"0$J:%Qspc6n*0H@5J"5ro_F,P0CJ`$j+Ctt*klml`8+3bIe)0=T76e=BD9]$qu+M&^VBJt+)_$2alJ$!9.D9LAI-;Qjl@%Qo7cI\a!#FJ_2-*"14>`HA1Xr1'FH#nL!W&/2htjgrF(='_r.Crr99M4L:&SM>/n^d`\XarS?,?$?J*U`EU$LsV2@iW;RteSF?pmF)TRr[0_%Oc,u??mT3M$)G[U=\FmY.ZUV>c*$$ZbF+Z*Y.\)uWoIYk#dS6bY'Mq:9'E5`7HCQakLRiIRcFX3!dBp^>qPa#b'^T`=+rc?:0#phbHFbH)AN037[ghIsC8uD]Ln7_54c9b^>bS@`hf-.-SC6=KUU\%IeJ:d.qrC\c2/fl]51hd^1W][4&prbck.O;oPtBNRsf_XQ;EWa6V&p8YNp`A",C9R/IQL_NJDAJWnDHtNM0dZ2V\?^DZp3L[6>6e/+Z0I/.g'Gh5boD1.b-caWYc>8)Rg0+-h:lqb:f[7ia[^%]Y\B\.Q?_,GDD@c*RVjlUkn68`N`Bt8f^UULDR,9,@m#r4r.8"3/$[\]Fh=[D;om\7CeD*:VA0c;@^R6,sG2j.T<,$uF^3C-/$2<-=)9uu?,HK/5uKZM)XInr9=Km8b_%6Tlq\,N'.$DsPl`9ba+30%s&onKG01JdI5;.h[9`>R5^\uhK?.j(rZ&OQNS:in>QQd\"&00;SX@ak#:>jA!DdHKXf3D9LNI%B[qA>N]g,RG"mohR"K5AYlPM^9V:0VJEJ1U5u&)^eKE(RP'WQCY$.7&T-f2%0Yf>)!aO7@\;mT"r[mXH4=BW1";mT"u3[-5L.kDSS#8RUDEs78m=Pb%#HPYn;K6V"7EsA&c"-8X'`,H47*W=3`+X.elIB[p[jm;/@%jIUuW-8_9D[u''NI#5Y>m$UeIag0(H3SUSh3b70T7[AiFe^s&Ta8;ZE-VN:G",59@f'&9N:j0HN!,OV%WAe0iuJ`!sIL,nmA'1l8.X&Q;E-5KD\URTb21AhDJ/2dUu7<\5i&R[I0lE!NXWV*'/1k@5#lhY*^j-\8>NXSP@HE4j`Kg-B/cWi8*$jqo)nI"F*h>ORU>O6*@T!de5]u^fB1XSEmBtjT.N:amTon-Pj5H#Q)@BQ/2W0sh;RAHsSY:^o^(aD3Kh6fEPZI"h@S]7(&DMMEbBB4HH1f3NOK/^#?cIoY_q@L&+Y.D_VA">G6IN]6/=n[ggPKU!cD&2+EnUd)%cYa$H-1;`nVr+%pIiokHr,emr>:Num1tkfDb#]B?9MfY;gqi3KV0c!UB.$Pn[sgZ[FITinf%"#YN*j]ro+k/Q31C.E9Z;OFZ\\E(q/RDY%&ok]nFX\tsOKuka+^uJ=<0T@HQnO->Y6A6^M7=VmoXP[rNqD/EURsLYY:i18A-S`[-:LZko49^tjbl_aGs(iBm0,=9YOo/'5YS-K064+K<\\i)]_pI]9PAYmIrg+V83f_0$2p7hM+tusj*-m\s_lFGPur7Z$"pgbfUu"=g,9<6fi*KGo@FSAsoPoPZ8)qb2g8PTt?o[pCl^J$JkAAGGDt(JEGA!=Z$kEACnY#ort2+G'"@j>FPBU5*9c>Qdl+LGB08A*(MM6pFN!r&V7D]i9c):g-[[FU96DueKjcFM1)Lh]Je!a+O=t-q7C0k*L`-TF`FUdYX>#>Xpal:$bFP.",M66_CtN&K40r\KeM(7V]95c:_[UPBbM$>^sE2O(Y!^nQ\B;P3#W-".QSFE]`(sTUSRkQ3rACJn:u$94g'!;9a46n8]GoS49)[9RgYt28`_=c73hc9lfmX=re23H6PjKB$*JtB1\dbDG`2l)XM+qi9=J"P$oncKO;)!.9[8Z2fK+)Ed\>KmS78+kG0c!M>h40e'.L"q:0[:0A\bdnb&[?DB:uiIIFca2][3orIGXR2]V$a\?W>dIX1*IIUg-rWB[G`4fbU=;:4C%BZVfD[ZraR9,^1>/8qt_1n'sn[3-'g6A1@Kc@3n1^38EGFd)`--EA+AQK81G_'o/$d@JmV7`Z0=:M+&b>\PrUNW)SKH9#_[;\b=7;\@hj68t1S9`J:B:,Tpl4K8<@Rklg^Ohd9GR8Pe=:1699561?UGo5@b9TV>/k[2UGCu?%FiY66;(Tq<1cY)D5a9%ROr]3FFDuAUiriY&To[<+gkHEe@kgHjPkH;OJr61Z!ID#$.P6[/>g3MoL*O!2bkK(b4a%u/LoD&%2NpSt,f$;0OD1CpiOhF7\*.7Y^K5\N>pZRH8ht^Y2n%O;8pj6qL4S@k6ViRDFk`(e(?9duZrhFCM47LtlfAGBTg6&La%rU1/J'GEmb?il7I,gM]CGm_H^N%*TFed,]c!J$kc]TS!bEcMJF`Ra/s-I?n\da>lWMhiadjFXn1]a19^6[-<":M-T+1$;-6ZDDJGqbHKBj&i"*9]lX-(24DXi$J?ld_2S5Ct!h:#tS*hN!MK`85Mm+8+!i42t)FZT\fVBLh2o^?(uA?)!f*P"aVfCS:"P$+B==laG`IC_\=dhS@h+Ye]@/874>:'URpr9S[sN4cNMQe0,.=X9qNK3#-Db>rY@7ZqUg>Mm%TktCGnFW]-P-g4@d"9!^Z*.6cpLT_!JT-Vc0#k=<%'D_K(TfuJTSR-eC[\'S@,#8'VX:L'L!+\-+f\,r%WtBD19kaIR*ZcF[PM(KsW'bn*8&ps[*Em*0KrQI@`T9h,W:0Zufd(BjkYD;9[ioLVg4`1-:?^keW6N7l,3^J66Au5!JrkB?-I.nmfW(crLOMA%6U0^Jik(]=XST2ns.&q"oXB2^e4^ls,Y",CH!r$iG&6(7E-%(l&ksD2ZECKRT+\fb?".dqig9*A2fH)rnS$*pQYO/>e+A@#Od!`C&jq,Y7Rtl#5%qto?lYM@]_YI,>&V_;h`q9M(VY78TP=:]!*s[]c(;'YGd@gu1=\IpPkPgXX+51buc;>^&VVf>RRb$2ro5&.2W2K@LZ<97tbO=A<6T_GcPR:=/\..fp^hrrG*#jg%EeRU6$&GmgKqq98NPYPeXtkBNJndGLCX)kVkHfJ3f\s&[G#YO3q-=juRV-T!O,euN0Ue;d?-Eu0&7q=`sg7oo*8^LlqcFo,NOJ)J]9_ajF6Hh+;"0:oapo@heLEi%'N?eiEql+QDThRi=2QacBG\9n6WZjc.+LX87'O^s9UW=jW:<1bEn-;$sbrcG\.*g'-kInj9FW\0@mW$;*7*[_nNT9n"lkV%$8L\,5+)S,Z<>^&Wu^a+ns>^nbn.83,eK`8g&C,/:"Sq>H&bkmfP#%4;>qG21gs/52_cKV\,f5)jMlH1TWf,%J&$S(4D^W]\#an?#]?9tGYkjV3MI:?9l.R.;l.OjiO+'lM;NV>ZIGk:?E^!Y]g?JDu:f@le-QZ(QhE9$A3lZUKT]qor#R\#56]B66^S@cFJ?nRS]rmAabdH7-JXg8hP%km3TZ=_CN=4Z`p^ZXh.F4[Vok\iLFGJC_=le]>@T7)%]c6jEGhE#`FqM3\+Ish.eq:iCIIPmnb'W0j5Q-2M%EI.RfkK]^bjY'kg:Jj.6OoAm%K)VN0n]M"''fs)-j0@oWm6,lEqn#o>^3AhT9=KC=+[>;?s1km`b1aE^M^gT%5MtTjX9GiYO#[')Z]Le^J6;DNMiVZE^_S"VZN,%^@bCpP1LHAP+EnVOZLU`(ieF$b)gC\]E;A1&e6]_8[:=.u:uC>PCj4KR3NG5YjfR[.-PdUXtEZ4rAUI_%eq5XFZWu#^-ZN&RHfC&X*?]a44eZ2L3T-Q:l9'p`2SY&P[PSUnAaMY!_S&dd1F96.ODcH_7@;nbNnlHTurHT:rPqq0_0o0%4n8lI@mF4gP1c'YBMIEP-[eb986Cp%Vb6f@%5N4*LBDI8,!eEL1Sm?$T/*S%BFoBlI%a#l"\5;&1O]><>/8qgqi-..qr%4q#-?Wb'`o!L@DV(5^)$6r#@k;=MQZ^q1\uet\`mRUl8XmDfh,<$i?/F'kGPSDnhnFL03UZ=GrPb\D^]+)#o9WfIEGFV/h4:;K3_'uC%1\_KoG+hE'XmZ2lFT3e*U]A>,!!'u3H\Wqk!"!!G?N6gfDNU7NZNVOSNL>9:XD>fkKtAo5LuHtf>r)99r!1>U&t2+E43H&geuZHp/Rlj>%(a<+LdX)Bb\)BKT7gm]kGuc.;*aMRbRSOPWQ1G=YE\QO$EHAWc(_*m??HDqh<;qhsO#$7:WS;Nt6%9^t&MbfNuK(-M)D5;qS2E[qP^lqP(Dp%"WRhT\Wl,'24b'[*)@qSlsb,Xe/VD[qO?u=4V9BFo(HYR=+TW;tOh9]N]dQ_NdL3LpJRe_D]@\8_15@(?dQ0;-m`Y?O)rSq:*oB;Ddh;6/&C%UTN1r22sI!7*uh28dIGckYeVjZddB)A$B3Ao'V'.PBehTAL"UMn;kZbAb?cTJTnj(Y'"i[d-6k,MtkQtRMeBW7-KccIE5[M@Oc6&=8#asHE:+pQHEN,7DHCGf3!UE>!5Ep<^#ZFSt/k=gK?>U=kfQIfAgeA4h?*oRG0s'+5m'^-hIr#!&%6"SuWb#9[o]"gVV.5BcWU0s+8B3Hncj6):BT;U5;E.>)&qkKE.Uch/C$,**J$WK5j:oXC+[>KV8/A_iBpG#qh1^T-Od'E##g]$'!^kA;5[eFf7\3mHdB+lrb&/ok/$`R\=Z-->;%K=fIb--7[QKgY4A\Xq?0:2c-fmpfD?XMNf/*YHHFQlE/LcU+.=?TJD@'8n+<;/?j#I59FZ5WV_LDSRf>LL',jj:;u]AIjC-G+[UrDVdFkmBLNAWPqFI^K+@m)G.dYT)g+1:d#L=1*+9.0K?k(:(S"=`1"a;hJZd'Y1Ua=2!6hbLF(,8#Mm/AHI(jH(`IQ9V[*Ma>ie5^>:o!"uSJeQ5kINOCRe>*I=$Gi87&LJ7+'biUf>KY0G;#q$Hf+2F#5caKYr]"RSCUc>(MHS`[%5loD"eQ`@a,)IKi!f;/$rWH*hPW,`iA5!26@&?6_i1.6X#$sIhN4%oNHhr^Je`Ma4>t'gOZqF]QXY0$A(\_];"uIV.K_tVODW7jn]P"^So1Fe)G-B[X]OoXd_f*c[ZJa8;[mV-5$7]OVoGLP:)BNsggm0.nV99lnEa((rdPPT/n+'XpNRpBORs/gDcWY]b^RQY#eUkA9`p:slC#h6'\e_Gs]"l1_=u)S.:GXU[cpS),d$,Y,&c27Gi+*0K%0NZ^8\HE$P?X,O/97%*4Ol32W@YYTSl75J(UGueC\GD%_kLJ=re!jEE/b@O=i`D\o1Xi7c`R4lpOgTNg@I9NLH&g)+BU3XWWA]/&ra!s9I8NK5b#0_`L%UsFnj&M?bEbHa&#[905oC*G,^?\PXQUm5`[DA7mpQD-N:q%TY0/aNctkubBkg@".%Xa9DpDglY'&fK$oc]>q:5,:DlipUVk\sjOSr%H)fdBdML$&"r%T-cBlJc7m0jqp/MsDGCiqVid+j89Zqs4j?*%AaeXOPO+C2lDOB2\\bWrqDSa(kZ#e'$8\=)OM5969@;X`B2hcsPe4`>@a[_'=0U-p7964a7FoD'[%I:(9%oAmKlOpu"#[^Vpata(p4R:3E5S>19PBQ*&q*h-Rd;n%Q!%>ut41X_?7LFf:2PP_!63)IP+rU(2;G:XK&8?"o)![+eQ7?Z6GFk&rDW**gn+FS!X,qsNb;\YUr&gOiK1[7TQ^]lJ:X*H:?gA:q3N93OMb/K@F0SGL\-I2$.!=_G_u/.RS$kW4bT`>q+(!jP*>'c:XeD<,=(MAl^=#lI;Cp78AK`gSccA1&+t3,q[-BZe[0$`RY-39"bW;I.V_oY>F#1g&)T>#A??2lD@teO\$+O8cu8J(^WWIt)SMKd37!)SF,ZOo>YR6PP/;]R7lP7KC1c+oTFjqDCI*mF)t$e8Ynb1FZu0rZcNU$T8eGjt`O=38"4[*0.jjfa;;no"rt?3GT-Xh=9'N=&3a\rQOC_5MgGQr3G/IHKp5=>7o>G9/HX?=9"Btlc&QaGttb,X'1`f.sBK9S^gVNV8Q4SYa($NbKC*V0A5sjb5Le1hY5:<)dcTLUK8b@n@nDTi"CI3lP@(k8fD]KupoQ3acY`+%Q*qQ']6/[BF^_m+^KI/[TIOVQj>T[o<=2O0elSooXg+/NM]+Q*gDgr&pttXc91c0=d&Ja8$!qZmb\ig:XIJ6aRTnE!5L;Nu=6COdf*O-iuJgnn3tr<`4jVu_MHo`?c-lgtrI6?]EkJYN/FMNTHgfYWrMnhsrr?'\LCL`lTeUW^?>aV*o7+?$rP,>pG5h.6Y1\/a@h+]%Y!S\_;!4Te4:*BM!1aY;?`>+Iru"I1F7k!U[?M%FodK!lb5%o4^+%>d`HfHI\\I:Xli.j\bMRU=:NPcFM75t6LF*?O*^bop\4IDW.h@lH)R/hjq;N3?rHQ+^WX:V`6=Z7r#%aM1OngI9n]'4k=Yj)pg3*>Kfp`MT53fZ,p#L#bdlZAkGIsJR][q/mr2l5GO3Lq;ZY\V&:X)jcjV1q<,Zi5)n)u4JL?ZshQL$SYingG]eiU^j"TQ'dMu,Tl;*>el$mahZ<.9Wf_-B\if2*,<^k_]G?^PHd5?M7g+oZaljY.m*`j.E3$X*F7)AI[e_3%;Le(8H3BKUBRPbsJWpa=amWr*"!ZV]\M\8pbtmU&&*r]_KrIe7A*5Cn;;pd;rKg;9+kXd@nVslX$r=-p/ApL%cc+_'tT3FNqJZF*5ag_KhPF'hF=BRk8=K:MeTa_Eh?J-%ai;t`pe.9%"24KmYSC==s(G:j]`[3m*=Lqq>a^g4DWt?;bR3B+;?fZa+#Nhl#Z-aLMUG!q\-pj$+1<6&deRt)O8jeY*T$]Mp%/Xd*if@-7&?BIn\K:#8Q2;]J4o8"YM%CnL8IQ6QEmo)[Q_hg`gOgZQ9NUF'lgSmSj#J@GdPl:0bD\o\tl/Vp:mJGkjYki2qLLM\dA02P8BT^JGgBnf^HeOU4bu>B5BPH\`9U]2ua&`?[D[[eC2b$m7cNsZNkFtplCt+T<7hVoJ)plcI0b$\en'V@;E_b?'qec!Ud8RpBJdaHa2sp4A[AHPmCV0&oWcR=$%]*Y0l)B^NcgHd[er>pY+A/Hq]K]m[sLPkkXNLO.WgBIX:7uNq^aUfN.0MSY^X0,('r^m#XZ*Kr#5Fd&iQ_h\$03!M@(!<>B]"-"gTS98$;UfFM03%hI.dr&P4"bWfD+V,3mB;$,If%Ho+9)hCIcaBqJ+sfu"#PX7iXW'Gg[>DqrT%*t[>/ZKiY[Q@\mi6/b1)*tRNP*>U8rZX@qb87J[Y&$fX=:X%8"5J@V;+]>p8f>K)TLuShAS>op%,^3mc4q[,(NVK?L_G?+\j?ohNQhgT?f[4Zn5mp/&YlUoO=Zg\-se3aY%bEr5"4QGL$2%Z::qL#VVqf(O=!0%L"eqkqE*BW?aJr[]p+9+B!@Kf<">//:bS-S.kgWt^Vtq49iAYee'KP;tFcp\QhRqYYYp5>.-Z;WY,_WVCs3ilQSQ9Zj?*\JPR=e)6js!GKhVJ@BO7`q/R^5'm0gcCb*hqYHP=[sr>rnSas_6++Png[0l+5PQ0a1qe*@r2[h4AZ8p^6P3O(7+Xn:r0c7]6PH,lgiT+%H0N>L:X`+4+2@Kq?Ig7+77E4r["Qk--Lk),!^jd'<_M2,QM/M2+'lG1EoGa.1KSMPI+8/"qai.//QM0k?et*s!Y5gulKGa*s6f\%=)Zp04m7_C0;!5`lMg=_Hp\WC>.2/[dhT]6X=?10rY0Dgc!3Ulf20[/iEt#01Rp`/&HD2i=oA;%;E?ps?sdk\(ATAE4GeOt9D<:s=RIibUn#HXbOC%MY(c?u:dXq)7K>dE2ulMRNT3GSbWBpQZfOnWUYke1h/M0.bBGu/@"Ha#dWil;?g=qh6:6F'pOfWa\ip#O+0QX(O?5GULqm7bf7p!P6X>eN$.-%CWnL%l\gUaK4A]W@*pjt2WG)4RU@C$ta3BQ"9m'Jn8NioCX%_l9$gf6,=..E6+nen:Tc,'/+HJB/_U\6:mi(uTceZ\gAU"ge>BuS^Ce*Vjf?\YDm$LT+1uQ,o?e6;p)ht0jQ*I"(K^&gY]AL,MmirEE0Q15n=6Q1+BX#S:dYd[dCjL.>q5j2(5aImhpC9F14M;Rkp%&)"9XnNK;+!gbje1Y<)>/(FA$JEWJY5b_!B0?`\Op3*+plKl9c4#V!7e99cBL&#^-.<3V"Hp(nPUJR5]'O+JBa[l;&F=J*hLXCYMX7n+c]cT;kS]_tOXjQ8FpW7kdpK-G8gY_I)QN#lcUcr0b,uTdE6."c+XqI2Mta612R@2J$Fkp9Srb^AN?0ci9QGS:<_Kq.oksIrr@%kEb-EBj)$Em3-2V,`O_ds%oC47ahN,=(hU3_c7-S\V$r@nkF+Mn++>e3Q)'t'Wm9A[o([NVSU;-#C4l+gD#/K"I>Frk2>B`eF^:&(%%s>2pf?IW*4_o'9gdM[YjrQK=W!dhf$1`M+S)H]YA*ABsO[%VK>n-#G_8a,Wr9>^@$EF"i;\A;3/C!)nKOJcdRPD$@D`Q1r6fd/R+TDaSqbX8Au[eeI3\.doI8f%BPDEf5$;aX.qI]_3sl`/89?p1bqE:R3qQe'*Q;]!mSSIK<]7:g4Ma&(TDHO#KC-40@$A`WCo,^,`.Y5D2b8#P17;Nq`X_9'rT'ZM5PV&$'I7iN`4auPpr$8g9.lK-SA-RLEP>;furTjf"^*[g1S"C2;:MngYYMj($*ie>B3bu@"c(GeaH=f+1%'SlB13NGQ>3jH.8N(coi]KFVU/nrBPHtuB!-T(J9j?cN="Bqlt%i[/U@YJEqco@O"9O-@kYFD]d+ohjC*Pn^a"j2%Dr_s]m[>?U=@p+Af'Wm38<=u#VJl5*/83N`dL9ep8;LHbo[Q(IPS\l-d=>D.+REsG3XT"O(*^)S(lYji_^N>)d5$;#F7iM@m*eGpPc]NrpJ^G?CF9W;G"r'c5A+`dOD&mB5C00ng[/PtB+(.?dp&j7a/`;D!!"Z^NTP$iGigj'B'6F-@iD235q6%MndjP%ioZZgn@@q%eIRBI^i\uCB,QDZaL9os3`J\1nbPR4\djKPOq\,R:**?(i'D3H@fQ^d8Wh8bag%=dMCQ:'sQDd;m\dITTtjIjA6Yii!D."+k#J$?TX=fo^7f#JQM*51HAc)t]EUeE,/E`A87fBr]N:7`p8p![Q=@SWBHr+nQ0rkReK$ejWWMd7+F^t\em^HKXb%d@J5&LJ`?\p&HHnrZ6ht;#OugV=VL)*2NVkgq]n=8MBPMG#0E/ZfbBMN,5\QKm-iD?d8G_Q+gdQ@o[*;?RO19qN@pU6T4&.L9LTq"&Q9M)R\AO<4A-QF^U7$KK4b)WNY9(,&,o9gUjCU"h=&?"g9NfP2&of*InA738E#:Z;mS)ca0.\JmH7^)UYi_2%f\HYWUp^OH=b[&\7V_>'d9&CbCX4/6>Jo;."#d%;s#^^%C_?QS.KQhX&OmVb*X9hFT)"jU>\31%e1A\/SFEd5-3.7UrKYA\;OK<[$,M?fW9:O8YkHX]Jj+%+)hcr%f=LJQoV$*ji;iMBp2NVIAVMilEd6^Q\VMe=c4Tr&;6IEeN*$K)a'O?N(#UZMEPDjsBa\OYs.(0]/i0!fOVsa2(Fe4J*[aE>T`>SMMVQQ;[N\JrpW#j:hPMnkHL+)tmh&Psp=gVc;TJsXYE>M]UcDP^rYs'u]JIX!U@>)u.7K@EeN%,n'&,pFLINlk7\KVtjl@YPu'I.$ZIJKNp&+JY;h=,3/iaAS7obCEA%u+/.nFh<^)^YO(Hj_=%=O.#QkV=B:Kr/jZUU'Bh>^YBLIYc+P%G#8ZVOs*FQ6n.s\72pf'VeM&e:"9uT:g]`3/5[RD.,"r+Jh]eM"UQN*J_cQD3?lfD!p9mf'#W:nfNJ.PTRu](Z)&kW*6Er4Bg*I8F8%bT7J12nO'sUl1r]pr`H5D6-$3E!9cL!Ej6u%.c6Q\SUl/(A;3E(r0STn2+NYTI=@*.+P\:MA958?.m5O7jKa2gs9k,UZ.ok\BR@oTne3K9072M]`_hEh9&,t]8VCBMA(3?Th^$U90"cc3+UQTOK'7-Y]mP7eL_-A]L5&&E/YaM=jghNA^XOZ29eugF#5W<9h`SEQG&FHBFqbp8:8[F+>f,]'TJO:6$qMI3mb%j)Y9,3(?q0Q??M,IHM5::Okj/Fqq]]X_Lmd"0Q-@UH:bQQu,3kI\H;BaJDGNAl8e1H&%#J7]+\@,l&nSgH\A?*r7rs+_<*uPoFWB6VqBlhmDjdX/(>7'%j8N4R*]nZ'4COcHUO$VS+W!`Y!!Q_,LaW/0%@O,0r<713nbs6XLYI1hkg:Ym!H4n74Kd-i>>6a$DiGdY8*rJ_eSun5i.nt-\.pta7_&VP\8#aF0iiSe/F3UiiQgSFP058bOMn3#E.bZ!S2@."(>Yc(k>\Pgb=GePn@ZhH]ePTL`mkM^_c>Zf>*48Ie/X/9I;'SWM+bYIWC5U'#.`^;Ea#_B/-S8G@ULirnr\kqS-1cg]"uis_mt:YUXacAXP&/g8c4P?u]E>L4K"h>eF'O.@G@\!sC_N*:i.Y>C>D;3S;-Y?/DaFO;rmn)#rdQ'`_&pdJ&-)+_6c8rOdhd/Uk:mE0[]P4$YFqg]cpAjt,Z+XX(M]UQW+e0.@+1*(a^`uMaFFa-p;J]i=_9)H-d,H2EYetL-b'%2pbP\2o:HM_]tIhF_9,@@mA3PJ5T//h+mWA:.VF=TRFje:@[JAkCCtB;29p2CZ>=)WCPg,=ln33_\:41)_4(6bC4Gj;i8koIO'GepqofT:pJ4r+]l),qb%XLY'BY";B=XM/fc-ejl_#dMk3?qXgI>!02GT0*S6%ao6/C<2;c[^@^?=^g@i#ZH]632iNH81ih0LdM:4HAIDqurY9CRLE9D]f%2dnsp4nqM5>kGj"Q2NFSpZ\#6c7jVoEX;h6/We1FH7!Es2m&=Pib-\DtYX/)$jX&@Pgl;j(Y`F",:a1!Hp#-q48`<2Dbs/hIcF&eYgA.)?YB`]OL/BNZ":-K3MH\[=im6,Z1pP%op04*OUi>V'R(SO';?atRSqX*=Pn"5$TG,_=uhUCY)Y6L'OgRg*)]0[5631^u4mt2]B\hqV*XXtr7O<6qp1ldgqMNH0h1LY'0,#G;i#3@L?YT$,:mUmBrX?j2b$s$36rXY)^@ID=DWtKesP#mjst4^SA&t1g8un"*8G`6m$3>:5N,VO]m1"]a#@j"AsC0j&$D+/cVOaR/4\3J^T%hDh_E(JL&,V6q%b:+I79HL_bbg*e-ojOL9pOt\AfT]oHSVWi>h5=QMOg_l7[js^D+ii8s=`nQiDc9r)Tc9l0WQ$n*F!8h:>(a+nTimnMGKAOT7?J5UT$1-7d>fc41P5+fiqj&+Go5Q>-:Er*c//e%05iTn^*.as[3#DO;1V4k3Uifj-DU<^&EUBB97lmGqZmN*,\qWeiqsbucf6dH\7m2Qb]=BA`6cQYnt!gXapO_4tRBI<=Q2EACmg`#h,Vr1QBTX1$R&>#@CjDQ%9\X*VFhUd5Zs8m3%5Z'7.mC+"bVbc$r;Cr3L&Mfp.GHi1a3]5=IWSj3"jJ#+`1ubZ]m]h=Z&hL!c"f(%h]j5g.,e@q]5M-N59Uqd?PE/kJ(_*8\7lKS8Eq"tZed^ABMj!L,ENL_bMdDk!t4'qTN+3a"o=9&&2'DRK7,Q:ho#&QSLTR\U:$KXkWP;N>n^I[r:6hpKIcg$RpJarc3/lqj5ZLa^=B@H^J47Fdb5p5L4+*%nk,#&jQXSPj2s$)'8DqU(Zo'eaqMuTDR-Z7`]2fG+bXHBW)E-3da_5$_DQY\b5p@`"5Is&DM%9hS9n4sr#duL)4nc&ZtD#HCWMiZs"35,g==7eHUs,e9mg#VKpgFl[@:S6Vb$s92SQRR\V-h.T^JLR4n,tXY,Ku[HRGd2D4,NS5F?V)fOJaq?:ZhXRJQ,WdLXle=.0O,2Z+:tRi=MZ5(/TZo%7G?2JRQEFGMA+FSDaiE?^XKV?IfD+YN>h,TD`FYKW9]6@NS6hf/`m>Q#c.&1B"rknLi1$9P?SlIe=fnI+c;e3>/$HR0le^g8ge^&i2&d5Xs)I"N)3Ls2&Cdd]YoO,lo;6`-[*C^f'>qE4dOgl;J3l?<"n=FN5UU9=E>>-RRo;iH4R@I:V0An(K^dd()Tt)71l1BK*@p;-ufnH:85Z:)71#B1L=Z_J;1dJ+ep/QJ5D`rPshmj+BDr/(pi;VQ8Np]tE5Q&$om[ihG[iXCI`?K>l"11&hRp09?#qR.M>_=h@2b3=gbr*"V7d,8O`PXJl"Ep+m*)hW&qIj+UNP!>K6DL#"a%rb.2L!"6XUE]u?+t1-Q@4O+h+sYWX1bPi>Z/S)C:J!t8*a]$h6?,nH`sP^R@Yn['e8m19'CdVdun9GP#P-VePrNV:p)=5lR8EpVU2Y,B"l)6[X$ukTJ^$sX)#j'^$d>aT*8U*\jTKV`WIiLHBB!ko#&HL*^&At""p[nKa6H&gf"_/XRMl/G-o1OOsuHQR@N4H-EBEiB?_3PdDp]M,GR%U0G!?TM4u"C/FiC0*Gh2N,njpqqqG1[f:;t:efP-1&^<*.-_W!:eW[10[4UK4p"7.A/cbI)Gd'H6dtmF=s%jZE`*TpZJ5Z!&j\<>@\P9PFHrDrENsX]Z-BKF7qOD[G,t:A\;r"5458J_5MMeo4b!C)2&)>14A&[Om>]n^T,J6XVF-qT:(T;R*,flm`4p,r0D,_I&uH<^R?sRS'Tneb+\mV%5A,l09"=0-F(/7:m(f)!%+%YSe?d_B+HO6W^n`)@()Ib"bmgko'e*j+?S%VT-U)\/8sNZGn;W>=kKZ,h922qQlN,ATHt#XBgHiE:H'[\)7co%/R1@%n>p)M#G$\@KG[ek^Cg1Q+E/SXU5>S%gK7J!.,2C?IY@%k4ctSB@UV0('/ikChj2LjsS<("Mg9&ruLt^cq"4tBS#/.B"sY-*^+ou1ti/LIlLFZFTaKOD<@Q-7)/pqgL+0"aMqtPBlp$PMIo47eM)ps$(!A@j\0_Edp1%GC5/;^kh'"c'-'7Z@i1):\gU\r`%*rLK>0ZdS?c\UrU+l4HCm@bmXF`:V6d5!lcF_,kNn=/RGBN?726l"FO40U,[G4>LMX"*frN)P)Se@:ii82glG\c%7BfqSW>E0]`9o+[Y=@NTQ%^.kTa#)<;''G9a-n:4>'[Kp<)UF,`;-d,I,`X)LG-GCkf"!Cp-0qZ?H>5/s6PMU)DV2A]^JYH`oapQC)3.6TkM_B:fa,),,b@KP5=QQ)#5r%BiULB,',VT?$oJ*k1!7p6I7`7t1Dc`YI*_\EgcT]NLtV"n%:,]V@QtBPg9nM7=(]P6]cW!+pU_J90E)5Tg8[o%a?LMB:@naU^9pH8_Wb=8s7mWE[MI+U3Xo/;eBV9K?7k)h=#YrdP)-;(9@@UW^nqh&1)s(L>54]fjXSgEbhAmKOt9adcFXQ=G,TtJgTIA*#Y&C4an;Tm:"a"g%K0@Z[l_,VE2`Em,OK,YoH7ia4\CR5\<%ARJ&[rD)49#Z`2;T8%":.FOX,mPrrF,p9U)I?G16+qE4Ea]:Zc_f^WMNp3d-`9P3gQbosX0'QfSUmCpM9+gdPm*9@fW[EM]&pQ(WMWtV\EZ9XW'2b*'O"+$Ht^+ftEZSF@D&XaaPO&m)k!^l#/`KR*o'.*1RZI/qoC#,3[8(-g-3H=>Kg1]FpoRJeI[`&!=;P#Vgej5.I3JM#,:J2#3&5@-V_b`bQa6<@:;jT>*PalS=JR9j@-n6ZKi@IrqpRge2\8eN\/R%e_ZbIt%k;*kQV.n7=FQ(XR1'b_G,X?P4`V)]9E-!3jO9m9m,a3sJ<J:muXPK5+6\F-mTK`ggIOOm77Mb/(BMcu#Tf7lAgt9=EAJD0:\[[^AeU2*55YO)#WA)Oe?oiM_II?9(M'$rm?;HQC#[!1e#0.+/=+qH?j!j)a:;A>-k\V!jFK)%;_/GY!:CJ6TF1(NgVag*R;gB;3rao/LXD#EF/dSmW[*o\5qo)?V?F^L,FIJWVGY^Ub&o&_pZQKS5#5]Qj+'qn"lMH$lp$L3"]j\"R"Nn`qg=iIHZCsdhM,)]kN$+7K7m9hEY\Aj"+CPPhOFpUR>V"[(9tnMU&^0DAR`Nq=sHI$QJg\>.S:sd`m+SDVDL;iuZk%^"]3n#)gbm=a2b[>YV0V>%C$W71gjf+aU\&Q8\t2(\3cj9DL!)'/e'*VZY.ItF4KUW1`^_gNF96q;;[13QB.9%H5?4`.]YLQY+.g)ckK&phqp&L"IHoVM6c[dF4h0IdO`e8HXP1C8_qp$H[d@A5I`KS_#8XN#]k#$P+'*;QHL@5mo@EA:]_TA6m7.q/3O!n_Z#p;tDEW=FH@'ku1Z89p20SgQ/;"=Kq!Eu(]]#4!T<^5A=Z`\YFMG/?Y8IauRHjPGRTU)o9^n[_-B!@SmjSA:`EE-=p_jkH@1;#:FoqF`1480mt_nBVb?kAD>]p?/OVgreXVk>9'\8ZAuon,a>rYJI*oT.9p)DbWGBGjTL+$[KkhJXm`XSu&-e^>eo>"2A7=o?$JNL;\i`"OGLIDP\gGT%EKZrig8QRpq>2]=o^dP5lON?%IGNpmhdq.gW14#5iC&n<1!EXmd0jln*JOYdi._oM;#G`En\+s4aE6tccH;97%\ZI":F,aFonV##t+55Pf1l=6'ts3ICD1T+.S&fat.!<.n#m7r"G8Rq^#3Ou[WFtR!h_ZBA]?nP*8b7Gnc&nj-.$cMQLM=^fU1f'.natXkRm)8ARSaefGN[%'Aq9DMHs"?_AiibbUQ(o0]k,\KeqRn^srXUtH+("RIdu*1b0K]f5Y="6?BX&=:oJ"0a+3(bcs2!&_j(=?"B1"^W\?OUOsUX(1jo!9OO_D8:2@I4Dp@;AV/'K:Z%+H&.,B:AFP:e/)XBm-O:b/0JgH'=mq"_As.$KUu,H#1Uh`cMRL5MsOb9tRf*Bu>DG$=/*R8[.&gj&bpN@,g35j_TFS(M*f(k7\$ocL]:04#/2B9\4VjiQQC\*osXG^8o"YI@m=mEs8[K&-"@s0V^pYEiPpeb88NhK;8D'GRAgOrlLiu'VO60nT*?)bJl@K_\019$(TrX_::g5kR\^SMJGV"N>S61l1\tDG=)E#5V\RC5ge\ub-==EO]`-fj&`CAXWG,SLJq<;;DT)qhuGQ6CdO&=.&!>"C?8Wn[dl/.Y@P"#1f^.frrq/#/3e/akG:9;Y<>!nYO1\/[du'k(L"GRG!@.6[o&@\[cX4.DHi<0mX+uaC5(*;!62-:aO!3EGkXt]o_j2"G_7k<3otoNTkAELDFoBUBX1&S1]:AMEZ^:BVlg`gf(R!X#i_7edpDo^;B&fu3.pJVSSljt(`Ch279Ah9$]VRr=Z-Zbb72>EY!5:GNMbEsoYdL_cID!R%>%ajKnr0.(DP$!.SER.lhKpTE%GrGj[8`!K#3ooqSh>Tu97rr=l_-8sf_1J2>r!G379Lm]Zc<8NG-+\#-DRcN#$366H.11)=>mEMgt#t+,j0IkXPD6E0]J'N$M5]Cf*7kodHtlW;'FP:,=p*aX@:RtG$qlVV8MD\U;4sbA%7Gc5.*rSp3nP^?OU.?4n;1\TR3XSPjVE`jRP\=1TZSh^:tbYkK88FAZL8?ZYJ>c+ZGK1p5p=q?@+n`0#"Q[&".#`;&h=a)_-uu/MF+DFS=!/gSjDne9/T4Whar04on3Vr8MhjX_l(9l_2q`Zb6Ik?Pa]4#"'K@bWVnf!#V?RN<*/':Pm.#!WhYDa/hN^'V!XMBAbgoIc_h)Bcn5_UN'Dn',$6T[cMpG$(j,R/09E'XNhH!;V'CgjAGL%icQEkuUIm9=dt3SA),S"2.LaXRjdY`@1L=HaNB.5#THY%MBZ(7;(kEiE1gc$sl-NZeQIB=`=-qK?^*.4#quWRg5\Ruj+;4`ZY8nn89p.OD$,^cMW%)_HeS_6J5ZV'rdF(tf*Y*K`(9QI&`S?YZnPVFeY[Ba9(3EqM#6o9XA^5Kp]Eq$V#@'Y'PfJ=tpE5.#dO?'qjd`St0qsbd@>hBQ.@)L)ETC6)'$]#N"UPPO7%(X$Dd,/7qJ[W7O"#e[H\m#q:%+$jidV;BQZVNm2&&iUFRjo3L953\\fgSd9NHd\mC%XD"Dhq*Ca^Ikb:2]`MRn\@W?>q+ONM%&Z()CEb6l`&`_R[ka`gtD79W=ss#_W="<3"4Jrdd@!iec;`!ELiQ`82A)=q!Ck`r8GN$7L"L'EhRC_M\A:)_B`oGhho(p4%cZf1_'XJ!TnOU^&\[*X[F=>>1rdV,3Ybql''7Pq$`(p5=$;pN5eTQ4uq>ArI130\j.*WkOQ8A,05'BD?/g]niF>Ti^fFCC?T,nCb5]lSDE)_up!(5tM6"W[b%2d2_Z57oXe"1k^72d-D'MOQ3^q/c\r+p,I[M%;96+U!PJam$_7pW[]'^^?Uq?=QDVFK\P.2d5-/nQe^2Gu"-V'F2&]c*O3'L2T^'caVs1p&]dI-Zi`b%^a:\LU0aO[."[C+B/Fg9U#a;dJs:VOsH+q@$%CHPLMmLX6B'G_3J1@.bTs2&XN6YThpW6">O(Ns&,q68+ne4#c9_"1Q'6YIrm80I5XC]M577EYhgUCVO.X*:_]MQQRHVflp1H@L=G(6PR#LM;XG+mW[=30i_5Ct3Y#lHbjrJ9PbF6IA/d#lAQjK\&3CjQZHR_q&HE\4h,;i`rI>`L%ilg2#"_=+?.&6p`KB1MJ4kkFW9Z-\+=oS\4I8A58L2^.uD\7:Wm];D35_$d>hJ[IaV.hG$AInK%ql"U+Ra.K5b_PSfX<*c#gNGr`srE!nJH;E\+=HDDYE+4$B`0\9sQ.l)L1YhSWh4$Ca\)WP-Ws?VYG4I$"T;.c1]AK95=acg[bZOp,,Ch?i154hUQrrMR9`[VS,[0*BK:EOfZrTB4i2Eh%UB_b.>99mOqNF[kl:2d#+[<3W0dThMB_)CC2XnccXOLE\/YUp-h"i[_nNTSsB>^PHZ"1BrG5stD'1)77cSXEXi>DM=Uj''e@)-1FhM(J-]"IqRp,;Ad#51l%o/>,9hR2;cC@:Y,ca%m.j:ZefbS'+d*6r7V\$imsf*qnu7\K*!&U#gHfdK*Kga3,*p1F6Wi@-[P$0N:`6QcYejZZ6qPamD1[-d]^)U\Jl89REVL,ON&%jt7]D'gP.#.;S_9>Mc!(5C@NuS6@N:ecT$WEr(C<)?+$Lb$=\5^UW+qjA,TYegIY)]3f`2<+t/Q](;jpTJGY-H(P6>$TIL$K4Bk58V`MkGtd$BRUu\&4e+)'N[4M55kK2Mkc]71?h+&&,iDmYjBI5slN1HR71+AE=o&T!s#$,:24!u<%!NOS34tp)hr+`1Iu>$gr=)3rql^k9?SVJ^d(G%bJ&T.n2cri'hr;.;ItQj1LLUk8F1s:o>+A;:0]o#meY&+pWq`CFQ66mm>bgrYC>_`1UPi!J[Ot-WR4XV#P>UGQc\DJ4V:hMn?\Sd)5DMBYr&\7K5CNFS[EbZ\?N)e2ja:50(;]bnfDPZ_pb,a@BmPB4IUBqdpNcIfb`n/t.7^Y-hbna"5ih\=RTU)o"mad9DYa)>J""N!lUgr;&EDn)aXn2NflD>U0,8kJ<.t!0o)7L=1leJ;]IJj>Q_@+BfD)]Is3W]RmHT8mB55\8SiokrDD2!'JpVkJrckS\l0<(Yd4[kr*^&F3oND+,FNn+!r'UBZ4>g$0_+F:p>Ud^$]DqG5g2fJ=r[ZQ;qs66aX,djOJ"LBR/H0"HB!5>5iQtp]r`l5s_5m4_LW@YD15[RVK_V`ST0B,cLLP+c0C?:)#kR22iI\PXl"s78.%S>s8PDsnc*ZD;#CJ4f22"Xn9Xe!-@*W=busuE39kb]qW=R(bBNEF\T[Z@L%Ar\>^=iL25CkfhS.$mlOs!eYb/o79@UU3CX>a-KKiPplR`$b:7]/o@+F+$itnj(NZP)/Q-#Ns^;29QR/)&ldc$V"?jPL=D`r?`!NX5F\a=HT1'259m:!FiLQpu?UIj8$Ufirqn3.RJ^5P)R2mEU_ec5)9q5!9/8>X7-bVKEj3\OFpAS<(mSW0YT0JjQ:f"-1Jh@,=RnZ\!!duPXCEZ&4$rnVMMG/&I[p#a;T=0Gh8]Qj54l%@#PmWNa/l0Q(1dX(0G]i/"9*BAUXs-YYl5.CR9\H?It*&r:Rh`8a_cX!2ilFq>+[N@TCIc$:\q[TacIpi6S"7,[J?aobPm*1j-'+82gVNNlmSq%FgWH#Bo/)nJh`6D/@BagWuE`S6mau_Y"b?;e'LB\+eTs75qH)fiUB]1V"np)bFQ$;]3+[3p[hAD+"DM,_7_65T*"dN[3"AOVsq8;!L(M>F9LrPDrsi;-Z;N0>n/bGbLK)J0]uY:p+9+1b=WHXk!$&AkaB^D&PKRiPMEQ[[k'n5&0M@>-i8\9qeDaNE!Fp02a/aPK?X+&B+g8*(eR\Td"3`84aGp$fsF0;S-a<7W[dO2@Y8Qf]q_igpHidGWMeZ(RYUu-6ciM9b:Gl`#l,_ZM8njh0A][*@U#QMZqCHL7sE7MR1Mq/9@%e%PpfkT!ar&nC$C;?,t9%-Ic.$8nA8=h&\G./WKOAR2:I"2dL&HXu*bmhJko=:#H%Zo#%+F##4+N'!L#Ta6jc'-"6E[1oKJ/?<^!YE@ruE<2`J$>"0RE1(CR,bHU,MWG\;$mguXp]*c/6OQ1BW2-G9,_\PubVTMjmA)0k$sl+nJJ.5Z4FKCpQ`qg/X6Bq2QuI(%+;=tk](=>iVDsnk/>&/("K*OEd(!F9rb+K[j-q/GTX_:g`h*N=8.n#N/H3Dr\mN3-KZgolW6ekj0bl!p9:qC_Ts:4N?k*.97aS'kjfQ%:5ue/5fu)N<;#AZ%*$1<[Wk>WR,*3%b0L7)SAb[2X!6[As?C@;I,p<(1TTS8n:AK*@RU#-$1@8%]%I;YQZ1(+Ts-fd*c]650&7_S+8Pmn*+;*D0%%rZ?#,'kh2R1i](s@?\;n4Tc,$WJ%;W;0&56iRn$[pNquK6EF-8X?p.1)Ees-NH%a1a5\*6&U\@W-R#er-.R)T1pl;:SLt/"KKlsG/S['Yg?Rl2b,ktT>2B)=^uF6+2np8^Q^p\HQTXXIa1r]7Z_lti%K:dg=!+W\nb9=Ud4(^K0B_-5tgQ9,692bH0RJY7(CEaIfadQo'O64MG5028n90pA"^WGOO8GM>!nk>GG.3[]q&@0!kOH6B=(eQ)KeD"K^'DdQ+umjfNq#3Be5Dl8`ge=R=LO1(e"@?KUNgN1?\8UU8<.e"r,W7"rS^P;3[f#mdNke*0=D@Ls7STG1Ant!oas62l&*jG+Gj'6Q&Vhf0P!YM_SF`i8Q%-=CD.U+'BUpkYc,".0DQOPE!#p#i4ih$VGT0)'\3J1TdEmX>@8i=A#$t3a=4mArX9&:P'<]GoQen)A-F/)K=m1S@RFn/'jW^#C;mnnA.Tb"'AkHc1-kU=GJWlg/q?%T<`e;/u\B6^`Um&@5s-.pa\Jcrm$5fa)]\/lsojG!g/<^Z&iN,RaOi-p&mE'/)3scEqoX3]0Fuos(B^;F6@uA18?q00KE*5LUT6L1NDEkNLLEJ^\I#We(cNpL+4;PTZ@2[1-We'qs&L534`_T19RfLHe5qUaa!!Q*4!nRA0614M3A*?TJ'[95`"c?$.Kj.J1bM#5\S@&S"W*6.8<#2E'hr*5mLS0K0s(bGqOD[09A1%AC(?n/8.\bph6=5,QS9Vi$`k!Yn;kVfDB2&-i44,4?Is#2=>u,%i>Tc'1$(O8Zg@\3G?DJ:pq&P:Q6%R&8Y2-m<:=!l1R7ori%Dq0EMoXqg^)=OVMc6apYJXnWD@.U=,$fg(P!+^"kB)3M3@iMCj(0N?m)Yh3qXCo>Lth3^:Q4"JZ5%D^[ugJ+`MfUF6*CE1m:s'(DY]%h`t.!!`REjGWE9,$U)SOsdKLm.UXq9f2'ITbSlZ6B'*h0Xf*n5]k.V+!OiNbRWIb8Q4LQf5,=c\fBL*i#O?eT\WDS%SEbl<3;donK'N[Sb(_RL*1;$.PPirC'RK@7")JeZ^\%hIYhgbI*CJXqT^?qiI%q"_=g9LY@[3%:K*Og9/g%:QDVHN1\,tD`p(0>*ikC4HMq/gU[r:(C=SE5F*E0Ji/!UrVM%62.\Qe2R1_hnoV*IhFT4sBneO.Q;"YOH=ZoIGOY/#r"fRdr*?`F#%UDcj#J*:7r4h/L)W,i:;=V9NN9Tg7C"CL/1e#`dui6.jlrS3FTa]EV#JRcWsF5@t++3fd4mAMAdj'b%_CEEg\^/1c]7W4]SL.!QkJ+*&!BsfchCX7'Zt@.#a9f-B]r'#XGgb2h'$o/!8*1h7N:C*#O/F7gZFKIqY&e;%h;o`4asa'm%%cjgYUfProrjW\+a7BIe`d,UGkD[r;=%"s2-dg?a[XoF8,4bgRXlOmbKsIj2Sq,k>,F!IeWANHIVd%$-"(@m%4df4JlXsr"2Uo>5WAj22OO@;$.@B#CTd*BIkIWoOGiU$sPT)iMt4NoiZ^U5dTWh/0,)iOhh"o6=;';3g(r<@4616b-+BAW?]l;s/^Z&XkU00T?7$CIl(Mb'l!9,&rf-,hmk7]*Ct&GPER6_[K"r1TC).@EnVgtT,aLd)Z^ot_`!75@k;'Bac"X3^(kV6Kd1.q&%*s#1Wu(B6V52B=c-iWrCt8Lj`/dbbK'LVnG2"OK,7d[B-V("ncFQe+t0]N:`Ua%PM&67Lcspj^E>I./85.mgIk7')H@c@7>C"$HIagqE/Dr)(hG#sM,BDbj-O-Ckp%"B-$bX8fh6T2f5]HN!3ubO.kb59'6%W]cL58/qb*#)2fIK-P&m5!sf%lk[_.&#+2np>?&RZsaLUoYFHQ-Sb-XI00FtQi1_[E%%%r7e!elj=S'"n;!?%^cN-+=)TF%Ke%hPO[9EkFlCC&HaH;Q!IWYQI(e.Mf%U0k9g[IWo59puepZ`F!"pI,;'!eW@1In(n,.'I/^UpnRWQiL`m^X1eI,heYAt4I7?[#^*-A_^Ub26J0ZQU_N=c]h>lai/d$dN1lE;2kM2nAQBnHq5[Q%'cO737b:`J8crC2_C:I4PrUaO9%ncunO!Mtk/2l'MFVZg7"5QKO`@?g`:;O%[7e5@+<`s8/LT[!6^YF9n*4o74.fu5BAHL.n,=($.:CZlj1*._g+*+9Q,aQ1HJ+*nu&gI8VY!h*:r3$,=UEK*TL273DF@qk+27s6-:0#bLBGqumQ5hhg8QOTJV$M+SoDkU5lge,$!%0=1Ntp6/<(X8f,Y?TH;k.B$--6fVUCUJta!csB=dQ6M:eh#G.&pMc/P>1^Fm`R3b>aZ69eR@`i<*&Ulo/0QbM9TD$a2V?$"!J>4t2E>92K89S^&/%8QK4/9Z[eKLkcMl,"kGqh[h*8`bHYDm(maV4?0EBVMG-lHbSg/odBeo5:QMDl3-+rHO,l6->orS,Vh*7Ud/%2MiF=2c?Es=ERGUl/Dg1PI+Kf/e/20*RSc2`]cV,Y#\+l=?YRgUQ51`-Q>%n0WgChRq*f+E3I*D@j9:?s^dOlNWEUiebC.8^W-B^Z<%AU4OWT5;,ECiRg]?D]a(1kfqSN=hJMKVf,SFag@99f':u0h`X)Gr?G4,esR.GgHYr>0-'jO>tDY5S+>NLt;U6nA4[l>,OmVM6":#g6,WBW(%@@Ub!V)O&l[_V5oV5^3GN"?'cqe')(cYV%"*+AoE7Ga0_,;cmlW-QKG?IHKs_^_0""Z+tqOD(\f`^(\ssICYh;'fgDq60d!NZ70hpX+pDAUaI8cP$'ma![ZrUB@BoqGR-i?`gKNRPp&5ek59(N8,,\4W-#5K=P[t@+gQ/Bcd%B#df/UkZ.q/JGPRSXn4]C+qI(5+;V7B,3gJQ.5<&*3O9\3[,HN`.\K'F:B%8E]ghPGt(o7@VlXul4079]+Dp'mQXKb?gN3QkDMoFId$b?7Xf(TQIs98dX59Kg6K+JYg[lY!1TIK,khmDYfWR="/qe(&m"^Z3-4>pquDI6qSWcrhf[0?=s]S!O(pXbMj2hPT)5IB4;^$"[-?7*VbY,R`ZVQm<-t:Dnl85*B&S*HFU+UJ\+P6X\sJGe@nNt>5RPC0+$CpXW>_E#A'JV+^-3XdR$GQ(\#E/LjB$P7d#C/>P9-5n?\D'f50/dnAO#'0A3&].ik"b5?3VR])@<\HXOmn$SoY]NMqKgXSn()C5+Uj6:s8`1^>XE6:hYlb4?*RGXjO+':=o=9OC/'io9,R[G[N+9RDSMUrd:]OfPA#/lauMI\AbmF4:malO05*q2SXaUQ15_1#P*Y]nR"udd3fP0Zc/*$`"PNZLXi#7CO;iB*su5_9%1nr>0?Xcgq>9hGTrOU)6I1o68bZPWq!&4*kX[B,TOq@PBA)@])c0*Pc)e,W;2?goQ=?a4T[!,fBq8^j@INBLVYk"CbJQr_u6E'@aB75%;CfF04*d=6H]N3t?km'=bm;S8\Q\d%DhYFS>_6fDTIP\hSnHK^PurEn9D8Wq4Sp6:W=:Xe?tA%7!F`k\rQ,Q=bYe]&(=^U[Kg@ep$Y-*]aRm7'lU-_]#k@Y(#)Sp\AmA6lFH[_Ej=d1aPVrJ::BUTgWBoZt/"<4YND4inJCjTMOu,'046oOd*pmJ^"6]@AXfD]AreGq_8c^X)TJdqmO6@p@n/V7ZX0QKR!25%Id;IE1o!cBIL]^U[\jkqZ`u^3D+Lu_OW?(kK+aT;D_GVjbRaUK[p/jCJI@0,23)]R*,a+q*:VbqjPh9o(XP:"$!k3[P!?1a[h]7k!CoNm.YKi*>!7-,LS&t)EEc*!.o/gg:S$=,P/HYJJe;f"%$9BK=L^]3[6tf^hf/)L<8IPNG$!L1QE-V;Dd[gEEEtrGh#C&Q:`^T&6V1='BS!(Yd$^VRdO\`ca'VP0X,>gbRKKSkBM\lMR\j6)A.F8U`m8H;o=@aEI.N"LOikCFL-`+@S:p`E(XY:M!QjQ4X,Nr-+,l=*4&.5=7dP&)VeQ)fi+BVIN@OrSU(:DGKY"nRt0>e*'pk/in"8KnC2j;9")#7/ZrTd*Wpj9h#sTflarcf7B8>$Oc[KmOQ[l^9Q:P86DF%UY;F&qNjM?YAZ8A+7/;EL?XC&$E'iQc&iqOgBUWRpMi\'E!YC>;dJS#ip;OFGlto;>r+BS^EqZL"Ol+C+u3(BW,U:R#K?bLNLFBp6*=GciZfVnoBb>\,Fnil=+D`lV^;dofM@BiKi/"GD2m$SIrF;/[VN'Ss#h`)$Z$l#n!bo8p^N$km4X)i;D;3;C$*tC:D`Qh4F#(M4ba7h),OJ0.7#k$;>hfDMU_Fs"(s6l=,s'prChR&$jVI%pstX'fb6ST^PhJM:uF*4Agi02e`7WXA4oLs_)Zi#B76$6"oGpB#1kBYJ&,4PYh1(#aM';($R%(^ZH/W!_52^_G>>VRcQ6?ac;ZFSPIW.H83%24a6h3^Q]Mrtm%n(]s+;VBm@_SDme/$g21W-YrWW8/s)5[NVX_[*7PE4sSd1SE!S(_b/ur5UAWEH.a&#&WP`lO?!JWF&=%^mf8X^Jf*@8g#0I]=6H&sa4;Q>NPr54.Q3EH%4%N/,:t7VSg;\Bb2I+bEe'lDPm0OoSTVJqb+c+];rk&oO1g,WNPD5TBkQZ!4.^]`=-bL_CqqN;hpRj>9SkhOgSOjRBDFA]0cG;W-8V99P%*F"Dm`44F$SiJ[EU4SWFGR[oCdfRNkoL\MW$h\m-[,'`8m$f7-T]$@]Oj_/E,gne*@rUS]]^MRmOVt674dA58tagY=c,@qjA6@^CB((]:*mqb,BrstFR[:9RlZ"6.EN*dSPWnrT7o@/)#>43up5?K_3XE,-YYoI7fTs]nm+%1m>dN'Q7Y(f:?hu[Rg*],8MWm?5#PDln0i"2'cL1IA4)6-6]E_PaROt'1hVb"*=8JK/i%$Lg&'&-2k4V>q5@X,-o>VA\8--G--UW8/^JPbYH!BOJ+e$'NE*9%5]+ofE)%nG%!91(D#GXTk'->^l#fQtU#S7k5l/OEulo5n*4pB-n!QQrgIEFut\HkdsTQ#J+i(7!oY6G7T!:f_Ek&ZgY(^rS`L.%l^+dYjMAcgWn($Ed$psOmr*VD+)Jj%E-pokgKHhtd^E\-gX7\@9=M9X[J/hKICIfL\@^nmSSsPG>h=(EHcuBDm>m9LrmH&iQW(ABD7]U_kC&jL+0A]mn0SBB8ofpM4Dc3:mD\IbVfLlIO;rs;;_>1ATYGR@]q85b4BJ,HoO:i$HqFoH^fAQJj4@YBDZcB:7f9f'C0C>Aq+V#84>Db@,kHY&u65NIocjto9onQ9X-n7e8TQ'8q\J.BIRhK0q9#s.D@B1UbY[Di6@./:@M0\5l51l=57NebE"7L*aSTbYO+RPrR-=*Y06h?BS__OjQV;$7\k>[8lAD;?_"h%ugl_V;%%)>382mNk83N:[N(DZAjlG[K#a\1DkG=cs@oN;drs1Cl:KV"Rqu_&]'k,rp9Ap#>#h9&r44qHJ&qW'15M#h#n)!DYGlR'B+7SrYIqHNH&"S4Mp"\rHkHE^uIH^KLpq&f)@.3W;fr2FRr!!mG#l+*Ndq3[,&9@n_W(ppOB]!s8LRGpKr8aE:MPpSUC4:n]'se:!NQ1pNKj?VT.X_fV`bd'Fnq6%+[2.AO'W?o^XnU'"s1@%n2ac%Uas?Zb,jglbmp+G*Jkd0+B=6r,To(td]mQ%pts7(7/O)I'uEmoT'Rua)mG3n#8`j=Dq[X<;eih#<+4jEA@cX4Psn&"1Fg@r%_iS&FcA_2e$D+C)(*6-"cfBmMSC=h=-gV6t$Flt+k2U>aBDYBE4-SAQtcDSj?03g9nK1/eH5:D#*DX"O=WC_0jj(Ba[c&I^N*?@3t1iA%doV?HD'OTD3qU'`9UNPbdh0VtE+DuZHdUdobUKlkRMk"Ll]?422rlh2[P,a$(`O@B#3^=$_m>jL/k:5F1'pPaW&"bYUO8%2@@4VNdS05_SI!\*s9!.".CZk_B;j/k?fn]OT6\b9sAk1.9cScq/Mbi,>It(i!7q,@U-F:a'[K)JhlJKWRn7L([rV`,^V1@D=lfY)sh7,gP)+8.?i/I7I#p*=q6m?)1>iq!e*ANg(Y&PaFY,'bbfD8A`Dc.ZJCBM]AU^O$kiDPpoR[)Hj:qIoL]3f+Ai*VBo%^l\e"NiDC9[LV]HH8Rc^kChgiERUt%lj.]2];+H!FNRt9sXu-M.pV%1fu19QKuDq.Ru6n0s^g$;>I`D$?ni)/="$hTp8F?O(H!u2pCLUXHW$1d'=ftqdWuuXoc#;5Qg1`T`QfB3c81EDlNdKRLWoF0esFpKL;bAq5/eXN`V`1e)W1NU%QGfs$^C6]RE\,mW@4Rit;XP/0MCsZ.-d<#9_LqJ'S&GP!=9ro0+.Vf`IAo-[Pc1-,/r$3IG\1rA@>d_2ll9eTitEpCE>e`^$PrQYJX,Of#?j$+R)LQ8OE!LBli@CEerK+sOB`n,]@p0UNUDanE*Cn5'i./W+2>A8"iS`Q,I_KRb/.,q-,'7:8XdLA4#qD[d$?,pG;m[$U9/OpFWMd%oH".ef/Vr71)j5YGRRhI#Z/%rT#,ha`i04*I);2)9Bd*%BLLlK!sTWO#4V.[.B+&m)SOB$WK>3ZnB+jnN!S$@%((-40#aJLsB&+!?8X["Pau!@8q_"Ns(;QABBT#o(9'`CHXV`A1rr=Q!<_(_T1^,'s`f_R??VY&^3n@eQ'GGP$*HqFkOW^M^EsO]K)oP]11mqo;,8s6)Hb]QhS]QF;O9mrQb!*&0E<$Bb,7,)&DEY#;dX"Y)T*DC4Zm9dmD[A'a[%7SfMl;4Hfr#8;uYTfC^C1Y3-:m``5u8pIrCCp:4FS,Jo(g#&.aDlT])o+o_RFqIOpKs2:dIFqm8Pt7T&+7u;LlH?YneNRmt\G[j+kb#?aVlSATN?/t%(>GmJJI8!V4JR!QR!b&>-A(?2"J[0690u;4M7V,-ie]"?9`_n1-oPYB:7FoOQ:P$X0Id'tfP>;Og=%W'fW[IbCfDmRR9J`D.9pSPVaBXMOF,-S<@`%,'!?&]nHq&a++1=gmjXT*isL.$!j.VH/$c:l^ZK5TId-!s-"!cL%NM93]L?9]=_u=DRgKk6emES!cMrM='-',cAbDJ7#)=.pPY[a]B^O*B/'gW&T==/CNo%Y&,A_.KNhhPodQB@;N1>!aUY!R=0=APVQ1!h+DE3*%UIU6%?El@=Z!l0;'"'iP4IgFnYZM(2q*#,g@T<\EC+"lZT;3<.W!6a&m1rijY"cER_fER`kBq_aFn>8HO`C>?$EK,FU_1rE%#I6"S8N`QC)=S?I67A:jNlQel*to9NTQ(8VQTLBJ@@t!:g82"d-CT,dsF<@F*T`7Fnss=slc)VJ:KXNA"XV;nF7P]Mu1S(dec?/J/#F'L8JAO8[Fj^)khZ$C*5*W(:d(,mS]W$_*puKp(.H9E1d3S(1][=)AJr5#o\u$3_IN>`8H>t7Jo.$guL+AA*T&m-CARj0_Gp1(1leO/2bZ&^kG+_^#Tp*DoU(+^c.u#-m4;^MTd;1@r@GW@,<$B*=C]73M5W_+g<.NnV$'pnOK#H>j<-f"dM/&s;@>p.Td`6m)If\>-SMPP[?[]mENun_7q]kQJ;[,Mcg3&J=et_VbM?/*ha"0Q1:-=!;/?WEbta!'@VR'X!>1](\AT^):Bsh[`pk-6ZR#_O(4=bht::c(@.`r8(&d\#hF5(-%;K`H#tP,NojeSqhNOWbo8fo%^)f&5FM5]U)==S^UJ1(S0afR?+P(UZ7k'ArmccSVhbBZRLEt_A\P'R;Q$Vi9F8a1@3)c5fmg3grX">m,#4MpkI%I(bN(mceN"B-k5C*5$Eu4ArO6.W4!]7`7,hS+o_\Jqn;D_']RL9K'T!^ct$IPrhZ70iUs7W(5Pj6c/PJ4=:7rRB*m48?3f/mY,bl3PKp((3(tOKK`'u"sR5ET!%P4ZQVRLT)eebNoE8<.'YDhp%j1%b8NW]`LZ^`b).m\;*W:!Usgsu"/TVWp);s[9p",,DNWr_iH>mmo[#Z[UUZ>c!o_,f)Pil$h+XTM:o90#oG&_LIjXKB2S!Qmb6-9]B0!Et&$#_?R>"=3^*Uc(UMR`4UG4.9:@.NCiU[k,4E6[bPij]4+\=;T@QRJh/n+_Y68Y89H:.-pD0t&*MSSEMC@cb6aiMmKR>*?k@l6Nkr[]:!,h5SWh:MXX*nbP/;<@<<5_g0`4LP3QVI'\B[4_LYZb8LhW6"X!J`mY-FGeL%>TI7[;/MMn?h*T\08Z"u_/$8N;K5U3EdP7R@?-K0Vk>Rqo;^g9J9!F$KG3@km40?*:"5$54,PJW>PX^2kbkun.!%>o"OV'@CBi&*TFcg1tSS&YH&-]6I*,)M/UZI>$l^A]K)#??]1e96]h?u)m"0"aMqbl:OV5(:4db'^%hN+\&W0`]TVJ[:SQobCSk4]hL&YrL^+V*ZG4N$Oce*:l?6UK@U,8%`m1Vh]0_2dtBmg%4tCOJN!13eXVVA;%10#X\jG%1#<+nVjn4QX2FlfGgNa)M&c']4+Yd/;:r-^alhiq#H!nqn%fKi6B<5XNi7qF0lFC$Dj^A1_o/$MV>m%HH:-*8-Ti#N(U#BFVjYoV>9hGTC6TtR(,s/*@gV\1@3C4a$"N%"gE7]!8@Z.KtSZLZ@(-`hgJ4N2iZqVCb?@ba^QJ`@\\.R5?V^HF8ul,(*tL(E,#166XgV"="ZW1pFT*@B!9mZSh_rVC"CqUbPQ8l`l5^kYHpIlU\3ODhcG-9mef'NCGO+p':6J0;L,4>$MB&5#87nQoi"tcVd3(7j6Io9H<-hIkHKt(OIU&&ocXP2jj\jaQ1k9\MQ(`hW["#@"<@B`C#PO7Po62m#aqUE&jp6_\c^jIDi<4'@C:cD`ZN)t#s/nsZK4*+nA0"3"g'VC0Q6A:G:Ja!A#6O.7>!8RR`W(IFrC#3j>^DRJe9'oY0qYAhg->HKJD6].E3RS^%cF!o/4EH2ThoWKq;s85I]C*5jAQ22+D7k7R(i>o6QeeG)X'YPD1S)TM?Q-/ao39N]n!;D<"o(N$!r0bbqQHUN:#9J3%7IaY!MRhTML6;!hjBQL;qA4R40ln;f*.Om"*-Z-dM-EF5bcjNi&j9cel6bleG3.B8$?/ZeoBa"NB?=krT1nK7kOHWB6E1L:X/VUT=t!ZRJW$`Is?55I[Bcaq;LiALBm923;W,aj,]6r55sg=:ObP!e'I1us*Xgncf]cTlhMY&g@k=1kO/?%ErU.Bhlr6Y1O&l)oi-"M]S1*=LnZWP[&,%,RAPb<#)K:7C&2K/cd62]L,<`sAVWD#`1'1Hc8W6JkLYu"lMMQAYo^SP]HR`9r;U,LIW(:k8hkcHB\`&5G[X&B;7V+=Daq^&IRD"jpa&\0\K6UMJVL^e\J8=*FRT.h+I78s'R)XG24Sl+M\PM`F0rP?hk597.Fq1Rj::&j5-)(WIIDrnGaD#*eQ5\&K\)[#9Al%Bcd:*Ra.i8d3Jr?Dh&m#MYCD!]fk,9DgdY8Ji'/ft(+[T77E7%YIXQXC,6OVhp*frODU+dA)%2=MYW\i+&Au=:6MkModU<8I_Pa3LnQcKMaVQglY/JOJ8X9-Kn0OG"E.4k9ETKm9=lQM,tTkJ81:q]DngesrdC,9Z,:F6GgfAnP^g@4M-=_3SRMlHbK4>e+\GhrBi"E,gNk:\KQJ5"bnC3Q"$:7Ba.e%2M>G@jc=VCKqPYuLg>R#1b`FpVAuU;u*Tib2V6[?IFRfkMm9kN;"l>_=Q--\j^R'2rIT.M5o:(#";i0QrDtN`Q9=\W%cu&lSfc("TJ=nh+nr2Qd\P-u<_1PpHN88mA/ZY]DZ5-PK41V7*\;?'0iHhr8'uQn"2k"E8@&G*^k):]aV,)4PTs6="58Jer"X(BHW=bges0--1?Eg8IZ4>)8d7W6eLEXRDsidF@k62,pN*1'n^nMT/EC4'3gGgZZcs*:&53FY9Q:`R;A$H7XCr;iBXX/40M&q:IFj;\\@Kn]lKL#Q.pZ`,Kge=,@tUh,D[P6>V*er$(L<*FPECd#F4,/Df/&cEMG.%p]8np%Ed4Q>HgbopubGJ=rNnSb3TGWbU?([>V0q0XZI*%=j;7%5>1R]Ja/54`%7`Q0cgR?sAJmYF.k>TliPsXS8-OB-'=0(&ClZUmp^R4];l%SeU[36hc@oJ#3*X.Vi)@b=PVW1c9mB$O)HsPf^>/GLH+)9USXWGPfiG+?'4L4beJlSWfata9mI9PHiBjQb0tYh>]G;s%QVf`A`/hRO^:YPmC[Y@qpE0j'uP6\qKsl5@S9D_-?quQoYaVk@&&[GSd)E4kJ%F.i;?+Q@I3Ec]'FPlg:<-L7s"7rj]0O_:#DL8[YF>Fq(ZdHN(Fhp.p;d"0,b>-5Poi2>nTFl<&H):`_c>Sb!=qn6Tuh/!K9pNGF#6(@`^c4Q==P\&mI%sacO\O3e?HaLiTXYCcSO#NDRS8e*B(i?o-_;i"pU^+3WA*rI68SnbfBCH'>)"tpM#=o-Q:nae_U,9*Uof\WNrZUa<(#uDroZ'atBr`=:J*&Zoodo$GohQ.q+kZ_EOU9L`]=p'M,Vl!dUA>3bZt&b-=5rf<#NO_?:gn>Y$FGLR'Aqa0ke+l(5?mMeWOg+CHaJ8laE,5c_ptMeI?t!)s6<:iAu!KKVTQp+,!:LQqrD%,EA^OW*E;4%Zh'.N)``AVrVLL,ZV>rD#5tA=J7i'cDT;.J-\Hur8n33'e8Jo3XAl$Q`0V7^<&-P@kaOH5qd5!6IgT7ps01^FDid@%>DJ:CqAcboWC/^^37c9(MfVII)[TX5(1FM?t-)d/7RkPAm?mtM']Ld=3f%a6$QbJO/3$YZ2[I6hVIOCbDrJLl*2_2aoH8#:L_./'gEF;%cLkH+FIMR"T_:K6rTK]AXY`d1/BH&3*]r0bWjlX"CWX%%I?*%EVr>!H##l_*$l5]l\Rt0XpQRX>Dq$4T%#2%FCl[C,:<#>SVch00Lags0*5MJI]QIFkOuo:oq*K5@1:BKN^p>YmE6F^'`l#+J."bX8jusJ79D3OTSRF[Rf1ZC0X`;8dZcfA3)_mfW&dm:0da1\+((Br#o=YJ,fH>c;U(`)Oo&12P3(^dX8-mq7u6Ya3L5?drstB7n;mQc:^+R`(f6^p[2A$Gn\Z/l^)Nr]6*X6qi0p.DVfW4>F09a^3o6ikM75cHI]L7FT(?#?+YOLg?nUZ>?S@Vghc;dH+*D2fp4-_bnj0ICH[()%&T5d&"bttpIO>\j2W*7T0Cr`gjZB/\7#LC"9\i1"9\i1"9\i1"9\i1"9\i10BM3,+4&jAl0R6@T"agJ1NsnTmc"ejKHlh$IXU;:l8*Y8?M\e[kC5Dgjo97KoY4aWTa9L1NjN*HE:j'c?&`o,n".7.f9B:Ia04,ZIefjDTZ#.Yh&,!c?7o)F8?X7:C3o6Bn?=X=5pOb!H>BMfN)uF!V3YN;*j'CW#*o]?Hhhj:,l[]V?cPZ1$4ico))Mr.)@`M-%?YCN0J*`Va]pR=<&PSr+,p[I@imZc/"gX5[;#tP4UeJ7(*,2@eGDnjmQL5H5+g_]qoo`q6&,\$IFAPYZY4oDgsF*I`$[gpi^od0I9f8cG`0(Vs3\lVp'ph2?$,?]f;N83EF8P!q8tL.Q)e>ICXb,kn0R=Ub7:q'p2Pf3#7oO,hep2Wqsk7.>&W25\pD&hoB+$(%m#48WV+uYQCC)qFl#<2l.Vhs.gMLr*GW-*W9)1\f#s%i*QKd<4aZSIV0hr_]/&=8o1]eNm%g)?A0Y9VZSTfX4J,W`0iAGl`JbS#*1/KabK62H_?-:75\6jlTMJX-`%N/Rnd\6)-:qX/2F(1984kg4kp36u,dj[G)DB2H->C.=]q8gFP0ABmjq_+T"`E-p+tmQchq:fE&F_=26:n[>j`NE"PHQ<]qXr&cf71AGa5N>U1Yb".$*i/,6_ct-`e,I?0['^<`F,&DKEY`i`uJQUK2`sAo9Sf*dCa_K#,W/FS)&1mLLK^/JH4F;@[gk4F.@$&1/6^oNMfV7XIh6i^\H0tEsn4m!LdDV3DD8/jB=&(/S4aDA:Z%0BLs"Db&_[$'W=4Q<0LgjTNE]mehS_2WQ:="=jh,%"W+2t3JUGH.Mc2D@EF6gm8)4J@U#@;.-%$8R*Z8=I4cP/_hMf$JFR)]_p0JC?;$CdhBFT/\i&TEV'QSWr!abE)ajNO&8YG%K5f45\O:U,h1FgDi4b)KeDl5O$^9W(NY/T:9>4C(R"^c2:[qaqNlh5_=@IO)#D;T<*H2Fl?1%U`sO.VVbB5VP(XN7Vi@j>U)7a-aNS=LQU2_fJN@a_o?ZTd/cVWT3[JRjJQifq7k+Va$j;6HaKCC+u4+eC!u[mZ+)Qj>%e3M/R^gSj9%\!kr]gAl3#!jN+!3;b^kDEgXkgP+OW?j5Y(m@'E\rMV1`KAZLoM;9aP$2Joq&E,m34Iq:Ko]Mf7>(8Cr3%5`1+$/qO:kD1fo;I3DEk#h5$RqBG6e!n0u7D)B^*M$AuNf^"t!8kcZ#NieI]Xl.m47-GbU@lW@#Uqi-51j?p2n<\D\$U4SK'7(rK"ma+hJKeSe7pXEj-Kcr6oNKC)n2A^Q$RqrV#WujpU&gDq][(`;8q`I(jn#Ve\5@qW3I^S%ecI_p1gqHocB?m&DehX2[h/O.72mD$\^ON"$h42L=YM=UV)Zq>A+sT&6AfpdhRA-j&0ZCIhk(Lk1'Z$A_!?d-))Zgd8?.K0@p5I*d6<6HB(8k9PAF]>%Ee#Rm>f$XW>Tguh;G9a*gon0cTmr/*i5iIPn%?-.Ela2Ajb-1XKUUl+2t&(KI1X%?FPOTYl/o)U*S2oc>W^bfZ12Z%OesqTcCI2Uepa@\@`O+-BB<_Wpe[nFe)bnAb!_M.(^`X(:e_[==]/b7d_o"OA<91?nIM-NXnDOmoBdPC-dVLN%^Lhi9S!P1.k,\\A8$hT&^gFfQ=u[DTgifUEY%YmOV:^Wdr_u?gSPWrH'GN$E4qPY8Ce#)e_sr=<\JfU]QET]?1Aj.u&9uLCTk;p[[.4r`($f!Q"dM[dVtcB[p1VI.>bb`LkC^r7OT`^KgU%k&#GT*B;HrG,qgendstream +endobj +4 0 obj +<< +/BitsPerComponent 8 /ColorSpace /DeviceGray /Decode [ 0 1 ] /Filter [ /ASCII85Decode /FlateDecode ] /Height 341 /Length 3027 + /Subtype /Image /Type /XObject /Width 341 +>> +stream +Gb"/lm<75D$q1'n0C:o8gEmPi)1WF92>>/"(.hnQj!;'re,=ZI&4-XGKFgHU+bUCn#U+j463n`f&4-XGKFgHU+bUCn#U+j463n`f&4-XGKFgHU+bUCn#U+j463n`f&2X-*BD."Rl#632=pGpnPLY4VhdU`0dW\e6mdpZ`-TF9Fl4g(M>FjmJBWIalMhBEYN8ZsQTm^$XhQs"_Hc@L(u"lUjhc1/JD/.99LrNJ#bl7f>$!_n#S:1U4?4`lMCLT;R8mFVdUe*-k7.r=Y9,-M'Aq.VrRG@CT5f`JcA<+8^1TrrS,O"U4uZKc]rhRMO?VcDoG;c.][2Q]tCS\rq5unlL05kV4L5s[LSFg^B_j*VGaae@:mD,X/AM%J#XIVX)?88>\`df.ctMnWLp67lh0?.YO%!AJZo6QI]aVC#Ce82P8^^[`QCP1WRo2*$d!+\3c8&4F^M-7aSka`L36NmPhN?MSQ8=Y%I:)f.W&:#\hln:NO1X5>uD&$H_]9kI8MR&\VJ\92jq@Qe+-(+Q0Qt_<4hnBft/E,*SVsNPg4N(^qB8c:Xe>A1dfE@]l+`cY.o<2n#&4Z(D(kS&X>;?.MWQh"^I.;dTE"FYWRRPd+7u)[5Uu(7Q\o>(8``%#Q\ohHX74W224u(p._]sWWV!kg5/e5SZH17nkqJU-qSgg(ol7^V5fE99"'mhcK8'%Q8gQW45Jm8H(JQKM3Wk#iC]p&:Gn,SQ;jT$A?jADs$n*B#^;j[D7F&P;jR6e`fi[U:J0o1+r$f$=$Y0WID#.feJT6,[,bNDNUhGHc2rC=3VIheaTX%$F+@@jJb6ED*^b(Z$3'n';c)3a+;=Z)VCG!Jqe+K6BCe./Q4Q1c8b%,Z[m].Ye%2^aMiE&OII[kGa)#SnK_Db_'@V0TSI]j/D5,N-hg@]d;YgqFV@+]s*p]K98sF;LA"(Lo$"MiWBI-]>D'!d"6JXG('P&b,45X\rGgbl:?!+qn<-sC/:?>ZIsu7A,Ef!p3^RXFI&$dlD6tONW1,dKm#R>nnE5g;[Ngs6QT,=eO-;^^=J3mq&P:JDRg8-cP;P'4;!.5&,\jLJ&MR?$PMXr2LNU;?qD;Tc[Rs2jI\YE@l:k_.+E]<"g&Xe4J>@?r2lZR2E$g<3fh.ql8ge8Lq#:ugFsZ!UqGXt:qWM_Q]KW;q..e=sCK<;KO"<('VY#Iq=?Q?9gK,$GtcnB)GIY&;)&'8o!+bj39o'qG7rOZr3%b]%;hFl/DDQ^2ljjq+MX%%DJL.b4Dumk6Q$eBrVM^M^->RXIQeV5K?n;N:L82($lG-`P+9[T*-2ZZ]e((KY_dV:I_NIL'iXY)s(:XT>d`8EtVa'C1)[[[bW>WHm%T]f"]=&)U].c.lUpV%siGP+"6i?"u+($>CBAMXMc@7Ee67<.5W_;X:F(UnYnl=ImYu@(]H[YG;q*]t]H75.Kt)NY]Rul_fW&;Nj91W2)IaU+P^W/gmX&'Y2Ft=gnm-"6F=^'\]UNC>M$WN$8#R/9RI_q^T>#O)&lrr.I?B6W1c"8Wb)K.\Wj1<2jr?>1_^,8QMj$i$Ss1\6FA*::HSD2l+h*FETFAmW@ZZ.&2dTf8I#(e1k.U9/I55Z`_dIn,'a-OZ][;?1$Hi/Bn5^3N:PsBu=*)@GNf+\e=U0k%MNK0V#Ee\HXMlHMUW[L&&FcDY1*P[;fN3lNmn9jrniN?.=31m63n`f&4-XGKFgHU+bUCn#U+j46endstream +endobj +5 0 obj +<< +/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << +/FormXob.ef37c7473459a264be42b7431f07acf7 3 0 R +>> +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +6 0 obj +<< +/Filter [ /FlateDecode ] /Length 739 +>> +stream +x_kiys, +"$@.-M߀'V%~9Ѕ +#a摏Wg|X=K?67?iۏho.wa}fˇ۟/[n=~l8nxn?z;N6|tzi6^[,m{f˿֧/CgOx;^?9n޴i=Z7E?E <aXtA؂Vmhg;:؁Nv] }cߡ%z^??n. B/ B/ B/ B/ B/ B/ B/ B+J¯+J¯+J¯+J¯+J¯+J¯+J¯+JoFoFoFoFoFoFoFoF;N;N;N;N;N;N;N;NAAAAAAAA'IŸ'IŸ'IŸ'IŸ'IŸ'IŸ'IŸ'I_E_E_E_E_E_E_E_EC/L毱ڼNS/]h?_{:p +?uendstream +endobj +7 0 obj +<< +/Filter [ /FlateDecode ] /Length 13205 /Length1 22404 +>> +stream +x |u'^Uutf 9LΉ$@!QÒ>d;(z7k+Rl' 2I,޵7fXq;$W3RN6 Wz޿jPߵ/{8,.]l]^xn'SM@T7ۻS' +ԩS'KtW p|JWw[^vz ?;5o}Ξ8}{]1ϟw=6_<]` | (9qxb  6ݝ-ۊU7JPZR)ꇼi + PA* +j fhVBCt> B +b$!iAaQqVB&``v30 sv<,n{a#pa i??.:0 c0Fm~/JVl%u*Zzk*:Pgį aþd0f@Œ9^xqq_&?p c^φ 9s Q-X=jM-eٜݐ3+1] ҜMr{0J&q?p[ھm>Qz mMrfR6 Kn$Cf4b7?۝˕xB/uaUnryV'> oLbް>;S +citJw/EgŋK^6DTJPEbP$hWm؝aF4ٕ9!+,Z\QXp|`cP(`93[ڊeL6 .7l-753k̬+ظU)nF+ڱ!*p⯭,N.Jϰ]9qJYh!8]]ț_3{6FB.%Vfz.r fef4l0K69v6.ZO-Cp[[!`g [jMf{|kSahH[0bڐYpјh. JaW(6vfM`6 KNUoϋ3zڒ\U tr>B/jX+LǗ&vea5]cf v۝7Z:˰kP+ /Kv]nѸhuf֌ +;>QU'v5z} ˯l\u1l̮Ԉ?$m6 Wl^hnk{|KeԋGHPܴ]^ɍz46lR[Mܛͬ1iWYʴŬa7Ycƥ/77#AdY!ܢ[itEEBv[+kŵZ!bPqmVzE\۬U\ۭM\;vZ+F,[]ٛ7^i ʷ8 Na]y>U t| +VP\MkkZVE\֊*]֊&֊K\{]\{-cDZne,͋Fδq1'uv0~}=Q{eƛ\0-bWIaz&9Ye$%I Jm&o-y}PN+ lcMYƈ1&ې[i36B4zil~9m.c^~Ħƞ=d=ffAeJȉa\763z٪-6E\2 P eRZ Yryθh'̩E[m9-7m%t|>oܒVrm~f4 ̩iܔXxNhܪqjnQ(C .MoYH0LK]Gʲ0 VB%Y#Q{t~ʜ +-P Ƒ {ƈ o|TaA[ n8Je +IElrY4zlO.?]#ޕ~lD7P峿쉜eE~Y=h#.yS[=),3H~ɮ4Ѕƈk?ep̖4XIs`/Bik"elV`83Kr)fM-i oS=Q{ǛX+ v'jZ`OԞR4^cꢹTNK=ڻKS=o]Ău enʒ=t$jmO~FDuYP].SvкNm +h'âv:*DEѧ D8&IJh-68!vF'%_}J%Ӓ/A| ɗ| KPwIuZ5-L$j!Fy!tyD{,!Ed,ZѵU'pHă)ZR;h iwR4,5xCuH} +ay'!E8hAkK ~!E)|ȺT!C\[^bNMW(d#M먓}*T}@e^0< ;9jZQbJ@rKe_lkv ;Œu oK%T:J&B_mjj4~QUMEZ+2X _7鬿;SW1]!w:+ & Um'=`e"ʜ~dK +R:JwVVTz*Pz\H*Ixnb\a09΋#Q)mWoȗdO `aٟh cxgWjI?m8{3v|>Dk4*#"9]"RU3CӛR!XW$KH +Lf'2cC9s"9wF4MZ0 a(NlI&DvTsknd 8J3|JiE=TlQ&[ +ޠi졿4ǞbՉ|)#7WDVS=$ַ; mfƷtVSPax(H +b^)!b ,l)Do4:0C!G@MMxL̼PinKqۑr41nOig2alAϷ e;G'#{wg~>5kOz9|/瞁?Ŷ%vtY_pJ{CF(93P 0 L*xTp 0V1sUtR#fhMȜ|ęޔǴJԴ tt MMdz{b]5Ps1$&bʫ& 1YZ_6Lm{fk(5Cm +{n( +->Buc<mut7~65᭡M!4 3=(~PX8{[F9H$`9Sm45h.Fqvg KRh* +!)޶ +Fe=.xw2SSSׄ1J +C»Ph;;J<&=n9yܥ^<Cp8$VFw].% {=JӾS'(quPl(6+OZnm 7fDUЦ!Rj v8OdpbB/xl1V(䭱LWWK>?#ZuY{[o׭SX&@ddmҽMIA)"C3eK.›#nGiUGhBJD_a$eK]Sڎjo{_ͬ|0_q;:2MQF8$ɣ7.:x|/wLxRMT@pKp20fS'Ӊ"&HSp8JK YV:e/LgB(A@ +'-cR& 305@ii+Ŭq̟`<L`8cx $VW TAsipJi.BTF =($F]]]ʱ`3~WxQ]7o25r^| y=|uFsF!Ops]1hK=#v z 'Wa2qdJ +)3)ʐQ00EѷT^v `2vLĚ;C0Piiꎻ|&CUsBTGjTV=Aysבl6Fgn#5=;JWP1KyE8M|\^HgdJHf50a #s(rzltnn߽-<Ã9+#'+09$k0-.q~ʞI̽k rUfFSH5F:&:р2UY7]f<L]ю$r$lKza%ӓC{<'Bn`zBG']tA=9rqU֩m[#}PWWc~N[2$y`DCճ@(]*SNp826Ԯp j}HˎYI I]X~쫫Y5s@w论AP뚞 +'96|[[I=2WyEll<8E206t1 X!__ k9:U oB :"#;@4RLSE/TWTZ&Db9ֆ]jC?@.'/P=]A"E8_漗?q5|<a98%FL;6ϴQRV7ڭ2ճ;r[}Qo5&}]DI59nN皚mD0Ow{mmϺ[[b5WYU5UWWnյ^q7苎 6"Hw82<`u6QE%knmkity[;߸?;E5\Fwu#UqD䂆*PTMiI0w{zzF{F"]]Dq>boFIy)I?|lђ93l +s}u%t]]]I<&`ٍaBHwl(\V-a n;B=t*~p_2xe*+/;էSw!@(y3]J@G";δ- +c/@Nݨ 8ԭwD*)?<"idQS"i8(ůiдR +[XYcGN!hf9T ({HY*gʒ2 ±hB$z\%58нA+OCPqspk'0$urv[2]]miӪ\>9 y8c3umC +D:e􆲂ت@(ĥH@gD?͑!4-j L( /=Sȟ9xp  +u•buZ*Hܩ:SYxBrΖ\9yO>F$LGIvЪCx5!4bkoAPTbЈl-;vaޒow {4aUG\9ZO63ҚmK[~A؋jٳs_c͕SI!t~`U]}xJ푡v3.%W%Ϊ@c*`5$1[XR+0OH-"KiȯQMC }DO( +~|yw?$xZ'U|FׯyJ?LH.g#X䴴Q(p${``[<%3Ii,GX%`HQB~eh7ՉJ_?} 01]AH +&tgB @f)Fx^"AMP +07T'1s@2(b5 ijf(#yo޶}xx]\g-@mXM bz3%}_ʗ*$83u$ORGS$$EV҉s!2QJ1DUư>*Z2n)t ֺ0=[;K8Tk)kL炳 #%xa 4' Ի7E~T;xO L3:oɩ,r^N9} +A1} .FgQ +QB(qf~p(iZvb*n1@E=IJ.>A _x/#EY&U^P2 CR,sU58xӺJޔcX1 *t 9*21 6crR݄8F4cs-!V +My?JJhB)C%ǚ#JK[Ҋ(pfgܿ WS`x^x? +c԰tǒ(NObJ?$zNL(i{ &W_PY: ;Μ+lp<~xtp"qxttǎё;F\C#5#:r(>6;Cssf: @3r$ XrTePh92a߸kyy#RGߵ2#=BӬ䳼xevV,2{*~<-HE +O'G<#kvHC~nZК$E!oXTvãđ1 Ν|{HߔǦ°=NHu'#;>P~9BȈ*󺳧@D#aRY + +Ümb聮x:Py-z]d~'WMYqS:yR[9vTz+-+,(L喊6)}?2|?u|y90U!(rEdl7,=} RqB9Z-v&NL1@%OX/9s0 s^uާj$Oq]"gBelj@XI ,(s@ULKs,]_'6Kƽg,II"m G;)Sxh%Uv G'YnO=ys\d[awsǗW-M!LMOCrDBgg|ƐĩJ#I nEqrMڍnjoz_&6yfB!û"]`C*v,;J)iUooYX{<ʎ,PڗE(eHdPeLD _ŎT * +ҙ>B\֚lݙ&H?IzXL\a +?.w4ӆ(RḦ9X#HymYK798/8O hx`aEq:16,~q/!dhI= qg!S5QJ+"R H1,9@>Np0ûfnǔ%REcVV]riDU'* YRaa恄.&JOFiTy4VN^Trl4Qr#MPppm"`6DyNW Af2/VoM󸐩g* r*K\~hFoF̯1hr0͇2wY'9}Q]^#[֐suŲ|klWnX +nd +dU3sc4!Fdv|=+l +^7iW(!< 2>I4>kr")ǧ THeM]e?ۆt"TC`n7".rr1|4# +_;aP!d6 (:'Z0hYq7A]+|n!;ԕ1cX+b + %5=f(ZU+J|Mu?HۧgbcaB_DB<B'>"'gAkljwsGT'S̝N'zoQ+a"w{y7LnD);t5l7VVff(h5Y_byD> +SRb~Ic&LwJގ"<o#z/WN ܆DJM)KuFcD)cD 쬢 jʫ*vem +!WFڴ:A@:Q荄طJ,ႂ1N/&iqbՈAYxIEO6S {`{&eZM-tyYn:7}}kiæ3Qd ϑW84gxKx $9ؾT^q"KyA]PNnǽeD#MqPAtoP?ūޖ-!΍Oz ·W~i({&J~cF=6\yIQBoT"99Mp75 V]zZB( m-A/F`=jR:a<ClQ9di𱄀igћ*^].¬N G R"Q3>0=a$Q FSpQsL~&cz]f,nl4ժd_1^=Օu .Q՜}i||}8.qhk*)' <+5*[sb*r. 8\ٳTpQη eVr0;ӑ''g m84v$=Nx&'ƊUg "?N[V!WߐF {ӇDXưɆq_)] }b^C8CddurjE|R%~M NGQS2( ߀g(NZqS*·=|fQ]zI^]dVՇ?y>G5j?cا؏J_(ǕO)SV+_{;[CwU|Ҩ<_yUUz'ՁOVZ[sc^՝{~GB .6F㧚* 6Q+-hyo{omۧw@_P;w\xΡ=AIk킽M +OL"0Rzȣ%@5P)̒Df0hZB +?W]Puhŷ +]B﯆^!><^z8 wB/p`L,Sp{[a 0J-Ӱ '.Nq0> 8 d=f]plͳ7˧od-"^06pvcen~XcZcpy+|ZVX0ƿK>g)=u|>!Gqƒ6iQJVJN8o=Ӑ8AQ '$'xJ@? >c-ilz;a/,`ߍwvDI)qb;B%;}p8˲VOj]7id6c4wFmx{+Otxaw~тηZݽZK0=&S zk^*IjNEUfg+՟U3@E +e2kD&V`^XW\DEϸ.+Or*Ju\}fB`r\ s^endstream +endobj +8 0 obj +<< +/Ascent 1000 /CapHeight 700 /Descent -200 /Flags 4 /FontBBox [ -592 -212 1047 1079 ] /FontFile2 7 0 R + /FontName /AAAAAA+BarlowSemiCondensed-Regular /ItalicAngle 0 /MissingWidth 380 /StemV 87 /Type /FontDescriptor +>> +endobj +9 0 obj +<< +/BaseFont /AAAAAA+BarlowSemiCondensed-Regular /FirstChar 0 /FontDescriptor 8 0 R /LastChar 129 /Name /F2+0 /Subtype /TrueType + /ToUnicode 6 0 R /Type /Font /Widths [ 0 380 380 380 380 380 380 380 380 380 + 380 380 380 200 380 380 380 380 380 380 + 380 380 380 380 380 380 380 380 380 380 + 380 380 200 285 249 624 488 815 600 125 + 241 241 379 471 221 354 234 367 504 303 + 469 462 483 461 462 419 472 461 275 252 + 471 471 471 415 794 508 538 526 542 517 + 486 532 563 237 501 531 482 618 585 539 + 517 510 528 500 496 562 514 751 511 496 + 472 341 367 341 423 430 188 462 484 461 + 484 470 317 474 482 232 223 453 206 737 + 482 480 490 490 329 428 315 480 427 638 + 426 414 403 288 155 288 481 380 494 481 ] +>> +endobj +10 0 obj +<< +/Filter [ /FlateDecode ] /Length 734 +>> +stream +xjhB`0I!Δ7Zo2X6Ð/'t 2?bp0|>sƹnDq=]ͱ[Nr/<n.?o7Ƕ߭ئS=tͻw>/mߦs?tU?n9ٷ~׷cr/?NͶ͛uaX˫aյi5w3aXuA؂Vmhg;:؁Nv]+}aߠoٷ5{cߡ쏫n) B/ B/ B/ B/ B/ B/ B/ B+J¯+J¯+J¯+J¯+J¯+J¯+J¯+JoFoFoFoFoFoFoFoF;N;N;N;N;N;N;N;NAAAAAAAA'IŸ'IŸ'IŸ'IŸ'IŸ'IŸ'IŸ'I_E_E_E_E_E_E_E_EE_}X}6/z!nj?Vx8-\.dendstream +endobj +11 0 obj +<< +/Filter [ /FlateDecode ] /Length 13689 /Length1 23932 +>> +stream +x| xyc78xxAIIMXScK$cG>M&&nI'۴I8YI4imݴͱ+[ @PG{C@@av!O_ 8_ezx='@g5Zω.o n+'Wڬ_ɓ+ ;4pX.C[wYZxt_{{u+ǚQ9 ~3ίIO{ήsOn84|J 촯x$qPP@*Tؗ+SL׆$rbrE>BnP-[znCn9RCTp4pj<@+ڡ: t@ @bB$! 0(l10Ya +a lmvN],}A8a +pp;``_OyIPv6ނw\ d/EUWBֶ֮mZ<Sq݂s]i)oV0\tp"O;KKƢ?`Aޘ \¸OX$n@¢q}Y\jUҜϭh"۰H>l.B9+k=k-7r)?3,[)\"Ec'?'泼| /֋3oҴL,*;20Ks5;;n p Vdv.Pӭ~1/ _ӏ.-6;7-]i̼P(-% YS,w޿Ν /ÒxbP0V(VPЗ-oӺB ˺g,Y# +',Eۢ1}yU]bP,o/~[|~zрn9%~wn~ֿ0g0t)Ը.F-0r Yu"7[ +dLY`eD*sVӧZ#gV-\TK B4A.hϋfG?XHX*xb _EqmqmRqm2qWWq툯_ukW|)QKy`{-]Vl&Y{PUՂZ?iU,z}*豄U"U**W35_U5_Uŵ'h|)q}Lrn_\Za|^-[yV_&oo°!$/'{ZL ֳ=sTyn3tJ07ia즸~>'fcxu=b>oP7%P K k$J{B6X$ҥVcA[ k.#z k4n9,`nY|lRc֦`z>K1rehݚ%wYs,3y[!'D/ c˼?B g,_[f-uVXJF7n'0ɗk^X:/ٸ +*n|Yœ>V]Xš0?a4wg5eNŭMK>&xA-%kִ\OӦ6rk ޿%Pȿb&!ƌa_[0+Se[|6F.TH=n>A^+MX;nѿ3 +d EL&]ӆޫod,;.KX{l2h_Fٳ/~e~58(`D㐀g KXsg KXh#E먀l!d똘s:Ŝ E1h, m,`DcEq#'$^SuR%Z$^uK$$^uKNKDL|*xf9KXg].Wsn +{% `x;vSzkn(v?ij=.JpŊ`lBR:NwBfk@^jwF<98՟$FԱy R[nTZIUj|ʗʟpP=>W $:%2} +ٛ"]:T}GfttprwB7:($=m]utEN݌o;;b2:>J&zg &eN4LjMF==m]h3Ĩ'-4whZ +ww: }RwTE"k '&:,f:FD'B5_ksB +er!U9]^"ڹ#̟=Ϩſ4\{˹Հ ڈ#4i}d( TӰe:G^WgߨCЄ!llnz*] Ty%(g b "AyMU0SX04 Msfui eRI*y̫%CUdd7#*k'>rJ۩& U>UFv٣^q"GwaÔ^UX zHC *Q}\|9\ f"z"} @dǀ PHcPѥ뒽Zg+T +?q.V*/p?&z7O'Y:7.Hn .p$7t@kPזŚj~k{e/6+"ߖ*%UdR֤s vh4H0zzA^RR`N꼃\Q tXM7I^$ɺڑa\(B!l*AßM 2CqkX[1 y2!%ƮR9?pʅmV\86h[28_9~{ }߾m}G=bkW +Ln4IGʂjeȨctAd1/cw +Y#iVæT+8[j9gVζ}$Tz}ٖۧU>7a<PZCoc3e +ػ +LJ(C_!Q~ޛ\%DU)<"-kũ\fǖkW@:4#8'zS8/oʎmC޸U*%vԒ .a{}ݥ}(s6VZ IVW[Mc;6m63f4ZCOPuGW]x9<.Xz|P<3 y)=xl/;zڼv)Z@o$PСBʺVӃTE_ףIbȌj򔸟/36qyb,P1°?_ϯ}Vgc/\mtH}\l!S@(%e({ZMK{=RG*sr9 3IsFEюqmdHTo] |ΈYT3'sEc N~L; m>|_* U@Xik؜m[Pe`쯈qyywyf;Ň#;AI[(d[8|S LDL3-Id*ƖecZvO1\$ECCi{h-f UGM/ѵՍ-Q>p|ǣttq,1)5vhُ-)$54'wB$w8Wͳ3ʹxOAgɌ*INOb &+4{hn0D'Hk ZlqU=6lN2ajU>djjsk.*#O0-2Րg4_uo+ |6"EZĢ3VV'".qe xw;h{M \CY|_<92rrjuG"⟐B#'z'2,I&{g`FH ]L Y#hh.(R$t=TvXBpڶĕ>bP23`aLU'O(^s<:^LQIy1k_+\v"f +'5HPGF2?eOR gMczҍUz}Ry5WrnIn{JvƇxKQB oQ tw;oVĴlԚ!Ͱ]U|UwĿc;xgR`GUed5$Hy"p`TYPQQ`4 iMvVyF56me~͟G"p-:W>,Mbb&}l+z=fr0Z`odmΫyWhq4ש 99D*rHK +_ yM52ł=*DfL?7ܐO@6r^:?km<2_ۖUb{뱩nV114J7d$7D֍ +N%Qٞ؇Ϟ+@D6RK +D2&/n`Ldԥ>Di^Ȟ"=4ΗLi쨈PI9(=Wt8~"+N99E\y[~Q-eg& vq[iڈ\Ww\HyW99N., +k&/Itrc#@cWcg>lǕdSC)X[ҩSw9M&B/:O?><|<_ CqlN %}7|&$F])A%rc| b B>(T2g}}ნ$Y|lߐt{WR aH8#*h(, m.#"f &$S2. qlj[mnc[ B>ȉonF_`ag9ub;t:V;ۮg|G0&3D@`Z5%r^)7P*MVjDr!f +Niڦ'g~8:a3şY4=9{_$y@Ot@U>y Z͔A +7Xm Øi&Ll ުjWT.…fqu0i -g'Geg2ӒLyF'w FoN=ܗ::&mKySُ|\dCU92# +1;m7oHJ~U*RRZ}VHEk*)?孜YM2.g4_A}d* aC;RJέ th SN7=;Y<4ȄS;MVEq[]d.CԢjtïjgrbF0*WM|ٵb<544m{ÔMn[z!7 >"p﫡!7^{t EWZs˅xkRG@ȍPraQs SFo¶g!-QȴTNF|]KK].a|]QTⳔ($r:~m-5ch[0kKVS%Mŏގ oGTF>*WAЮQzMs(e *9n̋e#E %)"x#DpxJaQ3tS&Яs_ +dܻT~ʡ⧕sʡ*UvK:tҶVc"X{X夯ߙRLz9q}*+To@HG,rӒO']6K̍uuN?qSF&ԩ];*urn&Z[Ct +H }&MUbrݦioAxI0:E DEt_݁l0Od贝ԒGǫSZ"1ݕT UDgU<ITpr g}x>%Գ6mXGfHvnevH4ŬVH,HMw$3e/aZ82gN{^9@![Eʲ꼝YU`xPdlF$+;hbe=SCq +O \QyaP" tѓOo;/lvKMo$*jĥn? !v$u@!tȨ>;/5X˂$Kc4O·cf!y"IOToyhACsv=j$CGMSu5`r,JǏIZ-N7 MNV\0Qejpsd6x^L lշ&(OthV}>O@Xڐ "k%sl5-b !"H~ѝ劂Fձ[veF(~~]@">G .}uBTWUaNTj;2ޕBp|))+r%*RQ~Y"PlU(S% +DVV6H7@d}DwD5nmJ*4|@dcU3؃v޸ꞯ!Irڮ=Xo+I \:9YV:5vFӖe~wUrѽH0eJT)+,oQc%G|^“' pGvt"4R +X<^a UOb⯏H ĽU*Q`AfaG(3E-ԭXIQyx;,7/FuykkܵRbLι9?h6aHk ðj.ger["KnQzF8i0 F 1C'+k֍pQ.#ƯViF:vy7"8ԩ}wUMM5<~åriokܔSdv>ۆo\[ y;`Sv8mPS˜p&X۶E; P@2C _)m\u7^.E仸T_wQ n܆-\✀;'nd]/ 0̺-p'YJǒ1\xRtPĴKn:~kX?QSs4lYR$fQ/åWD(xmAͣ|*.$2zDlØ=}B! +l`%>o>:"&:"pG^M|uCU!cPaϮoԳ_U\Bs.Eއ2}亸t꨻WaD\h|i=*%zX[(fO)p<#E/:oF +}ҁ +Qp-$*:$P`Y+39*ak*%\#*>G$(wU~ԍ] +i!ʵ۷{k ``cl~bCll]{/yUЏKQ*N/Jr?xSdul~;!%jӽЇe*%zb +b=zymO2rJF)X+mr;;&7ˈPxG{'ޛ}*qv#؄x;>?VKix3ƕQ}%W߸ys`V_Կ 4dSN|e#\hq +DjRJtIfz3| IW>õStOmPJhJL͓n{劃QZ;!ANIOt,+@_ŷܷӇEA8US"\(PD%`advIjI7ZXWG٦:'aO/Quޢj[xvľP[KnMQĦ7k Msa!ێ%aJj [.0%SԺ7cR_(UFU|OK<;HfkM pmd^>g O@7d|T){[u588ama2@LXrPQ (ԋwjW˫\ 'EoC= B z_@xg D^ƿ7`߀.BЃB 4 +ux$tg/ Znt-Zw읳Sq*Wâ3,uϐ1EHpm{*gSSMendstream +endobj +12 0 obj +<< +/Ascent 1000 /CapHeight 700 /Descent -200 /Flags 262148 /FontBBox [ -586 -233 1080 1085 ] /FontFile2 11 0 R + /FontName /AAAAAA+BarlowSemiCondensed-Bold /ItalicAngle 0 /MissingWidth 439 /StemV 165 /Type /FontDescriptor +>> +endobj +13 0 obj +<< +/BaseFont /AAAAAA+BarlowSemiCondensed-Bold /FirstChar 0 /FontDescriptor 12 0 R /LastChar 128 /Name /F3+0 /Subtype /TrueType + /ToUnicode 10 0 R /Type /Font /Widths [ 0 439 439 439 439 439 439 439 439 439 + 439 439 439 200 439 439 439 439 439 439 + 439 439 439 439 439 439 439 439 439 439 + 439 439 200 311 352 651 508 795 654 169 + 329 329 380 462 238 370 247 444 511 319 + 499 487 544 488 488 451 490 482 319 274 + 462 462 462 479 786 577 545 536 547 511 + 490 540 554 246 518 558 499 631 590 547 + 531 527 543 520 526 554 555 783 553 546 + 485 381 444 381 448 472 226 487 505 486 + 505 492 342 498 497 237 235 491 227 755 + 497 503 508 508 354 457 335 496 478 698 + 488 464 416 360 194 360 512 439 486 ] +>> +endobj +14 0 obj +<< +/Filter [ /FlateDecode ] /Length 734 +>> +stream +xjfs][J}!q&`莦7xld/+LG+_<>Zq;sc:ܿ aj۴ovN? ?.b}|~_j/l:OOs; xh~e8~u-~mwy~\^۩s^ݩO~iޮr>eon> +stream +x xy U\虞 s H\ @"H$FD(ʒHQ-ŗb%2;$^E|nPWJ9^}zv>q[W=HQ޷2䠫!|p?Sw_О1z%m+~{u &ٻhm(=yǙӭ{6bwY/8|w}?y..|]O2O_{ o_.`w^8ߥ 8 \-8o'1 \&[ I 0d@]C*< kB5P2*P~(nhuzȹry՞ + $A4 M - +mn|tA7@/D!q$!i@? Ar0 y(쁽0 +c00 Ea*0,e808 +`p p5X<1 5ӂ,dIn9/Hfq&tul[AOׂaJ0柅|U+յۍGV-Y +*:e T-(WVJ[IA3h8u{TZi˥-[a5)O[l+Z + +WmO*[U~sf75ĂhlZY^ `5L[ͩ B*Ւp0a5VWkʰZRgl[5a%3mWV7jjSWjjݩ h+Yhk+[^Z|Y$RhZHd4,Y^XtmIM o!qj5gE'֫pݜlD`Heej3KFj2KViIk%r%cg~VhR1. ޞ i˛O2mRȏǎ@jCǮԆ̏ݩ {R*?64~L:!,ym~e42ʷMJnwkwwuF;/ڝF +-){|LmL[ NmP~6?FS?R2?S +?6T~L64~̤1)ceµ-Yμ)?i'`0fW!>br Gh+Ć@U2 =6&2)pT^9ɛ¯I('̑zZ)c̘}-(B*K[#O= ވ1flHd˳欹n pk z܉7e%E,6d33a]I[32,,G.ŃO0C2OY-q˦ÜYv=[=iӒ맗W-V^XRyY7 bQsf}$`Zzy.,fY3n6i WƉ!E-OX@iGUM[cu\aIQHt?cI9'QccڂՌ1fu..FMěqC-.HurqK%I\LFcqWX51dښP`MMwSop:e&/#>Ԓk *bɜ?6׭d/3isyLjCgRIb&.̑@p ؛ce_jFAmOY౷;=cikUϧ6V!R֞DZXFƘlױ m-&ցdZN]䍃+(J]Aq03L[+| ocx(RO@9VSOp*'оvK 㐷^lj֭|hlj >g%䍓|N8K| ocxv>7 +iop֝.zp.޺G[S0M *&ֽvs*.rR2mݗ@g%/Ơ3u ~řxn῕@g&F){8b7&pj~noMmgbM>w&hjo|e=u%L\K\aVV` XzƢ:-<G&4La?R @e>TbTz3 0wI>T5T8"(p` +{'Gxdh MFp{ <4-y85Cf,$f""e gGh$iww KhTJP>*kijȓ][RݑDH҂WGyӅ&%5tښZ}&CHE KH8]jhh5xZZV}|=)􆕼sD3t2z7|?%]?)hHcD2p nFpmBh*U I.=Bօ?d=?&2J>Y oyk@]iVʌlJFѴE)y\^-FἏC }k}p1c;7&#F$b뷮,/͖Gˑ\8d7 (m,(ҵc +~f+ZM쳇|o4#8 +ML1Nj%YX#`Ů]]0.qBT-̌92RC +ga4Ch,ʹ1$RǢ0Ƚ[>WG[I|? ő?²LijnPe$֕؟]dfθzUPQ_b:27?\qsD|\bQYPr#ɨ\B ( m!Z$a ĈDdG3PMQOV|&KDn*-!QY&u=,މTyeXo~ (էK[բwdP*l)PF#۽?RX#sjUpd(g*z ;W(0?1M|,ufCgLf:0@zx1Le)RKbdSd%9i< )T$q4 5DKωX bUy&K~&Wz@-;PP161k8iKdb q\!Nx71MTjD>ҵcm'NmI^V0a+8zKG\g(a[@ +t@+ĸnSY6zu t*DVHu$?X\RS86ցʐ#CMG[T*7kIЧ_9)BH 3xóm*d[& >c!ke#ޣo! )drWt $0W Y gGs鰩]ɰg&{Uf ՖEaD3hQ5P#%#<875wi]fO3CR">gbOn]ŧ&`_5YMIFڦ7T2Y~%EcQ3cS)'j,:,hw + )uLnu 3{|br^"6EP2Yll"1B9fAa^,|S~Ot,Vf'.&K }T:t|.3Ib`ܺyaƊ{Hhe,tıE}x/7~ѭPyH(`s). +!t>Ҙ~vݒ}C),׾WfDL$ƛd68jƾ@WxTejcmSZ #Mi/T)%A&ؖL: SAGplB7=E u\E.Ol9=OGew*#뛘)v$L"Z'P'jO$Ք%&BYRيê]1u"/@ +prvdBM-IS}c{z~bm/Zyڶl!|UlIk`Ksc1_jilQ+kdۺu=2rmOKTMLT-`[̤2ݑvhfGi{7$c`;%O;݁X1?t7:J$z:4{(~fG-G7< ez$QE6@e`/͇8.JRu.l JEޭ1o'(`qJ2){ƛ]2jvIGܶXT.]הۭ̈ށNk0Փ3sA#x2kEIx{>mk8؆+UpAdI HQ"[IVR3:|"䦇uߛ#M!v3졚OPg?\;/i%M~:P2,"\u"DE}ףTVBH\/ I~K"1CeQS' ~ppCuAvbfd!dC Yz)EQ^pUfDaĂCR3A^4rY- ({3^nH2JҸddF"p.-}';AHMDDv7DTBUJĺ2>"P2 uJ xe4@j1B$J(̹p&qRYVAb(ھǷUVϟ> h:FOVHegwu~wxfB׬=A$_^ 8;] f4BFz.Ioa)JT0 Y'=oW/8RH;G}Xճ `OgoAmUD#@n{_]Hc?oo#H¾>?[SӯhRa2wDōhw _;&IZ!لN|YQD{Ȑw&X,jGmM)\-O; 5hH҆ ̂DPZvJ7jW).)~D{+oepkLj(E !C@"ACY?OwҊx6Dž]s8~;AK%Hyd√ɣ +!"Gcs~ݭ1M-pqq)9?XlЉԣwӪB-@ " Mvذd;;ளf0w~YRdol< gS8V +'m_ 2لCHȴ"PNcl)o668~'Anio U`*ژ'B`T3qu% A0.duK51@VEʋ,7%.)wH@<3ue,s,@>[c1ny50vx3gG5m3ql36>v#W=:rDJS87[LsO4MHAn:Enn6%];rAwo]}QYyZ_pEվeHVل\nmO#@?OׂFl3L9)`D1I鸓u{V^JцcRxX]٧s@V83MHzpz2NmOc|T{Qer=. 1+ia?"tFR#<)+R.(x$?'~lيwbp©'KJŎfp%=Mņ dRg_1s uB*pLE.*r=ڽCvҨa'2TY )jP a4ڪ)VS̪;}6&8~z\r\b38w9B;D38J_BB:D(Vl2A^>ʵ Rc&3[WyMu#z\?t+4]lQG3|<bZ޶(%'$tv$י^oO¶Ic#2*"r;&nn|z?v@nh_VU|!'_8=r;WJkWZKHH Oc֣=@ԥQz\fwTxίGfủ&d)b)[T[NUy0]JvF]GxzG^&n[|:߶/6UjPY6y+W=X0_{p8lb`hhd"L{+;vzhFsuݫ4OHOhp,ZeE#XirĮPy(ĩQpßL؟Ry?^ɏή=-p+]ٺJdzFF =h~[+˔n?{ Uufq돩p!ܦ:5p@4 ~*vD[фGE3Lsۂ]m_O!,!TA +fJ|hڵOBikL;@~I6!b0]TĶDٞٞxU(g9-dmRвH$F~ + jH 2l$v틔IMs!465o0\6bwH+x_<^71MsL/&䭨Uz2|jDߊ\ͯ1-HxRO6M6M $ɸn%02x-XHE9XP˜?"1sEBdIC$u4Ha6,pfQ88ř4 `|XSiUct'krN'.CٍMBVV%Qskf.bJI644HZ!.i\./MEm,L%/&n4Q{~n2LG烙=D!]LQG%%v]-pƎds,| ;[u=>JMJ1ܚݵ29J=TB=|\[3.ouܯ6K{jO'eѓm~oq mml ^bs%Wl&}ŞU+mWۚZvϬ\t}xo7C[܉gFw)FamUc +y%.6[NtMo9Y͸ B"4OL-(N-0={}aˠ֘#0mnnEnw'w,ź  7XnlNXx -kh+%vd8.aRƦ)hxd-D/S.KP$}ߺ%fFX,Z8"Y[m|ad.ޯ]a7m76uUz#.v!Qz$ʊ'p`@W ]x$>ip +6sʯ=q<uDcXx iF"x_^.;ކ&Q/ds>|?jLmWX6gȮݥ2LDeB:SGkco2QN(k|_a*NDQ{yy'*%DI)?_hg"6V^/!Ѻu"  rڢT%Mf]o75TYt <-Q{]$A gj˫n.pc!Z 1$&=*բ^ʙHPXpsRnhΩJg2[#4FH0];# jhCI&nsmJ[a͋L^]>ΩU\p:"#os6iۙ:吘PDѝ"G#퀀LI I>2QN Ixi\scUkO)^WџUXFcPv4-ϱ =U2#L K +U*hj!AcKBu;qE(` +0|C;^1 D(FsvP4iFhHM5C U2@UN)~IZ$ H5 Ai>n՛y'o-cvUo껱s-oc{ED82|;7({Q8ߓTS~L؏H?fDb-UGqD]<(]2Ns^6Ӕ' ƃxTf!L1,$IpZ:u$LRk 2&K׾?5=jU;Buɛ{8ޜSmĠ(nE`&aBT'L snPNޭf~dzmމ` 3zs"[Ӄ{~{뢕'vM_yCH>%lsHQfePȚ`w䗻W^&4w^ N T7.=J:@~M, +..v*7awY]V{39e:_1q^&jݺI3_^UUŐ@VޮaKmm:Fuۿ ̎ݽR헤 @tNSR@i=)5H6u.=Ttj*R3|_0 b'7~/a _NSN,֯R3񀧧ߐ&{TU2?kmkhLK{M-n*5wȭWQW`W4qg ȡ!o>rpW7~N||Ԏߍ1_': M!`y3m 5o@wR2*j{įM?Oc +eQ^CqToմ~F0P[go[6Դ2G~ 俇a w`9 \&{ a +|xfEסCxtLanA< $~p_ x}O!/B? |:a2(*2THT🡂߂ +!P!a +T%&y&a +&aO8CLX%8?v܁_Nm£8+^? NK0/AA&1 KO0<~ +#_/~bm(A0_)|7̒0 -(A?4k|[8/aN_.v=*tRz |UeYMM>鿧o_wץ46~)tgW?|%hKF֗چ>ۿnqwC<<|ڛZN_u,u;ΥoFw}ueO疞+л~ -w/@(wM`M{6Bih sVȣN4vtӖaVrtvAvр9&Ai@N,p .8pz00Pp3pgസ\=NE8]b]``sp0#wIqnKz106<;pE0! b'/\pTa;/BF|]]?oux5IK 8x/w +% ~uIsNƒSp~yP@3fw<(u]<#n o;O8%Oy7<(YzH:qN럽 < g? 8/g@=pru<'w=OI'}CZhޅ PJOCe$IaU3rIw.-c +K /=99ZkMoуVU~~zz#ϟUF_ +>zj?ņ2&8锤ijޱA` -$mendstream +endobj +16 0 obj +<< +/Ascent 1000 /CapHeight 700 /Descent -200 /Flags 68 /FontBBox [ -503 -209 1027 1077 ] /FontFile2 15 0 R + /FontName /AAAAAA+BarlowSemiCondensed-LightItalic /ItalicAngle -7 /MissingWidth 354 /StemV 71 /Type /FontDescriptor +>> +endobj +17 0 obj +<< +/BaseFont /AAAAAA+BarlowSemiCondensed-LightItalic /FirstChar 0 /FontDescriptor 16 0 R /LastChar 127 /Name /F4+0 /Subtype /TrueType + /ToUnicode 14 0 R /Type /Font /Widths [ 0 354 354 354 354 354 354 354 354 354 + 354 354 354 194 354 354 354 354 354 354 + 354 354 354 354 354 354 354 354 354 354 + 354 354 194 270 216 599 468 795 569 111 + 212 212 367 459 210 339 224 337 488 290 + 447 442 453 441 442 399 453 443 255 239 + 459 459 459 387 772 476 520 508 524 503 + 470 514 548 227 482 509 464 596 566 521 + 498 490 508 481 473 547 488 720 485 468 + 455 321 337 321 404 407 173 464 464 441 + 464 451 301 454 463 223 213 430 194 712 + 463 459 471 471 312 408 301 462 402 603 + 398 389 387 261 140 261 459 354 ] +>> +endobj +18 0 obj +<< +/Outlines 20 0 R /PageMode /UseNone /Pages 24 0 R /Type /Catalog +>> +endobj +19 0 obj +<< +/Author () /CreationDate (D:20240917103740-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20240917103740-01'00') /Producer (xhtml2pdf ) + /Subject () /Title () /Trapped /False +>> +endobj +20 0 obj +<< +/Count 3 /First 21 0 R /Last 21 0 R /Type /Outlines +>> +endobj +21 0 obj +<< +/Count -1 /Dest [ 5 0 R /Fit ] /First 22 0 R /Last 22 0 R /Parent 20 0 R /Title (Rechnung) +>> +endobj +22 0 obj +<< +/Count -1 /Dest [ 5 0 R /Fit ] /First 23 0 R /Last 23 0 R /Parent 21 0 R /Title (Rechnung) +>> +endobj +23 0 obj +<< +/Dest [ 5 0 R /Fit ] /Parent 22 0 R /Title (Rechnung) +>> +endobj +24 0 obj +<< +/Count 1 /Kids [ 5 0 R ] /Type /Pages +>> +endobj +25 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 2042 +>> +stream +Gb!$H95iQE&BF8='Q[EMh/t&l9?Lt4k0\(p/m>kP:uih@[&q?B>ViKFU#Y#85LEYuBji,Bd(?;ihXlOn:b4:]ZV5dt*_87;^dkA!XOa_q:BM)'*?Q$N\B'm"PfLiJ+MfE'&s:'0E!_^l_P*8K-(7X8qugiN>!>O8`\b`68[%4:r\3:I^/Ck=IZcRrXRsQiQ2#b`H^ltn9OMEYl=3[WrZ+C*16Y*#YYg%K^aN-&k:3E<=Pn^YCX`8'mBU]Wc0=!Kut;O.*6VQ?bJJK62VtS9=PruE`%]hp:9]&PW6\3h!H>uW6Jk>@cKd*Y05V`<4\O+.HH>XI"eX;n^ULT5\;>/!kCPAd3aV`HS[I/>rsN]p-$7O!cVe2r'L!aY2JWYf5b2W^\Eb*V_0BL\Zd]c,R2:Ff^i.rMtrb)sVh'=O-:;N('"_[.[r8ieI_'n+Pg'tF^oa="gHD1Z.of:."ZJ`+T\+TLSS;a6.,:I[G7f#WL_hjD(&QU%/:$j&^%MutoV;\.0XAU=.Q$bCpkfLRlPdpKHVmLtNdn1kOCq3S.lC+Y`Co&a9j%dod=ZF7@Y'Y&gYf3\$H!Y9@&LE9>8L/;jY=W]*dI#F(5,rMrpas1/d*\V\,T:d[^=an9O>mJ[k+O#g265"<,b(/.c)g34!Vh/A/E6+p9'W(2]dSZS#.7ZK%RIBb6^mf((4ht&4atgF')?6d!gF`^_H9GN&o^uC`8'74'r/R3jXSh9I+)faN5&'nQQrUWC@+JCOn(]laN@e%f5Acf_]]0jY6UldU$!/PK3#If-,c$Ka6gAs\\jbU^%5\9]&p`tl^E`M;7+ouo*rQq'1Y%VJ]*=pMl`&V8ej\.;!4`ho79@S=Oa97gO8WD4UWGAk%pT=tJ#Dk6-'EfWeUn?$eFMbqoW:[K08hAGnP]&FSCO%gi'lmVPO"X.e+09n-%fOg?*JA*N.94C7n;E(ELgmegtNHnUIBF5>5Hqa/[rfS">DaAj,DPfW%b3'\P;oMl!/u_@A#IIg-V$fA*]L2ch/Aje=$U/'>/%[iM7/(3aUp/IuVTRa8F-nuu`8\$iE)mfSj9H0?gtD9H[QMRhCuWg8tWGAO>Abo\U"&YYJF]A?0':V".=XZn^PZug,iH/3iOC;h9)*NqYZC_rN\rCh>*W.S1k(^1hTg;*EhG`m!=+Z5+:i7-!L8S/OMcH/3DkmTm!D"k:3^"!H:5n$P'#_XE"qiIm;-]m!R!/Z#rP7iWjNdVendstream +endobj +xref +0 26 +0000000000 65535 f +0000000073 00000 n +0000000142 00000 n +0000000249 00000 n +0000064298 00000 n +0000067533 00000 n +0000067801 00000 n +0000068615 00000 n +0000081912 00000 n +0000082149 00000 n +0000082894 00000 n +0000083704 00000 n +0000097486 00000 n +0000097728 00000 n +0000098469 00000 n +0000099279 00000 n +0000113455 00000 n +0000113700 00000 n +0000114444 00000 n +0000114531 00000 n +0000114784 00000 n +0000114858 00000 n +0000114971 00000 n +0000115084 00000 n +0000115160 00000 n +0000115220 00000 n +trailer +<< +/ID +[] +% ReportLab generated PDF document -- digest (http://www.reportlab.com) + +/Info 19 0 R +/Root 18 0 R +/Size 26 +>> +startxref +117354 +%%EOF diff --git a/test_data/templates/fonts/BarlowSemiCondensed-Black.ttf b/test_data/templates/fonts/BarlowSemiCondensed-Black.ttf new file mode 100644 index 0000000..55eebbc Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-Black.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-BlackItalic.ttf b/test_data/templates/fonts/BarlowSemiCondensed-BlackItalic.ttf new file mode 100644 index 0000000..89b820f Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-BlackItalic.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-Bold.ttf b/test_data/templates/fonts/BarlowSemiCondensed-Bold.ttf new file mode 100644 index 0000000..217ef02 Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-Bold.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-BoldItalic.ttf b/test_data/templates/fonts/BarlowSemiCondensed-BoldItalic.ttf new file mode 100644 index 0000000..031ee3a Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-BoldItalic.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-ExtraBold.ttf b/test_data/templates/fonts/BarlowSemiCondensed-ExtraBold.ttf new file mode 100644 index 0000000..530a811 Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-ExtraBold.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-ExtraBoldItalic.ttf b/test_data/templates/fonts/BarlowSemiCondensed-ExtraBoldItalic.ttf new file mode 100644 index 0000000..64dccf8 Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-ExtraBoldItalic.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-ExtraLight.ttf b/test_data/templates/fonts/BarlowSemiCondensed-ExtraLight.ttf new file mode 100644 index 0000000..f29fff6 Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-ExtraLight.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-ExtraLightItalic.ttf b/test_data/templates/fonts/BarlowSemiCondensed-ExtraLightItalic.ttf new file mode 100644 index 0000000..585d68e Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-ExtraLightItalic.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-Italic.ttf b/test_data/templates/fonts/BarlowSemiCondensed-Italic.ttf new file mode 100644 index 0000000..232d54b Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-Italic.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-Light.ttf b/test_data/templates/fonts/BarlowSemiCondensed-Light.ttf new file mode 100644 index 0000000..8ddb9a3 Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-Light.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-LightItalic.ttf b/test_data/templates/fonts/BarlowSemiCondensed-LightItalic.ttf new file mode 100644 index 0000000..c9a9929 Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-LightItalic.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-Medium.ttf b/test_data/templates/fonts/BarlowSemiCondensed-Medium.ttf new file mode 100644 index 0000000..6b1921b Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-Medium.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-MediumItalic.ttf b/test_data/templates/fonts/BarlowSemiCondensed-MediumItalic.ttf new file mode 100644 index 0000000..00c9ced Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-MediumItalic.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-Regular.ttf b/test_data/templates/fonts/BarlowSemiCondensed-Regular.ttf new file mode 100644 index 0000000..71ff2d9 Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-Regular.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-SemiBold.ttf b/test_data/templates/fonts/BarlowSemiCondensed-SemiBold.ttf new file mode 100644 index 0000000..7d737f2 Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-SemiBold.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-SemiBoldItalic.ttf b/test_data/templates/fonts/BarlowSemiCondensed-SemiBoldItalic.ttf new file mode 100644 index 0000000..631e180 Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-SemiBoldItalic.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-Thin.ttf b/test_data/templates/fonts/BarlowSemiCondensed-Thin.ttf new file mode 100644 index 0000000..4d837a6 Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-Thin.ttf differ diff --git a/test_data/templates/fonts/BarlowSemiCondensed-ThinItalic.ttf b/test_data/templates/fonts/BarlowSemiCondensed-ThinItalic.ttf new file mode 100644 index 0000000..d9d5060 Binary files /dev/null and b/test_data/templates/fonts/BarlowSemiCondensed-ThinItalic.ttf differ diff --git a/test_data/templates/images/logo.png b/test_data/templates/images/logo.png new file mode 100644 index 0000000..5841e1d Binary files /dev/null and b/test_data/templates/images/logo.png differ diff --git a/test_data/templates/invoice.html b/test_data/templates/invoice.html new file mode 100644 index 0000000..e61ef6a --- /dev/null +++ b/test_data/templates/invoice.html @@ -0,0 +1,227 @@ + + + + + + + +
+

{{ envelope.AddressContent.AddressBoxSender }}

+
+ {{ invoice.AddressField | markdown_to_html }} +
+
+
+ {% for address in envelope.AddressContent.Contents %} + {{ address.Text | markdown_to_html }} + {% endfor %} +
+ + + + + + + + + + + + + + + +
Rechnungsnummer:Kundennummer:Rechnungsdatum:
{{ invoice.Id }}{{ invoice.CustomerId }}{{ invoice.InvoiceDate.strftime('%d. %B %Y') }}
+ +
+

{{ invoice.Introduction | markdown_to_html }}

+
+ +
+ + + + + + + + {% for position in invoice.Positions %} + + + + + + + + + + {% endfor %} + + + + + + + + + + + + + + + +
AktivitätAnzahlEinheitBetrag
{{ format_float(position.Quantity | float) }}{{ format_float((position.PricePerUnit or invoice.PricePerUnit) | float) }} + {{ format_float(position.Quantity * ( position.PricePerUnit or + invoice.PricePerUnit ))}} +
Nettosumme:{{ format_float(calculate_total(invoice)) }}
USt. ({{ format_float(invoice.Vat) }}%):{{ format_float(calculate_total(invoice) * ((invoice.Vat / 100))) }}
Gesamt Summe:{{ format_float(calculate_total(invoice) * ((invoice.Vat / 100)+1)) }}
+
+ +
+

{{ invoice.Footer | markdown_to_html | named_replace(ZahlungsZiel=(invoice.InvoiceDate | + add_days(invoice.DueDate)).strftime('%d. %B %Y')) }}

+
+ + \ No newline at end of file