From a3055afd419a7f69dfbc4f8e389f4b7f79f53eb5 Mon Sep 17 00:00:00 2001 From: Jon Leech Date: Sun, 11 Aug 2024 08:14:12 -0700 Subject: [PATCH 01/10] Rename .txt -> .adoc files for Antora and git --- astc.txt => astc.adoc | 0 bptc.txt => bptc.adoc | 0 colormodels.txt => colormodels.adoc | 0 compformats.txt => compformats.adoc | 0 compintro.txt => compintro.adoc | 0 conversionintro.txt => conversionintro.adoc | 0 conversions.txt => conversions.adoc | 0 df.txt => df.adoc | 0 etc1.txt => etc1.adoc | 0 etc2.txt => etc2.adoc | 0 primaries.txt => primaries.adoc | 0 pvrtc.txt => pvrtc.adoc | 0 quantization.txt => quantization.adoc | 0 references.txt => references.adoc | 0 rgtc.txt => rgtc.adoc | 0 s3tc.txt => s3tc.adoc | 0 transferfunctions.txt => transferfunctions.adoc | 0 17 files changed, 0 insertions(+), 0 deletions(-) rename astc.txt => astc.adoc (100%) rename bptc.txt => bptc.adoc (100%) rename colormodels.txt => colormodels.adoc (100%) rename compformats.txt => compformats.adoc (100%) rename compintro.txt => compintro.adoc (100%) rename conversionintro.txt => conversionintro.adoc (100%) rename conversions.txt => conversions.adoc (100%) rename df.txt => df.adoc (100%) rename etc1.txt => etc1.adoc (100%) rename etc2.txt => etc2.adoc (100%) rename primaries.txt => primaries.adoc (100%) rename pvrtc.txt => pvrtc.adoc (100%) rename quantization.txt => quantization.adoc (100%) rename references.txt => references.adoc (100%) rename rgtc.txt => rgtc.adoc (100%) rename s3tc.txt => s3tc.adoc (100%) rename transferfunctions.txt => transferfunctions.adoc (100%) diff --git a/astc.txt b/astc.adoc similarity index 100% rename from astc.txt rename to astc.adoc diff --git a/bptc.txt b/bptc.adoc similarity index 100% rename from bptc.txt rename to bptc.adoc diff --git a/colormodels.txt b/colormodels.adoc similarity index 100% rename from colormodels.txt rename to colormodels.adoc diff --git a/compformats.txt b/compformats.adoc similarity index 100% rename from compformats.txt rename to compformats.adoc diff --git a/compintro.txt b/compintro.adoc similarity index 100% rename from compintro.txt rename to compintro.adoc diff --git a/conversionintro.txt b/conversionintro.adoc similarity index 100% rename from conversionintro.txt rename to conversionintro.adoc diff --git a/conversions.txt b/conversions.adoc similarity index 100% rename from conversions.txt rename to conversions.adoc diff --git a/df.txt b/df.adoc similarity index 100% rename from df.txt rename to df.adoc diff --git a/etc1.txt b/etc1.adoc similarity index 100% rename from etc1.txt rename to etc1.adoc diff --git a/etc2.txt b/etc2.adoc similarity index 100% rename from etc2.txt rename to etc2.adoc diff --git a/primaries.txt b/primaries.adoc similarity index 100% rename from primaries.txt rename to primaries.adoc diff --git a/pvrtc.txt b/pvrtc.adoc similarity index 100% rename from pvrtc.txt rename to pvrtc.adoc diff --git a/quantization.txt b/quantization.adoc similarity index 100% rename from quantization.txt rename to quantization.adoc diff --git a/references.txt b/references.adoc similarity index 100% rename from references.txt rename to references.adoc diff --git a/rgtc.txt b/rgtc.adoc similarity index 100% rename from rgtc.txt rename to rgtc.adoc diff --git a/s3tc.txt b/s3tc.adoc similarity index 100% rename from s3tc.txt rename to s3tc.adoc diff --git a/transferfunctions.txt b/transferfunctions.adoc similarity index 100% rename from transferfunctions.txt rename to transferfunctions.adoc From 8b4ba4000807fa8b2901e8b24fe3f8b191e247cf Mon Sep 17 00:00:00 2001 From: Jon Leech Date: Sun, 11 Aug 2024 08:16:46 -0700 Subject: [PATCH 02/10] Change internal include / Makefile .txt -> .adoc names Plus minor Makefile fix for a file whose name changed --- Makefile | 46 +++++++++++++++++++++++----------------------- compformats.adoc | 16 ++++++++-------- conversions.adoc | 10 +++++----- df.adoc | 6 +++--- 4 files changed, 39 insertions(+), 39 deletions(-) diff --git a/Makefile b/Makefile index a929b28..5d64cc4 100644 --- a/Makefile +++ b/Makefile @@ -9,24 +9,24 @@ A2XOPTS = -a mathjax \ --xsltproc-opts="--param generate.consistent.ids 1" \ $(XMLLINT) $(VERBOSE) --icons -sources := df.txt \ - df-docinfo.xml \ - conversions.txt \ - conversionintro.txt \ - transferfunctions.txt \ - primaries.txt \ - colormodels.txt \ - quantization.txt \ - compformats.txt \ - compintro.txt \ - s3tc.txt \ - rgtc.txt \ - bptc.txt \ - etc1.txt \ - etc2.txt \ - astc.txt \ - pvrtc.txt \ - references.txt +sources := df.adoc \ + df-docinfo.xml \ + conversions.adoc \ + conversionintro.adoc \ + transferfunctions.adoc \ + primaries.adoc \ + colormodels.adoc \ + quantization.adoc \ + compformats.adoc \ + compintro.adoc \ + s3tc.adoc \ + rgtc.adoc \ + bptc.adoc \ + etc1.adoc \ + etc2.adoc \ + astc.adoc \ + pvrtc.adoc \ + references.adoc html_config := docbook-xsl/xhtml.xsl df-xhtml.css html_config := $(addprefix config/,${html_config}) @@ -37,14 +37,14 @@ pdf_config := $(addprefix config/,${pdf_config}) version := 1.3 outbasename := out/dataformat.$(version) -html: $(outbasename).html out/config/df-xhtml.css out/images/Khronos_Dec14.svg out/images/icons/note.png +html: $(outbasename).html out/config/df-xhtml.css out/images/Khronos_RGB_June18.svg out/images/icons/note.png inlinehtml: $(outbasename).inline.html compressedinlinehtml: $(outbasename).inline.html.gz pdf: $(outbasename).pdf header: out/headers/khr_df.h $(outbasename).html: $(sources) $(html_config) | out - a2x $(A2XOPTS) -f xhtml df.txt -a svgpdf=svg -a a2xhtml=html -a docinfo --xsl-file=config/docbook-xsl/xhtml.xsl -a toc2 -a toclevels=2 -D out + a2x $(A2XOPTS) -f xhtml df.adoc -a svgpdf=svg -a a2xhtml=html -a docinfo --xsl-file=config/docbook-xsl/xhtml.xsl -a toc2 -a toclevels=2 -D out ./simplifyhtmllinks.pl out/df.html out/df2.html rm out/df.html mv out/df2.html out/dataformat.1.3.html @@ -52,7 +52,7 @@ $(outbasename).html: $(sources) $(html_config) | out out/config/df-xhtml.css: config/df-xhtml.css | out out/config cp $< $@ -out/images/Khronos_Dec14.svg: images/Khronos_Dec14.svg | out/images +out/images/Khronos_RGB_June18.svg: images/Khronos_RGB_June18.svg | out/images cp $< $@ out/images/icons/note.png: images/icons/note.png | out/images/icons @@ -68,10 +68,10 @@ $(outbasename).inline.html.gz: $(outbasename).inline.html gzip -9 -c < out/dataformat.1.3.inline.html > out/dataformat.1.3.inline.html.gz $(outbasename).pdf: $(sources) $(pdf_config) | out - asciidoc -d book -b docbook -a numbered -f config/mathjax-docbook.conf -a svgpdf=pdf -a a2x-format=pdf -a docinfo df.txt && \ + asciidoc -d book -b docbook -a numbered -f config/mathjax-docbook.conf -a svgpdf=pdf -a a2x-format=pdf -a docinfo df.adoc && \ dblatex -b pdftex -p config/docbook-xsl/pdf.xsl -s dblatex/df.sty df.xml -o $@ -out/headers/khr_df.h: headers/khr_df.h out/headers +out/headers/khr_df.h: headers/khr_df.h out/headers cp $< $@ clean: diff --git a/compformats.adoc b/compformats.adoc index 8bfe66a..5c979b3 100644 --- a/compformats.adoc +++ b/compformats.adoc @@ -1,18 +1,18 @@ // Copyright (c) 2014-2019 The Khronos Group Inc. // Copyright notice at https://www.khronos.org/registry/speccopyright.html -include::compintro.txt[] +include::compintro.adoc[] -include::s3tc.txt[] +include::s3tc.adoc[] -include::rgtc.txt[] +include::rgtc.adoc[] -include::bptc.txt[] +include::bptc.adoc[] -include::etc1.txt[] +include::etc1.adoc[] -include::etc2.txt[] +include::etc2.adoc[] -include::astc.txt[] +include::astc.adoc[] -include::pvrtc.txt[] +include::pvrtc.adoc[] diff --git a/conversions.adoc b/conversions.adoc index 8332e22..098afba 100644 --- a/conversions.adoc +++ b/conversions.adoc @@ -1,8 +1,8 @@ // Copyright (c) 2017 The Khronos Group Inc. // Copyright notice at https://www.khronos.org/registry/speccopyright.html -include::conversionintro.txt[] -include::transferfunctions.txt[] -include::primaries.txt[] -include::colormodels.txt[] -include::quantization.txt[] +include::conversionintro.adoc[] +include::transferfunctions.adoc[] +include::primaries.adoc[] +include::colormodels.adoc[] +include::quantization.adoc[] diff --git a/df.adoc b/df.adoc index 6c8d6ba..34abd78 100644 --- a/df.adoc +++ b/df.adoc @@ -5768,19 +5768,19 @@ ifndef::a2xhtml[] = Color conversions endif::[] -include::conversions.txt[] +include::conversions.adoc[] ifndef::a2xhtml[] = Compressed Texture Formats endif::[] -include::compformats.txt[] +include::compformats.adoc[] ifndef::a2xhtml[] = References and contributors endif::[] -include::references.txt[] +include::references.adoc[] == Contributors == From 4f8ec81c01510bf077187c108555ec9aada45e54 Mon Sep 17 00:00:00 2001 From: Jon Leech Date: Sun, 11 Aug 2024 08:51:27 -0700 Subject: [PATCH 03/10] Use consistent block delimiters and copyright statements --- Makefile | 5 +- README.adoc | 9 +- astc.adoc | 358 ++++++++++-------- bptc.adoc | 113 +++--- colormodels.adoc | 88 ++--- compformats.adoc | 4 +- compintro.adoc | 3 + conversionintro.adoc | 9 +- conversions.adoc | 4 +- dblatex/df_title.sty | 9 +- df-docinfo.xml | 6 +- df.adoc | 831 +++++++++++++++++++++-------------------- etc1.adoc | 29 +- etc2.adoc | 245 ++++++------ headers/khr_df.h | 2 +- inlinecss.pl | 5 +- inlineimages.pl | 4 +- primaries.adoc | 304 +++++++-------- pvrtc.adoc | 90 ++--- quantization.adoc | 60 +-- references.adoc | 6 +- rgtc.adoc | 37 +- s3tc.adoc | 69 ++-- simplifyhtmllinks.pl | 6 +- transferfunctions.adoc | 356 +++++++++--------- 25 files changed, 1368 insertions(+), 1284 deletions(-) diff --git a/Makefile b/Makefile index 5d64cc4..e8393cc 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ -# Copyright (c) 2014-2019 The Khronos Group Inc. -# Copyright notice at https://www.khronos.org/registry/speccopyright.html +# Copyright 2014-2024 The Khronos Group Inc. +# SPDX-License-Identifier: Apache-2.0 + all: compressedinlinehtml pdf header XMLLINT = --no-xmllint diff --git a/README.adoc b/README.adoc index e32e6ef..a25acd1 100644 --- a/README.adoc +++ b/README.adoc @@ -1,5 +1,8 @@ +// Copyright 2014-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + Khronos^(TM)^ Data Format Specification -======================================= +==== This repository contains source for the Khronos Data Format Specification. @@ -26,7 +29,7 @@ in-memory representation of a number of compressed texture formats, and describes some common color spaces. Building the Specification -========================== +==== The build system relies on link:http://www.methods.co.nz/asciidoc/index.html[asciidoc], which is @@ -57,6 +60,6 @@ produces a gzip-compressed version of the output. "make clean" removes the contents out "out" and temporary files. Default Branch Renaming -======================= +==== The default branch of this repository was renamed from "master" to "main" on 2024-02-01. diff --git a/astc.adoc b/astc.adoc index bbca306..3d38363 100644 --- a/astc.adoc +++ b/astc.adoc @@ -1,5 +1,6 @@ -// Copyright (c) 2014-2019 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2014-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + [[ASTC]] == ASTC Compressed Texture Image Formats @@ -161,14 +162,14 @@ The two modes differ in various ways, as shown in <>. @@ -176,12 +177,12 @@ the decoding mode as shown in <>. [[astc_decoding_modes]] .ASTC decoding modes [options="header"] -|================ +|==== | Decode mode | LDR mode |  HDR mode | decode_float16 2+| Vector of FP16 values | decode_unorm8 | Vector of 8-bit unsigned normalized values |  invalid | decode_rgb9e5 2+|  Vector using a shared exponent format -|================ +|==== Using the decode_unorm8 decoding mode in HDR mode gives undefined results. @@ -236,7 +237,8 @@ The data specified per block are as follows: To decode one texel: -------------------- +[source] +---- (Optimization: If within known void-extent, immediately return single color) Find block containing texel @@ -258,7 +260,7 @@ Read color endpoint mode and endpoint data for selected partition Unquantize color endpoints Interpolate color endpoints using weight (or weights in dual-plane mode) Return interpolated color -------------------- +---- <<< @@ -276,7 +278,7 @@ For square and nearly-square blocks, this gives the bit rates in [[astc_footprint_2D]] .ASTC 2D footprint and bit rates [cols="1,1,1,1",width="50%"] -|====================== +|==== 2+^| *Footprint* .2+^.^| *Bit Rate* .2+^.^| *Increment* ^| *Width* ^| *Height* ^| 4 ^| 4 ^| 8.00 ^| 125% @@ -293,7 +295,7 @@ For square and nearly-square blocks, this gives the bit rates in ^| 10 ^| 10 ^| 1.28 ^| 120% ^| 12 ^| 10 ^| 1.07 ^| 120% ^| 12 ^| 12 ^| 0.89 ^| -|============= +|==== The ``Increment'' column indicates the ratio of bit rate against the next lower available rate. A consistent value in this column indicates an even @@ -308,7 +310,7 @@ For cubic and near-cubic blocks, this gives the bit rates in [[astc_footprint_3D]] .ASTC 3D footprint and bit rates [cols="1,1,1,1,1",width="60%"] -|====================== +|==== 3+^| *Block Footprint* .2+^.^| *Bit Rate* .2+^.^| *Increment* ^| *Width* ^| *Height* ^| *Depth* ^| 3 ^| 3 ^| 3 ^| 4.74 ^| 133% @@ -321,7 +323,7 @@ For cubic and near-cubic blocks, this gives the bit rates in ^| 6 ^| 5 ^| 5 ^| 0.85 ^| 120% ^| 6 ^| 6 ^| 5 ^| 0.71 ^| 120% ^| 6 ^| 6 ^| 6 ^| 0.59 ^| -|====================== +|==== The full profile supports only those block footprints listed in <> and <>. Other block sizes are not supported. @@ -338,26 +340,26 @@ Given an image which is _W_ {times} _H_ {times} _D_ pixels in size, with block s _w_ {times} _h_ {times} _d_, the size of the image in blocks is: [latexmath] -++++++++++++++++++++++ +++++ \begin{align*} \textrm{B}_\textrm{w} & = \left\lceil { W \over w } \right\rceil \\ \textrm{B}_\textrm{h} & = \left\lceil { H \over h } \right\rceil \\ \textrm{B}_\textrm{d} & = \left\lceil { D \over d } \right\rceil \end{align*} -++++++++++++++++++++++ +++++ For a 3D image built from 2D slices, each 2D slice is a single texel thick, so that for an image which is _W_ {times} _H_ {times} _D_ pixels in size, with block size _w_ {times} _h_, the size of the image in blocks is: [latexmath] -++++++++++++++++++++++ +++++ \begin{align*} \textrm{B}_\textrm{w} & = \left\lceil { W \over w } \right\rceil \\ \textrm{B}_\textrm{h} & = \left\lceil { H \over h } \right\rceil \\ \textrm{B}_\textrm{d} & = D \end{align*} -++++++++++++++++++++++ +++++ === Block Layout @@ -375,7 +377,7 @@ Each block has the same basic layout, shown in <>. [[astc-block-layout]] .ASTC block layout [width="97%",cols="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"] -|==================== +|==== ^| ~127~ ^| ~126~ ^| ~125~ ^| ~124~ ^| ~123~ ^| ~122~ ^| ~121~ ^| ~120~ ^| ~119~ ^| ~118~ ^| ~117~ ^| ~116~ ^| ~115~ ^| ~114~ ^| ~113~ ^| ~112~ 12+|   Texel weight data (variable width) 4+|   Fill direction latexmath:[$\rightarrow$] ^| ~111~ ^| ~110~ ^| ~109~ ^| ~108~ ^| ~107~ ^| ~106~ ^| ~105~ ^| ~104~ ^| ~103~ ^| ~102~ ^| ~101~ ^| ~100~ ^| ~99~ ^| ~98~ ^| ~97~ ^| ~96~ @@ -392,7 +394,7 @@ Each block has the same basic layout, shown in <>. 4+| 12+|   Extra configuration data ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 3+|   Extra 2+|   Part 11+|   Block mode -|==================== +|==== Since the size of the ``texel weight data'' field is variable, the positions shown for the ``more config data'' field and ``color endpoint @@ -412,12 +414,12 @@ in <> (only the bottom 32 bits are shown). [[astc-single-partition-layout]] .ASTC single-partition block layout [width="97%",cols="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"] -|==================== +|==== ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ 15+|   Color endpoint data ^| CEM ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 3+|   CEM ^| 0 ^| 0 11+|   Block mode -|==================== +|==== CEM is the color endpoint mode field, which determines how the Color Endpoint Data is encoded. @@ -428,12 +430,12 @@ directly below the weight bits, as shown in <>. [[astc-multi-partition-layout]] .ASTC multi-partition block layout [width="97%",cols="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"] -|==================== +|==== ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ 3+| 6+|   CEM 7+|   Partition index ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 3+|   Partition index 2+|   Part 11+|   Block mode -|==================== +|==== The Partition Index field specifies which partition layout to use. CEM is the first 6 bits of color endpoint mode information for the various @@ -469,7 +471,7 @@ and Bits. The details of this encoding can be found in [[astc-weight-range-encodings]] .ASTC weight range encodings [width="97%",cols="1,2,1,1,1,2,1,1,1"] -|==================== +|==== 1.2+^.^| *{rho}^2..0^* 4+^.^| *Low-precision range (_P_=0)* 4+^.^| *High-precision range (_P_=1)* ^.^| *Weight range* ^.^| *Trits* ^.^| *Quints* ^.^| *Bits* ^.^| *Weight range* ^.^| *Trits* ^.^| *Quints* ^.^| *Bits* ^| 000 4+^| Invalid 4+^| Invalid @@ -480,7 +482,7 @@ and Bits. The details of this encoding can be found in ^| 101 ^| 0..4 ^| ^| 1 ^| ^| 0..19 ^| ^| 1 ^| 2 ^| 110 ^| 0..5 ^| 1 ^| ^| 1 ^| 0..23 ^| 1 ^| ^| 3 ^| 111 ^| 0..7 ^| ^| ^| 3 ^| 0..31 ^| ^| ^| 5 -|==================== +|==== For 2D blocks, the Block Mode field is laid out as shown in <>. @@ -488,7 +490,7 @@ For 2D blocks, the Block Mode field is laid out as shown in [[astc-2d-block-mode-layout]] .ASTC 2D block mode layout, weight grid width and height [width="97%",cols="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"] -|==================== +|==== ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 2+^| *W~width~* 2+^| *W~height~* 3+^| *Notes* ^| _D~P~_ ^| _P_ 2+^| _W_ 2+^| _H_ ^| {rho}^0^ ^| 0 ^| 0 ^| {rho}^2^ ^| {rho}^1^ 2+^| _W_+4 2+^| _H_+2 3+| ^| _D~P~_ ^| _P_ 2+^| _W_ 2+^| _H_ ^| {rho}^0^ ^| 0 ^| 1 ^| {rho}^2^ ^| {rho}^1^ 2+^| _W_+8 2+^| _H_+2 3+| @@ -503,7 +505,7 @@ For 2D blocks, the Block Mode field is laid out as shown in ^| x ^| x ^| 1 ^| 1 ^| 1 ^| 1 ^| 1 ^| 1 ^| 1 ^| 0 ^| 0 2+^| - 2+^| - 3+^| Void-extent ^| x ^| x ^| 1 ^| 1 ^| 1 ^| x ^| x ^| x ^| x ^| 0 ^| 0 2+^| - 2+^| - 3+^| Reserved* ^| x ^| x ^| x ^| x ^| x ^| x ^| x ^| 0 ^| 0 ^| 0 ^| 0 2+^| - 2+^| - 3+^| Reserved -|==================== +|==== Note that, due to the encoding of the {rho} field, as described in the previous page, bits {rho}^2^ and {rho}^1^ cannot both be zero, which disambiguates @@ -524,7 +526,7 @@ For 3D blocks, the Block Mode field is laid out as shown in <>. [[astc-color-endpoint-modes]] .ASTC color endpoint modes [cols="2,11,2",options="header",width="55%"] -|==================== +|==== ^| CEM |   Description ^| Class >| 0    |   LDR Luminance, direct ^| 0 >| 1    |   LDR Luminance, base+offset ^| 0 @@ -579,7 +581,7 @@ endpoints. They can be summarized as shown in <>. >| 13    |   LDR _RGBA_, base+offset ^| 3 >| 14    |   HDR _RGB_, direct + LDR Alpha ^| 3 >| 15    |   HDR _RGB_, direct + HDR Alpha ^| 3 -|==================== +|==== In multi-partition mode, the CEM field is of variable width, from 6 to 14 bits. The lowest 2 bits of the CEM field specify how the endpoint mode @@ -588,7 +590,7 @@ for each partition is calculated as shown in <> @@ -608,21 +610,21 @@ and <>. [[astc-multi-partition-color-endpoint-mode-layout]] .ASTC multi-partition color endpoint mode layout [cols="2,1,2,1,1,1,1,1,1,1,1,1",width="90%"] -|==================== +|==== ^| *Part* ^| ^| ^| ~n~ ^| ~m~ ^| ~l~ ^| ~k~ ^| ~j~ ^| ~i~ ^| ~h~ ^| ~g~ ^| ^| 2 ^| ... ^| Weight 2+^| M~1~ 6+| | ... ^| 3 ^| ... ^| Weight 2+^| M~2~ 2+^| M~1~ ^| M~0~ 3+| | ... ^| 4 ^| ... ^| Weight 2+^| M~3~ 2+^| M~2~ 2+^| M~1~ 2+^| M~0~ | ... -|==================== +|==== [[astc-multi-partition-color-endpoint-mode-layout-2]] .ASTC multi-partition color endpoint mode layout (2) [cols="2,1,1,1,1,1,1",width="60%"] -|==================== +|==== ^| *Part* ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| 2 2+^| M~0~ ^| C~1~ ^| C~0~ 2+^| CEM ^| 3 ^| M~0~ ^| C~2~ ^| C~1~ ^| C~0~ 2+^| CEM ^| 4 ^| C~3~ ^| C~2~ ^| C~1~ ^| C~0~ 2+^| CEM -|==================== +|==== In this view, each partition _i_ has two fields. C~_i_~ is the class selector bit, choosing between the two possible CEM classes (0 indicates the @@ -659,22 +661,22 @@ in one of the forms shown in <> and [[astc-range-forms]] .ASTC range forms [options="header",width="65%",cols="2,3,3"] -|==================== +|==== |   Value range |   MSB encoding |   LSB encoding |   latexmath:[$0 \dots 2^n-1$] |   - |   _n_-bit value _m_ (_n_ {leq} 8) |   latexmath:[$0 \dots (3 \times 2^n)-1$] |   Base-3 ``trit'' value _t_ |   _n_-bit value _m_ (_n_ {leq} 6) |   latexmath:[$0 \dots (5 \times 2^n)-1$] |   Base-5 ``quint'' value _q_ |   _n_-bit value _m_ (_n_ {leq} 5) -|==================== +|==== [[astc-range-encodings]] .ASTC encoding for different ranges [options="header",width="60%",cols="4,3,2,5"] -|==================== +|==== |   Value range |   Value |   Block |   Packed block size |   latexmath:[$0 \dots 2^n-1$] |   _m_ |   1 |   _n_ |   latexmath:[$0 \dots (3 \times 2^n)-1$] |   latexmath:[$t \times 2^n + m$] |   5 |   8 {plus} 5 {times} _n_ |   latexmath:[$0 \dots (5 \times 2^n)-1$] |   latexmath:[$q \times 2^n + m$] |   3 |   7 {plus} 3 {times} _n_ -|==================== +|==== Since 3^5^ is 243, it is possible to pack five trits into 8 bits (which has 256 possible values), so a trit can effectively be encoded as 1.6 bits. @@ -706,19 +708,20 @@ block are packed as shown in <> (in this example, _n_ i [[astc-trit-based-packing]] .ASTC trit-based packing [width="80%"] -|=========================================== +|==== 4+^| ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ 4+^| ^| T^7^ 4+^| m~4~ ^| T^6^ ^| T^5^ 4+^| m~3~ ^| T^4^ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 4+^| m~2~ ^| T^3^ ^| T^2^ 4+^| m~1~ ^| T^1^ ^| T^0^ 4+^| m~0~ ^| -|=========================================== +|==== <<< The five trits t~0~ to t~4~ are obtained by bit manipulations of the 8 bits T^7..0^ as follows: ------ +[source] +---- if T[4:2] = 111 C = { T[7:5], T[1:0] }; t4 = t3 = 2 else @@ -734,7 +737,7 @@ else if C[3:2] = 11 t2 = 2; t1 = 2; t0 = C[1:0] else t2 = C[4]; t1 = C[3:2]; t0 = { C[1], C[0]&~C[1] } ------ +---- If the range is encoded using a quint, then each block contains 3 values (v~0~ to v~2~), each of which contains a quint (q~0~ to q~2~) and a corresponding @@ -747,23 +750,24 @@ The bits in the block are packed as described in <> an [[astc-quint-based-packing]] .ASTC quint-based packing [width="20%"] -|=========== +|==== ^| ~18~ ^| ~17~ ^| ~16~ ^| Q^6^ ^| Q^5^ ^| m~2~ -|=========== +|==== [[astc-quint-based-packing-2]] .ASTC quint-based packing (2) [width="80%"] -|=========== +|==== ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 3+^| m~2~ ^| Q^4^ ^| Q^3^ 4+^| m~1~ ^| Q^2^ ^| Q^1^ ^| Q^0^ 4+^| m~0~ -|=========== +|==== The three quints q~0~ to q~2~ are obtained by bit manipulations of the 7 bits Q^6..0^ as follows: ------ +[source] +---- if Q[2:1] = 11 and Q[6:5] = 00 q2 = { Q[0], Q[4]&~Q[0], Q[3]&~Q[0] }; q1 = q0 = 4 else @@ -776,7 +780,7 @@ else q1 = 4; q0 = C[4:3] else q1 = C[4:3]; q0 = C[2:0] ------ +---- Both these procedures ensure a valid decoding for all 128 possible values (even though a few are duplicates). They can also be implemented @@ -814,7 +818,7 @@ range as described in <>. [[astc-color-unquantization-parameters]] .ASTC color unquantization parameters [cols="4,3,4,3,5,6,6,3,8",width="95%",options="header"] -|============ +|==== ^| Range ^| #Trits ^| #Quints ^| #Bits ^| Bit layout ^| ++A++ ^| ++B++ ^| ++C++ ^| ++D++ ^| 0..5 ^| 1 ^| ^| 1 ^| a ^| aaaaaaaaa ^| 000000000 ^| 204 ^| Trit value ^| 0..9 ^| ^| 1 ^| 1 ^| a ^| aaaaaaaaa ^| 000000000 ^| 113 ^| Quint value @@ -827,15 +831,16 @@ range as described in <>. ^| 0..95 ^| 1 ^| ^| 5 ^| edcba ^| aaaaaaaaa ^| edcb000ed ^| 11 ^| Trit value ^| 0..159 ^| ^| 1 ^| 5 ^| edcba ^| aaaaaaaaa ^| edcb0000e ^| 6 ^| Quint value ^| 0..191 ^| 1 ^| ^| 6 ^| fedcba ^| aaaaaaaaa ^| fedcb000f ^| 5 ^| Trit value -|============ +|==== These are then processed as follows: ------ +[source] +---- unq = D * C + B; unq = unq ^ A; unq = (A & 0x80) | (unq >> 2); ------ +---- Note that the multiply in the first line is nearly trivial as it only needs to multiply by 0, 1, 2, 3 or 4. @@ -859,7 +864,7 @@ The methods can be summarized as shown in <>. [[astc-ldr-color-endpoint-modes]] .ASTC LDR color endpoint modes [options="header",cols="2,3,11,1",width="55%"] -|============== +|==== ^| CEM ^| Range |   Description ^| _n_ >| 0   ^| LDR |   Luminance, direct ^| 2 >| 1   ^| LDR |   Luminance, base+offset ^| 2 @@ -877,7 +882,7 @@ The methods can be summarized as shown in <>. >| 13   ^| LDR |   _RGBA_, base+offset ^| 8 >| 14   ^| HDR |   _RGB_ + LDR Alpha ^| 8 >| 15   ^| HDR |   _RGB_ + HDR Alpha ^| 8 -|============== +|==== Mode 14 is special in that the alpha values are interpolated linearly, but the color components are interpolated logarithmically. This is the @@ -888,53 +893,60 @@ Decode the different LDR endpoint modes as follows: ==== Mode 0 LDR Luminance, direct ------ +[source] +---- e0=(v0,v0,v0,0xFF); e1=(v1,v1,v1,0xFF); ------ +---- ==== Mode 1 LDR Luminance, base+offset ------ +[source] +---- L0 = (v0>>2)|(v1&0xC0); L1=L0+(v1&0x3F); if (L1>0xFF) { L1=0xFF; } e0=(L0,L0,L0,0xFF); e1=(L1,L1,L1,0xFF); ------ +---- ==== Mode 4 LDR Luminance+Alpha,direct ------ +[source] +---- e0=(v0,v0,v0,v2); e1=(v1,v1,v1,v3); ------ +---- ==== Mode 5 LDR Luminance+Alpha, base+offset ------ +[source] +---- bit_transfer_signed(v1,v0); bit_transfer_signed(v3,v2); e0=(v0,v0,v0,v2); e1=(v0+v1,v0+v1,v0+v1,v2+v3); clamp_unorm8(e0); clamp_unorm8(e1); ------ +---- ==== Mode 6 LDR _RGB_, base+scale ------ +[source] +---- e0=(v0*v3>>8,v1*v3>>8,v2*v3>>8, 0xFF); e1=(v0,v1,v2,0xFF); ------ +---- ==== Mode 8 LDR _RGB_, Direct ------ +[source] +---- s0= v0+v2+v4; s1= v1+v3+v5; if (s1>=s0){e0=(v0,v2,v4,0xFF); e1=(v1,v3,v5,0xFF); } else { e0=blue_contract(v1,v3,v5,0xFF); e1=blue_contract(v0,v2,v4,0xFF); } ------ +---- ==== Mode 9 LDR _RGB_, base+offset ------ +[source] +---- bit_transfer_signed(v1,v0); bit_transfer_signed(v3,v2); bit_transfer_signed(v5,v4); @@ -944,28 +956,31 @@ else { e0=blue_contract(v0+v1,v2+v3,v4+v5,0xFF); e1=blue_contract(v0,v2,v4,0xFF); } clamp_unorm8(e0); clamp_unorm8(e1); ------ +---- ==== Mode 10 LDR _RGB_, base+scale plus two _A_ ------ +[source] +---- e0=(v0*v3>>8,v1*v3>>8,v2*v3>>8, v4); e1=(v0,v1,v2, v5); ------ +---- ==== Mode 12 LDR _RGBA_, direct ------ +[source] +---- s0= v0+v2+v4; s1= v1+v3+v5; if (s1>=s0){e0=(v0,v2,v4,v6); e1=(v1,v3,v5,v7); } else { e0=blue_contract(v1,v3,v5,v7); e1=blue_contract(v0,v2,v4,v6); } ------ +---- ==== Mode 13 LDR _RGBA_, base+offset ------ +[source] +---- bit_transfer_signed(v1,v0); bit_transfer_signed(v3,v2); bit_transfer_signed(v5,v4); @@ -975,7 +990,7 @@ if(v1+v3+v5>=0) { e0=(v0,v2,v4,v6); else { e0=blue_contract(v0+v1,v2+v3,v4+v5,v6+v7); e1=blue_contract(v0,v2,v4,v6); } clamp_unorm8(e0); clamp_unorm8(e1); ------ +---- The `bit_transfer_signed()` procedure transfers a bit from one value (_a_) to another (_b_). Initially, both _a_ and _b_ are in the range 0..255. @@ -983,7 +998,8 @@ After calling this procedure, _a_'s range becomes -32..31, and _b_ remains in the range 0..255. Note that, as is often the case, this is easier to express in hardware than in C: ------ +[source] +---- bit_transfer_signed(int& a, int& b) { b >>= 1; @@ -992,12 +1008,13 @@ bit_transfer_signed(int& a, int& b) a &= 0x3F; if( (a&0x20)!=0 ) a-=0x40; } ------ +---- The `blue_contract()` procedure is used to give additional precision to _RGB_ colors near gray: ------ +[source] +---- color blue_contract( int r, int g, int b, int a ) { color c; @@ -1007,12 +1024,13 @@ color blue_contract( int r, int g, int b, int a ) c.a = a; return c; } ------ +---- The `clamp_unorm8()` procedure is used to clamp a color into 8-bit unsigned normalized fixed-point range: ------ +[source] +---- void clamp_unorm8(color c) { if(c.r < 0) {c.r=0;} else if(c.r > 255) {c.r=255;} @@ -1020,7 +1038,7 @@ void clamp_unorm8(color c) if(c.b < 0) {c.b=0;} else if(c.b > 255) {c.b=255;} if(c.a < 0) {c.a=0;} else if(c.a > 255) {c.a=255;} } ------ +---- <<< @@ -1034,7 +1052,8 @@ pseudo-logarithmic representation. Mode 2 represents luminance-only data with a large range. It encodes using two values (v~0~, v~1~). The complete decoding procedure is as follows: ------ +[source] +---- if(v1 >= v0) { y0 = (v0 << 4); @@ -1048,7 +1067,7 @@ else // Construct RGBA result (0x780 is 1.0f) e0 = (y0, y0, y0, 0x780); e1 = (y1, y1, y1, 0x780); ------ +---- ==== HDR Endpoint Mode 3 @@ -1059,18 +1078,19 @@ bits for a base luminance value, together with an offset, into two values [[astc-hdr-mode-3-value-layout]] .ASTC HDR mode 3 value layout [width="60%",cols="2h,1,1,1,1,1,1,1,1"] -|===================== +|==== ^| *Value* ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ ^| v~0~ ^| M 7+^| L^6..0^ ^| v~1~ 4+^| X^3..0^ 4+^| d^3..0^ -|===================== +|==== The bit field marked as X allocates different bits to L or d depending on the value of the mode bit M. The complete decoding procedure is as follows: ------ +[source] +---- // Check mode bit and extract. if((v0&0x80) !=0) { @@ -1090,7 +1110,7 @@ if(y1 > 0xFFF) { y1 = 0xFFF; } // Construct RGBA result (0x780 is 1.0f) e0 = (y0, y0, y0, 0x780); e1 = (y1, y1, y1, 0x780); ------ +---- <<< @@ -1103,13 +1123,13 @@ mode bits into the four values (v~0~, v~1~, v~2~, v~3~), as shown in [[astc-hdr-mode-7-value-layout]] .ASTC HDR mode 7 value layout [width="50%",cols="3,1,1,1,1,1,1,1,1"] -|=================== +|==== ^| *Value* ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ ^|v~0~ 2+^|M^3..2^ 6+^| _R_^5..0^ ^|v~1~ ^|M^1^ ^|X^0^ ^|X^1^ 5+^| _G_^4..0^ ^|v~2~ ^|M^0^ ^|X^2^ ^|X^3^ 5+^| _B_^4..0^ ^|v~3~ ^|X^4^ ^|X^5^ ^|X^6^ 5+^| S^4..0^ -|=================== +|==== The mode bits M^0^ to M^3^ are a packed representation of an endpoint bit mode, together with the major component index. For modes 0 to 4, the @@ -1123,7 +1143,7 @@ extra bits X^0^ to X^6^, as shown in <>. [[astc-hdr-mode-7-endpoint-bit-mode]] .ASTC HDR mode 7 endpoint bit mode [width="85%",cols="2h,1,1,1,1,1,2,2,2,2,2,2,2"] -|=============== +|==== | 4+^| *Number of bits* | 7+^| *Destination of extra bits* ^| Mode ^| *_R_* ^| *_G_* ^| *_B_* ^| *S* | ^| *X^0^* ^| *X^1^* ^| *X^2^* ^| *X^3^* ^| *X^4^* ^| *X^5^* ^| *X^6^* ^| 0 ^| 11 ^| 5 ^| 5 ^| 7 ^| ^| _R_^9^ ^| _R_^8^ ^| _R_^7^ ^| _R_^10^ ^| _R_^6^ ^| S^6^ ^| S^5^ @@ -1132,7 +1152,7 @@ extra bits X^0^ to X^6^, as shown in <>. ^| 3 ^| 9 ^| 6 ^| 6 ^| 7 ^| ^| _R_^8^ ^| _G_^5^ ^| _R_^7^ ^| _B_^5^ ^| _R_^6^ ^| S^6^ ^| S^5^ ^| 4 ^| 8 ^| 7 ^| 7 ^| 6 ^| ^| _G_^6^ ^| _G_^5^ ^| _B_^6^ ^| _B_^5^ ^| _R_^6^ ^| _R_^7^ ^| S^5^ ^| 5 ^| 7 ^| 7 ^| 7 ^| 7 ^| ^| _G_^6^ ^| _G_^5^ ^| _B_^6^ ^| _B_^5^ ^| _R_^6^ ^| S^6^ ^| S^5^ -|=============== +|==== As noted before, this appears complex when expressed in C, but much easier to achieve in hardware: bit masking, extraction, shifting @@ -1142,7 +1162,8 @@ The complete decoding procedure is as follows: <<< ------ +[source] +---- // Extract mode bits and unpack to major component and mode. int majcomp; int mode; int modeval = ((v0&0xC0)>>6) | ((v1&0x80)>>5) | ((v2&0x80)>>4); @@ -1204,7 +1225,7 @@ e0.r = clamp( red - scale, 0, 0xFFF ); e0.g = clamp( green - scale, 0, 0xFFF ); e0.b = clamp( blue - scale, 0, 0xFFF ); e0.alpha = 0x780; ------ +---- ==== HDR Endpoint Mode 11 @@ -1216,7 +1237,7 @@ mode bits into the six values (v~0~, v~1~, v~2~, v~3~, v~4~, v~5~) as shown in [[astc-hdr-mode-11-value-layout]] .ASTC HDR mode 11 value layout [cols="3h,1,1,1,1,1,1,1,1",width="50%"] -|====================== +|==== ^| *Value* ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ ^| v~0~ 8+^| a^7..0^ ^| v~1~ ^|m~0~ ^|a^8^ 6+^| c^5..0^ @@ -1224,7 +1245,7 @@ mode bits into the six values (v~0~, v~1~, v~2~, v~3~, v~4~, v~5~) as shown in ^| v~3~ ^|m~2~ ^|X^1^ 6+^| b~1~^5..0^ ^| v~4~ ^|mj~0~ ^|X^2^ ^|X^4^ 5+^| d~0~^4..0^ ^| v~5~ ^|mj~1~ ^|X^3^ ^|X^5^ 5+^| d~1~^4..0^ -|====================== +|==== If the major component bits mj^1..0^ are both 1, then the _RGB_ values are specified directly by <>. @@ -1232,7 +1253,7 @@ are specified directly by <>. [[astc-hdr-mode-11-direct-value-layout]] .ASTC HDR mode 11 direct value layout [cols="3h,1,1,1,1,1,1,1,1",width="50%"] -|=================== +|==== ^| *Value* ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ ^| v~0~ 8+^| _R_~0~^11..4^ ^| v~1~ 8+^| _R_~1~^11..4^ @@ -1240,7 +1261,7 @@ are specified directly by <>. ^| v~3~ 8+^| _G_~1~^11..4^ ^| v~4~ ^| 1 7+^| _B_~0~^11..5^ ^| v~5~ ^| 1 7+^| _B_~1~^11..5^ -|=================== +|==== The mode bits m^2..0^ specify the bit allocation for the different values, and the destinations of the extra bits X^0^ to X^5^ as shown @@ -1249,7 +1270,7 @@ in <>. [[astc-hdr-mode-11-endpoint-bit-mode]] .ASTC HDR mode 11 endpoint bit mode [cols="2h,1,1,1,1,1,2,2,2,2,2,2",width="85%"] -|================= +|==== ^| 4+^| *Number of bits* | 6+^| *Destination of extra bits* ^| Mode ^| *a* ^| *b* ^| *c* ^| *d* ^| ^| *X^0^* ^| *X^1^* ^| *X^2^* ^| *X^3^* ^| *X^4^* ^| *X^5^* ^| 0 ^| 9 ^| 7 ^| 6 ^| 7 ^| ^| b~0~^6^ ^| b~1~^6^ ^| d~0~^6^ ^| d~1~^6^ ^| d~0~^5^ ^| d~1~^5^ @@ -1260,13 +1281,14 @@ in <>. ^| 5 ^| 11 ^| 6 ^| 7 ^| 6 ^| ^| a^9^ ^| a^10^ ^| c^7^ ^| c^6^ ^| d~0~^5^ ^| d~1~^5^ ^| 6 ^| 12 ^| 7 ^| 7 ^| 5 ^| ^| b~0~^6^ ^| b~1~^6^ ^| a^11^ ^| c^6^ ^| a^9^ ^| a^10^ ^| 7 ^| 12 ^| 6 ^| 7 ^| 6 ^| ^| a^9^ ^| a^10^ ^| a^11^ ^| c^6^ ^| d~0~^5^ ^| d~1~^5^ -|================= +|==== The complete decoding procedure is as follows: <<< ------ +[source] +---- // Find major component int majcomp = ((v4 & 0x80) >> 7) | ((v5 & 0x80) >> 6); @@ -1328,7 +1350,7 @@ e0.alpha = 0x780; if( majcomp == 1 ) { swap( e0.r, e0.g ); swap( e1.r, e1.g ); } else if( majcomp == 2 ) { swap( e0.r, e0.b ); swap( e1.r, e1.b ); } ------ +---- ==== HDR Endpoint Mode 14 @@ -1337,14 +1359,15 @@ v~2~, v~3~, v~4~, v~5~, v~6~, v~7~). First, the _RGB_ values are decoded from (v~0~..v~5~) using the method from Mode 11, then the alpha values are filled in from v~6~ and v~7~: ------ +[source] +---- // Decode RGB as for mode 11 (e0,e1) = decode_mode_11(v0,v1,v2,v3,v4,v5) // Now fill in the alphas e0.alpha = v6; e1.alpha = v7; ------ +---- Note that in this mode, the alpha values are interpreted (and interpolated) as 8-bit unsigned normalized values, as in the LDR modes. @@ -1363,15 +1386,16 @@ in <>. [[astc-hdr-mode-15-alpha-value-layout]] .ASTC HDR mode 15 alpha value layout [cols="h,1,1,1,1,1,1,1,1",width="75%"] -|==================== +|==== ^| *Value* ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ ^| v~6~ ^| _M_^0^ 7+^| A^6..0^ ^| v~7~ ^| _M_^1^ 7+^| B^6..0^ -|==================== +|==== The alpha values are decoded from v~6~ and v~7~ as follows: ------ +[source] +---- // Decode RGB as for mode 11 (e0,e1) = decode_mode_11(v0,v1,v2,v3,v4,v5) @@ -1399,7 +1423,7 @@ else v7 = clamp(v7, 0, 0xFFF); e0.alpha = v6; e1.alpha = v7; } ------ +---- Note that in this mode, the alpha values are interpreted (and interpolated) as 12-bit HDR values, and are interpolated as @@ -1442,11 +1466,11 @@ in <>. [[astc-weight-unquantization-values]] .ASTC weight unquantization values [cols="3,1,1,1,1,1",width="40%",options="header"] -|=========== +|==== ^| Range ^| 0 ^| 1 ^| 2 ^| 3 ^| 4 ^| 0..2 ^| 0 ^| 32 ^| 63 ^| - ^| - ^| 0..4 ^| 0 ^| 16 ^| 32 ^| 47 ^| 63 -|=========== +|==== For other values, we calculate the initial inputs to a bit manipulation procedure. These are denoted ++A++ (7 bits), ++B++ (7 bits), ++C++ (7 bits), @@ -1456,22 +1480,23 @@ and ++D++ (3 bits) and are decoded using the range as shown in [[astc-weight-unquantization-parameters]] .ASTC weight unquantization parameters [cols="4,3,4,3,5,6,6,3,8",width="95%",options="header"] -|============ +|==== ^| Range ^| #Trits ^| #Quints ^| #Bits ^| Bit layout ^| ++A++ ^| ++B++ ^| ++C++ ^| ++D++ ^| 0..5 ^| 1 ^| ^| 1 ^| a ^| aaaaaaa ^| 0000000 ^| 50 ^| Trit value ^| 0..9 ^| ^| 1 ^| 1 ^| a ^| aaaaaaa ^| 0000000 ^| 28 ^| Quint value ^| 0..11 ^| 1 ^| ^| 2 ^| ba ^| aaaaaaa ^| b000b0b ^| 23 ^| Trit value ^| 0..19 ^| ^| 1 ^| 2 ^| ba ^| aaaaaaa ^| b0000b0 ^| 13 ^| Quint value ^| 0..23 ^| 1 ^| ^| 3 ^| cba ^| aaaaaaa ^| cb000cb ^| 11 ^| Trit value -|=========== +|==== These are then processed as follows: ------ +[source] +---- unq = D * C + B; unq = unq ^ A; unq = (A & 0x20) | (unq >> 2); ------ +---- Note that the multiply in the first line is nearly trivial as it only needs to multiply by 0, 1, 2, 3 or 4. @@ -1479,9 +1504,10 @@ needs to multiply by 0, 1, 2, 3 or 4. As a final step, for all types of value, the range is expanded from 0..63 up to 0..64 as follows: ------ +[source] +---- if (unq > 32) { unq += 1; } ------ +---- This allows the implementation to use 64 as a divisor during interpolation, which is much easier than using 63. @@ -1502,24 +1528,25 @@ have values from 0 to one less than the block dimension in that axis. For each block dimension, we compute scale factors (_D~s~_, _D~t~_, _D~r~_): [latexmath] -+++++++++++++ +++++ \begin{align*} D_s = \left\lfloor {\left(1024 + \left\lfloor { \textrm{B}_\textrm{s} \over 2 }\right\rfloor\right) \over (\textrm{B}_\textrm{s}-1) } \right\rfloor \\ D_t = \left\lfloor {\left(1024 + \left\lfloor { \textrm{B}_\textrm{t} \over 2 }\right\rfloor\right) \over (\textrm{B}_\textrm{t}-1) } \right\rfloor \\ D_r = \left\lfloor {\left(1024 + \left\lfloor { \textrm{B}_\textrm{r} \over 2 }\right\rfloor\right) \over (\textrm{B}_\textrm{r}-1) } \right\rfloor \end{align*} -+++++++++++++ +++++ Since the block dimensions are constrained, these are easily looked up in a table. These scale factors are then used to scale the (b~s~, b~t~, b~r~) coordinates to a homogeneous coordinate (c~s~, c~t~, c~r~): ------ +[source] +---- cs = Ds * bs; ct = Dt * bt; cr = Dr * br; ------ +---- This homogeneous coordinate (c~s~, c~t~, c~r~) is then scaled again to give a coordinate (g~s~, g~t~, g~r~) in the weight-grid space. @@ -1527,11 +1554,12 @@ The weight-grid is of size (W~width~, W~height~, W~depth~), as specified in the block mode field (<> and <>): ------ +[source] +---- gs = (cs*(Wwidth-1)+32) >> 6; gt = (ct*(Wheight-1)+32) >> 6; gr = (cr*(Wdepth-1)+32) >> 6; ------ +---- The resulting coordinates may be in the range 0..176. These are interpreted as 4:4 unsigned fixed point numbers in the range 0.0 .. 11.0. @@ -1539,24 +1567,26 @@ as 4:4 unsigned fixed point numbers in the range 0.0 .. 11.0. If we label the integral parts of these (j~s~, j~t~, j~r~) and the fractional parts (f~s~, f~t~, f~r~), then: ------ +[source] +---- js = gs >> 4; fs = gs & 0x0F; jt = gt >> 4; ft = gt & 0x0F; jr = gr >> 4; fr = gr & 0x0F; ------ +---- These values are then used to interpolate between the stored weights. This process differs for 2D and 3D. For 2D, bilinear interpolation is used: ------ +[source] +---- v0 = js + jt*Wwidth; p00 = decode_weight(v0); p01 = decode_weight(v0 + 1); p10 = decode_weight(v0 + Wwidth); p11 = decode_weight(v0 + Wwidth + 1); ------ +---- The function `decode_weight(n)` decodes the _n_^th^ weight in the stored weight stream. @@ -1564,13 +1594,14 @@ The values p~00~ to p~11~ are the weights at the corner of the square in which the texel position resides. These are then weighted using the fractional position to produce the effective weight _i_ as follows: ------ +[source] +---- w11 = (fs*ft+8) >> 4; w10 = ft - w11; w01 = fs - w11; w00 = 16 - fs - ft + w11; i = (p00*w00 + p01*w01 + p10*w10 + p11*w11 + 8) >> 4; ------ +---- For 3D, simplex interpolation is used as it is cheaper than a naïve trilinear interpolation. First, we pick some parameters for the interpolation @@ -1580,7 +1611,7 @@ position as shown in <>. [[astc-simplex-interpolation-parameters]] .ASTC simplex interpolation parameters [options="header",width="90%",cols="1,1,1,2,2,1,1,1,1"] -|================== +|==== ^| _f~s~_ > _f~t~_ ^| _f~t~_ > _f~r~_ ^| _f~s~_ > _f~r~_ ^| _s_~1~ ^| _s_~2~ ^| _w_~0~ ^| _w_~1~ ^| _w_~2~ ^| _w_~3~ ^| True ^| True ^| _True_ ^| 1 ^| W~width~ ^| 16 - _f~s~_ ^| _f~s~_ - _f~t~_ ^| _f~t~_ - _f~r~_ ^| _f~r~_ ^| False ^| _True_ ^| True ^| W~width~ ^| 1 ^| 16 - _f~t~_ ^| _f~t~_ - _f~s~_ ^| _f~s~_ - _f~r~_ ^| _f~r~_ @@ -1588,19 +1619,20 @@ position as shown in <>. ^| True ^| _False_ ^| False ^| W~width~ {times} W~height~ ^| 1 ^| 16 - _f~r~_ ^| _f~r~_ - _f~s~_ ^| _f~s~_ - _f~t~_ ^| _f~t~_ ^| _False_ ^| True ^| False ^| W~width~ ^| W~width~ {times} W~height~ ^| 16 - _f~t~_ ^| _f~t~_ - _f~r~_ ^| _f~r~_ - _f~s~_ ^| _f~s~_ ^| False ^| False ^| _False_ ^| W~width~ {times} W~height~ ^| W~width~ ^| 16 - _f~r~_ ^| _f~r~_ - _f~t~_ ^| _f~t~_ - _f~s~_ ^| _f~s~_ -|================== +|==== Italicized test results are implied by the others. The effective weight _i_ is then calculated as: ------ +[source] +---- v0 = js + jt*Wwidth + jr*Wwidth*Wheight; p0 = decode_index(v0); p1 = decode_index(v0 + s1); p2 = decode_index(v0 + s1 + s2); p3 = decode_index(v0 + Wwidth*Wheight + Wwidth + 1); i = (p0*w0 + p1*w1 + p2*w2 + p3*w3 + 8) >> 4; ------ +---- <<< @@ -1616,22 +1648,25 @@ corresponding 8-bit endpoint components C~0~ and C~1~ as follows: If sRGB conversion is not enabled, or for the alpha channel in any case, C~0~ and C~1~ are first expanded to 16 bits by bit replication: ------ +[source] +---- C0 = (C0 << 8) | C0; C1 = (C1 << 8) | C1; ------ +---- If sRGB conversion is enabled, C~0~ and C~1~ for the _R_, _G_, and _B_ channels are expanded to 16 bits differently, as follows: ------ +[source] +---- C0 = (C0 << 8) | 0x80; C1 = (C1 << 8) | 0x80; ------ +---- C~0~ and C~1~ are then interpolated to produce a UNORM16 result C: ------ +[source] +---- C = floor( (C0*(64-i) + C1*i + 32)/64 ) ------ +---- If sRGB conversion is not enabled and the decoding mode is decode_float16, then if C = 65535 the final result is 1.0 (0x3C00); otherwise C is @@ -1646,7 +1681,8 @@ If sRGB conversion is not enabled and the decoding mode is decode_rgb9e5, then the final result is a combination of the (UNORM16) values of C for the three color components (_C~r~_, _C~g~_ and _C~b~_) computed as follows: ------ +[source] +---- int lz = clz17(Cr | Cg | Cb | 1); if (Cr == 65535) { Cr = 65536; lz = 0; } if (Cg == 65535) { Cg = 65536; lz = 0; } @@ -1657,7 +1693,7 @@ Cg = (Cg >> 8) & 0x1FF; Cb = (Cb >> 8) & 0x1FF; uint32_t exponent = 16 - lz; uint32_t texel = (exponent << 27) | (Cb << 18) | Cg << 9) | Cr; ------ +---- The ++clz17()++ function counts leading zeroes in a 17-bit value. @@ -1679,14 +1715,15 @@ are interpolated in the same way as LDR. The 16-bit value C is then decomposed into the top five bits, E, and the bottom 11 bits M, which are then processed and recombined with E to form the final value C~f~: ------ +[source] +---- C = floor( (C0*(64-i) + C1*i + 32)/64 ) E = (C & 0xF800) >> 11; M = C & 0x7FF; if (M < 512) { Mt = 3*M; } else if (M >= 1536) { Mt = 5*M - 2048; } else { Mt = 4*M - 512; } Cf = (E<<10) + (Mt>>3); ------ +---- This interpolation is a considerably closer approximation to a logarithmic space than simple 16-bit interpolation. @@ -1701,7 +1738,8 @@ If the decoding mode is decode_rgb9e5, then the final result is a combination fo the (IEEE FP16) values of C~f~ for the three color components (_C~r~_, _C~g~_ and _C~b~_) computed as follows: ------ +[source] +---- if( Cr > 0x7c00 ) Cr = 0; else if( Cr == 0x7c00 ) Cr = 0x7bff; if( Cg > 0x7c00 ) Cg = 0; else if( Cg == 0x7c00 ) Cg = 0x7bff; if( Cb > 0x7c00 ) Cb = 0; else if( Cb == 0x7c00 ) Cb = 0x7bff; @@ -1749,7 +1787,7 @@ Gm = (Gm >> gshift) & 0x1FF; Bm = (Bm >> bshift) & 0x1FF; uint32_t texel = (expo << 27) | (Bm << 18) | (Gm << 9) | (Rm << 0); ------ +---- <<< @@ -1769,13 +1807,13 @@ Component Selector (CCS) field as shown in <= d ) return 2; else return 3; } ------ +---- As has been observed before, the bit selections are much easier to express in hardware than in C. @@ -1860,7 +1899,8 @@ express in hardware than in C. The seed is expanded using a hash function `hash52()`, which is defined as follows: ------ +[source] +---- uint32_t hash52( uint32_t p ) { p ^= p >> 15; p -= p << 17; p += p << 7; p += p << 4; @@ -1868,7 +1908,7 @@ uint32_t hash52( uint32_t p ) p ^= p << 6; p ^= p >> 17; return p; } ------ +---- This assumes that all operations act on 32-bit values @@ -1878,7 +1918,8 @@ The size of the data used to represent color endpoints is not explicitly specified. Instead, it is determined from the block mode and number of partitions as follows: ------ +[source] +---- config_bits = 17; if(num_partitions>1) if(single_CEM) @@ -1899,7 +1940,7 @@ weight_bits = ceil(num_weights*8*trits_in_weight_range/5) + remaining_bits = 128 - config_bits - weight_bits; num_CEM_pairs = base_CEM_class+1 + count_bits(extra_CEM_bits); ------ +---- The CEM value range is then looked up from a table indexed by remaining bits and `num_CEM_pairs`. @@ -1910,7 +1951,8 @@ remaining bits. An equivalent iterative algorithm would be: ------ +[source] +---- num_CEM_values = num_CEM_pairs*2; for(range = each possible CEM range in descending order of size) @@ -1923,7 +1965,7 @@ for(range = each possible CEM range in descending order of size) break; } return range; ------ +---- In cases where this procedure results in unallocated bits, these bits are not read by the decoding process and can have any value. @@ -1945,7 +1987,7 @@ The layout of a 2D Void-Extent block is as shown in <>. [[astc-3d-void-extend-block-layout-overview]] .ASTC 3D void-extent block layout overview [cols="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1",width="97%"] -|================= +|==== ^| ~127~ ^| ~126~ ^| ~125~ ^| ~124~ ^| ~123~ ^| ~122~ ^| ~121~ ^| ~120~ ^| ~119~ ^| ~118~ ^| ~117~ ^| ~116~ ^| ~115~ ^| ~114~ ^| ~113~ ^| ~112~ 16+^| Block color _A_ component^15..0^ ^| ~111~ ^| ~110~ ^| ~109~ ^| ~108~ ^| ~107~ ^| ~106~ ^| ~105~ ^| ~104~ ^| ~103~ ^| ~102~ ^| ~101~ ^| ~100~ ^| ~99~ ^| ~98~ ^| ~97~ ^| ~96~ @@ -1986,7 +2028,7 @@ The layout of a 3D Void-Extent block is as shown in <>, anchor~3,2~ is <>, anchor~3,3~ is <>, and _part_ is encoded in the partition @@ -513,7 +514,7 @@ using <> with weights from the two-bit index row of [[bptcP2subset]] .Partition table for 2-subset BPTC, with the 4×4 block of values for each partition number [cols="5,5,5,5,1,5,5,5,5,1,5,5,5,5,1,5,5,5,5,1,5,5,5,5,1,5,5,5,5,1,5,5,5,5,1,5,5,5,5",width="97%"] -|================== +|==== 4+^| ~0~ 1.40+| 4+^| ~1~ 1.40+| 4+^| ~2~ 1.40+| 4+^| ~3~ 1.40+| 4+^| ~4~ 1.40+| 4+^| ~5~ 1.40+| 4+^| ~6~ 1.40+| 4+^| ~7~ ^| *_0_* ^| 0 ^| 1 ^| 1 ^| *_0_* ^| 0 ^| 0 ^| 1 ^| *_0_* ^| 1 ^| 1 ^| 1 ^| *_0_* ^| 0 ^| 0 ^| 1 ^| *_0_* ^| 0 ^| 0 ^| 0 ^| *_0_* ^| 0 ^| 1 ^| 1 ^| *_0_* ^| 0 ^| 0 ^| 1 ^| *_0_* ^| 0 ^| 0 ^| 0 ^| 0 ^| 0 ^| 1 ^| 1 ^| 0 ^| 0 ^| 0 ^| 1 ^| 0 ^| 1 ^| 1 ^| 1 ^| 0 ^| 0 ^| 1 ^| 1 ^| 0 ^| 0 ^| 0 ^| 1 ^| 0 ^| 1 ^| 1 ^| 1 ^| 0 ^| 0 ^| 1 ^| 1 ^| 0 ^| 0 ^| 0 ^| 1 @@ -561,12 +562,12 @@ using <> with weights from the two-bit index row of ^| 1 ^| 1 ^| 0 ^| 0 ^| 0 ^| 0 ^| 1 ^| 1 ^| 1 ^| 1 ^| 1 ^| 0 ^| 1 ^| 0 ^| 0 ^| 0 ^| 1 ^| 1 ^| 1 ^| 1 ^| 0 ^| 0 ^| 1 ^| 1 ^| 0 ^| 0 ^| 1 ^| 0 ^| 0 ^| 1 ^| 0 ^| 0 ^| 1 ^| 1 ^| 0 ^| 0 ^| 0 ^| 0 ^| 1 ^| 1 ^| 1 ^| 0 ^| 0 ^| 0 ^| 1 ^| 1 ^| 1 ^| 0 ^| 0 ^| 0 ^| 1 ^| 1 ^| 1 ^| 1 ^| 1 ^| 1 ^| 1 ^| 1 ^| 1 ^| 0 ^| 0 ^| 1 ^| 1 ^| 1 ^| 1 ^| 0 ^| 0 ^| *_1_* ^| 1 ^| 0 ^| 0 ^| *_1_* ^| 0 ^| 0 ^| 0 ^| *_1_* ^| 0 ^| 1 ^| 1 ^| *_1_* ^| 0 ^| 0 ^| 1 ^| *_1_* ^| 0 ^| 0 ^| 0 ^| 0 ^| 1 ^| 1 ^| 1 ^| 0 ^| 0 ^| 1 ^| 1 ^| *_1_* -|================== +|==== [[bptcP3subset]] .Partition table for 3-subset BPTC, with the 4×4 block of values for each partition number [cols="5,5,5,5,1,5,5,5,5,1,5,5,5,5,1,5,5,5,5,1,5,5,5,5,1,5,5,5,5,1,5,5,5,5,1,5,5,5,5",width="97%"] -|=============== +|==== 4+^| ~0~ 1.40+| 4+^| ~1~ 1.40+| 4+^| ~2~ 1.40+| 4+^| ~3~ 1.40+| 4+^| ~4~ 1.40+| 4+^| ~5~ 1.40+| 4+^| ~6~ 1.40+| 4+^| ~7~ ^| *_0_* ^| 0 ^| 1 ^| *_1_* ^| *_0_* ^| 0 ^| 0 ^| *_1_* ^| *_0_* ^| 0 ^| 0 ^| 0 ^| *_0_* ^| 2 ^| 2 ^| *_2_* ^| *_0_* ^| 0 ^| 0 ^| 0 ^| *_0_* ^| 0 ^| 1 ^| *_1_* ^| *_0_* ^| 0 ^| 2 ^| *_2_* ^| *_0_* ^| 0 ^| 1 ^| 1 ^| 0 ^| 0 ^| 1 ^| 1 ^| 0 ^| 0 ^| 1 ^| 1 ^| 2 ^| 0 ^| 0 ^| 1 ^| 0 ^| 0 ^| 2 ^| 2 ^| 0 ^| 0 ^| 0 ^| 0 ^| 0 ^| 0 ^| 1 ^| 1 ^| 0 ^| 0 ^| 2 ^| 2 ^| 0 ^| 0 ^| 1 ^| 1 @@ -614,12 +615,12 @@ using <> with weights from the two-bit index row of ^| 0 ^| *_1_* ^| 1 ^| 0 ^| 0 ^| 0 ^| 1 ^| 1 ^| 1 ^| 1 ^| 2 ^| 2 ^| 0 ^| 0 ^| 0 ^| 0 ^| 0 ^| 0 ^| 0 ^| 1 ^| 1 ^| 2 ^| 2 ^| 2 ^| 2 ^| 2 ^| 2 ^| 2 ^| 2 ^| 0 ^| 1 ^| 1 ^| 2 ^| 2 ^| 2 ^| 2 ^| 0 ^| 0 ^| *_1_* ^| 1 ^| *_1_* ^| 1 ^| 2 ^| 2 ^| 0 ^| 0 ^| 0 ^| 0 ^| 0 ^| 0 ^| 0 ^| 2 ^| 0 ^| 2 ^| 2 ^| 2 ^| 2 ^| 2 ^| 2 ^| 2 ^| *_2_* ^| 2 ^| 0 ^| 1 ^| 2 ^| 2 ^| 2 ^| *_2_* ^| 0 ^| 0 ^| 2 ^| *_2_* ^| 0 ^| 0 ^| 2 ^| *_2_* ^| 2 ^| *_1_* ^| 1 ^| *_2_* ^| 0 ^| 0 ^| 0 ^| *_1_* ^| *_1_* ^| 2 ^| 2 ^| *_2_* ^| 2 ^| 2 ^| 2 ^| *_2_* ^| 2 ^| 2 ^| 2 ^| 0 -|========== +|==== [[bptcA32index]] .BPTC anchor index values for the second subset of three-subset partitioning, by partition number [width="40%"] -|================ +|==== ^| ~0~ ^| ~1~ ^| ~2~ ^| ~3~ ^| ~4~ ^| ~5~ ^| ~6~ ^| ~7~ ^| 3 ^| 3 ^| 15 ^| 15 ^| 8 ^| 3 ^| 15 ^| 15 ^| ~8~ ^| ~9~ ^| ~10~ ^| ~11~ ^| ~12~ ^| ~13~ ^| ~14~ ^| ~15~ @@ -636,12 +637,12 @@ using <> with weights from the two-bit index row of ^| 3 ^| 15 ^| 5 ^| 5 ^| 5 ^| 8 ^| 5 ^| 10 ^| ~56~ ^| ~57~ ^| ~58~ ^| ~59~ ^| ~60~ ^| ~61~ ^| ~62~ ^| ~63~ ^| 5 ^| 10 ^| 8 ^| 13 ^| 15 ^| 12 ^| 3 ^| 3 -|================ +|==== [[bptcA33index]] .BPTC anchor index values for the third subset of three-subset partitioning, by partition number [width="40%"] -|=============== +|==== ^| ~0~ ^| ~1~ ^| ~2~ ^| ~3~ ^| ~4~ ^| ~5~ ^| ~6~ ^| ~7~ ^| 15 ^| 8 ^| 8 ^| 3 ^| 15 ^| 15 ^| 3 ^| 8 ^| ~8~ ^| ~9~ ^| ~10~ ^| ~11~ ^| ~12~ ^| ~13~ ^| ~14~ ^| ~15~ @@ -658,7 +659,7 @@ using <> with weights from the two-bit index row of ^| 15 ^| 3 ^| 15 ^| 15 ^| 15 ^| 15 ^| 15 ^| 15 ^| ~56~ ^| ~57~ ^| ~58~ ^| ~59~ ^| ~60~ ^| ~61~ ^| ~62~ ^| ~63~ ^| 15 ^| 15 ^| 15 ^| 15 ^| 3 ^| 15 ^| 15 ^| 8 -|=============== +|==== ifndef::a2xhtml[] @@ -672,7 +673,7 @@ endif::[] [[bptcA2index]] .BPTC anchor index values for the second subset of two-subset partitioning, by partition number [width="40%"] -|============== +|==== ^| ~0~ ^| ~1~ ^| ~2~ ^| ~3~ ^| ~4~ ^| ~5~ ^| ~6~ ^| ~7~ ^| 15 ^| 15 ^| 15 ^| 15 ^| 15 ^| 15 ^| 15 ^| 15 ^| ~8~ ^| ~9~ ^| ~10~ ^| ~11~ ^| ~12~ ^| ~13~ ^| ~14~ ^| ~15~ @@ -689,7 +690,7 @@ endif::[] ^| 6 ^| 2 ^| 6 ^| 8 ^| 15 ^| 15 ^| 2 ^| 2 ^| ~56~ ^| ~57~ ^| ~58~ ^| ~59~ ^| ~60~ ^| ~61~ ^| ~62~ ^| ~63~ ^| 15 ^| 15 ^| 15 ^| 15 ^| 15 ^| 2 ^| 2 ^| 15 -|============== +|==== ifndef::a2xhtml[] <<< @@ -710,14 +711,14 @@ given in <>. [[BPTCInterpolation]] .BPTC interpolation factors [cols="h,18*",width="85%"] -|========== +|==== .2+^.^| 2 2+^| Index 4+^| ~0~ 4+^| ~1~ 4+^| ~2~ 4+^| ~3~ 2+^| _Weight_ 4+^| 0 4+^| 21 4+^| 43 4+^| 64 .2+^.^| 3 2+^| Index 2+^| ~0~ 2+^| ~1~ 2+^| ~2~ 2+^| ~3~ 2+^| ~4~ 2+^| ~5~ 2+^| ~6~ 2+^| ~7~ 2+^| _Weight_ 2+^| 0 2+^| 9 2+^| 18 2+^| 27 2+^| 37 2+^| 46 2+^| 55 2+^| 64 .2+^.^| 4 2+^| Index ^| ~0~ ^| ~1~ ^| ~2~ ^| ~3~ ^| ~4~ ^| ~5~ ^| ~6~ ^| ~7~ ^| ~8~ ^| ~9~ ^| ~10~ ^| ~11~ ^| ~12~ ^| ~13~ ^| ~14~ ^| ~15~ 2+^| _Weight_ ^| 0 ^| 4 ^| 9 ^| 13 ^| 17 ^| 21 ^| 26 ^| 30 ^| 34 ^| 38 ^| 43 ^| 47 ^| 51 ^| 55 ^| 60 ^| 64 -|========== +|==== // Note: The interpolation formula is not explicitly present in the OpenGL Specification. // Since bit-exact interpolation is mandated by some implementations, the following formula is @@ -729,11 +730,11 @@ as an unsigned integer interpolation factor from <>: [[BPTCinterpolation]] .BPTC endpoint interpolation formula [latexmath] -++++++++++++++ +++++ \begin{align*} \mathit{interpolated\ value} & = ((64 - \mathit{weight}) \times \textit{E}_0 + \mathit{weight} \times \textit{E}_1 + 32) \gg 6 \end{align*} -++++++++++++++ +++++ where latexmath:[$\gg$] performs a (truncating) bitwise right-shift, and _interpolated value_ is an (unsigned) integer in the range [0..255]. @@ -743,12 +744,12 @@ this interpolated color is remapped according to <>. [[BPTCRotation]] .BPTC Rotation bits [cols="h,3",width="20%"] -|============ +|==== ^| 0 ^| no change ^| 1 ^| _swap_(_A_, _R_) ^| 2 ^| _swap_(_A_, _G_) ^| 3 ^| _swap_(_A_, _B_) -|============ +|==== These 8-bit values should be interpreted as _RGBA_ 8-bit normalized channels, either linearly encoded (by multiplying by latexmath:[$1\over 255$]) or @@ -783,7 +784,7 @@ number. Mode numbers not listed in <> [[table-bptcblockmodes]] .Endpoint and partition parameters for BPTC block modes [width="100%",cols="10%,15%,20%,20%,10%,1%,7%,10%,7%"] -|============== +|==== .2+^.^| *Mode number* .2+^.^| *Transformed endpoints* ^.^| *Partition bits (PB)* ^.^| *Endpoint bits (EPB)* ^.^| *Delta bits* 1.16+| ^.^| *Mode* ^.^| *Endpoint* ^.^| *Delta* ^| Bits per texel block 2+^| {_R_,_G_,_B_} bits per endpoint 3+^| Bits per texel block (total) ^| *0* ^| {check} ^| 5 ^| {10, 10, 10} ^| {5, 5, 5} ^| 2 ^| 30 ^| 45 @@ -800,7 +801,7 @@ number. Mode numbers not listed in <> ^| *7* ^| {check} ^| 0 ^| {11, 11, 11} ^| {9, 9, 9} ^| 5 ^| 33 ^| 27 ^| *11* ^| {check} ^| 0 ^| {12, 12, 12} ^| {8, 8, 8} ^| 5 ^| 36 ^| 24 ^| *15* ^| {check} ^| 0 ^| {16, 16, 16} ^| {4, 4, 4} ^| 5 ^| 48 ^| 12 -|============== +|==== The data for the compressed blocks is stored in a different manner for each mode. @@ -828,7 +829,7 @@ The partition number references the first half of <>. [[table-bptcblockformat]] .Block descriptions for BC6H block modes (LSB..MSB) [options="header",cols="3,13",width="85%"] -|=========================== +|==== ^| Mode Number ^| Block description ^.^| 0 ^.^| M^1..0^, _G_~2~^4^, _B_~2~^4^, _B_~3~^4^, _R_~0~^9..0^, _G_~0~^9..0^, _B_~0~^9..0^, _R_~1~^4..0^, _G_~3~^4^, _G_~2~^3..0^, _G_~1~^4..0^, _B_~3~^0^, _G_~3~^3..0^, _B_~1~^4..0^, _B_~3~^1^, _B_~2~^3..0^, @@ -869,7 +870,7 @@ The partition number references the first half of <>. _G_~0~^10..11^, _B_~1~^7..0^, _B_~0~^10..11^ ^.^| 15 ^.^| M^4..0^, _R_~0~^9..0^, _G_~0~^9..0^, _B_~0~^9..0^, _R_~1~^3..0^, _R_~0~^10..15^, _G_~1~^3..0^, _G_~0~^10..15^, _B_~1~^3..0^, _B_~0~^10..15^ -|========================== +|==== Indices are read in the same way as the BC7 formats including obeying the anchor values for index 0 and as needed by <>. @@ -884,7 +885,7 @@ In both cases, index bits are stored in y-major offset order by increasing little-endian bit number, with the bits for each index stored consecutively: [latexmath] -++++++++++++++ +++++ \begin{align*} {\textrm{Bit offset of IB}_{x,y}}^0 &= \begin{cases} 65, & 1\ \textrm{subset},\ x = y = 0 \\ @@ -894,12 +895,12 @@ little-endian bit number, with the bits for each index stored consecutively: 82 + 3 \times (x + 4\times y) - 2, & 2\ \textrm{subsets},\ \textrm{anchor}_2[\mathit{part}] < x + 4\times y \\ \end{cases} \\ \end{align*} -++++++++++++++ +++++ [[table-bptcbc6hbits]] .Interpretation of lower bits for BC6H block modes [width="85%", cols=">1,14*^1"] -|================ +|==== >| 14+^| *Mode* ^| *Bit* | *0* | *1* | *2* | *6* | *10* | *14* | *18* | *22* | *26* | *30* | *3* | *7* | *11* | *15* >| *0*   | M^0^: *0* | M^0^: *1* | M^0^: *0* | M^0^: *0* | M^0^: *0* | M^0^: *0* | M^0^: *0* | M^0^: *0* | M^0^: *0* | M^0^: *0* | M^0^: *1* | M^0^: *1* | M^0^: *1* | M^0^: *1* @@ -943,12 +944,12 @@ little-endian bit number, with the bits for each index stored consecutively: >| *38*   | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ | _R_~1~^3^ >| *39*   | _R_~1~^4^ | _R_~1~^4^ | _R_~1~^4^ | _R_~0~^10^ | _R_~0~^10^ | _R_~1~^4^ | _R_~1~^4^ | _R_~1~^4^ | _R_~1~^4^ | _R_~1~^4^ | _R_~1~^4^ | _R_~1~^4^ | _R_~1~^4^ | _R_~0~^15^ >| *40*   | _G_~3~^4^ | _R_~1~^5^ | _R_~0~^10^ | _G_~3~^4^ | _B_~2~^4^ | _G_~3~^4^ | _R_~1~^5^ | _G_~3~^4^ | _G_~3~^4^ | _R_~1~^5^ | _R_~1~^5^ | _R_~1~^5^ | _R_~1~^5^ | _R_~0~^14^ -|================ +|==== [[table-bptcbc6hbits2]] .Interpretation of upper bits for BC6H block modes [width="80%", cols=">1,14*^1"] -|================ +|==== >| 14+^| *Mode* ^| *Bit* | *0* | *1* | *2* | *6* | *10* | *14* | *18* | *22* | *26* | *30* | *3* | *7* | *11* | *15* >| *41*   | _G_~2~^0^ | _G_~2~^0^ | _G_~2~^0^ | _G_~2~^0^ | _G_~2~^0^ | _G_~2~^0^ | _G_~2~^0^ | _G_~2~^0^ | _G_~2~^0^ | _G_~2~^0^ | _R_~1~^6^ | _R_~1~^6^ | _R_~1~^6^ | _R_~0~^13^ @@ -992,7 +993,7 @@ little-endian bit number, with the bits for each index stored consecutively: >| *79*   | PB^2^ | PB^2^ | PB^2^ | PB^2^ | PB^2^ | PB^2^ | PB^2^ | PB^2^ | PB^2^ | PB^2^ | IB~3,0~^3^ | IB~3,0~^3^ | IB~3,0~^3^ | IB~3,0~^3^ >| *80*   | PB^3^ | PB^3^ | PB^3^ | PB^3^ | PB^3^ | PB^3^ | PB^3^ | PB^3^ | PB^3^ | PB^3^ | IB~0,1~^0^ | IB~0,1~^0^ | IB~0,1~^0^ | IB~0,1~^0^ >| *81*   | PB^4^ | PB^4^ | PB^4^ | PB^4^ | PB^4^ | PB^4^ | PB^4^ | PB^4^ | PB^4^ | PB^4^ | IB~0,1~^1^ | IB~0,1~^1^ | IB~0,1~^1^ | IB~0,1~^1^ -|================ +|==== [NOTE] ==== @@ -1051,7 +1052,8 @@ The following pseudocode assumes the computation uses sufficiently large intermediate values to avoid overflow. For the unsigned float format, we unquantize a value _x_ to _unq_ by: ------ +[source] +---- if (EPB >= 15) unq = x; else if (x == 0) @@ -1060,12 +1062,13 @@ else if (x == ((1 << EPB)-1)) unq = 0xFFFF; else unq = ((x << 15) + 0x4000) >> (EPB-1); ------ +---- The signed float unquantization is similar, but needs to worry about orienting the negative range: ------ +[source] +---- s = 0; if (EPB >= 16) { unq = x; @@ -1085,7 +1088,7 @@ if (EPB >= 16) { if (s) unq = -unq; } ------ +---- After the endpoints are unquantized, interpolation proceeds as in the fixed-point formats above using <>, including the interpolation @@ -1102,9 +1105,10 @@ The bit pattern that represents 65504.0 is integer 0x7BFF, so the integer input range 0..0xFFFF can be mapped to this range by scaling the interpolated integer i by latexmath:[$31\over 64$]: ------ +[source] +---- out = (i * 31) >> 6; ------ +---- For the signed format, the final unquantization step limits the range of the integer representation to the bit sequences which, when interpreted as @@ -1115,9 +1119,10 @@ The signed 16-bit integer range [-0x8000..0x7FFF] is remapped to this float representation by taking the absolute value of the interpolated value i, scaling it by latexmath:[$31\over 32$], and restoring the sign bit: ------ +[source] +---- out = i < 0 ? (((-i) * 31) >> 5) | 0x8000 : (i * 31) >> 5; ------ +---- The resultant bit pattern should be interpreted as a 16-bit half float. diff --git a/colormodels.adoc b/colormodels.adoc index f764f9e..013bd51 100644 --- a/colormodels.adoc +++ b/colormodels.adoc @@ -1,5 +1,5 @@ -// Copyright (c) 2017 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2017-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 [[MODEL_CONVERSION]] == Color models @@ -86,21 +86,21 @@ In the broadcast standards which define these models: Color differences are calculated from the non-linear _Y′_ and color components as: [latexmath] -++++++ +++++ \begin{align*} B'-Y' &= (1-K_B) \times B' - (1-K_R-K_B) \times G' - K_R \times R' \\ R'-Y' &= (1-K_R) \times R' - (1-K_R-K_B) \times G' - K_B \times B' \end{align*} -++++++ +++++ Note that, for _R′_, _G′_, _B′_ in the range [0..1]: [latexmath] -++++++ +++++ \begin{align*} (1-K_B) \geq B'-Y' \geq -(1-K_B) \\ (1-K_R) \geq R'-Y' \geq -(1-K_R) \end{align*} -++++++ +++++ * latexmath:[$(B'-Y')$] scaled appropriately for incorporation into a PAL sub-carrier signal is referred to in <> as _U_; @@ -149,7 +149,7 @@ Note that, for _R′_, _G′_, _B′_ in the range [0..1]: Using this terminology, the following conversion formulae can be derived: [latexmath] -++++++ +++++ \begin{align*} Y' & = K_r \times R' + (1-K_R-K_B) \times G' + K_B \times B' \\ C'_B & = {(B' - Y')\over{2(1-K_B)}} \\ @@ -157,23 +157,23 @@ C'_B & = {(B' - Y')\over{2(1-K_B)}} \\ C'_R & = {(R' - Y')\over{2(1-K_R)}} \\ & = {R'\over{2}} - {{K_B \times B' + (1 - K_R - K_B) \times G'}\over{2(1-K_R)}} \end{align*} -++++++ +++++ <<< For the inverse conversion: [latexmath] -++++++ +++++ \begin{align*} R' & = Y' + 2(1-K_R)\times C'_R \\ B' & = Y' + 2(1-K_B)\times C'_B \end{align*} -++++++ +++++ The formula for _G′_ can be derived by substituting the formulae for _R′_ and _B′_ into the derivation of _Y′_: [latexmath] -++++++ +++++ \begin{align*} Y' = &\ K_R \times R' + (1-K_R-K_B) \times G' + K_B \times B' \\ = &\ K_R \times (Y'+2(1-K_R)\times C'_R) + \\ @@ -184,7 +184,7 @@ Y'\times(1-K_R-K_B) = &\ (1-K_R-K_B)\times G' + \\ &\ K_B\times 2(1-K_B)\times C'_B \\ G' = &\ Y' - {2(K_R(1-K_R)\times C'_R + K_B(1-K_B)\times C'_B)\over{1-K_R-K_B}} \end{align*} -++++++ +++++ The values chosen for _K~R~_ and _K~B~_ vary between standards. @@ -239,16 +239,16 @@ defined in <> and using the <>: [latexmath] -++++++ +++++ \begin{align*} Y' & = 0.2126 \times R' + 0.7152 \times G' + 0.0722 \times B' \\ C'_B & = {(B' - Y')\over{1.8556}} \\ C'_R & = {(R' - Y')\over{1.5748}} \\ \end{align*} -++++++ +++++ Alternatively: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}Y' \\ C'_B \\ C'_R\end{array}\right) = @@ -258,11 +258,11 @@ Alternatively: \left(\begin{array}{c}R'\\ G'\\ B'\end{array}\right)$$ -++++++ +++++ For the inverse conversion: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}R'\\ G'\\ B'\end{array}\right) = @@ -272,7 +272,7 @@ For the inverse conversion: \left(\begin{array}{c}Y'\\ C'_B\\ C'_R\end{array}\right)$$ -++++++ +++++ [[MODEL_BT601]] ==== BT.601 _Y′C~B~C~R~_ conversion @@ -285,16 +285,16 @@ defined in <> or <>: [latexmath] -++++++ +++++ \begin{align*} Y' & = 0.299 \times R' + 0.587 \times G' + 0.114 \times B' \\ C'_B & = {(B' - Y')\over{1.772}} \\ C'_R & = {(R' - Y')\over{1.402}} \\ \end{align*} -++++++ +++++ Alternatively: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}Y' \\ C'_B \\ C'_R\end{array}\right) = @@ -304,11 +304,11 @@ Alternatively: \left(\begin{array}{c}R'\\ G'\\ B'\end{array}\right)$$ -++++++ +++++ For the inverse conversion: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}R'\\ G'\\ B'\end{array}\right) = @@ -318,7 +318,7 @@ For the inverse conversion: \left(\begin{array}{c}Y'\\ C'_B\\ C'_R\end{array}\right)$$ -++++++ +++++ <<< [[MODEL_BT2020]] @@ -332,16 +332,16 @@ defined in <> and using the <>: [latexmath] -++++++ +++++ \begin{align*} Y' & = 0.2627 \times R' + 0.6780 \times G' + 0.0593 \times B' \\ C'_B & = {(B' - Y')\over{1.8814}} \\ C'_R & = {(R' - Y')\over{1.4746}} \\ \end{align*} -++++++ +++++ Alternatively: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}Y' \\ C'_B \\ C'_R\end{array}\right) = @@ -351,11 +351,11 @@ Alternatively: \left(\begin{array}{c}R'\\ G'\\ B'\end{array}\right)$$ -++++++ +++++ For the inverse conversion: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}R'\\ G'\\ B'\end{array}\right) = @@ -365,7 +365,7 @@ For the inverse conversion: \left(\begin{array}{c}Y'\\ C'_B\\ C'_R\end{array}\right)$$ -++++++ +++++ [[MODEL_ST240]] ==== ST-240/SMPTE 240M _Y′C~B~C~R~_ conversion @@ -377,16 +377,16 @@ That is, for conversion using the <>: [latexmath] -++++++ +++++ \begin{align*} Y' & = 0.212 \times R' + 0.701 \times G' + 0.087 \times B' \\ C'_B & = {(B' - Y')\over{1.826}} \\ C'_R & = {(R' - Y')\over{1.576}} \\ \end{align*} -++++++ +++++ Alternatively: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}Y' \\ C'_B \\ C'_R\end{array}\right) = @@ -396,11 +396,11 @@ Alternatively: \left(\begin{array}{c}R'\\ G'\\ B'\end{array}\right)$$ -++++++ +++++ For the inverse conversion: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}R'\\ G'\\ B'\end{array}\right) = @@ -410,7 +410,7 @@ For the inverse conversion: \left(\begin{array}{c}Y'\\ C'_B\\ C'_R\end{array}\right)$$ -++++++ +++++ <<< [[MODEL_YCCBCCRC]] @@ -421,7 +421,7 @@ color representation as an alternative representation to _Y′C~B~C~R~_: [latexmath] -++++++ +++++ \begin{align*} Y'_C & = (0.2627R + 0.6780G + 0.0593B)' \\ C'_\mathit{BC} & = \begin{cases} @@ -431,7 +431,7 @@ C'_\mathit{RC} & = \begin{cases} {{R'-Y'_C}\over{1.7184}}, & -0.8592 \leq R'-Y'_C \leq 0 \\ {{R'-Y'_C}\over{0.9936}}, & 0 < R'-Y'_C \leq 0.4968\end{cases} \end{align*} -++++++ +++++ This terminology follow's BT.2020's convention of describing the continuous values as latexmath:[$Y'_C$], latexmath:[$C'_\mathit{BC}$] and @@ -449,7 +449,7 @@ still encode differences between non-linear values. The inverse transformation can be derived from the above: [latexmath] -++++++ +++++ \begin{align*} B' & = \begin{cases} Y'_C + 1.9404C'_\mathit{BC}, & C'_\mathit{BC} \leq 0 \\ @@ -459,7 +459,7 @@ R' & = \begin{cases} Y'_C + 0.9936C'_\mathit{RC}, & C'_\mathit{RC} > 0\end{cases}\\ G & = Y_C - 0.2627R - 0.0593B \end{align*} -++++++ +++++ NOTE: Performing these calculations requires conversion between a linear representation and a non-linear transfer function during @@ -474,7 +474,7 @@ color representation as an alternative representation to _Y′C~B~C~R~_: [latexmath] -++++++ +++++ \begin{align*} L & = {(1688R + 2146G + 262B)\over{4096}}\\ M & = {(683R + 2951G + 462B)\over{4096}}\\ @@ -492,7 +492,7 @@ I & = 0.5L' + 0.5M'\\ C_T & = {(6610L' - 13613M' + 7003S')\over{4096}}\\ C_P & = {(17933L' - 17390M' - 543S')\over{4096}} \end{align*} -++++++ +++++ Note that the suffix ~D~ indicates that PQ encoding is _display-referred_ and the suffix ~S~ indicates that HLG @@ -502,7 +502,7 @@ display and scene light respectively. To invert this, it can be observed that: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}L' \\ M' \\ S' \end{array}\right) = @@ -561,4 +561,4 @@ To invert this, it can be observed that: \left(\begin{array}{c}L\\ M\\ S\end{array}\right)$$ -++++++ +++++ diff --git a/compformats.adoc b/compformats.adoc index 5c979b3..befd6d8 100644 --- a/compformats.adoc +++ b/compformats.adoc @@ -1,5 +1,5 @@ -// Copyright (c) 2014-2019 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2014-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 include::compintro.adoc[] diff --git a/compintro.adoc b/compintro.adoc index 2a2ab8b..5d6e760 100644 --- a/compintro.adoc +++ b/compintro.adoc @@ -1,3 +1,6 @@ +// Copyright 2014-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + == Compressed Texture Image Formats For computer graphics, a number of texture compression schemes exist diff --git a/conversionintro.adoc b/conversionintro.adoc index 6d89c64..ae42275 100644 --- a/conversionintro.adoc +++ b/conversionintro.adoc @@ -1,7 +1,8 @@ -// Copyright (c) 2019 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2019-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 == Introduction to color conversions + === Color space composition A ``color space'' determines the meaning of decoded numerical @@ -351,8 +352,8 @@ a linear OOTF, then the {_R′~sRGB~_, _G′~sRGB~_, _B′~sRGB~_} should be calculated as: [latexmath] -+++++ +++++ $$\{\mathit{R}'_\mathit{sRGB},\mathit{G}'_\mathit{sRGB},\mathit{B}'_\mathit{sRGB}\} = \textrm{EOTF}^{-1}_{sRGB}(\textrm{OETF}^{-1}_{\mathit{BT}.709} (\{\mathit{R}'_{\mathit{BT}.709},\mathit{G}'_{\mathit{BT}.709},\mathit{B}'_{\mathit{BT}.709}\}))$$ -+++++ +++++ diff --git a/conversions.adoc b/conversions.adoc index 098afba..d24e4e9 100644 --- a/conversions.adoc +++ b/conversions.adoc @@ -1,5 +1,5 @@ -// Copyright (c) 2017 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2017-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 include::conversionintro.adoc[] include::transferfunctions.adoc[] diff --git a/dblatex/df_title.sty b/dblatex/df_title.sty index 3e31770..743514f 100644 --- a/dblatex/df_title.sty +++ b/dblatex/df_title.sty @@ -1,8 +1,7 @@ -% ****************************************************************************** -% *** Copyright (c) 2014-2019 The Khronos Group Inc. -% *** Copyright notice at https://www.khronos.org/registry/speccopyright.html -% *** Cover Page -% ****************************************************************************** +% Copyright 2014-2024 The Khronos Group Inc. +% SPDX-License-Identifier: Apache-2.0 + +% Cover Page \newlength{\oldbaselineskip} diff --git a/df-docinfo.xml b/df-docinfo.xml index 36041eb..74fd442 100644 --- a/df-docinfo.xml +++ b/df-docinfo.xml @@ -1,6 +1,6 @@ @@ -27,7 +27,7 @@ Copyright notice at https://www.khronos.org/registry/speccopyright.html Khronos Data Format Specification License Information -Copyright (C) 2014-2019 The Khronos Group Inc. All Rights Reserved. +Copyright 2014-2024 The Khronos Group Inc. All Rights Reserved. This specification is protected by copyright laws and contains material proprietary to the Khronos Group, Inc. It or any components may not be reproduced, republished, distributed, transmitted, displayed, broadcast, or otherwise exploited in any manner without the express prior written permission of Khronos Group. You may use this specification for implementing the functionality therein, without altering or removing any trademark, copyright or other notice from the specification, but the receipt or possession of this specification does not convey any rights to reproduce, disclose, or distribute its contents, or to manufacture, use, or sell anything that it may describe, in whole or in part. diff --git a/df.adoc b/df.adoc index 34abd78..78fe6d1 100644 --- a/df.adoc +++ b/df.adoc @@ -1,10 +1,12 @@ -// Copyright (c) 2014-2019 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2014-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + ifdef::a2xhtml[] -= Khronos Data Format Specification v1.3.1 = += Khronos Data Format Specification v1.3.1 endif::[] -[abstract] +[abstract] +-- This document describes a data format specification for non-opaque (user-visible) representations of user data to be used by, and shared between, Khronos standards. The intent of this specification is to @@ -16,6 +18,7 @@ allowing formats to be shared and compared. This document also acts as a reference for the memory layout of a number of common compressed texture formats, and describes conversion between a number of common color spaces. +-- // Symbols... :times: × @@ -34,7 +37,7 @@ ifndef::a2xhtml[] = Introduction endif::[] -== Introduction == +== Introduction Many APIs operate on bulk data -- buffers, images, volumes, etc. -- each composed of many elements with a fixed and often simple representation. @@ -96,10 +99,10 @@ and provide a description of the memory layout of a number of common texture compression formats. ifndef::a2xhtml[] -= The Khronos Data Format Descriptor Block += The Khronos Data Format Descriptor Block endif::[] -== Formats and texel access == +== Formats and texel access This document describes a standard layout for a data structure that can be used to define the representation of simple, portable, bulk data. Using such @@ -157,7 +160,8 @@ Taking the simplest case of an array in the C programming language as an example, a developer might define the following structure to represent a color texel: ------ +[source] +---- typedef struct _MyRGB { unsigned char red; unsigned char green; @@ -165,7 +169,7 @@ typedef struct _MyRGB { } MyRGB; MyRGB *myRGBarray = (MyRGB *) malloc(100 * sizeof(MyRGB)); ------ +---- To determine the location of, for example, the tenth element of ++myRGBarray++, the compiler needs to know the base address of @@ -194,7 +198,8 @@ image::images/1DRGBOffset.{svgpdf}[width="{svgpdf@pdf:460pt:720}",align="center" An alternative representation is a ``structure of arrays'', distinct from the ``array of structures'' ++myRGBarray++: ------ +[source] +---- typedef struct _MyRGBSoA { unsigned char *red; unsigned char *green; @@ -205,7 +210,7 @@ MyRGBSoA myRGBSoA; myRGBSoA.red = (unsigned char *) malloc(100); myRGBSoA.green = (unsigned char *) malloc(100); myRGBSoA.blue = (unsigned char *) malloc(100); ------ +---- In this case, accessing a value requires the ++sizeof++ each channel element. @@ -235,14 +240,14 @@ In a simple 2-D representation, the row stride and the offset from the start of the storage can be described as follows: [latexmath] -++++++ +++++ \begin{align*} \textit{row stride}_\textit{pixels} &= \textit{width}_\textit{pixels} + \textit{padding}_\textit{pixels} \\ \textit{row stride}_\textit{bytes} &= \textit{width}_\textit{pixels} \times \textit{pixel stride}_\textit{bytes} + \textit{padding}_\textit{bytes} \\ \textit{offset}_\textit{pixels} &= x + (y \times \textit{rowstride}_\textit{pixels}) \\ \textit{address}_\textit{bytes} &= \textit{base} + (x \times \textit{pixel stride}_\textit{bytes}) + (y \times \textit{row stride}_\textit{bytes}) \end{align*} -++++++ +++++ <<2DLinear>> shows example coordinate byte offsets for a 13{times}4 buffer, padding row stride to a multiple of four elements. @@ -254,10 +259,10 @@ image::images/2DLinearOffsets.{svgpdf}[width="{svgpdf@pdf:350pt:540}",align="cen [[2DLinearMemoryOrder]] .Order of byte storage in memory for coordinates in a linear 5{times}3 buffer, padded (italics) to 8{times}3 [cols="3,24*^",width="100%"] -|============================== +|==== ^| Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 ^| Coords | *0,0* | *1,0* | *2,0* | *3,0* | *4,0* | _5,0_ | _6,0_ | _7,0_ | *0,1* | *1,1* | *2,1* | *3,1* | *4,1* | _5,1_ | _6,1_ | _7,1_ | *0,2* | *1,2* | *2,2* | *3,2* | *4,2* | _5,2_ | _6,2_ | _7,2_ -|============================== +|==== [[2DLinearRGB]] .2D _R_,_G_,_B_ byte offsets (padding in gray) from coordinates for a 4{times}4 image @@ -336,7 +341,7 @@ were an independent, smaller image, and the order of tiles in memory may be as in the linear layout: [latexmath] -++++++ +++++ \begin{align*} \textit{If}\ a\ \%\ b &= a - \left(b\times\left\lfloor{a\over b}\right\rfloor\right), & \textit{texel offset} &= \left(x\ \%\ \textit{tw}\right) @@ -344,31 +349,34 @@ may be as in the linear layout: + \left\lfloor{x\over\textit{tw}}\right\rfloor\times\textit{th}\times\textit{tw} + \left\lfloor{y\over\textit{th}}\right\rfloor\times\textit{th}\times\textit{line stride} \end{align*} -++++++ +++++ This approach can be implemented efficiently in hardware, so long as the tile dimensions are powers of two, by interleaving some bits from the y-coordinate with the bits contributed by the x-coordinate. If ++twb++ = log~2~(_tw_) and ++thb++ = log~2~(_th_): ------ +[source] +---- pixelOffset = (x & ((1 << twb) - 1)) | ((y & ((1 << thb) - 1)) << twb) | ((x & ~((1 << twb) - 1)) << thb) | ((y & ~((1 << thb)-1)) * lineStride); ------ +---- For example, if a linear 16{times}12 image calculates a pixel offset relative to the start of the buffer as: ------ +[source] +---- pixelOffset = x | (y * 16); ------ +---- a 16{times}12 image comprised of 4{times}4 tiles may calculate the pixel offset relative to the start of the buffer as: ------ +[source] +---- pixelOffset = (x & 3) | ((y & 3) << 2) | ((x & ~3) << 2) | ((y & ~3) * 16); ------ +---- [[2DTile4x4]] .4×4 tiled order texel offsets from coordinates (consecutive values linked in red to show the pattern) @@ -399,7 +407,8 @@ One such scheme is Morton order: .Morton order texel offsets from coordinates (consecutive values linked in red) image::images/2DMortonOffsets.{svgpdf}[width="{svgpdf@pdf:350pt:575}",align="center"] ------ +[source] +---- uint32_t mortonOffset(uint32_t x, uint32_t y, uint32_t width, uint32_t height) { @@ -424,7 +433,7 @@ uint32_t mortonOffset(uint32_t x, uint32_t y, offset |= ((x | y) >> shift) << (shift * 2); return offset; } ------ +---- Note that this particular implementation assumes that the smaller of ++width++ and ++height++ is a power of two, and the larger is @@ -440,7 +449,8 @@ space and memory offset, is Hilbert curve order: .Hilbert curve order texel offsets from coordinates (consecutive values linked in red) image::images/2DHilbertOffsets.{svgpdf}[width="{svgpdf@pdf:350pt:575}",align="center"] ------ +[source] +---- uint32_t h(uint32_t size, uint32_t x, uint32_t y) { const uint32_t z = x ^ y; uint32_t offset = 0; @@ -469,7 +479,7 @@ uint32_t hilbertOffset(uint32_t x, uint32_t y, uint32_t width, uint32_t height) if (width < height) return (width * width) * (y / width) + h(width, y % width, x); else return (height * height) * (x / height) + h(height, x % height, y); } ------ +---- This code assumes that the smaller of ++width++ and ++height++ is a power of two, with the larger a multiple of the smaller. @@ -502,11 +512,11 @@ data in separate planes. In a linear layout, 3-dimensional textures can be accessed as: [latexmath] -++++++ +++++ \begin{align*} \textit{address}_\textit{bytes} &= \textit{base} + (x \times \textit{pixel stride}_\textit{bytes}) + (y \times \textit{row stride}_\textit{bytes}) + (z \times \textit{plane stride}_\textit{bytes}) \end{align*} -++++++ +++++ Here, the _plane stride_ is the offset between the start of one contiguous 2-D plane of data and the next. @@ -516,7 +526,8 @@ any additional padding. Again, non-linear approaches can be used to increase the correlation between storage address and coordinates. ------ +[source] +---- uint32_t tileOffset3D(uint32_t x, uint32_t y, uint32_t z, uint32_t twb, uint32_t thb, uint32_t tdb, uint32_t lineStride, uint32_t planeStride) { @@ -530,9 +541,10 @@ uint32_t tileOffset3D(uint32_t x, uint32_t y, uint32_t z, ((y & ~((1 << thb) - 1)) << tdb) * lineStride | ((z & ~((1 << tdb) - 1)) * planeStride); } ------ +---- ------ +[source] +---- uint32_t mortonOffset3D(uint32_t x, uint32_t y, uint32_t z, uint32_t width, uint32_t height, uint32_t depth) { const uint32_t max = width | height | depth; @@ -545,11 +557,12 @@ uint32_t mortonOffset3D(uint32_t x, uint32_t y, uint32_t z, } return offset; } ------ +---- There are multiple 3D variations on the Hilbert curve; one such is this: ------ +[source] +---- uint32_t hilbertOffset3D(uint32_t x, uint32_t y, uint32_t z, uint32_t size) { // "Harmonious" 3D Hilbert curve for cube of power-of-two edge "size": // http://herman.haverkort.net/recursive_tilings_and_space-filling_curves @@ -570,7 +583,7 @@ uint32_t hilbertOffset3D(uint32_t x, uint32_t y, uint32_t z, uint32_t size) { } return offset; } ------ +---- <<< === Downsampled channels @@ -681,13 +694,13 @@ Therefore if we store one byte per channel, the offsets for each plane in a linear representation can be calculated as: [latexmath] -++++++ +++++ \begin{align*} \textit{Y}'_\textit{address} &= \textit{Y}'_\textit{base} + x + (y \times \textit{row stride}_\textit{bytes}) \\ \textit{C}_\textit{B address} &= \textit{C}_\textit{B base} + \left\lfloor{x\over 2}\right\rfloor + \left(\left\lfloor{y\over 2}\right\rfloor\times {{\textit{row stride}_\textit{bytes}}\over 2}\right) \\ \textit{C}_\textit{R address} &= \textit{C}_\textit{R base} + \left\lfloor{x\over 2}\right\rfloor + \left(\left\lfloor{y\over 2}\right\rfloor\times {{\textit{row stride}_\textit{bytes}}\over 2}\right) \end{align*} -++++++ +++++ <<< A description based on downsampling factors is sufficient in the case of @@ -763,7 +776,7 @@ descriptor blocks. [[DescriptorAndDescriptorBlocks]] .Data format descriptor and descriptor blocks [width="75%",cols="1a"] -|============= +|==== ^|_Data format descriptor_ [width="100%",cols="1"] !============= @@ -771,7 +784,7 @@ descriptor blocks. ! _ Descriptor block 2_ !  : !============= -|============= +|==== The diversity of possible data makes a concise description that can support every possible format impractical. @@ -866,23 +879,23 @@ this specification would be that shown in <>. [[yuv420conventional]] .Plane descriptors of a 6{times}4 _Y′C~B~C~R~_-format buffer in a conventional API [cols="2,2,3,3",width="70%",options="header"] -|============================== +|==== ^| Plane ^| Byte offset ^| Byte stride ^| Downsample factor ^| _Y′_ ^| 0 ^| 6 ^| 1{times}1 ^| _C~B~_ ^| 24 ^| 3 ^| 2{times}2 ^| _C~R~_ ^| 30 ^| 3 ^| 2{times}2 -|============================== +|==== [[yuv420thisapi]] .Plane descriptors of a 6{times}4 _Y′C~B~C~R~_-format buffer using this standard [cols="4",width="60%",options="header"] -|============================== +|==== ^| Plane ^| Byte offset ^| Byte stride ^| Bytes per plane ^|_Y′_ plane 1 ^| 0 ^| 12 ^| 2 ^|_Y′_ plane 2 ^| 6 ^| 12 ^| 2 ^|_C~B~_ ^| 24 ^| 3 ^| 1 ^|_C~R~_ ^| 30 ^| 3 ^| 1 -|============================== +|==== NOTE: There is no expectation that an API must actually use this representation in accessing the data: it is simple for an API with @@ -1176,7 +1189,8 @@ Additional information is required to access the image data: For example, if texels are laid out in memory in linear order: ------ +[source] +---- int numPlanes; char *planeBaseAddresses[8]; unsigned int strides[8][4]; @@ -1205,7 +1219,7 @@ decodeTexelGivenCoords(uint32_t *descriptor, float coords[4]) { // decodes the concatenated data according to the descriptor processTexel(descriptor, addresses, coords); } ------ +---- The ++processTexel++ function would typically operate on the coordinates having taken the remainder of dividing them by the texel block size. @@ -1345,7 +1359,8 @@ same channel at multiple locations. A _Y′C~B~C~R~_ buffer with downsampled chroma may have more luma samples than chroma, each at different locations. -== [[dataformatdescriptor]]Khronos Data Format Descriptor == +[[dataformatdescriptor]] +== Khronos Data Format Descriptor The data format descriptor consists of a contiguous area of memory, as shown in <>, divided into one or more @@ -1356,11 +1371,11 @@ The size of the data format descriptor varies according to its content. [[DataFormatDescriptorOverview]] .Data Format Descriptor layout [width="60%",cols="1,2"] -|===================================== +|==== >| *++uint32_t++*   ^|   *_totalSize_* >| _Descriptor block_   ^|   _First descriptor_ >| _Descriptor block_   ^|   _Second descriptor (optional) etc._ -|===================================== +|==== The *_totalSize_* field, measured in bytes, allows the full format descriptor to be copied without need for details of the descriptor to be interpreted. @@ -1404,20 +1419,21 @@ to provide their own means of identifying a data format descriptor if one is embedded in a multi-purpose byte stream. <<< -=== [[descriptorblock]]Descriptor block +[[descriptorblock]] +=== Descriptor block Each _descriptor block_ has the same prefix, shown in <>. [[DescriptorPrefix]] .Descriptor Block layout [cols="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1",width="97%"] -|==================== +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 15+^| *_descriptorType_* 17+^| *_vendorId_* 16+^| *_descriptorBlockSize_* 16+^| *_versionNumber_* 32+^| _Format-specific data_ -|==================== +|==== The *_vendorId_* is a 17-bit value uniquely assigned to organizations. If the organization has a 16-bit identifier assigned by the PCI SIG, @@ -1481,7 +1497,7 @@ format descriptor. [[DataFormatDescriptorHeaderExample]] .Data format descriptor header and descriptor block headers for two descriptor blocks [cols="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1",width="97%"] -|==================== +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize_* @@ -1493,9 +1509,10 @@ format descriptor. 15+^| *_descriptorType_* 17+^| *_vendorId_* 16+^| *_descriptorBlockSize_* 16+^| *_versionNumber_* 32+^| _Descriptor body_ -|==================== +|==== -== [[basicdescriptor]]Khronos Basic Data Format Descriptor Block == +[[basicdescriptor]] +== Khronos Basic Data Format Descriptor Block A _basic descriptor block_ (<>) is designed to encode common metadata associated with bulk data -- especially image or @@ -1518,7 +1535,7 @@ four _Y′_ samples and one sample each of _C~B~_ and _C~R~_. [[BasicDescriptorBlock]] .Basic Data Format Descriptor layout [cols="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1",width="97%"] -|==================== +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 15+^| *_descriptorType_* = 0 17+^| *_vendorId_* = 0 @@ -1529,7 +1546,7 @@ four _Y′_ samples and one sample each of _C~B~_ and _C~R~_. 8+^| *_bytesPlane7_* 8+^| *_bytesPlane6_* 8+^| *_bytesPlane5_* 8+^| *_bytesPlane4_* 32+^| _Sample information for the first sample_ 32+^| _Sample information for the second sample (optional), etc._ -|==================== +|==== The Basic Data Format Descriptor Block should be the first descriptor block in any data format descriptor of which it is a component. @@ -1544,12 +1561,12 @@ block fields: .Field location information for field *_xxx_* [cols="7,10,2"] -|================== +|==== ^| Word offset into basic descriptor block ^| *++KHR_DF_WORD_xxx++* ^| ... ^| Word offset into descriptor ^| *++KHR_DF_WORD_xxx++* {plus} 1 ^| ... ^| Start bit within word ^| *++KHR_DF_SHIFT_xxx++* ^| ... ^| Bit mask of value ^| *++KHR_DF_MASK_xxx++* ^| ... -|================== +|==== If the basic descriptor block is treated as a *++uint32_t++* array ++bdb[]++, field *_xxx_* can be accessed as follows: @@ -1563,24 +1580,24 @@ For example, *++KHR_DFDVAL++*(++bdb++, *++MODEL++*) returns the value: *++KHR_DF_MASK_MODEL++* & (++bdb++[*++KHR_DF_WORD_MODEL++*] >> *++KHR_DF_SHIFT_MODEL++*) <<< -=== *_vendorId_* === +=== *_vendorId_* The *_vendorId_* for the Basic Data Format Descriptor Block is 0, defined as *++KHR_DF_VENDORID_KHRONOS++* in the enum *++khr_df_vendorid_e++*. .Field location information for *_vendorId_* [cols="7,10,3"] -|================== +|==== ^| Word offset into basic descriptor block ^| *++KHR_DF_WORD_VENDORID++* ^| 0 ^| Word offset into descriptor ^| *++KHR_DF_WORD_VENDORID++* {plus} 1 ^| 1 ^| Start bit within word ^| *++KHR_DF_SHIFT_VENDORID++* ^| 0 ^| Bit mask of value ^| *++KHR_DF_MASK_VENDORID++* ^| 0x1FFFFU -|================== +|==== *++khr_df_vendorid_e++* *_vendorId_* = *++KHR_DF_MASK_VENDORID++* & + (++bdb++[*++KHR_DF_WORD_VENDORID++*] >> *++KHR_DF_SHIFT_VENDORID++*); -=== *_descriptorType_* === +=== *_descriptorType_* The *_descriptorType_* for the Basic Data Format Descriptor Block is 0, a value reserved in the enum of Khronos-specific descriptor types, @@ -1588,18 +1605,18 @@ a value reserved in the enum of Khronos-specific descriptor types, .Field location information for *_descriptorType_* [cols="7,10,3"] -|================== +|==== ^| Word offset into basic descriptor block ^| *++KHR_DF_WORD_DESCRIPTORTYPE++* ^| 0 ^| Word offset into descriptor ^| *++KHR_DF_WORD_DESCRIPTORTYPE++* {plus} 1 ^| 1 ^| Start bit within word ^| *++KHR_DF_SHIFT_DESCRIPTORTYPE++* ^| 17 ^| Bit mask of value ^| *++KHR_DF_MASK_DESCRIPTORTYPE++* ^| 0x7FFFU -|================== +|==== *++khr_df_descriptortype_e++* *_descriptorType_* = *++KHR_DF_MASK_DESCRIPTORTYPE++* & + (++bdb++[*++KHR_DF_WORD_DESCRIPTORTYPE++*] >> *++KHR_DF_SHIFT_DESCRIPTORTYPE++*); <<< -=== *_versionNumber_* === +=== *_versionNumber_* The *_versionNumber_* relating to the Basic Data Format Descriptor Block as described in this specification is 2. @@ -1613,17 +1630,17 @@ in later minor updates. .Field location information for *_versionNumber_* [cols="7,10,3"] -|================== +|==== ^| Word offset into basic descriptor block ^| *++KHR_DF_WORD_VERSIONNUMBER++* ^| 1 ^| Word offset into descriptor ^| *++KHR_DF_WORD_VERSIONNUMBER++* {plus} 1 ^| 2 ^| Start bit within word ^| *++KHR_DF_SHIFT_VERSIONNUMBER++* ^| 0 ^| Bit mask of value ^| *++KHR_DF_MASK_VERSIONNUMBER++* ^| 0xFFFFU -|================== +|==== *++uint32_t++* *_versionNumber_* = *++KHR_DF_MASK_VERSIONNUMBER++* & + (++bdb++[*++KHR_DF_WORD_VERSIONNUMBER++*] >> *++KHR_DF_SHIFT_VERSIONNUMBER++*); -=== *_descriptorBlockSize_* === +=== *_descriptorBlockSize_* The memory size of the Basic Data Format Descriptor Block depends on the number of samples contained within it. The memory requirements for this format @@ -1632,19 +1649,19 @@ is measured in bytes. .Field location information for *_descriptorBlockSize_* [cols="7,10,3"] -|================== +|==== ^| Word offset into basic descriptor block ^| *++KHR_DF_WORD_DESCRIPTORBLOCKSIZE++* ^| 1 ^| Word offset into descriptor ^| *++KHR_DF_WORD_DESCRIPTORBLOCKSIZE++* {plus} 1 ^| 2 ^| Start bit within word ^| *++KHR_DF_SHIFT_DESCRIPTORBLOCKSIZE++* ^| 16 ^| Bit mask of value ^| *++KHR_DF_MASK_DESCRIPTORBLOCKSIZE++* ^| 0xFFFFU -|================== +|==== *++uint32_t++* *_descriptorBlockSize_* = *++KHR_DF_MASK_DESCRIPTORBLOCKSIZE++* & + (++bdb++[*++KHR_DF_WORD_DESCRIPTORBLOCKSIZE++*] >> *++KHR_DF_SHIFT_DESCRIPTORBLOCKSIZE++*); <<< [[COLORMODEL]] -=== *_colorModel_* === +=== *_colorModel_* The *_colorModel_* determines the set of color (or other data) channels which may be encoded within the data, though there is no requirement that all @@ -1659,12 +1676,12 @@ and are represented as an unsigned 8-bit value. .Field location information for *_colorModel_* [cols="7,10,2"] -|================== +|==== ^| Word offset into basic descriptor block ^| *++KHR_DF_WORD_MODEL++* ^| 2 ^| Word offset into descriptor ^| *++KHR_DF_WORD_MODEL++* {plus} 1 ^| 3 ^| Start bit within word ^| *++KHR_DF_SHIFT_MODEL++* ^| 0 ^| Bit mask of value ^| *++KHR_DF_MASK_MODEL++* ^| 0xFF -|================== +|==== *++khr_df_model_e++* *_colorModel_* = *++KHR_DF_MASK_MODEL++* & + (++bdb++[*++KHR_DF_WORD_MODEL++*] >> *++KHR_DF_SHIFT_MODEL++*); @@ -1683,7 +1700,7 @@ obligated to represent alpha in any way in channel number 15. The value of each enumerant is shown in parentheses following the enumerant name. -==== *++KHR_DF_MODEL_UNSPECIFIED++* (= 0) ==== +==== *++KHR_DF_MODEL_UNSPECIFIED++* (= 0) When the data format is unknown or does not fall into a predefined category, utilities which perform automatic conversion based on an @@ -1708,7 +1725,7 @@ model, with an extension block describing the interpretation of each channel. <<< -==== *++KHR_DF_MODEL_RGBSDA++* (= 1) ==== +==== *++KHR_DF_MODEL_RGBSDA++* (= 1) This color model represents additive colors of three channels, nominally red, green and blue, supplemented by channels for @@ -1721,7 +1738,7 @@ data makes sense. [[RGBSDAChannels]] .Basic Data Format _RGBSDA_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_RGBSDA_RED++* |   Red ^| 1 2+|   *++KHR_DF_CHANNEL_RGBSDA_GREEN++* |   Green @@ -1729,14 +1746,14 @@ data makes sense. ^| 13 2+|   *++KHR_DF_CHANNEL_RGBSDA_STENCIL++* |   Stencil ^| 14 2+|   *++KHR_DF_CHANNEL_RGBSDA_DEPTH++* |   Depth ^| 15 2+|   *++KHR_DF_CHANNEL_RGBSDA_ALPHA++* |   Alpha (opacity) -|================================ +|==== Portable representation of additive colors with more than three primaries requires an extension to describe the full color space of the channels present. There is no practical way to do this portably without taking significantly more space. -==== *++KHR_DF_MODEL_YUVSDA++* (= 2) ==== +==== *++KHR_DF_MODEL_YUVSDA++* (= 2) This color model represents color differences with three channels, nominally luma (_Y′_) and two color-difference chroma channels, @@ -1756,7 +1773,7 @@ a reason to do otherwise. [[YUVSDAChannels]] .Basic Data Format _YUVSDA_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_YUVSDA_Y++* |   _Y_/_Y′_ (luma/luminance) ^| 1 2+|   *++KHR_DF_CHANNEL_YUVSDA_CB++* |   _C~B~_ (alias for _U_) @@ -1766,7 +1783,7 @@ a reason to do otherwise. ^| 13 2+|   *++KHR_DF_CHANNEL_YUVSDA_STENCIL++* |   Stencil ^| 14 2+|   *++KHR_DF_CHANNEL_YUVSDA_DEPTH++* |   Depth ^| 15 2+|   *++KHR_DF_CHANNEL_YUVSDA_ALPHA++* |   Alpha (opacity) -|================================ +|==== NOTE: Terminology for this color model is often abused. This model is based on the idea of creating a representation of monochrome light intensity as a @@ -1778,7 +1795,7 @@ derived, _Y′C~B~C~R~_ is more formally used to describe the representation of these color differences. See <> for more detail. <<< -==== *++KHR_DF_MODEL_YIQSDA++* (= 3) ==== +==== *++KHR_DF_MODEL_YIQSDA++* (= 3) This color model represents color differences with three channels, nominally luma (_Y_) and two color-difference chroma channels, _I_ and _Q_, @@ -1790,7 +1807,7 @@ _I_ and _Q_ are derived from _C~B~_ and _C~R~_ by a 33-degree rotation. [[YIQSDAChannels]] .Basic Data Format _YIQSDA_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_YIQSDA_Y++* |   _Y_ (luma) ^| 1 2+|   *++KHR_DF_CHANNEL_YIQSDA_I++* |   _I_ (in-phase) @@ -1798,9 +1815,9 @@ _I_ and _Q_ are derived from _C~B~_ and _C~R~_ by a 33-degree rotation. ^| 13 2+|   *++KHR_DF_CHANNEL_YIQSDA_STENCIL++* |   Stencil ^| 14 2+|   *++KHR_DF_CHANNEL_YIQSDA_DEPTH++* |   Depth ^| 15 2+|   *++KHR_DF_CHANNEL_YIQSDA_ALPHA++* |   Alpha (opacity) -|================================ +|==== -==== *++KHR_DF_MODEL_LABSDA++* (= 4) ==== +==== *++KHR_DF_MODEL_LABSDA++* (= 4) This color model represents the ICC perceptually-uniform _L*a*b*_ color space, combined with the option of an alpha channel, as @@ -1809,7 +1826,7 @@ shown in <>. [[LABSDAChannels]] .Basic Data Format _LABSDA_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_LABSDA_L++* |   _L_* (luma) ^| 1 2+|   *++KHR_DF_CHANNEL_LABSDA_A++* |   _a_* @@ -1817,9 +1834,9 @@ shown in <>. ^| 13 2+|   *++KHR_DF_CHANNEL_LABSDA_STENCIL++* |   Stencil ^| 14 2+|   *++KHR_DF_CHANNEL_LABSDA_DEPTH++* |   Depth ^| 15 2+|   *++KHR_DF_CHANNEL_LABSDA_ALPHA++* |   Alpha (opacity) -|================================ +|==== -==== *++KHR_DF_MODEL_CMYKA++* (= 5) ==== +==== *++KHR_DF_MODEL_CMYKA++* (= 5) This color model represents secondary (subtractive) colors and the combined key (black) channel, along with alpha, as shown in @@ -1828,17 +1845,17 @@ the combined key (black) channel, along with alpha, as shown in [[CMYKAChannels]] .Basic Data Format _CMYKA_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_CMYKA_CYAN++* |   Cyan ^| 1 2+|   *++KHR_DF_CHANNEL_CMYKA_MAGENTA++* |   Magenta ^| 2 2+|   *++KHR_DF_CHANNEL_CMYKA_YELLOW++* |   Yellow ^| 3 2+|   *++KHR_DF_CHANNEL_CMYKA_KEY++* |   Key/Black ^| 15 2+|   *++KHR_DF_CHANNEL_CMYKA_ALPHA++* |   Alpha (opacity) -|================================ +|==== <<< -==== *++KHR_DF_MODEL_XYZW++* (= 6) ==== +==== *++KHR_DF_MODEL_XYZW++* (= 6) This ``color model'' represents channel data used for coordinate values, as shown in <> -- @@ -1851,15 +1868,15 @@ of the *_channelType_* field. [[XYZWChannels]] .Basic Data Format _XYZW_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_XYZW_X++* |   _X_ ^| 1 2+|   *++KHR_DF_CHANNEL_XYZW_Y++* |   _Y_ ^| 2 2+|   *++KHR_DF_CHANNEL_XYZW_Z++* |   _Z_ ^| 3 2+|   *++KHR_DF_CHANNEL_XYZW_W++* |   _W_ -|================================ +|==== -==== *++KHR_DF_MODEL_HSVA_ANG++* (= 7) ==== +==== *++KHR_DF_MODEL_HSVA_ANG++* (= 7) This color model represents color differences with three channels, _value_ (luminance or luma), _saturation_ (distance from monochrome) @@ -1871,15 +1888,15 @@ wheel. [[HSVAAngChannels]] .Basic Data Format angular _HSVA_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_HSVA_ANG_VALUE++* |   _V_ (value) ^| 1 2+|   *++KHR_DF_CHANNEL_HSVA_ANG_SATURATION++* |   _S_ (saturation) ^| 2 2+|   *++KHR_DF_CHANNEL_HSVA_ANG_HUE++* |   _H_ (hue) ^| 15 2+|   *++KHR_DF_CHANNEL_HSVA_ANG_ALPHA++* |   Alpha (opacity) -|================================ +|==== -==== *++KHR_DF_MODEL_HSLA_ANG++* (= 8) ==== +==== *++KHR_DF_MODEL_HSLA_ANG++* (= 8) This color model represents color differences with three channels, _lightness_ (maximum intensity), _saturation_ (distance from monochrome) @@ -1891,16 +1908,16 @@ wheel. [[HSLAAngChannels]] .Basic Data Format angular _HSLA_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_HSLA_ANG_LIGHTNESS++* |   _L_ (lightness) ^| 1 2+|   *++KHR_DF_CHANNEL_HSLA_ANG_SATURATION++* |   _S_ (saturation) ^| 2 2+|   *++KHR_DF_CHANNEL_HSLA_ANG_HUE++* |   _H_ (hue) ^| 15 2+|   *++KHR_DF_CHANNEL_HSLA_ANG_ALPHA++* |   Alpha (opacity) -|================================ +|==== <<< -==== *++KHR_DF_MODEL_HSVA_HEX++* (= 9) ==== +==== *++KHR_DF_MODEL_HSVA_HEX++* (= 9) This color model represents color differences with three channels, _value_ (luminance or luma), _saturation_ (distance from monochrome) @@ -1912,15 +1929,15 @@ extremes on a color hexagon. [[HSVAHexChannels]] .Basic Data Format hexagonal _HSVA_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_HSVA_HEX_VALUE++* |   _V_ (value) ^| 1 2+|   *++KHR_DF_CHANNEL_HSVA_HEX_SATURATION++* |   _S_ (saturation) ^| 2 2+|   *++KHR_DF_CHANNEL_HSVA_HEX_HUE++* |   _H_ (hue) ^| 15 2+|   *++KHR_DF_CHANNEL_HSVA_HEX_ALPHA++* |   Alpha (opacity) -|================================ +|==== -==== *++KHR_DF_MODEL_HSLA_HEX++* (= 10) ==== +==== *++KHR_DF_MODEL_HSLA_HEX++* (= 10) This color model represents color differences with three channels, _lightness_ (maximum intensity), _saturation_ (distance from monochrome) @@ -1932,15 +1949,15 @@ extremes on a color hexagon. [[HSLAHexChannels]] .Basic Data Format hexagonal _HSLA_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_HSLA_HEX_LIGHTNESS++* |   _L_ (lightness) ^| 1 2+|   *++KHR_DF_CHANNEL_HSLA_HEX_SATURATION++* |   _S_ (saturation) ^| 2 2+|   *++KHR_DF_CHANNEL_HSLA_HEX_HUE++* |   _H_ (hue) ^| 15 2+|   *++KHR_DF_CHANNEL_HSLA_HEX_ALPHA++* |   Alpha (opacity) -|================================ +|==== -==== *++KHR_DF_MODEL_YCGCOA++* (= 11) ==== +==== *++KHR_DF_MODEL_YCGCOA++* (= 11) This color model represents low-cost approximate color differences with three channels, nominally luma (_Y_) and two color-difference chroma channels, @@ -1950,16 +1967,16 @@ supplemented by a channel for alpha, as shown in <>. [[YCoCgAChannels]] .Basic Data Format _YCoCgA_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_YCGCOA_Y++* |   _Y_ ^| 1 2+|   *++KHR_DF_CHANNEL_YCGCOA_CG++* |   _Cg_ ^| 2 2+|   *++KHR_DF_CHANNEL_YCGCOA_CO++* |   _Co_ ^| 15 2+|   *++KHR_DF_CHANNEL_YCGCOA_ALPHA++* |   Alpha (opacity) -|================================ +|==== <<< -==== *++KHR_DF_MODEL_YCCBCCRC++* (= 12) ==== +==== *++KHR_DF_MODEL_YCCBCCRC++* (= 12) This color model represents the ``Constant luminance'' latexmath:[$Y'_CC'_\mathit{BC}C'_\mathit{RC}$] color model defined as an @@ -1968,7 +1985,7 @@ optional representation in ITU-T BT.2020 and described in <>. [[YCBCCRCChannels]] .Basic Data Format _Y′~C~C′~BC~C′~RC~_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_YCCBCCRC_YC++* |   latexmath:[$Y'_C$] (luminance) ^| 1 2+|   *++KHR_DF_CHANNEL_YCCBCCRC_CBC++* |   latexmath:[$C'_\mathit{BC}$] @@ -1976,9 +1993,9 @@ optional representation in ITU-T BT.2020 and described in <>. ^| 13 2+|   *++KHR_DF_CHANNEL_YCCBCCRC_STENCIL++* |   Stencil ^| 14 2+|   *++KHR_DF_CHANNEL_YCCBCCRC_DEPTH++* |   Depth ^| 15 2+|   *++KHR_DF_CHANNEL_YCCBCCRC_ALPHA++* |   Alpha (opacity) -|================================ +|==== -==== *++KHR_DF_MODEL_ICTCP++* (= 13) ==== +==== *++KHR_DF_MODEL_ICTCP++* (= 13) This color model represents the ``Constant intensity _IC~T~C~P~_ color model'' defined as an optional @@ -1987,7 +2004,7 @@ representation in ITU-T BT.2100 and described in <>. [[ICTCPChannels]] .Basic Data Format _IC~T~C~P~_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_ICTCP_I++* |   _I_ (intensity) ^| 1 2+|   *++KHR_DF_CHANNEL_ICTCP_CT++* |   _C~T~_ @@ -1995,10 +2012,10 @@ representation in ITU-T BT.2100 and described in <>. ^| 13 2+|   *++KHR_DF_CHANNEL_ICTCP_STENCIL++* |   Stencil ^| 14 2+|   *++KHR_DF_CHANNEL_ICTCP_DEPTH++* |   Depth ^| 15 2+|   *++KHR_DF_CHANNEL_ICTCP_ALPHA++* |   Alpha (opacity) -|================================ +|==== <<< -==== *++KHR_DF_MODEL_CIEXYZ++* (= 14) ==== +==== *++KHR_DF_MODEL_CIEXYZ++* (= 14) This color model represents channel data used to describe color coordinates in the <> coordinate @@ -2007,14 +2024,14 @@ space, as shown in <>. [[CIEXYZChannels]] .Basic Data Format CIE _XYZ_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_CIEXYZ_X++* |   _X_ ^| 1 2+|   *++KHR_DF_CHANNEL_CIEXYZ_Y++* |   _Y_ ^| 2 2+|   *++KHR_DF_CHANNEL_CIEXYZ_Z++* |   _Z_ -|================================ +|==== -==== *++KHR_DF_MODEL_CIEXYY++* (= 15) ==== +==== *++KHR_DF_MODEL_CIEXYY++* (= 15) This color model represents channel data used to describe chromaticity coordinates in the <> coordinate @@ -2023,16 +2040,16 @@ space, as shown in <>. [[CIEXYYChannels]] .Basic Data Format CIE _xyY_ channels [width="100%",options="header"] -|================================ +|==== ^| Channel number 2+|   Name |   Description ^| 0 2+|   *++KHR_DF_CHANNEL_CIEXYZ_X++* |   _x_ ^| 1 2+|   *++KHR_DF_CHANNEL_CIEXYZ_YCHROMA++* |   _y_ ^| 2 2+|   *++KHR_DF_CHANNEL_CIEXYZ_YLUMA++* |   _Y_ -|================================ +|==== <<< [[CompressedFormatModels]] -=== *_colorModel_* for compressed formats === +=== *_colorModel_* for compressed formats A number of compressed formats are supported as part of *++khr_df_model_e++*. In general, these formats will have the texel block dimensions of the @@ -2068,7 +2085,7 @@ Example descriptors for compressed formats are provided after each model in this section. <<< -==== *++KHR_DF_MODEL_DXT1A++*/*++KHR_DF_MODEL_BC1A++* (= 128) ==== +==== *++KHR_DF_MODEL_DXT1A++*/*++KHR_DF_MODEL_BC1A++* (= 128) This model represents the DXT1 or BC1 format, described in <>. @@ -2088,7 +2105,7 @@ Enumerant names for these channel ids are listed in <>. [[bc1_channels]] .BC1A channel names [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_DXT1A_COLOR++* 1.2+^.^| 0 ^| *++KHR_DF_CHANNEL_BC1A_COLOR++* @@ -2096,13 +2113,13 @@ Enumerant names for these channel ids are listed in <>. ^| *++KHR_DF_CHANNEL_DXT1A_ALPHA++* ^| *++KHR_DF_CHANNEL_BC1A_ALPHAPRESENT++* ^| *++KHR_DF_CHANNEL_BC1A_ALPHA++* -|==================== +|==== <<< [[dxt1a_example_noalpha]] .Example DXT1A descriptor with no punch-through alpha [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2119,12 +2136,12 @@ Enumerant names for these channel ids are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== [[dxt1a_example_alpha]] .Example DXT1A descriptor with punch-through alpha [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2141,10 +2158,10 @@ Enumerant names for these channel ids are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< -==== *++KHR_DF_MODEL_DXT2++*/*++3++*/*++KHR_DF_MODEL_BC2++* (= 129) ==== +==== *++KHR_DF_MODEL_DXT2++*/*++3++*/*++KHR_DF_MODEL_BC2++* (= 129) This model represents the DXT2/3 format, also known as BC2, and described in <>. @@ -2161,7 +2178,7 @@ Enumerant names for these channel ids are listed in <>. [[bc2_channels]] .BC2 channel names [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_DXT2_COLOR++* 1.3+^.^| 0 ^| *++KHR_DF_CHANNEL_DXT3_COLOR++* @@ -2169,7 +2186,7 @@ Enumerant names for these channel ids are listed in <>. ^| *++KHR_DF_CHANNEL_DXT2_ALPHA++* 1.3+^.^| 15 ^| *++KHR_DF_CHANNEL_DXT3_ALPHA++* ^| *++KHR_DF_CHANNEL_BC2_ALPHA++* -|==================== +|==== The alpha channel is 64 bits and at offset 0; the color channel is 64 bits and at offset 64. @@ -2179,7 +2196,7 @@ requires the whole texel block. .Example DXT2 descriptor (premultiplied alpha) [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 60 @@ -2202,12 +2219,12 @@ requires the whole texel block. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< .Example DXT3 descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 60 @@ -2230,10 +2247,10 @@ requires the whole texel block. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< -==== *++KHR_DF_MODEL_DXT4++*/*++5++*/*++KHR_DF_MODEL_BC3++* (= 130) ==== +==== *++KHR_DF_MODEL_DXT4++*/*++5++*/*++KHR_DF_MODEL_BC3++* (= 130) This model represents the DXT4/5 format, also known as BC3, and described in <>. @@ -2250,7 +2267,7 @@ Enumerant names for these channel ids are listed in <>. [[bc3_channels]] .BC3 channel names [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_DXT4_COLOR++* 1.3+^.^| 0 ^| *++KHR_DF_CHANNEL_DXT5_COLOR++* @@ -2258,7 +2275,7 @@ Enumerant names for these channel ids are listed in <>. ^| *++KHR_DF_CHANNEL_DXT4_ALPHA++* 1.3+^.^| 15 ^| *++KHR_DF_CHANNEL_DXT5_ALPHA++* ^| *++KHR_DF_CHANNEL_BC3_ALPHA++* -|==================== +|==== The alpha channel is 64 bits and at offset 0; the color channel is 64 bits and at offset 64. @@ -2268,7 +2285,7 @@ requires the whole texel block. .Example DXT4 descriptor (premultiplied alpha) [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 60 @@ -2291,12 +2308,12 @@ requires the whole texel block. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< .Example DXT5 descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 60 @@ -2319,10 +2336,10 @@ requires the whole texel block. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< -==== *++KHR_DF_MODEL_BC4++* (= 131) ==== +==== *++KHR_DF_MODEL_BC4++* (= 131) This model represents the Direct3D BC4 format for single-channel interpolated 8-bit data, as described in <>. @@ -2336,14 +2353,14 @@ The enumerant name for this channel id is listed in <>. [[bc4_channel]] .BC4 channel name [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_BC4_DATA++* ^| 0 -|==================== +|==== .Example BC4 unsigned descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2360,11 +2377,11 @@ The enumerant name for this channel id is listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== .Example BC4 signed descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2381,10 +2398,10 @@ The enumerant name for this channel id is listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* *++INT32_MIN++* 32+^| *_sampleUpper:_* *++INT32_MAX++* -|================================ +|==== <<< -==== *++KHR_DF_MODEL_BC5++* (= 132) ==== +==== *++KHR_DF_MODEL_BC5++* (= 132) This model represents the Direct3D BC5 format for dual-channel interpolated 8-bit data, as described in <>. @@ -2401,17 +2418,17 @@ Enumerant names for these channel ids are listed in <>. [[bc5_channels]] .BC5 channel names [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_BC5_RED++* 1.2+^.^| 0 ^| *++KHR_DF_CHANNEL_BC5_R++* ^| *++KHR_DF_CHANNEL_BC5_GREEN++* 1.2+^.^| 1 ^| *++KHR_DF_CHANNEL_BC5_G++* -|==================== +|==== .Example BC5 unsigned descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 60 @@ -2434,12 +2451,12 @@ Enumerant names for these channel ids are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< .Example BC5 signed descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 60 @@ -2462,7 +2479,7 @@ Enumerant names for these channel ids are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* *++INT32_MIN++* 32+^| *_sampleUpper:_* *++INT32_MAX++* -|================================ +|==== <<< A legacy variant of this format known as ``ATI2n'' or ``3Dc'' swaps @@ -2470,7 +2487,7 @@ the location of the two channels, and can be encoded as follows: .Example ATI2n unsigned descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 60 @@ -2493,10 +2510,10 @@ the location of the two channels, and can be encoded as follows: 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< -==== *++KHR_DF_MODEL_BC6H++* (= 133) ==== +==== *++KHR_DF_MODEL_BC6H++* (= 133) This model represents the Direct3D BC6H format for _RGB_ floating-point data, as described in <>. @@ -2511,16 +2528,16 @@ The enumerant names for this channel id are listed in <>. [[bc6h_channel]] .BC6H channel names [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_BC6H_COLOR++* 1.2+^.^| 0 ^| *++KHR_DF_CHANNEL_BC6H_DATA++* -|==================== +|==== [[example_bc6h]] .Example BC6H signed descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2537,13 +2554,13 @@ The enumerant names for this channel id are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0xBF800000U -- -1.0f 32+^| *_sampleUpper:_* 0x7F800000U -- 1.0f -|================================ +|==== <<< [[example_bc6hu]] .Example BC6H unsigned descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2560,10 +2577,10 @@ The enumerant names for this channel id are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0xBF800000U -- -1.0f 32+^| *_sampleUpper:_* 0x7F800000U -- 1.0f -|================================ +|==== <<< -==== *++KHR_DF_MODEL_BC7++* (= 134) ==== +==== *++KHR_DF_MODEL_BC7++* (= 134) This model represents the Direct3D BC7 format for _RGBA_ data, as described in <>. @@ -2578,16 +2595,16 @@ The enumerant names for this channel id are listed in <>. [[bc7_channel]] .BC7 channel names [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_BC7_COLOR++* 1.2+^.^| 0 ^| *++KHR_DF_CHANNEL_BC7_DATA++* -|==================== +|==== [[example_bc7]] .Example BC7 descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2604,10 +2621,10 @@ The enumerant names for this channel id are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< -==== *++KHR_DF_MODEL_ETC1++* (= 160) ==== +==== *++KHR_DF_MODEL_ETC1++* (= 160) This model represents the original Ericsson Texture Compression format, described in <>, with a guarantee that the format does not rely @@ -2623,16 +2640,16 @@ The enumerant names for this channel id are listed in <>. [[etc1_channel]] .ETC1 channel names [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_ETC1_COLOR++* 1.2+^.^| 0 ^| *++KHR_DF_CHANNEL_ETC1_DATA++* -|==================== +|==== [[example_etc1]] .Example ETC1 descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2649,10 +2666,10 @@ The enumerant names for this channel id are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< -==== *++KHR_DF_MODEL_ETC2++* (= 161) ==== +==== *++KHR_DF_MODEL_ETC2++* (= 161) This model represents the updated Ericsson Texture Compression format, ETC2, and also the related R11 EAC and RG11 EAC formats. @@ -2663,7 +2680,7 @@ The enumerant names for these channel ids are listed in <>. [[etc2_channels]] .ETC2 channel names [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_ETC2_RED++* 1.2+^.^| 0 ^| *++KHR_DF_CHANNEL_ETC2_R++* @@ -2672,7 +2689,7 @@ The enumerant names for these channel ids are listed in <>. ^| *++KHR_DF_CHANNEL_ETC2_COLOR++* ^| 2 ^| *++KHR_DF_CHANNEL_ETC2_ALPHA++* 1.2+^.^| 15 ^| *++KHR_DF_CHANNEL_ETC2_A++* -|==================== +|==== Channel ID 0 represents red, and is used for the R11 EAC format, as described in <>; the texel block size in this format @@ -2681,7 +2698,7 @@ is 8 bytes, represented as a single 64-bit sample. [[example_r11]] .Example R11 unsigned descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2698,11 +2715,11 @@ is 8 bytes, represented as a single 64-bit sample. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== .Example R11 signed descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2719,7 +2736,7 @@ is 8 bytes, represented as a single 64-bit sample. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* *++INT32_MIN++* 32+^| *_sampleUpper:_* *++INT32_MAX++* -|================================ +|==== <<< Channel ID 1 represents green; the presence of samples for both red @@ -2729,7 +2746,7 @@ and green, in that order, indicates the RG11 EAC format as described in [[example_rg11]] .Example RG11 unsigned descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 60 @@ -2752,11 +2769,11 @@ and green, in that order, indicates the RG11 EAC format as described in 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== .Example RG11 signed descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 60 @@ -2779,7 +2796,7 @@ and green, in that order, indicates the RG11 EAC format as described in 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* *++INT32_MIN++* 32+^| *_sampleUpper:_* *++INT32_MAX++* -|================================ +|==== <<< Channel ID 2 represents _RGB_ combined content, for the ETC2 format as described in @@ -2789,7 +2806,7 @@ A single sample of ID 2 indicates RGB2 with no alpha, occupying 8 bytes. [[example_etc2]] .Example ETC2 descriptor (with no alpha) [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2806,7 +2823,7 @@ A single sample of ID 2 indicates RGB2 with no alpha, occupying 8 bytes. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< Channel ID 15 indicates the presence of alpha. @@ -2817,7 +2834,7 @@ co-sited, ``punch through'' alpha is supported as described in [[example_etc2_punchthrough]] .Example ETC2 descriptor with punchthrough alpha [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 60 @@ -2840,7 +2857,7 @@ co-sited, ``punch through'' alpha is supported as described in 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< Finally, if the texel block size is 16 bytes and the alpha channel appears in the @@ -2850,7 +2867,7 @@ alpha is supported, as described in <>. [[example_etc2_alpha]] .Example ETC2 descriptor with separate alpha [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 60 @@ -2873,10 +2890,10 @@ alpha is supported, as described in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< -==== *++KHR_DF_MODEL_ASTC++* (= 162) ==== +==== *++KHR_DF_MODEL_ASTC++* (= 162) This model represents Adaptive Scalable Texture Compression as a single channel in a texel block of 16 bytes. ASTC HDR (high dynamic range) and @@ -2899,17 +2916,17 @@ The enumerant name for this channel id is listed in <>. [[astc_channels]] .ASTC channel name [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_ASTC_DATA++* ^| 0 -|==================== +|==== <<< [[example_astc_ldr]] .Example 4{times}4 ASTC LDR descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2926,12 +2943,12 @@ The enumerant name for this channel id is listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== [[example_astc_hdr]] .Example 8{times}5 ASTC HDR descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2948,10 +2965,10 @@ The enumerant name for this channel id is listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0xBF800000U -- -1.0f 32+^| *_sampleUpper:_* 0x7F800000U -- 1.0f -|================================ +|==== <<< -==== *++KHR_DF_MODEL_ETC1S++* (= 163) ==== +==== *++KHR_DF_MODEL_ETC1S++* (= 163) This model represents a subset of the original Ericsson Texture Compression format, described in <>, which is restricted @@ -2967,16 +2984,16 @@ The enumerant names for this channel id are listed in <>. [[etc1s_channel]] .ETC1S channel names [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_ETC1S_COLOR++* 1.2+^.^| 0 ^| *++KHR_DF_CHANNEL_ETC1S_DATA++* -|==================== +|==== [[example_etc1s]] .Example ETC1S descriptor [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -2993,10 +3010,10 @@ The enumerant names for this channel id are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< -==== *++KHR_DF_MODEL_PVRTC++* (= 164) ==== +==== *++KHR_DF_MODEL_PVRTC++* (= 164) This model represents the first generation of PowerVR Texture Compression as a single channel in a texel block of 8 bytes. 4-bit-per-pixel mode @@ -3010,17 +3027,17 @@ The enumerant names for this channel id are listed in <>. [[pvrtc_channel]] .PVRTC channel names [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_PVRTC_COLOR++* 1.2+^.^| 0 ^| *++KHR_DF_CHANNEL_PVRTC_DATA++* -|==================== +|==== <<< [[example_pvrtc4bpp]] .Example PVRTC 4bpp descriptor [options="header"] -|================================ +|==== 32+^| ~++uint32_t++ bit~ ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -3037,12 +3054,12 @@ The enumerant names for this channel id are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== [[example_pvrtc2bpp]] .Example PVRTC 2bpp descriptor [options="header"] -|================================ +|==== 32+^| ~++uint32_t++ bit~ ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -3059,10 +3076,10 @@ The enumerant names for this channel id are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< -==== *++KHR_DF_MODEL_PVRTC2++* (= 165) ==== +==== *++KHR_DF_MODEL_PVRTC2++* (= 165) This model represents the second generation of PowerVR Texture Compression as a single channel in a texel block of 8 bytes. 4-bit-per-pixel mode @@ -3076,17 +3093,17 @@ The enumerant names for this channel id are listed in <>. [[pvrtc2_channel]] .PVRTC2 channel names [options="header"] -|==================== +|==== ^| Enumerant ^| Value ^| *++KHR_DF_CHANNEL_PVRTC2_COLOR++* 1.2+^.^| 0 ^| *++KHR_DF_CHANNEL_PVRTC2_DATA++* -|==================== +|==== <<< [[example_pvrtc24bpp]] .Example PVRTC2 4bpp descriptor [options="header"] -|================================ +|==== 32+^| ~++uint32_t++ bit~ ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -3103,12 +3120,12 @@ The enumerant names for this channel id are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== [[example_pvrtc22bpp]] .Example PVRTC2 2bpp descriptor [options="header"] -|================================ +|==== 32+^| ~++uint32_t++ bit~ ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -3125,10 +3142,10 @@ The enumerant names for this channel id are listed in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* *++UINT32_MAX++* -|================================ +|==== <<< -=== *_colorPrimaries_* === +=== *_colorPrimaries_* It is not sufficient to define a buffer as containing, for example, additive primaries. Additional information is required to define @@ -3142,17 +3159,17 @@ More information about color primaries is provided in <>. .Field location information for *_colorPrimaries_* [cols="7,10,2"] -|================== +|==== ^| Word offset into basic descriptor block ^| *++KHR_DF_WORD_PRIMARIES++* ^| 2 ^| Word offset into descriptor ^| *++KHR_DF_WORD_PRIMARIES++* {plus} 1 ^| 3 ^| Start bit within word ^| *++KHR_DF_SHIFT_PRIMARIES++* ^| 8 ^| Bit mask of value ^| *++KHR_DF_MASK_PRIMARIES++* ^| 0xFF -|================== +|==== *++khr_df_primaries_e++* *_colorPrimaries_* = *++KHR_DF_MASK_PRIMARIES++* & + (++bdb++[*++KHR_DF_WORD_PRIMARIES++*] >> *++KHR_DF_SHIFT_PRIMARIES++*); -==== *++KHR_DF_PRIMARIES_UNSPECIFIED++* (= 0) ==== +==== *++KHR_DF_PRIMARIES_UNSPECIFIED++* (= 0) This ``set of primaries'' identifies a data representation whose color representation is unknown or which does not fit into this list of @@ -3165,7 +3182,7 @@ indicate that samples represent ``red'', ``green'' and ``blue'', but should mark the primaries here as ``unspecified'' and provide a detailed description in an extension block. -==== *++KHR_DF_PRIMARIES_BT709++* (= 1) ==== +==== *++KHR_DF_PRIMARIES_BT709++* (= 1) This value represents the Color Primaries defined by the <> and described in <>, @@ -3184,7 +3201,7 @@ a sensible default set of color primaries for common rendering operations. *++KHR_DF_PRIMARIES_SRGB++* is provided as a synonym for *++KHR_DF_PRIMARIES_BT709++*. -==== *++KHR_DF_PRIMARIES_BT601_EBU++* (= 2) ==== +==== *++KHR_DF_PRIMARIES_BT601_EBU++* (= 2) This value represents the Color Primaries defined in the <> for standard-definition television, @@ -3192,7 +3209,7 @@ particularly for 625-line signals, and described in <>. Conversion to and from BT.601 _Y′C~B~C~R~_ (_YUV_) typically uses the color conversion matrix defined in the BT.601 specification and described in <>. -==== *++KHR_DF_PRIMARIES_BT601_SMPTE++* (= 3) ==== +==== *++KHR_DF_PRIMARIES_BT601_SMPTE++* (= 3) This value represents the Color Primaries defined in the <> for standard-definition television, @@ -3200,7 +3217,7 @@ particularly for 525-line signals, and described in <>. Conversion to and from BT.601 _Y′C~B~C~R~_ (_YUV_) typically uses the color conversion matrix defined in the BT.601 specification and described in <>. -==== *++KHR_DF_PRIMARIES_BT2020++* (= 4) ==== +==== *++KHR_DF_PRIMARIES_BT2020++* (= 4) This value represents the Color Primaries defined in the <> for ultra-high-definition television @@ -3208,47 +3225,47 @@ and described in <>. Conversion to and from BT.2020 _Y′C (_YUV_ uses the color conversion matrix defined in the BT.2020 specification and described in <>. -==== *++KHR_DF_PRIMARIES_CIEXYZ++* (= 5) ==== +==== *++KHR_DF_PRIMARIES_CIEXYZ++* (= 5) This value represents the theoretical Color Primaries defined by the International Color Consortium for the <> linear color space. -==== *++KHR_DF_PRIMARIES_ACES++* (= 6) ==== +==== *++KHR_DF_PRIMARIES_ACES++* (= 6) This value represents the Color Primaries defined for the <> and described in <>. -==== *++KHR_DF_PRIMARIES_ACESCC++* (= 7) ==== +==== *++KHR_DF_PRIMARIES_ACESCC++* (= 7) This value represents the Color Primaries defined for the <> compositor and described in <>. -==== *++KHR_DF_PRIMARIES_NTSC1953++* (= 8) ==== +==== *++KHR_DF_PRIMARIES_NTSC1953++* (= 8) This value represents the Color Primaries defined for the NTSC 1953 color television transmission standard and described in <>. -==== *++KHR_DF_PRIMARIES_PAL525++* (= 9) ==== +==== *++KHR_DF_PRIMARIES_PAL525++* (= 9) This value represents the Color Primaries defined for 525-line PAL signals, described in <>. -==== *++KHR_DF_PRIMARIES_DISPLAYP3++* (= 10) ==== +==== *++KHR_DF_PRIMARIES_DISPLAYP3++* (= 10) This value represents the Color Primaries defined for the Display P3 color space, described in <>. -==== *++KHR_DF_PRIMARIES_ADOBERGB++* (= 11) ==== +==== *++KHR_DF_PRIMARIES_ADOBERGB++* (= 11) This value represents the Color Primaries defined in <>, described in <>. <<< -=== *_transferFunction_* === +=== *_transferFunction_* Many color representations contain a non-linear _transfer function_ which maps between a linear (intensity-based) representation and @@ -3284,12 +3301,12 @@ intermediate values to which the transfer function should apply. .Field location information for *_transferFunction_* [cols="4,5,2"] -|================== +|==== ^| Word offset into basic descriptor block ^| *++KHR_DF_WORD_TRANSFER++* ^| 2 ^| Word offset into descriptor ^| *++KHR_DF_WORD_TRANSFER++* {plus} 1 ^| 3 ^| Start bit within word ^| *++KHR_DF_SHIFT_TRANSFER++* ^| 16 ^| Bit mask of value ^| *++KHR_DF_MASK_TRANSFER++* ^| 0xFF -|================== +|==== *++khr_df_transfer_e++* *_transferFunction_* = *++KHR_DF_MASK_TRANSFER++* & + (++bdb++[*++KHR_DF_WORD_TRANSFER++*] >> *++KHR_DF_SHIFT_TRANSFER++*); @@ -3297,14 +3314,14 @@ intermediate values to which the transfer function should apply. The enumerant value for each of the following transfer functions is shown in parentheses alongside the title. -==== *++KHR_DF_TRANSFER_UNSPECIFIED++* (= 0) ==== +==== *++KHR_DF_TRANSFER_UNSPECIFIED++* (= 0) This value should be used when the transfer function is unknown, or specified only in an extension block, precluding conversion of color spaces and correct filtering of the data values using only the information in the basic descriptor block. -==== *++KHR_DF_TRANSFER_LINEAR++* (= 1) ==== +==== *++KHR_DF_TRANSFER_LINEAR++* (= 1) This value represents a linear transfer function: for color data, there is a linear relationship between numerical pixel values and @@ -3312,22 +3329,22 @@ the intensity of additive colors. This transfer function allows for blending and filtering operations to be applied directly to the data values. -==== *++KHR_DF_TRANSFER_SRGB++* (= 2) ==== +==== *++KHR_DF_TRANSFER_SRGB++* (= 2) This value represents the non-linear transfer function defined in the <> for mapping between numerical pixel values and displayed light intensity, as described in <>. [width="60%",cols="^8,^2,^3"] -|========== +|==== | Mapping from linear intensity to encoding | EOTF^ -1^ | <> | Mapping from encoding to linear intensity | EOTF | <> -|========== +|==== Encoded values outside the range 0..1 use the extended formulae for EOTF and EOTF^-1^ described in <>. -==== *++KHR_DF_TRANSFER_ITU++* (= 3) ==== +==== *++KHR_DF_TRANSFER_ITU++* (= 3) This value represents the non-linear transfer function defined by the ITU and used in the BT.601, BT.709 and BT.2020 specifications @@ -3335,12 +3352,12 @@ for mapping between represented scene light intensity and numerical pixel values, as described in <>. [width="60%",cols="^8,^2,^3"] -|========== +|==== | Mapping from linear intensity to encoding | OETF | <> | Mapping from encoding to linear intensity | OETF^ -1^ | <> -|========== +|==== -==== *++KHR_DF_TRANSFER_NTSC++* (= 4) ==== +==== *++KHR_DF_TRANSFER_NTSC++* (= 4) This value represents the non-linear transfer function defined by the original NTSC television broadcast specification for mapping @@ -3348,15 +3365,15 @@ between represented scene light intensity or display light intensity and numerical pixel values, as described in <>. [width="60%",cols="^8,^4"] -|========== +|==== | Mapping from linear intensity to encoding | EOTF^ -1^ / OETF | Mapping from encoding to linear intensity | EOTF / OETF^ -1^ -|========== +|==== NOTE: More recent formulations of this transfer functions, such as that defined in SMPTE 170M-2004, use the ``ITU'' formulation described above. -==== *++KHR_DF_TRANSFER_SLOG++* (= 5) ==== +==== *++KHR_DF_TRANSFER_SLOG++* (= 5) This value represents a nonlinear Transfer Function between linear scene light intensity and nonlinear pixel values, used by some @@ -3364,12 +3381,12 @@ Sony video cameras to represent an increased dynamic range, and is described in <>. [width="60%",cols="^8,^2"] -|========== +|==== | Mapping from linear intensity to encoding | OETF | Mapping from encoding to linear intensity | OETF^ -1^ -|========== +|==== -==== *++KHR_DF_TRANSFER_SLOG2++* (= 6) ==== +==== *++KHR_DF_TRANSFER_SLOG2++* (= 6) This value represents a nonlinear Transfer Function between linear scene light intensity and nonlinear pixel values, used by some @@ -3377,25 +3394,25 @@ Sony video cameras to represent a further increased dynamic range, and is described in <>. [width="60%",cols="^8,^2"] -|========== +|==== | Mapping from linear intensity to encoding | OETF | Mapping from encoding to linear intensity | OETF^ -1^ -|========== +|==== -==== *++KHR_DF_TRANSFER_BT1886++* (= 7) ==== +==== *++KHR_DF_TRANSFER_BT1886++* (= 7) This value represents the nonlinear latexmath:[$\gamma = 2.4$] EOTF between encoded pixel values and linear image intensity defined in <> and described in <>. [width="70%",cols="^8,^2,^5"] -|========== +|==== | Mapping from linear intensity to encoding | EOTF^ -1^ | latexmath:[$\{R',G',B'\} = \{R,G,B\}^{2.4}$] | Mapping from encoding to linear intensity | EOTF | latexmath:[$\{R,G,B\} = \{R',G',B'\}^{1\over{2.4}}$] -|========== +|==== <<< -==== *++KHR_DF_TRANSFER_HLG_OETF++* (= 8) ==== +==== *++KHR_DF_TRANSFER_HLG_OETF++* (= 8) This value represents the Hybrid Log Gamma OETF between linear scene light intensity and nonlinear pixel values, defined by the @@ -3403,12 +3420,12 @@ ITU in BT.2100 for high dynamic range television, and described in <>. [width="60%",cols="^8,^2,^3"] -|========== +|==== | Mapping from linear intensity to encoding | OETF | <> | Mapping from encoding to linear intensity | OETF^ -1^ | <> -|========== +|==== -==== *++KHR_DF_TRANSFER_HLG_EOTF++* (= 9) ==== +==== *++KHR_DF_TRANSFER_HLG_EOTF++* (= 9) This value represents the Hybrid Log Gamma EOTF between nonlinear pixel values and linear image light intensity, defined by the ITU @@ -3416,12 +3433,12 @@ in BT.2100 for high dynamic range television, and described in <>. [width="60%",cols="^8,^2,^3"] -|========== +|==== | Mapping from linear intensity to encoding | EOTF^ -1^ | <> | Mapping from encoding to linear intensity | EOTF | <> -|========== +|==== -==== *++KHR_DF_TRANSFER_PQ_EOTF++* (= 10) ==== +==== *++KHR_DF_TRANSFER_PQ_EOTF++* (= 10) This value represents the Perceptual Quantization EOTF between nonlinear pixel values and linear image light intensity, defined @@ -3429,12 +3446,12 @@ by the ITU in BT.2100 for high dynamic range television, and described in <>. [width="60%",cols="^8,^2,^3"] -|========== +|==== | Mapping from linear intensity to encoding | EOTF^ -1^ | <> | Mapping from encoding to linear intensity | EOTF | <> -|========== +|==== -==== *++KHR_DF_TRANSFER_PQ_OETF++* (= 11) ==== +==== *++KHR_DF_TRANSFER_PQ_OETF++* (= 11) This value represents the Perceptual Quantization OETF between linear scene light intensity and nonlinear pixel values, defined @@ -3442,61 +3459,61 @@ by the ITU in BT.2100 for high dynamic range television, and described in <>. [width="60%",cols="^8,^2,^3"] -|========== +|==== | Mapping from linear intensity to encoding | OETF | <> | Mapping from encoding to linear intensity | OETF^ -1^ | <> -|========== +|==== -==== *++KHR_DF_TRANSFER_DCIP3++* (= 12) ==== +==== *++KHR_DF_TRANSFER_DCIP3++* (= 12) This value represents the transfer function between nonlinear pixel values and linear image light intensity defined in DCI P3 and described in <>. [width="60%",cols="^8,^2"] -|========== +|==== | Mapping from linear intensity to encoding | EOTF^ -1^ | Mapping from encoding to linear intensity | EOTF -|========== +|==== <<< -==== *++KHR_DF_TRANSFER_PAL_OETF++* (= 13) ==== +==== *++KHR_DF_TRANSFER_PAL_OETF++* (= 13) This value represents the OETF between linear scene light intensity and nonlinear pixel values for legacy PAL systems described in <>. [width="60%",cols="^8,^2"] -|========== +|==== | Mapping from linear intensity to encoding | OETF | Mapping from encoding to linear intensity | OETF^ -1^ -|========== +|==== -==== *++KHR_DF_TRANSFER_PAL625_EOTF++* (= 14) ==== +==== *++KHR_DF_TRANSFER_PAL625_EOTF++* (= 14) This value represents the EOTF between nonlinear pixel values and linear image light intensity for legacy 625-line PAL systems described in <>. [width="60%",cols="^8,^2"] -|========== +|==== | Mapping from linear intensity to encoding | EOTF^ -1^ | Mapping from encoding to linear intensity | EOTF -|========== +|==== -==== *++KHR_DF_TRANSFER_ST240++* (= 15) ==== +==== *++KHR_DF_TRANSFER_ST240++* (= 15) This value represents the transfer function between linear scene light intensity and nonlinear pixel values associated with the legacy ST-240 (SMPTE240M) standard, described in <>. [width="60%",cols="^8,^4"] -|========== +|==== | Mapping from linear intensity to encoding | EOTF^ -1^ / OETF | Mapping from encoding to linear intensity | EOTF / OETF^ -1^ -|========== +|==== -==== *++KHR_DF_TRANSFER_ACESCC++* (= 16) ==== +==== *++KHR_DF_TRANSFER_ACESCC++* (= 16) This value represents the nonlinear transfer function between linear scene light intensity and nonlinear pixel values used in @@ -3505,12 +3522,12 @@ for use within Color Grading Systems, S-2014-003, defined in <>. This is described in <>. [width="60%",cols="^8,^2"] -|========== +|==== | Mapping from linear intensity to encoding | OETF | Mapping from encoding to linear intensity | OETF^ -1^ -|========== +|==== -==== *++KHR_DF_TRANSFER_ACESCCT++* (= 17) ==== +==== *++KHR_DF_TRANSFER_ACESCCT++* (= 17) This value represents the nonlinear transfer function between linear scene light intensity and nonlinear pixel values used in @@ -3519,18 +3536,18 @@ system for use within Color Grading Systems, S-2016-001, defined in <>. This is described in <>. [width="60%",cols="^8,^2"] -|========== +|==== | Mapping from linear intensity to encoding | OETF | Mapping from encoding to linear intensity | OETF^ -1^ -|========== +|==== -==== *++KHR_DF_TRANSFER_ADOBERGB++* (= 18) ==== +==== *++KHR_DF_TRANSFER_ADOBERGB++* (= 18) This value represents the transfer function defined in the Adobe RGB (1998) specification and described in <>. <<< -=== *_flags_* === +=== *_flags_* The format supports some configuration options in the form of boolean flags; these are described in the enumeration @@ -3538,17 +3555,17 @@ boolean flags; these are described in the enumeration .Field location information for *_flags_* [cols="7,10,2"] -|================== +|==== ^| Word offset into basic descriptor block ^| *++KHR_DF_WORD_FLAGS++* ^| 2 ^| Word offset into descriptor ^| *++KHR_DF_WORD_FLAGS++* {plus} 1 ^| 3 ^| Start bit within word ^| *++KHR_DF_SHIFT_FLAGS++* ^| 24 ^| Bit mask of value ^| *++KHR_DF_MASK_FLAGS++* ^| 0xFF -|================== +|==== *++khr_df_flags_e++* *_flags_* = *++KHR_DF_MASK_FLAGS++* & (++bdb++[*++KHR_DF_WORD_FLAGS++*] >> *++KHR_DF_SHIFT_FLAGS++*); -==== *++KHR_DF_FLAG_ALPHA_PREMULTIPLIED++* (= 1) ==== +==== *++KHR_DF_FLAG_ALPHA_PREMULTIPLIED++* (= 1) If the *++KHR_DF_FLAG_ALPHA_PREMULTIPLIED++* bit is set, any color information in the data should be interpreted as having been @@ -3563,7 +3580,7 @@ This flag has no effect if there is no alpha channel in the format. <<< -=== *_texelBlockDimension[0..3]_* === +=== *_texelBlockDimension[0..3]_* The *_texelBlockDimension_* fields define an integer bound on the range of coordinates covered by the repeating block described by the samples; @@ -3597,12 +3614,12 @@ values would therefore be: [[YUV420Basic]] .Example Basic Data Format *_texelBlockDimension_* values for _Y′C~B~C~R~_ 4:2:0 [width="40%",cols="5,1"] -|================================ +|==== ^| *_texelBlockDimension0_* ^| 1 ^| *_texelBlockDimension1_* ^| 1 ^| *_texelBlockDimension2_* ^| 0 ^| *_texelBlockDimension3_* ^| 0 -|================================ +|==== In the descriptor block examples in this specification, block dimensions larger than 1 (encoded as 0) are shown as the value to be stored in the @@ -3611,7 +3628,7 @@ for clarity. .Field location information for *_texelBlockDimension[0..3]_* [cols="7,10,2"] -|================== +|==== ^| Word offset into basic descriptor block ^| *++KHR_DF_WORD_TEXELBLOCKDIMENSION[0..3]++* ^| 3 ^| Word offset into descriptor ^| *++KHR_DF_WORD_TEXELBLOCKDIMENSION[0..3]++* {plus} 1 ^| 4 1.4+^.^| Start bit within word ^| *++KHR_DF_SHIFT_TEXELBLOCKDIMENSION0++* ^| 0 @@ -3619,7 +3636,7 @@ for clarity. ^| *++KHR_DF_SHIFT_TEXELBLOCKDIMENSION2++* ^| 16 ^| *++KHR_DF_SHIFT_TEXELBLOCKDIMENSION3++* ^| 24 ^| Bit mask of value ^| *++KHR_DF_MASK_TEXELBLOCKDIMENSION[0..3]++* ^| 0xFF -|================== +|==== *++uint32_t++* *_texelBlockDimension0_* = *++KHR_DF_MASK_TEXELBLOCKDIMENSION0++* & + (++bdb++[*++KHR_DF_WORD_TEXELBLOCKDIMENSION0++*] >> *++KHR_DF_SHIFT_TEXELBLOCKDIMENSION0++*); @@ -3634,7 +3651,7 @@ for clarity. (++bdb++[*++KHR_DF_WORD_TEXELBLOCKDIMENSION3++*] >> *++KHR_DF_SHIFT_TEXELBLOCKDIMENSION3++*); <<< -=== *_bytesPlane[0..7]_* === +=== *_bytesPlane[0..7]_* The Basic Data Format Descriptor divides the image into a number of planes, each consisting of an integer number of consecutive bytes. @@ -3679,7 +3696,7 @@ no *_bytesPlane_* value is zero, 8 planes are considered to exist. .Field location information for *_bytesPlane[0..7]_* [cols="7,10,2"] -|================== +|==== 1.2+^.^| Word offset into basic descriptor block ^| *++KHR_DF_WORD_BYTESPLANE[0..3]++* ^| 4 ^| *++KHR_DF_WORD_BYTESPLANE[4..7]++* ^| 5 1.2+^.^| Word offset into descriptor ^| *++KHR_DF_WORD_BYTESPLANE[0..3]++* {plus} 1 ^| 5 @@ -3693,7 +3710,7 @@ no *_bytesPlane_* value is zero, 8 planes are considered to exist. ^| *++KHR_DF_SHIFT_BYTESPLANE6++* ^| 16 ^| *++KHR_DF_SHIFT_BYTESPLANE7++* ^| 24 ^| Bit mask of value ^| *++KHR_DF_MASK_BYTESPLANE[0..7]++* ^| 0xFF -|================== +|==== *++uint32_t++* *_bytesPlane[0..7]_* = *++KHR_DF_MASK_BYTESPLANE[0..7]++* & + (++bdb++[*++KHR_DF_WORD_BYTESPLANE[0..7]++*] >> *++KHR_DF_SHIFT_BYTESPLANE[0..7]++*); @@ -3705,7 +3722,8 @@ The scheme for encoding paletted formats as of version 1.3 is described in <>. <<< -=== [[sample]]Sample information === +[[sample]] +=== Sample information The layout and position of the information within each plane is determined by a number of _samples_, each consisting of a single @@ -3715,25 +3733,25 @@ the texel block, as shown in <>. [[SampleOverview]] .Basic Data Format Descriptor Sample Information [width="98%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ ^| *_F_* ^| *_S_* ^| *_E_* ^| *_L_* 4+^| *_channelType_* 8+^| *_bitLength_* 16+^| *_bitOffset_* 8+^| *_samplePosition3_* 8+^| *_samplePosition2_* 8+^| *_samplePosition1_* 8+^| *_samplePosition0_* 32+^| *_sampleLower_* 32+^| *_sampleUpper_* -|================================ +|==== Bits *_F_*, *_S_*, *_E_* and *_L_* are abbreviations for the following qualifier flags: [cols="1,5,1",width="65%"] -|================================ +|==== ^| *_F_* ^| *++KHR_DF_SAMPLE_DATATYPE_FLOAT++* ^| 0x80 ^| *_S_* ^| *++KHR_DF_SAMPLE_DATATYPE_SIGNED++* ^| 0x40 ^| *_E_* ^| *++KHR_DF_SAMPLE_DATATYPE_EXPONENT++* ^| 0x20 ^| *_L_* ^| *++KHR_DF_SAMPLE_DATATYPE_LINEAR++* ^| 0x10 -|================================ +|==== The sample information begins at word *++KHR_DF_WORD_SAMPLESTART++* = 6, offset from the start of the basic descriptor block. @@ -3794,11 +3812,11 @@ sample fields: .Field location information for sample field *_xxx_* [cols="7,10,2"] -|================== +|==== ^| Word offset relative to start of sample ^| *++KHR_DF_SAMPLEWORD_xxx++* {plus} 1 ^| ... ^| Start bit within word ^| *++KHR_DF_SAMPLESHIFT_xxx++* ^| ... ^| Bit mask of value ^| *++KHR_DF_SAMPLEMASK_xxx++* ^| ... -|================== +|==== If the basic descriptor block is treated as a *++uint32_t++* array ++bdb[]++, sample field *_xxx_* can be accessed as follows: @@ -3817,7 +3835,7 @@ For example, *++KHR_DFDSVAL++*(++bdb++, 2, *++CHANNELID++*) returns the value: {plus} *++KHR_DF_SAMPLEWORD_CHANNELID++*] >> *++KHR_DF_SAMPLESHIFT_CHANNELID++*) <<< -=== Sample *_bitOffset_* === +=== Sample *_bitOffset_* The *_bitOffset_* field describes the offset of the least significant bit of this sample from the least significant bit of the least @@ -3834,17 +3852,17 @@ This mechanism notably supports values that are zero-extended. .Field location information for sample *_bitOffset_* [cols="7,10,2"] -|================== +|==== ^| Word offset relative to start of sample ^| *++KHR_DF_SAMPLEWORD_BITOFFSET++* ^| 0 ^| Start bit within word ^| *++KHR_DF_SAMPLESHIFT_BITOFFSET++* ^| 0 ^| Bit mask of value ^| *++KHR_DF_SAMPLEMASK_BITOFFSET++* ^| 0xFFFFU -|================== +|==== *++uint32_t++* *_bitoffset_* = *++KHR_DF_SAMPLEMASK_BITOFFSET++* & + ((++bdb++[*++KHR_DF_WORD_SAMPLESTART++* {plus} (_sample_ {times} *++KHR_DF_WORD_SAMPLEWORDS++*) + {plus} *++KHR_DF_SAMPLEWORD_BITOFFSET++*]) >> *++KHR_DF_SAMPLESHIFT_BITOFFSET++*); -=== Sample *_bitLength_* === +=== Sample *_bitLength_* The *_bitLength_* field describes the number of consecutive bits from the concatenated bit stream that contribute to the sample. This field @@ -3877,18 +3895,18 @@ represented number (without the -1 offset) in parentheses for clarity. .Field location information for sample *_bitLength_* [cols="7,10,2"] -|================== +|==== ^| Word offset relative to start of sample ^| *++KHR_DF_SAMPLEWORD_BITLENGTH++* ^| 0 ^| Start bit within word ^| *++KHR_DF_SAMPLESHIFT_BITLENGTH++* ^| 16 ^| Bit mask of value ^| *++KHR_DF_SAMPLEMASK_BITLENGTH++* ^| 0xFF -|================== +|==== *++uint32_t++* *_bitLength_* = *++KHR_DF_SAMPLEMASK_BITLENGTH++* & + ((++bdb++[*++KHR_DF_WORD_SAMPLESTART++* {plus} (_sample_ {times} *++KHR_DF_WORD_SAMPLEWORDS++*) + {plus} *++KHR_DF_SAMPLEWORD_BITLENGTH++*]) >> *++KHR_DF_SAMPLESHIFT_BITLENGTH++*); <<< -=== Sample *_channelType_* and qualifiers === +=== Sample *_channelType_* and qualifiers The *_channelType_* field is an unsigned 8-bit quantity. @@ -3901,11 +3919,11 @@ for each model. .Field location information for sample *_channelType_* [cols="7,10,2"] -|================== +|==== ^| Word offset relative to start of sample ^| *++KHR_DF_SAMPLEWORD_CHANNELID++* ^| 0 ^| Start bit within word ^| *++KHR_DF_SAMPLESHIFT_CHANNELID++* ^| 24 ^| Bit mask of value ^| *++KHR_DF_SAMPLEMASK_CHANNELID++* ^| 0xF -|================== +|==== *++khr_df_model_channels_e++* *_channelType_* = *++KHR_DF_SAMPLEMASK_CHANNELID++* & + ((++bdb++[*++KHR_DF_WORD_SAMPLESTART++* {plus} (_sample_ {times} *++KHR_DF_WORD_SAMPLEWORDS++*) + @@ -3916,11 +3934,11 @@ The top four bits of the *_channelType_* are described by the .Field location information for sample *_qualifiers_* [cols="7,10,2"] -|================== +|==== ^| Word offset relative to start of sample ^| *++KHR_DF_SAMPLEWORD_QUALIFIERS++* ^| 0 ^| Start bit within word ^| *++KHR_DF_SAMPLESHIFT_QUALIFIERS++* ^| 24 ^| Bit mask of value ^| *++KHR_DF_SAMPLEMASK_QUALIFIERS++* ^| 0xF0 -|================== +|==== *++khr_df_sample_datatype_qualifiers_e++* *_qualifiers_* = *++KHR_DF_SAMPLEMASK_QUALIFIERS++* & + ((++bdb++[*++KHR_DF_WORD_SAMPLESTART++* {plus} (_sample_ {times} *++KHR_DF_WORD_SAMPLEWORDS++*) + @@ -3989,13 +4007,13 @@ channel, as shown in <>. [[exponentqualifiers]] .Qualifier interpretation when *++KHR_DF_SAMPLE_DATATYPE_EXPONENT++* = 1 [cols="^1,^1,^1,4,^5", width="50%"] -|=========== +|==== | *_E_* | *_L_* | *_F_* |  *Interpretation* | *Formula* | 1 | 0 | 0 |  Exponent | latexmath:[$\mathit{base\ value}\times 2^\mathit{modifier}$] | 1 | 0 | 1 |  Multiplier | latexmath:[$\mathit{base\ value}\times\mathit{modifier}$] | 1 | 1 | 0 |  Divisor | latexmath:[$\mathit{base\ value}\over\mathit{modifier}$] | 1 | 1 | 1 |  Power | latexmath:[$\mathit{base\ value}^\mathit{modifier}$] -|=========== +|==== For samples in which the *++KHR_DF_SAMPLE_DATATYPE_EXPONENT++* bit is set: @@ -4048,7 +4066,7 @@ to be represented in fixed-point terms, and the values may be signed depending on whether the *_S_* bit is set. <<< -=== *_samplePosition[0..3]_* === +=== *_samplePosition[0..3]_* The sample has an associated location within the 4-dimensional space of the texel block. @@ -4057,14 +4075,14 @@ of the texel block, represented as an 8-bit unsigned integer quantity. .Field location information for sample *_samplePosition[0..3]_* [cols="7,10,2"] -|================== +|==== ^| Word offset relative to start of sample ^| *++KHR_DF_SAMPLEWORD_SAMPLEPOSITION[0..3]++* ^| 1 1.4+^.^| Start bit within word ^| *++KHR_DF_SAMPLESHIFT_SAMPLEPOSITION0++* ^| 0 ^| *++KHR_DF_SAMPLESHIFT_SAMPLEPOSITION1++* ^| 8 ^| *++KHR_DF_SAMPLESHIFT_SAMPLEPOSITION2++* ^| 16 ^| *++KHR_DF_SAMPLESHIFT_SAMPLEPOSITION3++* ^| 24 ^| Bit mask of value ^| *++KHR_DF_SAMPLEMASK_SAMPLEPOSITION[0..3]++* ^| 0xF -|================== +|==== *++khr_df_model_channels_e++* *_samplePosition0_* = *++KHR_DF_SAMPLEMASK_SAMPLEPOSITION0++* & + ((++bdb++[*++KHR_DF_WORD_SAMPLESTART++* {plus} (_sample_ {times} *++KHR_DF_WORD_SAMPLEWORDS++*) + @@ -4088,21 +4106,21 @@ corresponding *_texelBlockDimension_* value as follows: ifdef::a2xhtml[] // N.B. HTML math output doesn't support bold italics [latexmath] -++++++ +++++ \begin{align*} n &= \left\lceil\textrm{log}_2(\textbf{texelBlockDimension} + 1)\right\rceil \\ \textit{coordinateOffset} &= \textbf{samplePosition} \times 2^{n - 8} \end{align*} -++++++ +++++ endif::[] ifndef::a2xhtml[] [latexmath] -++++++ +++++ \begin{align*} n &= \left\lceil\textrm{log}_2(\textbf{\textit{texelBlockDimension}} + 1)\right\rceil \\ \textit{coordinateOffset} &= \textbf{\textit{samplePosition}} \times 2^{n - 8} \end{align*} -++++++ +++++ endif::[] For example, if *_texelBlockDimension0_* is 1 (indicating a texel block @@ -4141,7 +4159,7 @@ This change does not affect the representation of single-coordinate texel blocks; that is, a *_samplePosition_* of ``0'' still represents ``0.0''. <<< -=== *_sampleLower_* and *_sampleUpper_* === +=== *_sampleLower_* and *_sampleUpper_* The *_sampleLower_* and *_sampleUpper_* fields are used to define the mapping between the numerical value stored in the format and the @@ -4165,23 +4183,23 @@ range (which corresponds to an encoding of 0.5 in numerical terms). ifdef::a2xhtml[] // N.B. HTML math output doesn't support bold italics [latexmath] -++++++ +++++ \begin{align*} \textit{out}_\textit{unsigned} &= \left({{\textit{value} - \textbf{sampleLower}}\over{\textbf{sampleUpper} - \textbf{sampleLower}}}\right) \\ \textit{out}_\textit{signed} &= \left({{\textit{value} - \textbf{sampleLower}}\over{\textbf{sampleUpper} - \textbf{sampleLower}}} - 0.5\right) \times 2 \\ \textit{out}_\textit{color difference} &= \left({{\textit{value} - \textbf{sampleLower}}\over{\textbf{sampleUpper} - \textbf{sampleLower}}} - 0.5\right) \end{align*} -++++++ +++++ endif::[] ifndef::a2xhtml[] [latexmath] -++++++ +++++ \begin{align*} \textit{out}_\textit{unsigned} &= \left({{\textit{value} - \textbf{\textit{sampleLower}}}\over{\textbf{\textit{sampleUpper}} - \textbf{\textit{sampleLower}}}}\right) \\ \textit{out}_\textit{signed} &= \left({{\textit{value} - \textbf{\textit{sampleLower}}}\over{\textbf{\textit{sampleUpper}} - \textbf{\textit{sampleLower}}}} - 0.5\right) \times 2 \\ \textit{out}_\textit{color difference} &= \left({{\textit{value} - \textbf{\textit{sampleLower}}}\over{\textbf{\textit{sampleUpper}} - \textbf{\textit{sampleLower}}}} - 0.5\right) \end{align*} -++++++ +++++ endif::[] For example, the BT.709 television broadcast standard dictates that @@ -4416,7 +4434,8 @@ In the interests of portability, the following summary (which assumes that bitfields are encoded starting at bit 0) is therefore provided for information, but is not canonical: ------ +[source] +---- typedef struct _DFDSampleType { uint32_t bitOffset: 16; uint32_t bitLength: 8; @@ -4450,9 +4469,9 @@ typedef struct _BasicDataFormatDescriptor { uint32_t bytesPlane7: 8; DFDSampleType samples[]; } BasicDataFormatDescriptor; ------ +---- -== Extension for more complex formats == +== Extension for more complex formats Some formats will require more channels than can be described in the Basic Format Descriptor, or may have more specific color requirements. For example, @@ -4524,7 +4543,7 @@ form of allocation while reading texel values. [[DepthExtensionExample]] .Example of a depth buffer with an extension to indicate a virtual allocation [width="97%"] -|============= +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 56 -- total size of the two blocks plus one 32-bit value @@ -4548,7 +4567,7 @@ form of allocation while reading texel values. 16+^| *_descriptorBlockSize:_* 8 + (4 {times} 1) = 12 16+^| *_versionNumber:_* 0 32+^| ~Data specific to the extension follows~ 32+^| 1 -- buffer is ``virtual'' -|============= +|==== It is possible for a vendor to use the extension block to store peripheral information required to access the image -- plane base addresses, stride, etc. @@ -4581,7 +4600,7 @@ describes additional planes. [[AdditionalPlanes]] .Additional planes descriptor block [width="97%"] -|============= +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 15+^| *_descriptorType:_* 0x6001 17+^| *_vendorId:_* 0 @@ -4589,7 +4608,7 @@ describes additional planes. 32+^| *_bytesPlane0_* 32+^| *_bytesPlane1_* _(optional)_ 32+^| _(etc.)_ -|============= +|==== If this descriptor block is present, the *_bytesPlane[0..7]_* fields of the basic descriptor block are ignored, and the number of bytes for plane @@ -4634,7 +4653,7 @@ users of the layout being described. [[AdditionalDimensions]] .Additional dimensions descriptor block [width="97%"] -|============= +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 15+^| *_descriptorType:_* 0x6002 17+^| *_vendorId:_* 0 @@ -4645,7 +4664,7 @@ users of the layout being described. 16+^| *++uint16_t++* *_sample0Pos0_* 16+^| *++uint16_t++* *_sample0Pos0Divisor_* 16+^| *++uint16_t++* *_sample0Pos1_* 16+^| *++uint16_t++* *_sample0Pos1Divisor_* 32+^| _(etc.)_ -|============= +|==== The fields *_texelBlockDimension[0..n]_* describe the size in coordinate units of the texel block in the corresponding dimension; as with the @@ -4681,9 +4700,9 @@ This descriptor block should be used only if the Khronos Basic Descriptor Block is the first descriptor block in the data format descriptor, and cannot represent the format without extension. -== Frequently Asked Questions == +== Frequently Asked Questions -=== Why have a binary format rather than a human-readable one? === +=== Why have a binary format rather than a human-readable one? While it is not expected that every new container will have a unique data descriptor or that analysis of the data format descriptor will be @@ -4694,12 +4713,12 @@ a large number of format descriptors to be stored, and to be amenable to hardware interpretation or processing in shaders. These goals preclude a text-based representation such as an XML schema. -=== Why not use an existing representation such as those on FourCC.org? === +=== Why not use an existing representation such as those on FourCC.org? Formats in FourCC.org do not describe in detail sufficient information for many APIs, and are sometimes inconsistent. -=== Why have a descriptive format? === +=== Why have a descriptive format? Enumerations are fast and easy to process, but are limited in that any software can only be aware of the enumeration values in place when it @@ -4710,7 +4729,7 @@ for more flexible software which can support a wide range of formats without needing each to be listed, and simplifies the programming of conditional behavior based on format properties. -=== Why describe this standard within Khronos? === +=== Why describe this standard within Khronos? Khronos supports multiple standards that have a range of internal data representations. There is no requirement that this standard be used @@ -4719,7 +4738,7 @@ Khronos standards may use this specification as part of a consistent approach to inter-standard operation. <<< -=== Why should I use this descriptor if I don't need most of the fields? === +=== Why should I use this descriptor if I don't need most of the fields? While a library may not use all the data provided in the data format descriptor that is described within this standard, it is common for @@ -4740,7 +4759,7 @@ software outside the proprietary library and for reducing the effort needed to provide a complete, unambiguous and accurate description of a format in human-readable terms. -=== Why not expand each field out to be integer for ease of decoding? === +=== Why not expand each field out to be integer for ease of decoding? There is a trade-off between size and decoding effort. It is assumed that data which occupies the same 32-bit word may need to be tested @@ -4750,7 +4769,7 @@ it is intended that most data can be extracted with low-cost operations, typically being byte-aligned (other than sample flags) and with the natural alignment applied to multi-byte quantities. -=== Can this descriptor be used for text content? === +=== Can this descriptor be used for text content? For simple ASCII content, there is no reason that plain text could not be described in some way, and this may be useful for image formats that contain @@ -4764,7 +4783,7 @@ for this standard. :valign: center [[fpformats]] -== Floating-point formats == +== Floating-point formats Some common floating-point numeric representations are defined in <>. Additional floating point formats are defined in this @@ -4779,7 +4798,7 @@ The value _V_ of a 16-bit floating-point number is determined by the following: [latexmath] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ \[ V = \begin{cases} @@ -4792,17 +4811,17 @@ V = \mathit{NaN}, & E = 31, M \neq 0 \end{cases} \] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ If the floating-point number is interpreted as an unsigned 16-bit integer _N_, then [latexmath] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ $$S = \left\lfloor { { N \bmod 65536 } \over 32768 } \right\rfloor$$ $$E = \left\lfloor { { N \bmod 32768 } \over 1024 } \right\rfloor$$ $$M = N \bmod 1024.$$ -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ [[11bitfp]] === Unsigned 11-bit floating-point numbers @@ -4813,7 +4832,7 @@ The value _V_ of an unsigned 11-bit floating-point number is determined by the following: [latexmath] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ \[ V = \begin{cases} @@ -4825,16 +4844,16 @@ V = \mathit{NaN}, & E = 31, M \neq 0 \end{cases} \] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ If the floating-point number is interpreted as an unsigned 11-bit integer _N_, then [latexmath] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ $$E = \left\lfloor { N \over 64 } \right\rfloor$$ $$M = N \bmod 64.$$ -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ [[10bitfp]] === Unsigned 10-bit floating-point numbers @@ -4845,7 +4864,7 @@ The value _V_ of an unsigned 10-bit floating-point number is determined by the following: [latexmath] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ \[ V = \begin{cases} @@ -4857,16 +4876,16 @@ V = \mathit{NaN}, & E = 31, M \neq 0 \end{cases} \] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ If the floating-point number is interpreted as an unsigned 10-bit integer _N_, then [latexmath] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ $$E = \left\lfloor { N \over 32 } \right\rfloor$$ $$M = N \bmod 32.$$ -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ [[customfp]] === Non-standard floating point formats @@ -4965,7 +4984,7 @@ exponent value of _E_, a format with an implicit ``1'' bit can be converted from its representation to a real value as follows: [latexmath] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ \[ V = \begin{cases} @@ -4977,14 +4996,14 @@ V = \mathit{NaN}, & E > E_\mathit{sampleUpper}, M \neq 0. \end{cases} \] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ If there is no implicit ``1'' bit (that is, the *_sampleUpper_* value of the mantissa is representable in the number of bits assigned to the mantissa), the value can be converted to a real value as follows: [latexmath] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ \[ V = \begin{cases} @@ -4994,7 +5013,7 @@ V = \mathit{NaN}, & E > E_\mathit{sampleUpper}, M \neq 0. \end{cases} \] -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ A descriptor block for a format without an implicit ``1'' (and with the added complication of having the same exponent bits shared across multiple @@ -5003,26 +5022,26 @@ in <>. In the case of this particular example, the a equations simplify to: [latexmath] -+++++++++++++++++++ +++++ $$red = \mathit{red}_\mathrm{shared}\times 2^{(\mathit{exp}_\mathrm{shared}-B-N)}$$ $$green = \mathit{green}_\mathrm{shared}\times 2^{(\mathit{exp}_\mathrm{shared}-B-N)}$$ $$blue = \mathit{blue}_\mathrm{shared}\times 2^{(\mathit{exp}_\mathrm{shared}-B-N)}$$ -+++++++++++++++++++ +++++ Where: [latexmath] -+++++++++++++++++++ +++++ $$N = 9 \textrm{ (= number of mantissa bits per component)}$$ $$B = 15 \textrm{ (= exponent bias)}$$ -+++++++++++++++++++ +++++ Note that in general conversion from a real number _to_ any representation may require rounding, truncation and special value management rules which are beyond the scope of a data format specification and may be documented in APIs which generate these formats. -== Example format descriptors == +== Example format descriptors NOTE: Example data format descriptors for compressed formats can be found under the *_colorModel_* field in <>. @@ -5030,7 +5049,7 @@ be found under the *_colorModel_* field in <>. [[exampledescriptor_565]] .565 _RGB_ packed 16-bit format as written to memory by a little-endian architecture [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 76 @@ -5059,14 +5078,14 @@ be found under the *_colorModel_* field in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 31 -|================================ +|==== <<< [[exampledescriptor_cosited]] .Four co-sited 8-bit sRGB channels, assuming premultiplied alpha [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 92 @@ -5101,14 +5120,14 @@ be found under the *_colorModel_* field in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 255 -|================================ +|==== <<< [[exampledescriptor_mono8bit]] .A single 8-bit monochrome channel [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -5125,7 +5144,7 @@ be found under the *_colorModel_* field in <>. 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 255 -|================================ +|==== [[exampledescriptor_1bpp]] ifdef::a2xhtml[] .A single 1-bit monochrome channel, as an 8×1 texel block to allow byte-alignment @@ -5134,7 +5153,7 @@ ifndef::a2xhtml[] .A single 1-bit monochrome channel, as an 8×1 texel block to allow byte-alignment, part 1 of 2 endif::[] [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 156 @@ -5158,13 +5177,13 @@ endif::[] 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 1 ifndef::a2xhtml[] -|================================ +|==== <<< .A single 1-bit monochrome channel, as an 8×1 texel block to allow byte-alignment, part 2 of 2 [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ endif::[] @@ -5204,14 +5223,14 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0 8+^| 0xE0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 1 -|================================ +|==== <<< [[exampledescriptor_bayer]] .2×2 Bayer pattern: four 8-bit distributed sRGB channels, spread across two lines (as two planes) [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 92 @@ -5246,14 +5265,14 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0x80 (_y_ = ``1'') 8+^| 0x80 (_x_ = ``1'') 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 255 -|================================ +|==== <<< [[exampledescriptor_simplepalette]] .Simple paletted format: 8-bit index to 240 entries of 4-bit _R_, _G_, _B_ channels [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 92 @@ -5288,12 +5307,12 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0 8+^| 0 (palette id) 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 15 -|================================ +|==== [[exampledescriptor_LUT]] .Paletted color look-up table format: three 8-bit indices into separate 256-entry 10-bit channels [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 124 @@ -5340,12 +5359,12 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0 8+^| 2 (*++BLUE++* palette) 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 1023 -|================================ +|==== [[exampledescriptor_ycbcr]] ._Y′C~B~C~R~_ 4:2:0: BT.709 reduced-range data, with _C~B~_ and _C~R~_ aligned to the midpoint of the _Y′_ samples [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 124 @@ -5392,12 +5411,12 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0x40 (_y_ = ``0.5'') 8+^| 0x40 (_x_ = ``0.5'') 32+^| *_sampleLower:_* 16 32+^| *_sampleUpper:_* 240 -|================================ +|==== [[exampledescriptor_bigendian]] .565 _RGB_ packed 16-bit format as written to memory by a big-endian architecture [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 92 @@ -5432,12 +5451,12 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 31 -|================================ +|==== [[exampledescriptor_r9g9b9e5]] .R9G9B9E5 shared-exponent format [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 124 @@ -5484,12 +5503,12 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 15 -- exponent bias -|================================ +|==== [[exampledescriptor_AcornTint]] .Acorn 256-color format (2 bits each independent _RGB_, 2 bits shared tint) [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 108 @@ -5530,7 +5549,7 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 3 -|================================ +|==== ifdef::a2xhtml[] .V210 format (full-range _Y′C~B~C~R~_) @@ -5540,7 +5559,7 @@ ifndef::a2xhtml[] .V210 format (full-range _Y′C~B~C~R~_) part 1 of 2 endif::[] [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 220 @@ -5582,11 +5601,11 @@ endif::[] 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 1023 ifndef::a2xhtml[] -|================================ +|==== .V210 format (full-range _Y′C~B~C~R~_) part 2 of 2 [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ endif::[] @@ -5632,12 +5651,12 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0 8+^| 0xA0 (_x_ = ``5.0'') 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 1023 -|================================ +|==== [[exampledescriptor_intensity]] .Intensity-alpha format showing aliased samples [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 92 @@ -5672,12 +5691,12 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0 32+^| *_sampleUpper:_* 255 -|================================ +|==== [[exampledescriptor_48bit]] .A 48-bit signed middle-endian red channel: three co-sited 16-bit little-endian words, high word first [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 76 @@ -5706,12 +5725,12 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0xFFFF8000U -- top 16 bits of 0x800000000000, sign-extended 32+^| *_sampleUpper:_* 0x00007FFFU -- top 16 bits of 0x7FFFFFFFFFFF -|================================ +|==== [[exampledescriptor_float16explicit]] .A single 16-bit floating-point red value, described explicitly (example only!) [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 76 @@ -5740,12 +5759,12 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 15 -- bias 32+^| *_sampleUpper:_* 30 -- support for infinities because 30 < 2^*bitLength*^ - 1 -|================================ +|==== [[exampledescriptor_float16implicit]] .A single 16-bit floating-point red value, described normally [width="97%"] -|================================ +|==== 32+^| *~++uint32_t++ bit~* ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 32+^| *_totalSize:_* 44 @@ -5762,7 +5781,7 @@ endif::[] 8+^| 0 8+^| 0 8+^| 0 8+^| 0 32+^| *_sampleLower:_* 0xBF800000U -- IEEE 754 floating-point representation for -1.0f 32+^| *_sampleUpper:_* 0x3F800000U -- IEEE 754 floating-point representation for 1.0f -|================================ +|==== ifndef::a2xhtml[] = Color conversions @@ -5782,7 +5801,7 @@ endif::[] include::references.adoc[] -== Contributors == +== Contributors Frank Brill diff --git a/etc1.adoc b/etc1.adoc index 5503a18..3cd3579 100644 --- a/etc1.adoc +++ b/etc1.adoc @@ -1,5 +1,6 @@ -// Copyright (c) 2014-2019 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2014-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + [[ETC1]] == ETC1 Compressed Texture Image Formats @@ -51,11 +52,11 @@ _q_~7~ at the highest. The 64 bits specifying the block are then represented by the following 64 bit integer: [latexmath] -++++++ +++++ \begin{align*} \mathit{int64bit} & = 256\times (256\times (256\times (256\times (256\times (256\times (256\times q_0+q_1)+q_2)+q_3)+q_4)+q_5)+q_6)+q_7 \end{align*} -++++++ +++++ Each 64-bit word contains information about a 4{times}4 pixel block as shown in <>. @@ -82,7 +83,7 @@ endif::[] ifndef::a2xhtml[] [width="55%",cols="16*1"] endif::[] -|==================== +|==== 16+^| [[ETC1individual]]*a) Bit layout in bits 63 through 32 if _diff bit_ = 0* ^| ~63~ ^| ~62~ ^| ~61~ ^| ~60~ ^| ~59~ ^| ~58~ ^| ~57~ ^| ~56~ ^| ~55~ ^| ~54~ ^| ~53~ ^| ~52~ ^| ~51~ ^| ~50~ ^| ~49~ ^| ~48~ 4+^| Base color 1 @@ -156,7 +157,7 @@ _bit_ 16+^| *Less significant pixel index bits* ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ ^| _p_^0^ ^| _o_^0^ ^| _n_^0^ ^| _m_^0^ ^| _l_^0^ ^| _k_^0^ ^| _j_^0^ ^| _i_^0^ ^| _h_^0^ ^| _g_^0^ ^| _f_^0^ ^| _e_^0^ ^| _d_^0^ ^| _c_^0^ ^| _b_^0^ ^| _a_^0^ -|==================== +|==== <<< In both modes, the 4{times}4 block is divided into @@ -198,12 +199,12 @@ In summary, the _base colors_ for the subblocks in the individual mode are: [latexmath] -++++++ +++++ \begin{align*} \mathit{base\ color_{subblock1}} & = \mathit{extend\_4to8bits}(\mathit{R}, \mathit{G}, \mathit{B}) \\ \mathit{base\ color_{subblock2}} & = \mathit{extend\_4to8bits}(\mathit{R}_2, \mathit{G}_2, \mathit{B}_2) \end{align*} -++++++ +++++ In the `differential' mode (_diff bit_ = 1), the _base color_ for subblock 1 is derived from the five-bit codewords _R_, @@ -233,12 +234,12 @@ In summary, the _base colors_ for the subblocks in the differential mode are: [latexmath] -++++++ +++++ \begin{align*} \mathit{base\ color_{subblock1}} & = \mathit{extend\_5to8bits}(\mathit{R}, \mathit{G}, \mathit{B}) \\ \mathit{base\ color_{subblock2}} & = \mathit{extend\_5to8bits}(\mathit{R}+\mathit{R}_\mathrm{d}, \mathit{G}+\mathit{G}_\mathrm{d}, \mathit{B}+\mathit{B}_\mathrm{d}) \end{align*} -++++++ +++++ Note that these additions are not allowed to under- or overflow (go below zero or above 31). (The compression scheme can easily @@ -281,7 +282,7 @@ clamped to [0..255], resulting in the color [[ETC1modifiersets]] .Intensity modifier sets for ETC1 compressed textures [cols="2,1,1,1,1",width="48%"] -|============== +|==== ^| *_Table codeword_* 4+^.^| *Modifier table* ^| 0 >| -8   >| -2   >| 2   >| 8   ^| 1 >| -17   >| -5   >| 5   >| 17   @@ -291,19 +292,19 @@ clamped to [0..255], resulting in the color ^| 5 >| -80   >| -24   >| 24   >| 80   ^| 6 >| -106   >| -33   >| 33   >| 106   ^| 7 >| -183   >| -47   >| 47   >| 183   -|============== +|==== [[ETC1modifiermapping]] .Mapping from pixel index values to modifier values for ETC1 compressed textures [cols="1,1,3",width="50%"] -|============ +|==== 2+^| *_Pixel index_ value* .2+^.^| *Resulting modifier value* ^| *MSB* ^| *LSB* ^| 1 ^| 1 |   -b (large negative value) ^| 1 ^| 0 |   -a (small negative value) ^| 0 ^| 0 |   {plus}a (small positive value) ^| 0 ^| 1 |   {plus}b (large positive value) -|============ +|==== [NOTE] ==== diff --git a/etc2.adoc b/etc2.adoc index 711ed96..7f478c6 100644 --- a/etc2.adoc +++ b/etc2.adoc @@ -1,5 +1,6 @@ -// Copyright (c) 2014-2019 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2014-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + [[ETC2]] == ETC2 Compressed Texture Image Formats @@ -122,11 +123,11 @@ _q_~0~ is located at the lowest memory address and _q_~7~ at the highest. The 64 bits specifying the block are then represented by the following 64 bit integer: [latexmath] -++++++ +++++ \begin{align*} \mathit{int64bit} & = 256\times (256\times (256\times (256\times (256\times (256\times (256\times q_0+q_1)+q_2)+q_3)+q_4)+q_5)+q_6)+q_7 \end{align*} -++++++ +++++ The number of bits that represent a 4{times}4 texel block is 128 bits if the format is RGBA ETC2 with a linear or sRGB transfer function. In @@ -140,12 +141,12 @@ This is split into two 64-bit integers, one used for color channel decompression and one for alpha channel decompression: [latexmath] -++++++ +++++ \begin{align*} \mathit{int64bit_{Alpha}} & = 256\times (256\times (256\times (256\times (256\times (256\times (256\times q_0+q_1)+q_2)+q_3)+q_4)+q_5)+q_6)+q_7 \\ \mathit{int64bit_{Color}} & = 256\times (256\times (256\times (256\times (256\times (256\times (256\times q_8+q_9)+q_{10})+q_{11})+q_{12})+q_{13})+q_{14})+q_{15} \end{align*} -++++++ +++++ <<< @@ -163,7 +164,7 @@ image::images/ETCletterdirections.{svgpdf}[width="{svgpdf@pdf:115pt:173}",align= [[Table-etc2-dataformat]] .Texel Data format for ETC2 compressed texture formats [cols="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1",width="97%"] -|==================== +|==== 32+| [[ETC2ModeSelection]]  *a) Location of bits for mode selection* ^| ~63~ ^| ~62~ ^| ~61~ ^| ~60~ ^| ~59~ ^| ~58~ ^| ~57~ ^| ~56~ ^| ~55~ ^| ~54~ ^| ~53~ ^| ~52~ ^| ~51~ ^| ~50~ ^| ~49~ ^| ~48~ ^| ~47~ ^| ~46~ ^| ~45~ ^| ~44~ ^| ~43~ ^| ~42~ ^| ~41~ ^| ~40~ ^| ~39~ ^| ~38~ ^| ~37~ ^| ~36~ ^| ~35~ ^| ~34~ ^| ~33~ ^| ~32~ 5+^| _R_ 3+^| _R_~d~ 5+^| _G_ 3+^| _G_~d~ 5+^| _B_ 3+^| _B_~d~ 6+^| ...... ^| _D_ ^| . @@ -187,7 +188,7 @@ image::images/ETCletterdirections.{svgpdf}[width="{svgpdf@pdf:115pt:173}",align= ^| . 6+^| _R_ ^| _G_^6^ ^| . 6+^| _G_^5..0^ ^| _B_^5^ 3+^| ... 2+^| _B_^4..3^ ^| . 3+^| _B_^2..0^ 5+^| _R_~h~^5..1^ ^| 1 ^| _R~h~_^0^ ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 7+^| _G_~h~ 6+^| _B_~h~ 6+^| _R_~v~ 7+^| _G_~v~ 6+^| _B_~v~ -|==================== +|==== <<< @@ -248,12 +249,12 @@ instead. In summary, the _base colors_ for the subblocks in the individual mode are: [latexmath] -++++++ +++++ \begin{align*} \mathit{base\ color_{subblock1}} & = \mathit{extend4to8bits}(\mathit{R}, \mathit{G}, \mathit{B}) \\ \mathit{base\ color_{subblock2}} & = \mathit{extend4to8bits}(\mathit{R}_2, \mathit{G}_2, \mathit{B}_2) \end{align*} -++++++ +++++ <<< @@ -286,12 +287,12 @@ In summary, the _base colors_ for the subblocks in the `differential' mode are: [latexmath] -++++++ +++++ \begin{align*} \mathit{base\ color_{subblock1}} & = \mathit{extend5to8bits}(\mathit{R}, \mathit{G}, \mathit{B}) \\ \mathit{base\ color_{subblock2}} & = \mathit{extend5to8bits}(\mathit{R}+\mathit{R}_\mathrm{d}, \mathit{G}+\mathit{G}_\mathrm{d}, \mathit{B}+\mathit{B}_\mathrm{d}) \end{align*} -++++++ +++++ Note that these additions will not under- or overflow, or one of the alternative decompression modes would have been chosen instead of the @@ -312,7 +313,7 @@ textures and can therefore be hardcoded into the decompression unit. [[Table-etc2-modifiers]] .ETC2 intensity modifier sets for `individual' and `differential' modes [cols="2,1,1,1,1",width="45%"] -|============== +|==== ^| *_Table codeword_* 4+^.^| Modifier table ^| 0 >| -8   >| -2   >| 2   >| 8   ^| 1 >| -17   >| -5   >| 5   >| 17   @@ -322,19 +323,19 @@ textures and can therefore be hardcoded into the decompression unit. ^| 5 >| -80   >| -24   >| 24   >| 80   ^| 6 >| -106   >| -33   >| 33   >| 106   ^| 7 >| -183   >| -47   >| 47   >| 183   -|============== +|==== [[Table-etc2-pixelindices]] .Mapping from pixel index values to modifier values for RGB ETC2 compressed textures [cols="1,1,3",width="50%"] -|============ +|==== 2+^.^| *_Pixel index_ value* .2+^.^| *Resulting _modifier_ value* ^| *MSB* ^| *LSB* ^| 1 ^| 1 |   -b (large negative value) ^| 1 ^| 0 |   -a (small negative value) ^| 0 ^| 0 |   {plus}a (small positive value) ^| 0 ^| 1 |   {plus}b (large positive value) -|============ +|==== Next, we identify which _modifier_ value to use from the modifier table using the two _pixel index_ bits. The _pixel index_ bits are unique for @@ -379,13 +380,13 @@ Modifier table 4 [-60, -18, 18, 60] is selected for this subblock giving the following _paint colors_: [options="header",width="25%",cols="2,1,1,1"] -|===== +|==== ^| Modifier ^| _R_ ^| _G_ ^| _B_ ^| -60   >| 8   >| 127   >| 93   ^| -18   >| 58   >| 169   >| 135   ^| 18   >| 86   >| 205   >| 171   ^| 60   >| 128   >| 247   >| 213   -|===== +|==== The other _base color_ is encoded as the 4-bit triple (14, 3, 8), which is expanded by _extend4to8bits_ to @@ -394,13 +395,13 @@ Modifier table 0 [-8, -2, 2, 8] is selected for this subblock, giving the following _paint colors_ for the subblock: [options="header",width="25%",cols="2,1,1,1"] -|===== +|==== ^| Modifier ^| _R_ ^| _G_ ^| _B_ ^| -8 >| 230   >| 43   >| 128   ^| -2 >| 236   >| 49   >| 134   ^| 2 >| 240   >| 53   >| 138   ^| 8 >| 246   >| 59   >| 144   -|===== +|==== In this example, none of the _paint colors_ are modified by the process of clipping the channels to the range [0..255]. @@ -454,13 +455,13 @@ In this example, modifier table 2 [-29, -9, 9, 29] is applied to subblock 1's _base color_ of (239, 214, 66): [options="header",width="25%",cols="2,1,1,1"] -|===== +|==== ^| Modifier ^| _R_ ^| _G_ ^| _B_ ^| -29 >| 210   >| 185   >| 37   ^| -9 >| 230   >| 205   >| 57   ^| 9 >| 248   >| 223   >| 75   ^| 29 >| 268   >| 243   >| 95   -|===== +|==== The last row is clamped to (255, 243, 95), so subblock 1's _paint colors_ are not colinear in this example. @@ -469,13 +470,13 @@ Similarly, modifier table 3 [-42, -13, 13, 42] is applied to the _base color_ of subblock 2, (206, 189, 90): [options="header",width="25%",cols="2,1,1,1"] -|===== +|==== ^| Modifier ^| _R_ ^| _G_ ^| _B_ ^| -42 >| 164   >| 147   >| 48   ^| -13 >| 193   >| 176   >| 77   ^| 13 >| 219   >| 202   >| 103   ^| 42 >| 248   >| 231   >| 132   -|===== +|==== ==== @@ -490,24 +491,24 @@ are not stored sequentially, but in the layout shown in colors are constructed as follows: [latexmath] -++++++ +++++ \begin{align*} \mathit{base\ color\ 1} & = \mathit{extend4to8bits}(\: (\mathit{R}^{3..2} \ll 2)\: | \: \mathit{R}^{1..0}, \: \mathit{G}, \: \mathit{B}) \\ \mathit{base\ color\ 2} & = \mathit{extend4to8bits}(\mathit{R}_2, \: \mathit{G}_2, \: \mathit{B}_2) \end{align*} -++++++ +++++ Here, latexmath:[$\ll$] denotes bit-wise left shift and latexmath:[$|$] denotes bit-wise OR. In the `H' mode, the two colors are constructed as follows: [latexmath] -++++++ +++++ \begin{align*} \mathit{base\ color\ 1} & = \mathit{extend4to8bits}(\mathit{R}, \: (\mathit{G}^{3..1} \ll 1) \: | \: \mathit{G}^0, \: (\mathit{B}^3 \ll 3) \: | \: \mathit{B}^{2..0}) \\ \mathit{base\ color\ 2} & = \mathit{extend4to8bits}(\mathit{R}_2, \: \mathit{G}_2, \: \mathit{B}_2) \end{align*} -++++++ +++++ Both the `T' and `H' modes have four _paint colors_ which are the colors that will be used in the decompressed block, but they are @@ -531,7 +532,7 @@ the `distance' _d_ subtracted. [[Table-etc2-distancetable]] .Distance table for ETC2 `T' and `H' modes [options="header",width="25%"] -|================ +|==== ^.^| Distance index ^.^| Distance _d_ ^| 0 ^| 3 ^| 1 ^| 6 @@ -541,19 +542,19 @@ the `distance' _d_ subtracted. ^| 5 ^| 32 ^| 6 ^| 41 ^| 7 ^| 64 -|================ +|==== In summary, to determine the four _paint colors_ for a `T' block: [latexmath] -+++++++++++ +++++ \begin{align*} \mathit{paint\ color\ 0} & = \mathit{base\ color\ 1} \\ \mathit{paint\ color\ 1} & = \mathit{base\ color\ 2 + (d, d, d)} \\ \mathit{paint\ color\ 2} & = \mathit{base\ color\ 2} \\ \mathit{paint\ color\ 3} & = \mathit{base\ color\ 2 - (d, d, d)} \end{align*} -+++++++++++ +++++ In both cases, the value of each channel is clamped to within [0..255]. @@ -607,14 +608,14 @@ Once the `distance' _d_ has been determined for an `H' block, the four _paint colors_ will be: [latexmath] -+++++++++++ +++++ \begin{align*} \mathit{paint\ color\ 0} & = \mathit{base\ color\ 1 + (d, d, d)} \\ \mathit{paint\ color\ 1} & = \mathit{base\ color\ 1 - (d, d, d)} \\ \mathit{paint\ color\ 2} & = \mathit{base\ color\ 2 + (d, d, d)} \\ \mathit{paint\ color\ 3} & = \mathit{base\ color\ 2 - (d, d, d)} \end{align*} -+++++++++++ +++++ Again, all color components are clamped to within [0..255]. @@ -650,14 +651,14 @@ must be greater than _base color 2_), corresponding to a distance _d_ of 32. This leads to the following _paint colors_: [width="50%",cols="2,1,1,1,2,1,1,1"] -|===== +|==== .2+^.^| *_Paint color_ id* 3+^| *_Base color_* ^| *Distance* 3+^| *_Paint color_* ^| *_R_* ^| *_G_* ^| *_B_* ^| *_d_* ^| *_R_* ^| *_G_* ^| *_B_* ^| 0 .2+>.^| 221 .2+>.^| 17 .2+>.^| 136 ^| {plus}32 >| 253   >| 49   >| 168   ^| 1 ^| -32 >| 189   >| -15   >| 104   ^| 2 .2+>.^| 68 .2+>.^| 204 .2+>.^| 221 ^| {plus}32 >| 100   >| 236   >| 253   ^| 3 ^| -32 >| 36   >| 172   >| 189   -|===== +|==== The _G_ channel of _paint color 1_ is clamped to 0, giving (189, 0, 104). This stops _paint color_ 1 being @@ -698,13 +699,13 @@ With three _base colors_ in _RGB_:888 format, the color of each pixel can then be determined as: [latexmath] -++++++++++++ +++++ \begin{align*} \mathit{R}(x,y) & = {x\times (\mathit{R}_\mathrm{h}-\mathit{R})\over 4.0} + {y\times (\mathit{R}_\mathrm{v}-\mathit{R})\over 4.0} + \mathit{R} \\ \mathit{G}(x,y) & = {x\times (\mathit{G}_\mathrm{h}-\mathit{G})\over 4.0} + {y\times (\mathit{G}_\mathrm{v}-\mathit{G})\over 4.0} + \mathit{G} \\ \mathit{B}(x,y) & = {x\times (\mathit{B}_\mathrm{h}-\mathit{B})\over 4.0} + {y\times (\mathit{B}_\mathrm{v}-\mathit{B})\over 4.0} + \mathit{B} \end{align*} -++++++++++++ +++++ where _x_ and _y_ are values from 0 to 3 corresponding to the pixels coordinates within the block, _x_ being in the @@ -717,13 +718,13 @@ integer if there is a tie) and then clamped to a value between 0 and 255. Note that this is equivalent to [latexmath] -++++++++++++++ +++++ \begin{align*} \mathit{R}(x,y) & = \mathit{clamp255}((x\times (\mathit{R}_\mathrm{h}-\mathit{R}) + y\times (\mathit{R}_\mathrm{v}-\mathit{R}) + 4\times \mathit{R} + 2) \gg 2) \\ \mathit{G}(x,y) & = \mathit{clamp255}((x\times (\mathit{G}_\mathrm{h}-\mathit{G}) + y\times (\mathit{G}_\mathrm{v}-\mathit{G}) + 4\times \mathit{G} + 2) \gg 2) \\ \mathit{B}(x,y) & = \mathit{clamp255}((x\times (\mathit{B}_\mathrm{h}-\mathit{B}) + y\times (\mathit{B}_\mathrm{v}-\mathit{B}) + 4\times \mathit{B} + 2) \gg 2) \end{align*} -++++++++++++++ +++++ where _clamp255_({cdot}) clamps the value to a number in the range [0..255] and where latexmath:[$\gg$] performs bit-wise right shift. @@ -755,7 +756,7 @@ The `horizontal' (interpolated by _x_) _base color_ The resulting texel colors are then: [options="header",width="25%",cols="1,1,1,1,1"] -|===== +|==== ^| _x_ ^| _y_ ^| _R_ ^| _G_ ^| _B_ ^| 0 ^| 0 >| 48   >| 129   >| 251   ^| 1 ^| 0 >| 87   >| 99   >| 226   @@ -773,7 +774,7 @@ The resulting texel colors are then: ^| 1 ^| 3 >| 172   >| 171   >| 174   ^| 2 ^| 3 >| 211   >| 142   >| 149   ^| 3 ^| 3 >| 250   >| 112   >| 124   -|===== +|==== ==== @@ -807,7 +808,7 @@ endif::[] ifndef::a2xhtml[] [width="60%"] endif::[] -|============= +|==== 16+|   *a) Bit layout in bits 63 through 48* ^| ~63~ ^| ~62~ ^| ~61~ ^| ~60~ ^| ~59~ ^| ~58~ ^| ~57~ ^| ~56~ ^| ~55~ ^| ~54~ ^| ~53~ ^| ~52~ ^| ~51~ ^| ~50~ ^| ~49~ ^| ~48~ 8+^| _base codeword_ 4+^| _multiplier_ 4+^| _table index_ @@ -820,7 +821,7 @@ endif::[] ^| _f_~{alpha}~^1^ ^| _f_~{alpha}~^0^ ^| _g_~{alpha}~^2^ ^| _g_~{alpha}~^1^ ^| _g_~{alpha}~^0^ ^| _h_~{alpha}~^2^ ^| _h_~{alpha}~^1^ ^| _h_~{alpha}~^0^ ^| _i_~{alpha}~^2^ ^| _i_~{alpha}~^1^ ^| _i_~{alpha}~^0^ ^| _j_~{alpha}~^2^ ^| _j_~{alpha}~^1^ ^| _j_~{alpha}~^0^ ^| _k_~{alpha}~^2^ ^| _k_~{alpha}~^1^ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ ^| _k_~{alpha}~^0^ ^| _l_~{alpha}~^2^ ^| _l_~{alpha}~^1^ ^| _l_~{alpha}~^0^ ^| _m_~{alpha}~^2^ ^| _m_~{alpha}~^1^ ^| _m_~{alpha}~^0^ ^| _n_~{alpha}~^2^ ^| _n_~{alpha}~^1^ ^| _n_~{alpha}~^0^ ^| _o_~{alpha}~^2^ ^| _o_~{alpha}~^1^ ^| _o_~{alpha}~^0^ ^| _p_~{alpha}~^2^ ^| _p_~{alpha}~^1^ ^| _p_~{alpha}~^0^ -|============= +|==== The 64-bits in _int64bit~Alpha~_ used to decompress the alpha channel are laid out as shown in <>. The information @@ -846,11 +847,11 @@ calculated the following way: [[Equation-etc2eac-eqn-base]] .ETC2 base [latexmath] -++++++ +++++ \begin{align*} \mathit{clamp255}(\mathit{base\ codeword} + \mathit{modifier}\times \mathit{multiplier}) \end{align*} -++++++ +++++ where _clamp255_({cdot}) maps values outside the range [0..255] to 0.0 or 255.0. @@ -868,7 +869,7 @@ one of 16 pre-determined `modifier tables', shown in [[Table-etc2eac-modifiers]] .Intensity modifier sets for RGBA ETC2 alpha component [cols="20%,10%,10%,10%,10%,10%,10%,10%,10%",width="60%",options="header"] -|================= +|==== ^| _Table index_ 8+^| Modifier table >| 0   >| -3   >| -6   >| -9   >| -15   >| 2   >| 5   >| 8   >| 14   >| 1   >| -3   >| -7   >| -10   >| -13   >| 2   >| 6   >| 9   >| 12   @@ -886,7 +887,7 @@ one of 16 pre-determined `modifier tables', shown in >| 13   >| -1   >| -2   >| -3   >| -10   >| 0   >| 1   >| 2   >| 9   >| 14   >| -4   >| -6   >| -8   >| -9   >| 3   >| 5   >| 7   >| 8   >| 15   >| -3   >| -5   >| -7   >| -9   >| 2   >| 4   >| 6   >| 8   -|================= +|==== For example, a _table index_ of 13 (1101 binary) means that we should use table [-1, -2 -3, -10, 0, 1, 2, 9]. @@ -958,11 +959,11 @@ the highest. The red component of the 4{times}4 block is then represented by the following 64-bit integer: [latexmath] -++++++ +++++ \begin{align*} \mathit{int64bit} & = 256\times (256\times (256\times (256\times (256\times (256\times (256\times q_0+q_1)+q_2)+q_3)+q_4)+q_5)+q_6)+q_7 \end{align*} -++++++ +++++ This 64-bit word contains information about a single-channel 4{times}4 pixel block as shown in <>. The 64-bit word @@ -978,11 +979,11 @@ The decoded value is calculated as: [[Equation-r11eac-eqn-start]] .Unsigned R11 EAC start [latexmath] -++++++ +++++ \begin{align*} \mathit{clamp1}\left((\mathit{base\ codeword}+0.5)\times \frac{1}{255.875} + \mathit{modifier}\times\mathit{multiplier}\times\frac{1}{255.875}\right) \end{align*} -+++++++ +++++ where _clamp1_({cdot}) maps values outside the range [0.0, 1.0] to 0.0 or 1.0. @@ -997,11 +998,11 @@ To get a value between 0 and 2047 we must multiply <> by 2047.0: [latexmath] -+++++++ +++++ \begin{align*} \mathit{clamp2}\left((\mathit{base\ codeword}+0.5)\times \frac{2047.0}{255.875} + \mathit{modifier}\times\mathit{multiplier}\times\frac{2047.0}{255.875}\right) \end{align*} -+++++++ +++++ where _clamp2_({cdot}) clamps to the range [0.0, 2047.0]. @@ -1010,11 +1011,11 @@ Since latexmath:[$2047.0 \over 255.875$] is exactly 8.0, the above equation can [[Equation-r11eac-eqn-simple]] .Unsigned R11 EAC simple [latexmath] -+++++++ +++++ \begin{align*} \mathit{clamp2}(\mathit{base\ codeword}\times 8 + 4 + \mathit{modifier} \times \mathit{multiplier} \times 8) \end{align*} -+++++++ +++++ The _base codeword_ is stored in the first 8 bits as shown in <> part (a). Bits 63..56 in each block @@ -1080,11 +1081,11 @@ all zero), we should set the _multiplier_ to latexmath:[$1.0\over 8.0$]. [[Equation-r11eac-eqn-simpler]] .Unsigned R11 EAC simpler [latexmath] -++++++ +++++ \begin{align*} \mathit{clamp2}(\mathit{base\ codeword}\times 8 + 4 + \mathit{modifier}) \end{align*} -+++++++ +++++ As an example, assume a _base codeword_ of 103, a _table index_ of 13, a _pixel index_ of 3 and a _multiplier_ value of 0. We treat the @@ -1144,38 +1145,38 @@ As an example, assume we choose the _base codeword_ 255, a _multiplier_ of 1 and <>, [latexmath] -++++++ +++++ \begin{align*} \mathit{clamp1}\left((\mathit{base\ codeword}+0.5)\times \frac{1}{255.875} + \mathit{table\ value} \times \mathit{multiplier} \times \frac{1}{255.875}\right) \end{align*} -++++++ +++++ we get [latexmath] -++++++ +++++ \begin{align*} \mathit{clamp1}\left((255+0.5)\times \frac{1}{255.875} + \left[ \begin{array}{cccccccc} -3 & -5 & -7 &-9 & 2 & 4 & 6 & 8 \end{array}\right] \times \frac{1}{255.875}\right) \end{align*} -++++++ +++++ which equals [latexmath] -++++++ +++++ \begin{align*} \mathit{clamp1}\left(\left[ \begin{array}{cccccccc} 0.987 & 0.979 & 0.971 & 0.963 & 1.00 & 1.01 & 1.02 & 1.03 \end{array}\right]\right) \end{align*} -++++++ +++++ or after clamping [latexmath] -++++++ +++++ \begin{align*} \left[ \begin{array}{cccccccc} 0.987 & 0.979 & 0.971 & 0.963 & 1.00 & 1.00 & 1.00 & 1.00\end{array}\right] \end{align*} -++++++ +++++ which shows that several values can be 1.0, even though the base value does not reach 1.0. The same reasoning goes for 0.0. @@ -1193,12 +1194,12 @@ The 128 bits specifying the block are then represented by the following two 64 bit integers: [latexmath] -++++++ +++++ \begin{align*} \mathit{int64bit}_0 & = 256\times (256\times (256\times (256\times (256\times (256\times (256\times q_0+q_1)+q_2)+q_3)+q_4)+q_5)+q_6)+q_7 \\ \mathit{int64bit}_1 & = 256\times (256\times (256\times (256\times (256\times (256\times (256\times p_0+p_1)+p_2)+p_3)+p_4)+p_5)+p_6)+p_7 \end{align*} -++++++ +++++ The 64-bit word _int64bit_~0~ contains information about the red component of a two-channel 4{times}4 pixel block as shown in @@ -1218,11 +1219,11 @@ The red component of the 4{times}4 block is then represented by the following 64 bit integer: [latexmath] -+++++ +++++ \begin{align*} \mathit{int64bit} & = 256\times(256\times(256\times(256\times(256\times(256\times(256\times q_0+q_1)+q_2)+q_3)+q_4)+q_5)+q_6)+q_7 \end{align*} -+++++ +++++ This 64-bit word contains information about a single-channel 4{times}4 pixel block as shown in <>. @@ -1238,11 +1239,11 @@ The decoded value is calculated as [[Equation-signedr11eac-eqn-start]] .Signed R11 EAC start [latexmath] -+++++ +++++ \begin{align*} \mathit{clamp1}\left(\mathit{base\ codeword}\times \frac{1}{127.875} + \mathit{modifier}\times \mathit{multiplier}\times \frac{1}{127.875}\right) \end{align*} -+++++ +++++ where _clamp1_({cdot}) maps values outside the range [-1.0, 1.0] to -1.0 or 1.0. @@ -1257,11 +1258,11 @@ To get a value between -1023 and 1023 we must multiply <> by 1023.0: [latexmath] -+++++ +++++ \begin{align*} \mathit{clamp2}\left(\mathit{base\ codeword}\times \frac{1023.0}{127.875} + \mathit{modifier}\times \mathit{multiplier}\times \frac{1023.0}{127.875}\right) \end{align*} -+++++ +++++ where _clamp2_({cdot}) clamps to the range [-1023.0, 1023.0]. Since latexmath:[$1023.0\over 127.875$] is exactly 8, the above formula can be written as: @@ -1269,11 +1270,11 @@ latexmath:[$1023.0\over 127.875$] is exactly 8, the above formula can be written [[Equation-signedr11eac-eqn-simple]] .Signed R11 EAC simple [latexmath] -+++++ +++++ \begin{align*} \mathit{clamp2}(\mathit{base\ codeword}\times 8 + \mathit{modifier}\times \mathit{multiplier} \times 8) \end{align*} -+++++ +++++ The _base codeword_ is stored in the first 8 bits as shown in <> part (a). It is a two's-complement value @@ -1331,11 +1332,11 @@ all zero), we should set the _multiplier_ to latexmath:[$1.0 \over 8.0$]. [[Equation-signedr11eac-eqn-simpler]] .Signed R11 EAC simpler [latexmath] -+++++ +++++ \begin{align*} \mathit{clamp2}(\mathit{base\ codeword} \times 8 + \mathit{modifier}) \end{align*} -+++++ +++++ As an example, assume a _base codeword_ of 65, a _table index_ of 13, a _pixel index_ of 3 and a _multiplier_ value of 0. @@ -1360,7 +1361,8 @@ expanded to 0011101011001110b = 15054. A negative 11-bit value must first be made positive before bit replication, and then made negative again: ------ +[source] +---- if (result11bit >= 0) { result16bit = (result11bit << 5) + (result11bit >> 5); } else { @@ -1368,7 +1370,7 @@ if (result11bit >= 0) { result16bit = (result11bit << 5) + (result11bit >> 5); result16bit = -result16bit; } ------ +---- Simply bit replicating a negative number without first making it positive will not give a correct result. @@ -1391,38 +1393,38 @@ the _multiplier_ is one. Starting with <>, [latexmath] -++++++ +++++ \begin{align*} \mathit{base\ codeword}\times \frac{1}{127.875} + \mathit{modifier}\times \mathit{multiplier}\times \frac{1}{127.875} \end{align*} -++++++ +++++ we get [latexmath] -++++++ +++++ \begin{align*} \frac{127}{127.875} + \left[\begin{array}{cccccccc} -3 & -5 & -7 & -9 & 2 & 4 & 6 & 8 \end{array}\right] \times \frac{1}{127.875} \end{align*} -++++++ +++++ which equals [latexmath] -++++++ +++++ \begin{align*} \left[ \begin{array}{cccccccc} 0.970 & 0.954 & 0.938 & 0.923 & 1.01 & 1.02 & 1.04 &1.06\end{array}\right] \end{align*} -++++++ +++++ or after clamping [latexmath] -++++++ +++++ \begin{align*} \left[ \begin{array}{cccccccc} 0.970 & 0.954 & 0.938 & 0.923 & 1.00 & 1.00 & 1.00 & 1.00 \end{array}\right] \end{align*} -++++++ +++++ This shows that it is indeed possible to arrive at the value 1.0. The same reasoning goes for -1.0. @@ -1447,12 +1449,12 @@ where byte _q_~0~ is located at the lowest memory address and _p_~7~ at the high two 64 bit integers: [latexmath] -++++++ +++++ \begin{align*} \mathit{int64bit}_0 & = 256\times (256\times (256\times (256\times (256\times (256\times (256\times q_0+q_1)+q_2)+q_3)+q_4)+q_5)+q_6)+q_7 \\ \mathit{int64bit}_1 & = 256\times (256\times (256\times (256\times (256\times (256\times (256\times p_0+p_1)+p_2)+p_3)+p_4)+p_5)+p_6)+p_7 \end{align*} -++++++ +++++ The 64-bit word _int64bit_~0~ contains information about the red component of a two-channel 4{times}4 pixel block as shown in @@ -1476,7 +1478,7 @@ determining the mode used in a given block. [[Table-etc2punch-dataformat]] .Texel Data format for punchthrough alpha ETC2 compressed texture formats [cols="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1",width="97%"] -|==================== +|==== 32+|   *a) Location of bits for mode selection* ^| ~63~ ^| ~62~ ^| ~61~ ^| ~60~ ^| ~59~ ^| ~58~ ^| ~57~ ^| ~56~ ^| ~55~ ^| ~54~ ^| ~53~ ^| ~52~ ^| ~51~ ^| ~50~ ^| ~49~ ^| ~48~ ^| ~47~ ^| ~46~ ^| ~45~ ^| ~44~ ^| ~43~ ^| ~42~ ^| ~41~ ^| ~40~ ^| ~39~ ^| ~38~ ^| ~37~ ^| ~36~ ^| ~35~ ^| ~34~ ^| ~33~ ^| ~32~ 5+^| _R_ 3+^| _R_~d~ 5+^| _G_ 3+^| _G_~d~ 5+^| _B_ 3+^| _B_~d~ 6+^| ...... ^| _Op_ ^| . @@ -1497,7 +1499,7 @@ determining the mode used in a given block. ^| . 6+^| _R_ ^| _G_^6^ ^| . 6+^| _G_^5..0^ ^| _B_^5^ 3+^| ... 2+^| _B_^4..3^ ^| . 3+^| _B_^2..0^ 5+^| _R_~h~^5..1^ ^| 1 ^| _R_~h~^0^ ^| ~31~ ^| ~30~ ^| ~29~ ^| ~28~ ^| ~27~ ^| ~26~ ^| ~25~ ^| ~24~ ^| ~23~ ^| ~22~ ^| ~21~ ^| ~20~ ^| ~19~ ^| ~18~ ^| ~17~ ^| ~16~ ^| ~15~ ^| ~14~ ^| ~13~ ^| ~12~ ^| ~11~ ^| ~10~ ^| ~9~ ^| ~8~ ^| ~7~ ^| ~6~ ^| ~5~ ^| ~4~ ^| ~3~ ^| ~2~ ^| ~1~ ^| ~0~ 7+^| _G_~h~ 6+^| _B_~h~ 6+^| _R_~v~ 7+^| _G_~v~ 6+^| _B_~v~ -|==================== +|==== To determine the mode, the three 5-bit values _R_, _G_ and _B_, and the three 3-bit values _R_~d~, _G_~d~ and _B_~d~ are examined. @@ -1551,12 +1553,12 @@ In summary, the _base colors_ for the subblocks in the differential mode are: [latexmath] -++++++ +++++ \begin{align*} \mathit{base\ color_{subblock1}} & = \mathit{extend5to8bits}(\mathit{R}, \mathit{G}, \mathit{B}) \\ \mathit{base\ color_{subblock2}} & = \mathit{extend5to8bits}(\mathit{R}+\mathit{R}_\mathrm{d}, \mathit{G}+\mathit{G}_\mathrm{d}, \mathit{B}+\mathit{B}_\mathrm{d}) \end{align*} -++++++ +++++ Note that these additions will not under- or overflow, or one of the alternative decompression modes would have been chosen instead of the @@ -1565,7 +1567,7 @@ alternative decompression modes would have been chosen instead of the [[Table-etc2punch-modifiers-a]] .ETC2 intensity modifier sets for the `differential' if `opaque' (_Op_) is set [cols="3,1,1,1,1",options="header",width="40%"] -|======== +|==== ^| _Table codeword_ 4+^| Modifier table ^| 0 >| -8   >| -2   >| 2   >| 8   ^| 1 >| -17   >| -5   >| 5   >| 17   @@ -1575,12 +1577,12 @@ alternative decompression modes would have been chosen instead of the ^| 5 >| -80   >|-24   >| 24   >| 80   ^| 6 >| -106   >|-33   >| 33   >|106   ^| 7 >| -183   >|-47   >| 47   >|183   -|======== +|==== [[Table-etc2punch-modifiers-b]] .ETC2 intensity modifier sets for the `differential' if `opaque' (_Op_) is unset [cols="3,1,1,1,1",options="header",width="40%"] -|======== +|==== ^| _Table codeword_ 4+^| Modifier table ^| 0 >| -8   >| 0   >| 0   >| 8   ^| 1 >| -17   >| 0   >| 0   >| 17   @@ -1590,7 +1592,7 @@ alternative decompression modes would have been chosen instead of the ^| 5 >| -80   >| 0   >| 0   >| 80   ^| 6 >| -106   >| 0   >| 0   >| 106   ^| 7 >| -183   >| 0   >| 0   >| 183   -|======== +|==== After obtaining the _base color_, a table is chosen using the _table codewords_: For subblock 1, _table codeword 1_ is used (bits 39..37), and @@ -1635,26 +1637,26 @@ color (255, 37, 45). [[Table-etc2punch-pixelindices-a]] .ETC2 mapping from pixel index values to modifier values when `opaque' bit is set [cols="1,1,3",width="50%"] -|============ +|==== 2+^| *_Pixel index_ value* .2+^.^| *Resulting _modifier_ value* ^| *msb* ^| *lsb* ^| 1 ^| 1 |   -b (large negative value) ^| 1 ^| 0 |   -a (small negative value) ^| 0 ^| 0 |   {plus}a (small positive value) ^| 0 ^| 1 |   {plus}b (large positive value) -|============ +|==== [[Table-etc2punch-pixelindices-b]] .ETC2 mapping from pixel index values to modifier values when `opaque' bit is unset [cols="1,1,3",width="50%"] -|============ +|==== 2+^| *_Pixel index_ value* .2+^.^| *Resulting _modifier_ value* ^| *msb* ^| *lsb* ^| 1 ^| 1 |   -b (large negative value) ^| 1 ^| 0 |   0 (zero) ^| 0 ^| 0 |   0 (zero) ^| 0 ^| 1 |   {plus}b (large positive value) -|============ +|==== The alpha component is decoded using the `opaque'-bit, which is positioned in bit 33 (see @@ -1665,7 +1667,8 @@ if MSB==1 and LSB==0, the alpha value will be zero, otherwise it will be 255. Finally, if the alpha value equals 0, the red, green and blue components will also be zero. ------ +[source] +---- if (opaque == 0 && MSB == 1 && LSB == 0) { red = 0; green = 0; @@ -1674,7 +1677,7 @@ if (opaque == 0 && MSB == 1 && LSB == 0) { } else { alpha = 255; } ------ +---- Hence _paint color 2_ will equal _RGBA_ = (0, 0, 0, 0) if opaque = 0. @@ -1690,22 +1693,22 @@ stored sequentially, but in the layout shown in To clarify, in the `T' mode, the two colors are constructed as follows: [latexmath] -++++++ +++++ \begin{align*} \mathit{base\ color\ 1} & = \mathit{extend4to8bits}(\: (\mathit{R}^{3..2} \ll 2)\: | \: \mathit{R}^{1..0}, \: \mathit{G}, \: \mathit{B}) \\ \mathit{base\ color\ 2} & = \mathit{extend4to8bits}(\mathit{R}_2, \: \mathit{G}_2, \: \mathit{B}_2) \end{align*} -++++++ +++++ In the `H' mode, the two colors are constructed as follows: [latexmath] -++++++ +++++ \begin{align*} \mathit{base\ color\ 1} & = \mathit{extend4to8bits}(\mathit{R}, \: (\mathit{G}^{3..1} \ll 1) \: | \: \mathit{G}^0, \: (\mathit{B}^3 \ll 3) \: | \: \mathit{B}^{2..0}) \\ \mathit{base\ color\ 2} & = \mathit{extend4to8bits}(\mathit{R}_2, \: \mathit{G}_2, \: \mathit{B}_2) \end{align*} -++++++ +++++ The function _extend4to8bits_({cdot}) just replicates the four bits twice. This is equivalent to multiplying by 17. As an example, @@ -1729,21 +1732,22 @@ second _base color_ with the `distance' _d_ subtracted. In summary, to determine the four _paint colors_ for a `T' block: [latexmath] -++++++ +++++ \begin{align*} \mathit{paint\ color\ 0} & = \mathit{base\ color\ 1} \\ \mathit{paint\ color\ 1} & = \mathit{base\ color\ 2 + (d, d, d)} \\ \mathit{paint\ color\ 2} & = \mathit{base\ color\ 2} \\ \mathit{paint\ color\ 3} & = \mathit{base\ color\ 2 - (d, d, d)} \end{align*} -++++++ +++++ In both cases, the value of each channel is clamped to within [0..255]. Just as for the differential mode, the _RGB_ channels are set to zero if alpha is zero, and the alpha component is calculated the same way: ------ +[source] +---- if (opaque == 0 && MSB == 1 && LSB == 0) { red = 0; green = 0; @@ -1752,7 +1756,7 @@ if (opaque == 0 && MSB == 1 && LSB == 0) { } else { alpha = 255; } ------ +---- A `distance' value is computed for the `H' mode as well, but doing so is slightly more complex. In order to construct the three-bit index @@ -1766,19 +1770,20 @@ Once the `distance' _d_ has been determined for an `H' block, the four _paint colors_ will be: [latexmath] -++++++ +++++ \begin{align*} \mathit{paint\ color\ 0} & = \mathit{base\ color\ 1 + (d, d, d)} \\ \mathit{paint\ color\ 1} & = \mathit{base\ color\ 1 - (d, d, d)} \\ \mathit{paint\ color\ 2} & = \mathit{base\ color\ 2 + (d, d, d)} \\ \mathit{paint\ color\ 3} & = \mathit{base\ color\ 2 - (d, d, d)} \end{align*} -++++++ +++++ Yet again, _RGB_ is zeroed if alpha is 0 and the alpha component is determined the same way: ------ +[source] +---- if (opaque == 0 && MSB == 1 && LSB == 0) { red = 0; green = 0; @@ -1787,7 +1792,7 @@ if (opaque == 0 && MSB == 1 && LSB == 0) { } else { alpha = 255; } ------ +---- Hence _paint color 2_ will have _R_ =_ G _=_ B _= alpha = 0 if opaque = 0. @@ -1827,14 +1832,14 @@ With three _base colors_ in _RGB_:888 format, the color of each pixel can then be determined as: [latexmath] -++++++ +++++ \begin{align*} \mathit{R}(x,y) & = {x\times (\mathit{R}_\mathrm{h}-\mathit{R})\over 4.0} + {y\times (\mathit{R}_\mathrm{v}-\mathit{R})\over 4.0} + \mathit{R} \\ \mathit{G}(x,y) & = {x\times (\mathit{G}_\mathrm{h}-\mathit{G})\over 4.0} + {y\times (\mathit{G}_\mathrm{v}-\mathit{G})\over 4.0} + \mathit{G} \\ \mathit{B}(x,y) & = {x\times (\mathit{B}_\mathrm{h}-\mathit{B})\over 4.0} + {y\times (\mathit{B}_\mathrm{v}-\mathit{B})\over 4.0} + \mathit{B} \\ A(x,y) & = 255 \end{align*} -++++++ +++++ where _x_ and _y_ are values from 0 to 3 corresponding to the pixels coordinates within the block, _x_ being in the _u_ direction and _y_ in the @@ -1846,14 +1851,14 @@ integer if there is a tie) and then clamped to a value between 0 and 255. Note that this is equivalent to [latexmath] -+++++++++++++++ +++++ \begin{align*} \mathit{R}(x,y) & = \mathit{clamp255}((x\times (\mathit{R}_\mathrm{h}-\mathit{R}) + y\times (\mathit{R}_\mathrm{v}-\mathit{R}) + 4\times \mathit{R} + 2) \gg 2) \\ \mathit{G}(x,y) & = \mathit{clamp255}((x\times (\mathit{G}_\mathrm{h}-\mathit{G}) + y\times (\mathit{G}_\mathrm{v}-\mathit{G}) + 4\times \mathit{G} + 2) \gg 2) \\ \mathit{B}(x,y) & = \mathit{clamp255}((x\times (\mathit{B}_\mathrm{h}-\mathit{B}) + y\times (\mathit{B}_\mathrm{v}-\mathit{B}) + 4\times \mathit{B} + 2) \gg 2) \\ A(x,y) & = 255 \end{align*} -+++++++++++++++ +++++ where _clamp255_({cdot}) clamps the value to a number in the range [0..255]. diff --git a/headers/khr_df.h b/headers/khr_df.h index bf382cb..5e860c6 100644 --- a/headers/khr_df.h +++ b/headers/khr_df.h @@ -1,6 +1,6 @@ /* The Khronos Data Format Specification (version 1.3) */ /* -** Copyright 2015-2020 The Khronos Group Inc. +** Copyright 2015-2024 The Khronos Group Inc. ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/inlinecss.pl b/inlinecss.pl index 53b6d76..87c9054 100755 --- a/inlinecss.pl +++ b/inlinecss.pl @@ -1,6 +1,7 @@ #!/usr/bin/perl -# Copyright (c) 2017 The Khronos Group Inc. -# Copyright notice at https://www.khronos.org/registry/speccopyright.html +# Copyright 2017-2024 The Khronos Group Inc. +# SPDX-License-Identifier: Apache-2.0 + open(FILE, "config/df-xhtml.css"); read(FILE,$stylesheet,10000); close(FILE); diff --git a/inlineimages.pl b/inlineimages.pl index cdd8f20..f05ca46 100755 --- a/inlineimages.pl +++ b/inlineimages.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl -# Copyright (c) 2014-2017 The Khronos Group Inc. -# Copyright notice at https://www.khronos.org/registry/speccopyright.html +# Copyright 2014-2024 The Khronos Group Inc. +# SPDX-License-Identifier: Apache-2.0 # Determine if base64 needs -w 0 to prevent wrapping. Versions without # -w default to no wrapping. diff --git a/primaries.adoc b/primaries.adoc index baf0145..f8d8e4b 100644 --- a/primaries.adoc +++ b/primaries.adoc @@ -1,5 +1,5 @@ -// Copyright (c) 2017 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2017-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 [[PRIMARY_CONVERSION]] == Color primaries @@ -24,12 +24,12 @@ linear luminance. _xyY_ is related to _XYZ_ via the following formulae: [latexmath] -++++++ +++++ \begin{align*} x & = {X\over{X + Y + Z}} &&&y & = {Y\over{X + Y + Z}} &&&z & = {Z\over{X + Y + Z}} = 1 - x - y\\ &&X & = {Y\over{y}}x &&&Z & = {Y\over{y}}(1-x-y) \end{align*} -++++++ +++++ This is relevant because, although the brightness of the display in a color space definition is typically undefined, the *white point* is known: @@ -57,18 +57,18 @@ to express the following identity for the _X_, _Y_ and _Z_ coordinates of each color channel _R_, _G_ and _B_, and of the white point _W_: [latexmath] -++++++ +++++ \begin{align*} W_X &= R_X + G_X + B_X &W_Y &= R_Y + G_Y + B_Y = 1.0 &W_Z &= R_Z + G_Z + B_Z \end{align*} -++++++ +++++ The identities latexmath:[$X = Y{x\over{y}}$] and latexmath:[$Z = Y{{(1-x-y)}\over{y}}$] can be used to re-express the above terms in the _xyY_ space: [latexmath] -++++++ +++++ \begin{align*} R_Y\left({R_x\over{R_y}}\right) + G_Y\left({G_x\over{G_y}}\right) + @@ -82,12 +82,12 @@ B_Y\left({1-B_x-B_y\over{B_y}}\right) & = W_Y\left({1-W_x-W_y\over{W_y}}\right) = {1-W_x-W_y\over{W_y}} \end{align*} -++++++ +++++ This equation for _W~Z~_ can be simplified to: [latexmath] -++++++ +++++ \begin{align*} R_Y\left({1-R_x\over{R_y}}-1\right) + G_Y\left({1-G_x\over{G_y}}-1\right) + @@ -95,48 +95,48 @@ B_Y\left({1-B_x\over{B_y}}-1\right) & = W_Y\left({1-W_x\over{W_y}}-1\right) = {1-W_x\over{W_y}}-1 \end{align*} -++++++ +++++ Since latexmath:[$R_Y + G_Y + B_Y = W_Y = 1$], this further simplifies to: [latexmath] -++++++ +++++ \begin{align*} R_Y\left({1-R_x\over{R_y}}\right) + G_Y\left({1-G_x\over{G_y}}\right) + B_Y\left({1-B_x\over{B_y}}\right) & = {1-W_x\over{W_y}} \end{align*} -++++++ +++++ The latexmath:[$R_Y+G_Y+B_Y$] term for _W~Y~_ can be multiplied by latexmath:[$R_x\over{R_y}$] and subtracted from the equation for _W~X~_: [latexmath] -++++++ +++++ $$ G_Y\left({G_x\over{G_y}}-{R_x\over{R_y}}\right) + B_Y\left({B_x\over{B_y}}-{R_x\over{R_y}}\right) = {W_x\over{W_y}}-{R_x\over{R_y}}$$ -++++++ +++++ Similarly, the latexmath:[$R_Y+G_Y+B_Y$] term can be multiplied by latexmath:[$1-R_x\over{R_y}$] and subtracted from the simplified _W~Z~_ line: [latexmath] -++++++ +++++ $$ G_Y\left({1-G_x\over{G_y}}-{1-R_x\over{R_y}}\right) + B_Y\left({1-B_x\over{B_y}}-{1-R_x\over{R_y}}\right) = {1-W_x\over{W_y}}-{1-R_x\over{R_y}}$$ -++++++ +++++ Finally, the _G~Y~_ term can be eliminated by multiplying the former of these two equations by latexmath:[${1-G_x\over{G_y}}-{1-R_x\over{R_y}}$] and subtracting it from the latter multiplied by latexmath:[${G_x\over{G_y}}-{R_x\over{R_y}}$], giving: [latexmath] -++++++ +++++ $$ B_Y\left(\left({1-B_x\over{B_y}}-{1-R_x\over{R_y}}\right) \left({G_x\over{G_y}}-{R_x\over{R_y}}\right) - \left({B_x\over{B_y}}-{R_x\over{R_y}}\right) @@ -145,12 +145,12 @@ $$ = \left({1-W_x\over{W_y}}-{1-R_x\over{R_y}}\right) \left({G_x\over{G_y}}-{R_x\over{R_y}}\right) - \left({W_x\over{W_y}}-{R_x\over{R_y}}\right) \left({1-G_x\over{G_y}}-{1-R_x\over{R_y}}\right)$$ -++++++ +++++ Thus: [latexmath] -++++++ +++++ $$ B_Y = {{\left({1-W_x\over{W_y}}-{1-R_x\over{R_y}}\right) \left({G_x\over{G_y}}-{R_x\over{R_y}}\right) - \left({W_x\over{W_y}}-{R_x\over{R_y}}\right) @@ -159,23 +159,23 @@ $$ B_Y = {{\left({1-W_x\over{W_y}}-{1-R_x\over{R_y}}\right) \left({G_x\over{G_y}}-{R_x\over{R_y}}\right) - \left({B_x\over{B_y}}-{R_x\over{R_y}}\right) \left({1-G_x\over{G_y}}-{1-R_x\over{R_y}}\right)}}$$ -++++++ +++++ This allows _G~Y~_ to be calculated by rearranging an earlier equation: [latexmath] -++++++ +++++ $$ G_Y = {{W_x\over{W_y}}-{R_x\over{R_y}} -B_Y\left({B_x\over{B_y}}-{R_x\over{R_y}}\right) \over{{G_x\over{G_y}}-{R_x\over{R_y}}}}$$ -++++++ +++++ And finally: [latexmath] -++++++ +++++ $$ R_Y = 1 - G_Y - B_Y $$ -++++++ +++++ These relative magnitudes allow the definition of vectors representing the color primaries in the _XYZ_ space, which in turn @@ -187,7 +187,7 @@ but sufficient to allow transformation to another set of color primaries. The transform from the defined color primaries to _XYZ_ space is: [latexmath] -++++++ +++++ $$ \left(\begin{array}{c}X\\ Y\\ Z\end{array}\right) = @@ -203,12 +203,12 @@ R_Y, & G_Y, & B_Y \\ \end{array}\right)\left(\begin{array}{c}R\\ G\\ B\end{array}\right)$$ -++++++ +++++ The transform from _XYZ_ space to the defined color primaries is therefore: [latexmath] -++++++ +++++ $$ \left(\begin{array}{c}R\\ G\\ B\end{array}\right) = @@ -224,7 +224,7 @@ R_Y, & G_Y, & B_Y \\ \end{array}\right)^{-1}\left(\begin{array}{c}X\\ Y\\ Z\end{array}\right)$$ -++++++ +++++ NOTE: These transforms assume that the black point for the color space is at latexmath:[$(X, Y, Z) = (0, 0, 0)$]. If the black point is non-zero, @@ -326,14 +326,14 @@ descriptor for such a pixel. <> (HDTV) defines the following chromaticity coordinates: [latexmath] -++++++ +++++ \begin{align*} R_x &= 0.640 & R_y &= 0.330 \\ G_x &= 0.300 & G_y &= 0.600 \\ B_x &= 0.150 & B_y &= 0.060 \\ W_x &= 0.3127 & W_y &= 0.3290\ (\textrm{D}65) \end{align*} -++++++ +++++ These chromaticity coordinates are also shared by <> and <>. @@ -341,7 +341,7 @@ Therefore to convert from linear color values defined in terms of BT.709 color primaries to _XYZ_ space the formulae in <> result in the following matrix: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -352,13 +352,13 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right)$$ -++++++ +++++ The inverse transformation, from the _XYZ_ space to a color defined in terms of BT.709 color primaries, is: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right) \approx @@ -370,11 +370,11 @@ B_{709}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right) \approx @@ -386,7 +386,7 @@ B_{709}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] NOTE: <> lists a slightly different version of this matrix, @@ -401,14 +401,14 @@ the <> standard for NTSC). The following chromaticity coordinates are defined for 625-line ``EBU'' systems: [latexmath] -++++++ +++++ \begin{align*} R_x &= 0.640 & R_y &= 0.330 \\ G_x &= 0.290 & G_y &= 0.600 \\ B_x &= 0.150 & B_y &= 0.060 \\ W_x &= 0.3127 & W_y &= 0.3290 \end{align*} -++++++ +++++ NOTE: <>, which also describes these constants in a legacy context, approximates D65 as latexmath:[$x = 0.313,\ y = 0.329$]. @@ -417,7 +417,7 @@ Therefore to convert from linear color values defined in terms of BT.601 color primaries for 625-line systems to _XYZ_ space the formulae in <> result in the following matrix: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -428,13 +428,13 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{601\textrm{EBU}} \\ G_{601\textrm{EBU}} \\ B_{601\textrm{EBU}}\end{array}\right)$$ -++++++ +++++ The inverse transformation, from the _XYZ_ space to a color defined in terms of BT.601 ``EBU'' 625-line color primaries, is: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{601\textrm{EBU}} \\ G_{601\textrm{EBU}} \\ B_{601\textrm{EBU}}\end{array}\right) \approx @@ -446,11 +446,11 @@ B_{601\textrm{EBU}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{601\textrm{EBU}} \\ G_{601\textrm{EBU}} \\ B_{601\textrm{EBU}}\end{array}\right) \approx @@ -462,7 +462,7 @@ B_{601\textrm{EBU}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] [[PRIMARIES_BT601_SMPTE]] @@ -475,21 +475,21 @@ the <> standard for NTSC). The following chromaticity coordinates are defined in BT.601 for 525-line digital systems and in SMPTE-170M: [latexmath] -++++++ +++++ \begin{align*} R_x &= 0.630 & R_y &= 0.340 \\ G_x &= 0.310 & G_y &= 0.595 \\ B_x &= 0.155 & B_y &= 0.070 \\ W_x &= 0.3127 & W_y &= 0.3290 \end{align*} -++++++ +++++ Therefore to convert from linear color values defined in terms of BT.601 color primaries for 525-line systems to _XYZ_ space the formulae in <> result in the following matrix: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -500,11 +500,11 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{601\textrm{SMPTE}} \\ G_{601\textrm{SMPTE}} \\ B_{601\textrm{SMPTE}}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -515,14 +515,14 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{601\textrm{SMPTE}} \\ G_{601\textrm{SMPTE}} \\ B_{601\textrm{SMPTE}}\end{array}\right)$$ -++++++ +++++ endif::[] The inverse transformation, from the _XYZ_ space to a color defined in terms of BT.601 525-line color primaries, is: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{601\textrm{SMPTE}} \\ G_{601\textrm{SMPTE}} \\ B_{601\textrm{SMPTE}}\end{array}\right) \approx @@ -534,11 +534,11 @@ B_{601\textrm{SMPTE}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{601\textrm{SMPTE}} \\ G_{601\textrm{SMPTE}} \\ B_{601\textrm{SMPTE}}\end{array}\right) \approx @@ -550,7 +550,7 @@ B_{601\textrm{SMPTE}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] NOTE: <> used a different white point, @@ -562,14 +562,14 @@ and therefore have a <> conversion matrix. The following chromaticity coordinates are defined in <> for ultra-high-definition television: [latexmath] -++++++ +++++ \begin{align*} R_x &= 0.708 & R_y &= 0.292 \\ G_x &= 0.170 & G_y &= 0.797 \\ B_x &= 0.131 & B_y &= 0.046 \\ W_x &= 0.3127 & W_y &= 0.3290 \end{align*} -++++++ +++++ The same primaries are used for <> for HDR TV. @@ -578,7 +578,7 @@ primaries to _XYZ_ space the formulae in <> result in the following matrix: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -589,11 +589,11 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{2020} \\ G_{2020} \\ B_{2020}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -604,14 +604,14 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{2020} \\ G_{2020} \\ B_{2020}\end{array}\right)$$ -++++++ +++++ endif::[] The inverse transformation, from the _XYZ_ space to a color defined in terms of BT.2020 color primaries, is: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{2020} \\ G_{2020} \\ B_{2020}\end{array}\right) \approx @@ -623,11 +623,11 @@ B_{2020}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{2020} \\ G_{2020} \\ B_{2020}\end{array}\right) \approx @@ -639,7 +639,7 @@ B_{2020}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] <<< @@ -650,14 +650,14 @@ The following chromaticity coordinates are defined in <> and <> as a reference to the legacy NTSC standard: [latexmath] -++++++ +++++ \begin{align*} R_x &= 0.67 & R_y &= 0.33 \\ G_x &= 0.21 & G_y &= 0.71 \\ B_x &= 0.14 & B_y &= 0.08 \\ W_x &= 0.310 & W_y &= 0.316\ (\textrm{Illuminant C}) \end{align*} -++++++ +++++ NOTE: These primaries apply to the 1953 revision of the NTSC standard. Modern NTSC systems, which reflect displays that are optimized for @@ -676,7 +676,7 @@ primaries to _XYZ_ space the formulae in <> result in the following matrix: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -687,11 +687,11 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{\textrm{NTSC}} \\ G_{\textrm{NTSC}} \\ B_{\textrm{NTSC}}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -702,14 +702,14 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{\textrm{NTSC}} \\ G_{\textrm{NTSC}} \\ B_{\textrm{NTSC}}\end{array}\right)$$ -++++++ +++++ endif::[] The inverse transformation, from the _XYZ_ space to a color defined in terms of NTSC 1953 color primaries, is: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{NTSC}} \\ G_{\textrm{NTSC}} \\ B_{\textrm{NTSC}}\end{array}\right) \approx @@ -721,11 +721,11 @@ B_{\textrm{NTSC}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{NTSC}} \\ G_{\textrm{NTSC}} \\ B_{\textrm{NTSC}}\end{array}\right) \approx @@ -737,7 +737,7 @@ B_{\textrm{NTSC}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] [[PRIMARIES_PAL525]] @@ -746,14 +746,14 @@ endif::[] <> defines the following chromaticity coordinates for legacy 525-line PAL systems: [latexmath] -++++++ +++++ \begin{align*} R_x &= 0.630 & R_y &= 0.340 \\ G_x &= 0.310 & G_y &= 0.595 \\ B_x &= 0.155 & B_y &= 0.070 \\ W_x &= 0.3101 & W_y &= 0.3162\ (\textrm{Illuminant C}) \end{align*} -++++++ +++++ NOTE: This matches the color primaries from <> analog NTSC and <> 525-line encoding, but the white point used is CIE Standard @@ -765,7 +765,7 @@ primaries to _XYZ_ space the formulae in <> result in the following matrix: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -776,11 +776,11 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{\textrm{PAL525}} \\ G_{\textrm{PAL525}} \\ B_{\textrm{PAL525}}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -791,14 +791,14 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{\textrm{PAL525}} \\ G_{\textrm{PAL525}} \\ B_{\textrm{PAL525}}\end{array}\right)$$ -++++++ +++++ endif::[] The inverse transformation, from the _XYZ_ space to a color defined in terms of PAL 525-line 1953 color primaries, is: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{PAL525}} \\ G_{\textrm{PAL525}} \\ B_{\textrm{PAL525}}\end{array}\right) \approx @@ -810,11 +810,11 @@ B_{\textrm{PAL525}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{PAL525}} \\ G_{\textrm{PAL525}} \\ B_{\textrm{PAL525}}\end{array}\right) \approx @@ -826,7 +826,7 @@ B_{\textrm{PAL525}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] [[PRIMARIES_ACES]] @@ -834,21 +834,21 @@ endif::[] The following chromaticity coordinates are defined in <> [latexmath] -++++++ +++++ \begin{align*} R_x &= 0.73470 & R_y &= 0.26530 \\ G_x &= 0.0 & G_y &= 1.0 \\ B_x &= 0.00010 & B_y &= -0.0770 \\ W_x &= 0.32168 & W_y &= 0.33767 \end{align*} -++++++ +++++ Therefore to convert from linear color values defined in terms of ACES color primaries to _XYZ_ space the formulae in <> result in the following matrix: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -859,11 +859,11 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{\textrm{ACES}} \\ G_{\textrm{ACES}} \\ B_{\textrm{ACES}}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -874,13 +874,13 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{\textrm{ACES}} \\ G_{\textrm{ACES}} \\ B_{\textrm{ACES}}\end{array}\right)$$ -++++++ +++++ endif::[] The inverse transformation, from the _XYZ_ space to a color defined in terms of ACES color primaries, is: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{ACES}} \\ G_{\textrm{ACES}} \\ B_{\textrm{ACES}}\end{array}\right) \approx @@ -892,11 +892,11 @@ B_{\textrm{ACES}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{ACES}} \\ G_{\textrm{ACES}} \\ B_{\textrm{ACES}}\end{array}\right) \approx @@ -908,7 +908,7 @@ B_{\textrm{ACES}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] [[PRIMARIES_ACESCC]] @@ -917,21 +917,21 @@ endif::[] The following chromaticity coordinates are defined in <> (ACEScct) and S-2014-003 (ACEScc), which share the same primaries: [latexmath] -++++++ +++++ \begin{align*} R_x &= 0.713 & R_y &= 0.293 \\ G_x &= 0.165 & G_y &= 0.830 \\ B_x &= 0.128 & B_y &= 0.044 \\ W_x &= 0.32168 & W_y &= 0.33767 \end{align*} -++++++ +++++ Therefore to convert from linear color values defined in terms of ACEScc/ACEScct color primaries to _XYZ_ space the formulae in <> result in the following matrix: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -942,11 +942,11 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{\textrm{ACEScct}} \\ G_{\textrm{ACEScct}} \\ B_{\textrm{ACEScct}}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -957,13 +957,13 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{\textrm{ACEScct}} \\ G_{\textrm{ACEScct}} \\ B_{\textrm{ACEScct}}\end{array}\right)$$ -++++++ +++++ endif::[] The inverse transformation, from the _XYZ_ space to a color defined in terms of ACEScc/ACEScct color primaries, is: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{ACEScc}} \\ G_{\textrm{ACEScc}} \\ B_{\textrm{ACEScc}}\end{array}\right) \approx @@ -975,11 +975,11 @@ B_{\textrm{ACEScc}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{ACEScc}} \\ G_{\textrm{ACEScc}} \\ B_{\textrm{ACEScc}}\end{array}\right) \approx @@ -991,7 +991,7 @@ B_{\textrm{ACEScc}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] <<< @@ -1000,14 +1000,14 @@ endif::[] The following chromaticity coordinates are defined in <>: [latexmath] -++++++ +++++ \begin{align*} R_x &= 0.6800 & R_y &= 0.3200 \\ G_x &= 0.2650 & G_y &= 0.6900 \\ B_x &= 0.1500 & B_y &= 0.0600 \\ W_x &= 0.3127 & W_y &= 0.3290 \end{align*} -++++++ +++++ NOTE: The DCI P3 color space defines the bounds of its gamut using these primaries, but actual color data in DCI P3 is encoded using @@ -1020,7 +1020,7 @@ color primaries to _XYZ_ space the formulae in <> result in the following matrix: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -1031,11 +1031,11 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{\textrm{DisplayP3}} \\ G_{\textrm{DisplayP3}} \\ B_{\textrm{DisplayP3}}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -1046,13 +1046,13 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{\textrm{DisplayP3}} \\ G_{\textrm{DisplayP3}} \\ B_{\textrm{DisplayP3}}\end{array}\right)$$ -++++++ +++++ endif::[] The inverse transformation, from the _XYZ_ space to a color defined in terms of DisplayP3 color primaries, is: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{DisplayP3}} \\ G_{\textrm{DisplayP3}} \\ B_{\textrm{DisplayP3}}\end{array}\right) \approx @@ -1064,10 +1064,10 @@ B_{\textrm{DisplayP3}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{DisplayP3}} \\ G_{\textrm{DisplayP3}} \\ B_{\textrm{DisplayP3}}\end{array}\right) \approx @@ -1079,7 +1079,7 @@ B_{\textrm{DisplayP3}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] NOTE: These matrices differ from those given in <> @@ -1094,20 +1094,20 @@ of latexmath:[$W_x = 0.314,\ W_y = 0.351$] to the above primaries. The following chromaticity coordinates are defined in <>: [latexmath] -++++++ +++++ \begin{align*} R_x &= 0.6400 & R_y &= 0.3300 \\ G_x &= 0.2100 & G_y &= 0.7100 \\ B_x &= 0.1500 & B_y &= 0.0600 \\ W_x &= 0.3127 & W_y &= 0.3290 \end{align*} -++++++ +++++ Therefore to convert from linear color values defined in terms of Adobe RGB (1998) color primaries to _XYZ_ space the formulae in <> result in the following matrix: [latexmath] -++++++ +++++ $$\left(\begin{array}{c}X \\ Y \\ Z\end{array}\right) \approx @@ -1118,12 +1118,12 @@ Z\end{array}\right) \approx \left(\begin{array}{c} R_{\textrm{AdobeRGB}} \\ G_{\textrm{AdobeRGB}} \\ B_{\textrm{AdobeRGB}}\end{array}\right)$$ -++++++ +++++ The inverse transformation, from the _XYZ_ space to a color defined in terms of Adobe RGB (1998) color primaries, is: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{AdobeRGB}} \\ G_{\textrm{AdobeRGB}} \\ B_{\textrm{AdobeRGB}}\end{array}\right) \approx @@ -1135,11 +1135,11 @@ B_{\textrm{AdobeRGB}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{\textrm{AdobeRGB}} \\ G_{\textrm{AdobeRGB}} \\ B_{\textrm{AdobeRGB}}\end{array}\right) \approx @@ -1151,7 +1151,7 @@ B_{\textrm{AdobeRGB}}\end{array}\right) \approx Y \\ Z\end{array}\right) $$ -++++++ +++++ endif::[] Adobe RGB (1998) defines a reference display white brightness of 160cd/m^2^ and @@ -1169,7 +1169,7 @@ as follows: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{601\textrm{EBU}} \\ G_{601\textrm{EBU}} \\ B_{601\textrm{EBU}}\end{array}\right) \approx @@ -1184,11 +1184,11 @@ B_{601\textrm{EBU}}\end{array}\right) \approx \left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{601\textrm{EBU}} \\ G_{601\textrm{EBU}} \\ B_{601\textrm{EBU}}\end{array}\right) \approx @@ -1203,12 +1203,12 @@ B_{601\textrm{EBU}}\end{array}\right) \approx \left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{601\textrm{EBU}} \\ G_{601\textrm{EBU}} \\ B_{601\textrm{EBU}}\end{array}\right) \approx @@ -1219,11 +1219,11 @@ B_{601\textrm{EBU}}\end{array}\right) \approx \left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{601\textrm{EBU}} \\ G_{601\textrm{EBU}} \\ B_{601\textrm{EBU}}\end{array}\right) \approx @@ -1234,7 +1234,7 @@ B_{601\textrm{EBU}}\end{array}\right) \approx \left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right)$$ -++++++ +++++ endif::[] Conversion from BT.601 625-line to BT.709 primaries can be performed @@ -1242,7 +1242,7 @@ using these matrices: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right) \approx @@ -1257,11 +1257,11 @@ B_{709}\end{array}\right) \approx \left(\begin{array}{c} R_{601\textrm{EBU}} \\ G_{601\textrm{EBU}} \\ B_{601\textrm{EBU}}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right) \approx @@ -1276,12 +1276,12 @@ B_{709}\end{array}\right) \approx \left(\begin{array}{c} R_{601\textrm{EBU}} \\ G_{601\textrm{EBU}} \\ B_{601\textrm{EBU}}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right) \approx @@ -1292,11 +1292,11 @@ B_{709}\end{array}\right) \approx \left(\begin{array}{c} R_{601\textrm{EBU}} \\ G_{601\textrm{EBU}} \\ B_{601\textrm{EBU}}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right) \approx @@ -1307,7 +1307,7 @@ B_{709}\end{array}\right) \approx \left(\begin{array}{c} R_{601\textrm{EBU}} \\ G_{601\textrm{EBU}} \\ B_{601\textrm{EBU}}\end{array}\right)$$ -++++++ +++++ endif::[] === BT.709/BT.2020 primary conversion example @@ -1318,7 +1318,7 @@ as follows: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{2020} \\ G_{2020} \\ B_{2020}\end{array}\right) \approx @@ -1333,11 +1333,11 @@ B_{2020}\end{array}\right) \approx \left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{2020} \\ G_{2020} \\ B_{2020}\end{array}\right) \approx @@ -1352,11 +1352,11 @@ B_{2020}\end{array}\right) \approx \left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right)$$ -++++++ +++++ endif::[] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{2020} \\ G_{2020} \\ B_{2020}\end{array}\right) \approx @@ -1367,14 +1367,14 @@ B_{2020}\end{array}\right) \approx \left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right)$$ -++++++ +++++ Conversion from BT.2020 primaries to BT.709 primaries can be performed with the following matrices: ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right) \approx @@ -1389,11 +1389,11 @@ B_{709}\end{array}\right) \approx \left(\begin{array}{c} R_{2020} \\ G_{2020} \\ B_{2020}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right) \approx @@ -1408,12 +1408,12 @@ B_{709}\end{array}\right) \approx \left(\begin{array}{c} R_{2020} \\ G_{2020} \\ B_{2020}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="pdf"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right) \approx @@ -1425,11 +1425,11 @@ B_{709}\end{array}\right) \approx \left(\begin{array}{c} R_{2020} \\ G_{2020} \\ B_{2020}\end{array}\right)$$ -++++++ +++++ endif::[] ifeval::["{svgpdf}"=="svg"] [latexmath] -++++++ +++++ $$\left(\begin{array}{c} R_{709} \\ G_{709} \\ B_{709}\end{array}\right) \approx @@ -1441,5 +1441,5 @@ B_{709}\end{array}\right) \approx \left(\begin{array}{c} R_{2020} \\ G_{2020} \\ B_{2020}\end{array}\right)$$ -++++++ +++++ endif::[] diff --git a/pvrtc.adoc b/pvrtc.adoc index 57c513c..ef5f93b 100644 --- a/pvrtc.adoc +++ b/pvrtc.adoc @@ -1,5 +1,6 @@ -// Copyright (c) 2014-2019 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2014-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + [[PVRTC]] == PVRTC Compressed Texture Image Formats @@ -68,14 +69,14 @@ color contains a bit to describe whether it contains alpha data. .Texel Data format for PVRTC1 4bpp compressed texture formats [width="97%",cols="32*^"] -|======= +|==== 32+| *~Bits 64..32: Color data and flags~* | ~63~ | ~62~ | ~61~ | ~60~ | ~59~ | ~58~ | ~57~ | ~56~ | ~55~ | ~54~ | ~53~ | ~52~ | ~51~ | ~50~ | ~49~ | ~48~ | ~47~ | ~46~ | ~45~ | ~44~ | ~43~ | ~42~ | ~41~ | ~40~ | ~39~ | ~38~ | ~37~ | ~36~ | ~35~ | ~34~ | ~33~ | ~32~ 16+| *Color B* 15+| *Color A* | _M_ 32+| *~Bits 31..0: Modulation data bits [1..0] for pixel offset (_x_, _y_)~* | ~31~ | ~30~ | ~29~ | ~28~ | ~27~ | ~26~ | ~25~ | ~24~ | ~23~ | ~22~ | ~21~ | ~20~ | ~19~ | ~18~ | ~17~ | ~16~ | ~15~ | ~14~ | ~13~ | ~12~ | ~11~ | ~10~ | ~9~ | ~8~ | ~7~ | ~6~ | ~5~ | ~4~ | ~3~ | ~2~ | ~1~ | ~0~ 2+| 3,3 2+| 2,3 2+| 1,3 2+| 0,3 2+| 3,2 2+| 2,2 2+| 1,2 2+| 0,2 2+| 3,1 2+| 2,1 2+| 1,1 2+| 0,1 2+| 3,0 2+| 2,0 2+| 1,0 2+| 0,0 -|======= +|==== ==== PVRTC1 4bpp word offset calculation @@ -98,14 +99,14 @@ Let _Yb_ be the number of bits used to express _Y_ -- i.e. latexmath:[$\mathit{Y Then: [latexmath] -++++++ +++++ \begin{align*} \textit{Reflected Morton order offset W}_\textit{X,Y} &= \begin{cases} \mathit{X}^{\textit{Xb}}\ldots\mathit{X}^\textrm{n}\ldots\mathit{X}^{\textit{Yb}+1}\mathit{X}^{\textit{Yb}}\mathit{Y}^{\textit{Yb}}\ldots\mathit{X}^\textrm{m}\mathit{Y}^\textrm{m}\ldots\mathit{X}^0\mathit{Y}^0, & \textrm{width} \geq \textrm{height} \\ \mathit{Y}^{\textit{Yb}}\ldots\mathit{Y}^\textrm{n}\ldots\mathit{Y}^{\textit{Xb}+1}\mathit{X}^{\textit{Xb}}\mathit{Y}^{\textit{Xb}}\ldots\mathit{X}^\textrm{m}\mathit{Y}^\textrm{m}\ldots\mathit{X}^0\mathit{Y}^0, & \textrm{width} < \textrm{height} \end{cases} \\ \end{align*} -++++++ +++++ That is, to form the word offset, bits of _X_ and _Y_ are interleaved, with bits from _Y_ in the lower of each interleaved pair. @@ -131,29 +132,30 @@ is constructed as follows: .Calculation of reflected Morton word offset for 13,2 [width="35%"] -|======= +|==== 2+^| _X_ ^| *1* ^| *1* 2+^| *0* 2+^| *1* 2+^| = 13 2+^| _W~13,2~_ ^| *1* ^| *1* ^| *0* ^| _1_ ^| *1* ^| _0_ 2+^| = 54 2+^| _Y_ 2+^| 2+^| _1_ 2+^| _0_ 2+^| = 2 -|======= +|==== Where _wordWidth_ and _wordHeight_ are the image width and height in units of 4{times}4 areas encoded by words: [latexmath] -++++++ +++++ \begin{align*} \textit{wordWidth} =& \left\lceil{\textit{width}\over 4}\right\rceil \\ \textit{wordHeight} =& \left\lceil{\textit{height}\over 4}\right\rceil \end{align*} -++++++ +++++ the word offset for latexmath:[$\mathit{X} = \left\lfloor{\mathit{x}\over 4}\right\rfloor$] and latexmath:[$\mathit{Y} = \left\lfloor{\mathit{y}\over 4}\right\rfloor$] can be calculated iteratively as follows: ------ +[source] +---- uint32_t reflectedMortonOffset(const uint32_t X, const uint32_t Y, const uint32_t wordWidth, @@ -180,7 +182,7 @@ uint32_t reflectedMortonOffset(const uint32_t X, return offset; } ------ +---- <<< @@ -199,15 +201,15 @@ latexmath:[$W_{X_\textit{Low}+1,Y_\textit{Low}+1}$], where _X~Low~_ and _Y~Low~_ are derived as follows: [latexmath] -++++++ +++++ \begin{align*} X_\textit{Low}=&\left\lfloor{{x - 2}\over 4}\right\rfloor & Y_\textit{Low}=&\left\lfloor{{y - 2}\over 4}\right\rfloor \end{align*} -++++++ +++++ [NOTE] -===== +==== <> shows a grid of pixels with (_x_ = 0, _y_ = 0) at top left. Each word latexmath:[$W_{X_\mathit{Mod},Y_\mathit{Mod}}$] holds modulation values for a 4{times}4 texel region @@ -237,7 +239,7 @@ additional words. [[PVRTCrecon]] .PVRTC1 image reconstruction image::images/PVRTC1_image_reconstruction_simple.{svgpdf}[width="{svgpdf@pdf:350pt:550}",align="center"] -===== +==== <<< @@ -245,7 +247,7 @@ The texture data words are wrapped toroidally, such that the ``nearest'' sample may exist on the opposite side of the image. [NOTE] -===== +==== For example, sampling a pixel in any corner of the image results in the words in all four corners being examined -- or sampling a pixel at the bottom of the image will result in words from the top of the image @@ -265,7 +267,7 @@ latexmath:[$W_{X_\mathit{Low}+1,Y_\mathit{Low}}$] at the bottom of the image. [[PVRTCwraprecon]] .PVRTC1 image reconstruction (wrapping) image::images/PVRTC1_image_reconstruction_wrap.{svgpdf}[width="{svgpdf@pdf:300pt:466}",align="center"] -===== +==== <<< @@ -279,7 +281,7 @@ The exact data layout of each color is described below: .Data layout of color segments in a PVRTC1 word [cols="^,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1",width="55%"] -|==================================================================== +|==== 16+s| ~*Color B* -- opaque color mode (opacity flag _Op_ = 1)~ | ~63~ | ~62~ | ~61~ | ~60~ | ~59~ | ~58~ | ~57~ | ~56~ | ~55~ | ~54~ | ~53~ | ~52~ | ~51~ | ~50~ | ~49~ | ~48~ | 1 5+| Red 5+| Green 5+| Blue @@ -292,7 +294,7 @@ The exact data layout of each color is described below: 16+s| ~*Color A* -- translucent color mode (opacity flag _Op_ = 0)~ | ~47~ | ~46~ | ~45~ | ~44~ | ~43~ | ~42~ | ~41~ | ~40~ | ~39~ | ~38~ | ~37~ | ~36~ | ~35~ | ~34~ | ~33~ | ~32~ | 0 3+| Alpha 4+| Red 4+| Green 3+| Blue | _M_ -|==================================================================== +|==== <<< @@ -337,7 +339,7 @@ as described above. [[PVRTC1_4bpp_interpolation]] .PVRTC1 4bpp color channel interpolation [latexmath] -++++++ +++++ \begin{align*} \textit{C}_\textit{x,y} = & \left(\textbf{C}_{\textbf{X}_\textbf{Low}, \textbf{Y}_\textbf{Low}} @@ -350,7 +352,7 @@ as described above. \left(\textbf{C}_{\textbf{X}_\textbf{Low}+1, \textbf{Y}_\textbf{Low}+1} \times x_r \times y_r\right) \end{align*} -++++++ +++++ [NOTE] ==== @@ -412,23 +414,23 @@ depending on the value of modulation flag _M_. [[PVRTC1ModulationWeights]] .Modulation weights for PVRTC1 4bpp [cols="10,10,1,10,10,10"] -|======= +|==== 2+^| *Standard bilinear* (_M_ = 0) .6+| 3+^| *Punch-through* (_M_ = 1) ^| *Modulation bits* ^| *Weight* ^| *Modulation bits* ^| *Weight* ^| *Alpha* ^| 00 ^| 0 ^| 00 ^| 0 .2+^.^| Normal ^| 01 ^| 3 ^| 01 .2+^.^| 4 ^| 10 ^| 5 ^| 10 ^| ``Punch-through'' ^| 11 ^| 8 | 11 ^| 8 ^| Normal -|======= +|==== [[PVRTCmodulate]] .PVRTC image modulation [latexmath] -++++++ +++++ \begin{align*} \textit{Final color}_\textit{x,y} = & \left\lfloor{{(\textbf{Image A}_\textit{x,y} \times (8 - \textit{weight})) + (\textbf{Image B}_\textit{x,y} \times \textit{weight})}\over 8}\right\rfloor \end{align*} -++++++ +++++ If punch-through mode is selected, and the modulation bits for a given pixel have a value of 0b10, the alpha value of the resulting color is 0x00. @@ -486,7 +488,7 @@ latexmath:[$\textit{W}_{\textit{X}_\textit{Low},\textit{Y}_\textit{Low}}$]: [[PVRTC1_2bpp_interpolation]] .PVRTC1 2bpp color channel interpolation [latexmath] -++++++ +++++ \begin{align*} \textit{C}_\textit{x,y} = & \left(\textbf{C}_{\textbf{X}_\textbf{Low}, \textbf{Y}_\textbf{Low}} @@ -499,7 +501,7 @@ latexmath:[$\textit{W}_{\textit{X}_\textit{Low},\textit{Y}_\textit{Low}}$]: \left(\textbf{C}_{\textbf{X}_\textbf{Low}+1, \textbf{Y}_\textbf{Low}+1} \times x_r \times y_r\right) \end{align*} -++++++ +++++ For the red, green and blue channels, _C~x,y~_ is a 5.5-bit fixed-point value whose bit pattern can be converted to an 8-bit normalized @@ -529,7 +531,7 @@ affect the layout: .Texel Data format for PVRTC1 2bpp compressed texture formats [width="97%",cols="32*^"] -|======= +|==== 32+| *~Bits 64..32: Color data and flags~* 32+| _Identical to PVRTC1 4bpp_ 32+| *~Bits 31..0: Modulation data: direct encoding, 1 bit per pixel (modulation flag~* ~_M_~ *~= 0) for pixel offset (_x_, _y_)~* @@ -541,7 +543,7 @@ affect the layout: 32+| *~Bits 31..0: Modulation data, horizontally- or vertically-interpolated encoding, samples for pixel offset (_x_, _y_) (modulation flag~* ~_M_~ *~= 1, bit 0 flag = 1)~* | ~31~ | ~30~ | ~29~ | ~28~ | ~27~ | ~26~ | ~25~ | ~24~ | ~23~ | ~22~ | ~21~ | ~20~ | ~19~ | ~18~ | ~17~ | ~16~ | ~15~ | ~14~ | ~13~ | ~12~ | ~11~ | ~10~ | ~9~ | ~8~ | ~7~ | ~6~ | ~5~ | ~4~ | ~3~ | ~2~ | ~1~ | ~0~ 2+| 7,3 2+| 5,3 2+| 3,3 2+| 1,3 2+| 6,2 | 4,2 | _F_ 2+| 2,2 2+| 0,2 2+| 7,1 2+| 5,1 2+| 3,1 2+| 1,1 2+| 6,0 2+| 4,0 2+| 2,0 | 0,0 | 1 -|======= +|==== If the modulation flag _M_ is set to 0, each pixel only has a single bit of modulation data. @@ -550,11 +552,11 @@ and *Image B* for modulation data bit = 1. .Modulation modes for PVRTC1 2bpp [cols="2,2",width="75%"] -|======= +|==== ^| *Modulation flag value* _M_ ^| *Mode* ^| 0 ^| Standard Bilinear, 1bpp modulation ^| 1 ^| Punch-through, interpolated modulation -|======= +|==== If the modulation flag _M_ is set to 1, the pixels with 2-bit stored values have modulation weights equal to those of PVRTC1 4bpp for modulation mode 1, @@ -619,18 +621,18 @@ discontinuities, or diverse color distributions. .Texel Data format for PVRTC2 4bpp compressed texture formats [width="97%",cols="32*^"] -|======= +|==== 32+| *~Bits 64..32: Color data and flags~* | ~63~ | ~62~ | ~61~ | ~60~ | ~59~ | ~58~ | ~57~ | ~56~ | ~55~ | ~54~ | ~53~ | ~52~ | ~51~ | ~50~ | ~49~ | ~48~ | ~47~ | ~46~ | ~45~ | ~44~ | ~43~ | ~42~ | ~41~ | ~40~ | ~39~ | ~38~ | ~37~ | ~36~ | ~35~ | ~34~ | ~33~ | ~32~ | _Op_ 15+| *Color B* | _H_ 14+| *Color A* | _M_ 32+| *~Bits 31..0: Modulation data bits [1..0] for pixel offset (_x_, _y_) -- identical to PVRTC1 4bpp~* | ~31~ | ~30~ | ~29~ | ~28~ | ~27~ | ~26~ | ~25~ | ~24~ | ~23~ | ~22~ | ~21~ | ~20~ | ~19~ | ~18~ | ~17~ | ~16~ | ~15~ | ~14~ | ~13~ | ~12~ | ~11~ | ~10~ | ~9~ | ~8~ | ~7~ | ~6~ | ~5~ | ~4~ | ~3~ | ~2~ | ~1~ | ~0~ 2+| 3,3 2+| 2,3 2+| 1,3 2+| 0,3 2+| 3,2 2+| 2,2 2+| 1,2 2+| 0,2 2+| 3,1 2+| 2,1 2+| 1,1 2+| 0,1 2+| 3,0 2+| 2,0 2+| 1,0 2+| 0,0 -|======= +|==== .Data layout of color segments in a PVRTC2 word [cols="^,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1",width="55%"] -|==================================================================== +|==== 16+s| ~*Color B* -- opaque color mode (opacity flag _Op_ = 1)~ | ~63~ | ~62~ | ~61~ | ~60~ | ~59~ | ~58~ | ~57~ | ~56~ | ~55~ | ~54~ | ~53~ | ~52~ | ~51~ | ~50~ | ~49~ | ~48~ | 1 5+| Red 5+| Green 5+| Blue @@ -643,7 +645,7 @@ discontinuities, or diverse color distributions. 16+s| ~*Color A* -- translucent color mode (opacity flag _Op_ = 0)~ | ~47~ | ~46~ | ~45~ | ~44~ | ~43~ | ~42~ | ~41~ | ~40~ | ~39~ | ~38~ | ~37~ | ~36~ | ~35~ | ~34~ | ~33~ | ~32~ | _H_ 3+| Alpha 4+| Red 4+| Green 3+| Blue | _M_ -|==================================================================== +|==== There is one change to the interpretation of the color data relative to PVRTC1: as there is only one opacity flag for each PVRTC2 data word, to @@ -692,13 +694,13 @@ pixel in the subregion are evaluated, as summarized in the table below. .Modulation modes for PVRTC2 4bpp [cols="1^,1^,2^"] -|======= +|==== ^| *Modulation flag* _M_ ^| *Hard transition flag* _H_ ^| *Mode* | 0 | 0 | Standard bilinear | 1 | 0 | Punch-through alpha | 0 | 1 | Non-interpolated | 1 | 1 | Local palette -|======= +|==== In `standard bilinear' the modulation behaves as described for PVRTC1 4bpp. @@ -755,7 +757,7 @@ palette as follows: .Color mappings in local palette mode for PVRTC2 4bpp [cols="2^,5^,3^,3^,3^"] -|================================================================== +|==== | *~Modulation bits~* | *~0,0~* | *~1,0~* | *~2,0~* | *~3,0~* | 0 | latexmath:[$\textbf{A}_{\textbf{X}_\textbf{Low},\textbf{Y}_\textbf{Low}}$] @@ -840,7 +842,7 @@ palette as follows: | latexmath:[$\textbf{B}_{\textbf{X}_\textbf{Low},\textbf{Y}_\textbf{Low}+1}$] | latexmath:[$\textbf{B}_{\textbf{X}_\textbf{Low},\textbf{Y}_\textbf{Low}+1}$] | latexmath:[$\textbf{B}_{\textbf{X}_\textbf{Low}+1,\textbf{Y}_\textbf{Low}}$] -|================================================================== +|==== [NOTE] ==== @@ -892,12 +894,12 @@ the single opacity flag _Op_, as specified in the PVRTC2 4bpp format. .Texel Data format for PVRTC2 2bpp compressed texture formats [width="50%"] -|======= +|==== ^s| Bits 63-32: Color data and flags ^| Identical to PVRTC2 4bpp ^s| Bits 31-0: Modulation data ^| Identical to PVRTC1 2bpp -|======= +|==== Color values are interpreted in the same manner as for the PVRTC2 4bpp format. @@ -906,13 +908,13 @@ uses the non-interpolated mode -- no local palette mode exists. .Modulation modes for PVRTC2 2bpp [cols="1^,1^,2^"] -|======= +|==== ^| *Modulation flag* _M_ ^| *Hard transition* _H_ ^| Mode | 0 | 0 | Standard bilinear, 1bpp modulation | 1 | 0 | Standard bilinear, interpolated modulation | 0 | 1 | Non-interpolated, 1bpp modulation | 1 | 1 | Non-interpolated, interpolated modulation -|======= +|==== If the hard transition flag _H_ for PVRTC2 2bpp is equal to 0, the format is interpreted in the same manner as the PVRTC1 2bpp format. diff --git a/quantization.adoc b/quantization.adoc index af0be91..387d6b9 100644 --- a/quantization.adoc +++ b/quantization.adoc @@ -1,5 +1,5 @@ -// Copyright (c) 2017-2019 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2017-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 [[CONVERSION_QUANTIZATION]] == Quantization schemes @@ -20,7 +20,7 @@ between these limits is represented by the following encodings, for bit depth _n_ = {8, 10, 12}: [latexmath] -++++++ +++++ \begin{align*} \mathit{DG}' & = \lfloor 0.5 + (219\times G' + 16)\times 2^{n-8}\rfloor &\mathit{DB}' & = \lfloor 0.5 + (219\times B' + 16)\times 2^{n-8}\rfloor \\ @@ -35,11 +35,11 @@ for bit depth _n_ = {8, 10, 12}: &\mathit{DC}'_T & = \lfloor 0.5 + (224\times C'_T + 128)\times 2^{n-8}\rfloor \\ &&\mathit{DC}'_P & = \lfloor 0.5 + (224\times C'_P + 128)\times 2^{n-8}\rfloor \end{align*} -++++++ +++++ The dequantization formulae are therefore: [latexmath] -++++++ +++++ \begin{align*} G' & = {{{\mathit{DG}'\over{2^{n-8}}} - 16}\over{219}} & Y' & = {{{\mathit{DY}'\over{2^{n-8}}} - 16}\over{219}} & @@ -54,7 +54,7 @@ C'_R & = {{{\mathit{DC}'_R\over{2^{n-8}}} - 128}\over{224}} & C'_\mathit{CR} & = {{{\mathit{DC}'_\mathit{CR}\over{2^{n-8}}} - 128}\over{224}} & C'_P & = {{{\mathit{DC}'_P\over{2^{n-8}}} - 128}\over{224}} \end{align*} -++++++ +++++ For consistency with latexmath:[$Y'_CC'_\mathit{BC}C'_\mathit{RC}$], these formulae use the <> and <> terminology of @@ -65,7 +65,7 @@ value. That is, in ``narrow range'' encoding: [options="header",cols="18%,34%,48%"] -|====== +|==== | Value | Continuous encoding value | Quantized encoding | Black | {_R′_, @@ -149,7 +149,7 @@ latexmath:[$\mathit{DC}'_\mathit{CR}$], _DC~T~_, _DC~P~_} = latexmath:[$128 \times 2^{n-8}$] -|====== +|==== If, instead of the quantized values, the input is interpreted as fixed-point values in the range 0.0..1.0, as might be the case if the values were treated @@ -157,7 +157,7 @@ as unsigned normalized quantities in a computer graphics API, the following conversions can be applied instead: [latexmath] -++++++ +++++ \begin{align*} G' & = {{{G'_{\mathit{norm}}\times{2^{n-1}}} - 16\times{2^{n-8}}}\over{219\times 2^{n-8}}} & B' & = {{{B'_{\mathit{norm}}\times{2^{n-1}}} - 16\times{2^{n-8}}}\over{219\times 2^{n-8}}} \\ @@ -184,7 +184,7 @@ I_\mathit{norm} & = {{{I\times{219\times 2^{n-8}}} + 16\times{2^{n-8}}}\over C'_\mathit{Tnorm} & = {{{\mathit{DC}'_{T}\times{224\times ^{n-8}}} + 128\times 2^{n-8}}\over{2^{n-1}}} \\ &&C'_\mathit{Pnorm} & = {{{\mathit{DC}'_{P}\times{224\times ^{n-8}}} + 128\times 2^{n-8}}\over{2^{n-1}}} \end{align*} -++++++ +++++ [[QUANTIZATION_FULL]] @@ -201,7 +201,7 @@ of their specifications, which is described <>. For bit depth _n_ = {8 (JFIF),10,12 (Rec.2100)}: [latexmath] -++++++ +++++ \begin{align*} \mathit{DG}' & = \textrm{Round}\left(G'\times (2^n-1)\right) & \mathit{DB}' & = \textrm{Round}\left(B'\times (2^n-1)\right) \\ @@ -216,12 +216,12 @@ For bit depth _n_ = {8 (JFIF),10,12 (Rec.2100)}: \mathit{DC}'_T & = \textrm{Round}\left(C'_T\times (2^n-1) + 2^{n-1}\right) \\ &&\mathit{DC}'_P & = \textrm{Round}\left(C'_P\times (2^n-1) + 2^{n-1}\right) \end{align*} -++++++ +++++ <>-1 defines Round() as: [latexmath] -++++++ +++++ \begin{align*} \textrm{Round}(x) &= \textrm{Sign}(x)\times\lfloor|x| + 0.5\rfloor \\ \textrm{Sign}(x) &= \begin{cases} @@ -230,7 +230,7 @@ For bit depth _n_ = {8 (JFIF),10,12 (Rec.2100)}: -1, & x < 0 \end{cases} \end{align*} -++++++ +++++ Note that a chroma channel value of exactly 0.5 corresponds to a quantized encoding of latexmath:[$2^n$], and must therefore be clamped to the nominal @@ -243,7 +243,7 @@ In <> (which defines only n = 8), the corresponding formula is: [latexmath] -++++++ +++++ \begin{align*} \textrm{Round}(x) &= \textrm{Clamp}(\lfloor|x| + 0.5\rfloor) \\ \textrm{clamp}(x) &= \begin{cases} @@ -252,7 +252,7 @@ formula is: x, & \textrm{otherwise} \end{cases} \end{align*} -++++++ +++++ Allowing for the clamping at a chroma value of 0.5, these formulae are equivalent across the expected -0.5..0.5 range for chroma and 0.0..1.0 @@ -261,7 +261,7 @@ range for luma values. The dequantization formulae are therefore: [latexmath] -++++++ +++++ \begin{align*} G' & = {\mathit{DG}'\over{2^n - 1}} & Y' & = {\mathit{DY}'\over{2^n - 1}} & @@ -276,13 +276,13 @@ C'_R & = {\mathit{DC}'_R - 2^{n-1}\over{2^n - 1}} & C'_\mathit{CR} & = {\mathit{DC}'_\mathit{CR} - 2^{n-1}\over{2^n - 1}} & C'_P & = {\mathit{DC}'_P - 2^{n-1}\over{2^n - 1}} \end{align*} -++++++ +++++ <<< That is, in ``full range'' encoding: [options="header",cols="18%,34%,48%"] -|====== +|==== | Value | Continuous encoding value | Quantized encoding | Black | {_R′_, @@ -368,7 +368,7 @@ latexmath:[$\mathit{DC}'_\mathit{CR}$], _DC~T~_, _DC~P~_} = 2^_n_-1^ -|====== +|==== If, instead of the quantized values, the input is interpreted as fixed-point values in the range 0.0..1.0, as might be the case if the values were treated @@ -376,7 +376,7 @@ as unsigned normalized quantities in a computer graphics API, the following conversions can be applied instead: [latexmath] -++++++ +++++ \begin{align*} G' & = G'_{\mathit{norm}} & B' & = B'_{\mathit{norm}} \\ @@ -403,7 +403,7 @@ I_{\mathit{norm}} & = I & C'_{\mathit{Tnorm}} & = \mathit{DC}'_{T} + {2^{n-1}\over{2^n - 1}} \\ &&C'_{\mathit{Pnorm}} & = \mathit{DC}'_{P} + {2^{n-1}\over{2^n - 1}} \end{align*} -++++++ +++++ <<< [[QUANTIZATION_LEGACY_FULL]] @@ -416,7 +416,7 @@ channels to represent latexmath:[$Y'C_BC_R$] color. For bit depth _n_ = {8 (JFIF),10,12 (Rec.2100)}: [latexmath] -++++++ +++++ \begin{align*} \mathit{DG}' & = \lfloor 0.5 + G'\times 2^n\rfloor & \mathit{DB}' & = \lfloor 0.5 + B'\times 2^n\rfloor \\ @@ -431,12 +431,12 @@ For bit depth _n_ = {8 (JFIF),10,12 (Rec.2100)}: \mathit{DC}'_T & = \lfloor 0.5 + (C'_T + 0.5)\times 2^n\rfloor \\ &&\mathit{DC}'_P & = \lfloor 0.5 + (C'_P + 0.5)\times 2^n\rfloor \end{align*} -++++++ +++++ The dequantization formulae are therefore: [latexmath] -++++++ +++++ \begin{align*} G' & = \mathit{DG}'\times 2^{-n} & Y' & = \mathit{DY}'\times 2^{-n} & @@ -451,7 +451,7 @@ C'_R & = \mathit{DC}'_R\times 2^{-n}-0.5 & C'_\mathit{CR} & = \mathit{DC}'_\mathit{CR}\times 2^{-n}-0.5 & C'_P & = \mathit{DC}'_P\times 2^{-n}-0.5 \end{align*} -++++++ +++++ NOTE: These formulae map luma values of 1.0 and chroma values of 0.5 to latexmath:[$2^n$], for bit depth latexmath:[$n$]. @@ -477,7 +477,7 @@ as unsigned normalized quantities in a computer graphics API, the following conversions can be applied instead: [latexmath] -++++++ +++++ \begin{align*} G' & = {{G'_{\mathit{norm}}\times (2^n-1)}\over{2^n}} & B' & = {{B'_{\mathit{norm}}\times (2^n-1)}\over{2^n}} & @@ -492,10 +492,10 @@ I & = {{I'_{\mathit{norm}}\times (2^n-1)}\over{2^n}} & C'_T & = {{C'_{\mathit{Tnorm}}\times (2^n-1)}\over{2^n}} - 0.5 & C'_P & = {{C'_{\mathit{Pnorm}}\times (2^n-1)}\over{2^n}} - 0.5 \end{align*} -++++++ +++++ [latexmath] -++++++ +++++ \begin{align*} G_{norm}' & = {{G'\times 2^n}\over{2^n-1}} & B_{norm}' & = {{B'\times 2^n}\over{2^n-1}} & @@ -510,7 +510,7 @@ I_{\mathit{norm}} & = {{I'\times 2^n}\over{2^n-1}} & C'_{\mathit{Tnorm}} & = {{(C'_{T} + 0.5)\times 2^n}\over{2^n-1}} & C'_{\mathit{Pnorm}} & = {{(C'_{P} + 0.5)\times 2^n}\over{2^n-1}} \end{align*} -++++++ +++++ That is, to match the behavior described in these specifications, the inputs to color model conversion should be expanded such that diff --git a/references.adoc b/references.adoc index 6d758ad..daaabf1 100644 --- a/references.adoc +++ b/references.adoc @@ -1,7 +1,7 @@ -// Copyright (c) 2019 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2019-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 -== External references == +== External references *[[IEEE 754]]IEEE754-2008 - IEEE standard for floating-point arithmetic* diff --git a/rgtc.adoc b/rgtc.adoc index d208bb7..92b094d 100644 --- a/rgtc.adoc +++ b/rgtc.adoc @@ -1,5 +1,6 @@ -// Copyright (C) 2008-2019 The Khronos Group Inc. All Rights Reserved. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2008-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + [[RGTC]] == RGTC Compressed Texture Image Formats @@ -19,36 +20,36 @@ size of _blocksize_ (8 or 16 bytes) is decoded, the corresponding image size (in bytes) is: [latexmath] -++++++++++++++++++++++ +++++ \begin{align*} \left\lceil { w \over 4 } \right\rceil \times \left\lceil { h \over 4 } \right\rceil \times \mathit{blocksize} \end{align*} -++++++++++++++++++++++ +++++ When decoding an RGTC image, the block containing the texel at offset latexmath:[$(x,y)$] begins at an offset (in bytes) relative to the base of the image of: [latexmath] -++++++++++++++++++++++ +++++ \begin{align*} \mathit{blocksize} \times \left( { \left\lceil { w \over 4 } \right\rceil \times \left\lfloor { y \over 4 } \right\rfloor + \left\lfloor { x \over 4 } \right\rfloor } \right) \end{align*} -++++++++++++++++++++++ +++++ The data corresponding to a specific texel (_x_, _y_) are extracted from a 4{times}4 texel block using a relative (_x_, _y_) value of [latexmath] -++++++++++++++++++++++ +++++ \begin{align*} (x \bmod 4,y \bmod 4) \end{align*} -++++++++++++++++++++++ +++++ There are four distinct RGTC image formats described in the following sections. @@ -64,16 +65,16 @@ Each red image data block is encoded as a sequence of 8 bytes, called (in order of increasing address): [latexmath] -++++++ +++++ \begin{align*} \mathit{red}_0, \mathit{red}_1, \mathit{bits}_0, \mathit{bits}_1, \mathit{bits}_2, \mathit{bits}_3, \mathit{bits}_4, \mathit{bits}_5 \end{align*} -++++++ +++++ The 6 _bits_~{0..5}~ bytes of the block are decoded into a 48-bit bit vector: [latexmath] -++++++++++++++++++++++ +++++ \begin{align*} \mathit{bits} & = \mathit{bits}_0 + @@ -87,7 +88,7 @@ The 6 _bits_~{0..5}~ bytes of the block are decoded into a 48-bit bit vector: \right) } \right) \end{align*} -++++++++++++++++++++++ +++++ _red_~0~ and _red_~1~ are 8-bit unsigned integers that are unpacked to red values _RED_~0~ and _RED_~1~ by multiplying by latexmath:[$1\over 255$]. @@ -96,14 +97,14 @@ _bits_ is a 48-bit unsigned integer, from which a three-bit control code is extracted for a texel at location (_x_, _y_) in the block using: [latexmath] -++++++++++++++++++++++ +++++ \begin{align*} \mathit{code}(x,y) & = \mathit{bits} \left[ 3 \times (4 \times y + x) + 2 \dots 3 \times (4 \times y + x) + 0 \right] \end{align*} -++++++++++++++++++++++ +++++ where _bits_[47] is the most-significant and _bits_[0] is the least-significant bit. @@ -113,7 +114,7 @@ the block is given by <>. [[BC4blocks]] .Block decoding for BC4 [options="header",width="43%",cols="1,2"] -|========== +|==== ^| _R_ value ^| Condition ^| _RED_~0~ ^.^| _red_~0~ > _red_~1~, _code_(_x_, _y_) = 0 ^| _RED_~1~ ^.^| _red_~0~ > _red_~1~, _code_(_x_, _y_) = 1 @@ -131,7 +132,7 @@ the block is given by <>. ^| latexmath:[${ \mathit{RED}_0 + 4 \times \mathit{RED}_1 } \over 5$] ^.^| _red_~0~ {leq} _red_~1~, _code_(_x_, _y_) = 5 ^| _RED~min~_ ^.^| _red_~0~ {leq} _red_~1~, _code_(_x_, _y_) = 6 ^| _RED~max~_ ^.^| _red_~0~ {leq} _red_~1~, _code_(_x_, _y_) = 7 -|========== +|==== _RED_~min~ and _RED_~max~ are 0.0 and 1.0 respectively. @@ -146,7 +147,7 @@ BC4 unsigned except _red_~0~, _red_~1~, _RED_~0~, _RED_~1~, _RED_~min~, and _RED_~max~ are signed values defined as follows: [latexmath] -++++++ +++++ \begin{align*} \mathit{RED}_0 & = \begin{cases} {\mathit{red}_0 \over 127.0}, & \mathit{red}_0 > -128 \\ @@ -159,7 +160,7 @@ _RED_~min~, and _RED_~max~ are signed values defined as follows: \mathit{RED}_{\mathit{min}} & = -1.0 \\ \mathit{RED}_{\mathit{max}} & = 1.0 \end{align*} -+++++++++++ +++++ _red_~0~ and _red_~1~ are 8-bit signed (two's complement) integers. diff --git a/s3tc.adoc b/s3tc.adoc index b06acfb..86c57ac 100644 --- a/s3tc.adoc +++ b/s3tc.adoc @@ -1,5 +1,6 @@ -// Copyright (C) 2008-2019 The Khronos Group Inc. All Rights Reserved. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2008-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + [[S3TC]] == S3TC Compressed Texture Image Formats @@ -23,37 +24,37 @@ _blocksize_ (8 or 16 bytes) is decoded, the corresponding image size (in bytes) is: [latexmath] -++++++++++++++++ +++++ \begin{align*} \left\lceil { w \over 4 } \right\rceil \times \left\lceil { h \over 4 } \right\rceil \times blocksize \end{align*} -++++++++++++++++ +++++ When decoding an S3TC image, the block containing the texel at offset (_x_, _y_) begins at an offset (in bytes) relative to the base of the image of: [latexmath] -++++++++++++++ +++++ \begin{align*} blocksize \times \left( { \left\lceil { w \over 4 } \right\rceil \times \left\lfloor { y \over 4 } \right\rfloor + \left\lfloor { x \over 4 } \right\rfloor } \right) \end{align*} -++++++++++++++ +++++ The data corresponding to a specific texel (_x_, _y_) are extracted from a 4{times}4 texel block using a relative (_x_, _y_) value of [latexmath] -++++++++++++++ +++++ \begin{align*} (x \bmod 4,y \bmod 4) \end{align*} -++++++++++++++ +++++ There are four distinct S3TC image formats: @@ -67,22 +68,22 @@ Each _RGB_ image data block is encoded as a sequence of 8 bytes, called (in order of increasing address): [latexmath] -++++++ +++++ \begin{align*} c0_{\mathit{lo}}, c0_{\mathit{hi}}, c1_{\mathit{lo}}, c1_{\mathit{hi}}, \mathit{bits}_0, \mathit{bits}_1, \mathit{bits}_2, \mathit{bits}_3 \end{align*} -++++++ +++++ The 8 bytes of the block are decoded into three quantities: [latexmath] -++++++ +++++ \begin{align*} \mathit{color}_0 & = c0_{\mathit{lo}} + c0_{\mathit{hi}} \times 256 \\ \mathit{color}_1 & = c1_{\mathit{lo}} + c1_{\mathit{hi}} \times 256 \\ \mathit{bits} & = \mathit{bits}_0 + 256 \times (\mathit{bits}_1 + 256 \times (\mathit{bits}_2 + 256 \times \mathit{bits}_3)) \end{align*} -++++++ +++++ _color_~0~ and _color_~1~ are 16-bit unsigned integers that are unpacked to _RGB_ colors _RGB_~0~ and _RGB_~1~ as though they were 16-bit @@ -90,23 +91,23 @@ unsigned packed pixels with the _R_ channel in the high 5 bits, _G_ in the next 6 bits and _B_ in the low 5 bits: [latexmath] -++++++ +++++ \begin{align*} \mathit{R}_n & = {{\mathit{color}_n^{15..11}}\over 31} \\ \mathit{G}_n & = {{\mathit{color}_n^{10..5}}\over 63} \\ \mathit{B}_n & = {{\mathit{color}_n^{4..0}}\over 31} \end{align*} -++++++ +++++ _bits_ is a 32-bit unsigned integer, from which a two-bit control code is extracted for a texel at location (_x_, _y_) in the block using: [latexmath] -++++++ +++++ \begin{align*} \mathit{code}(x,y) & = \mathit{bits}[2\times (4\times y+x)+1\ \dots\ 2\times(4\times y+x)+0] \end{align*} -++++++ +++++ where _bits_[31] is the most significant and _bits_[0] is the least significant bit. @@ -117,7 +118,7 @@ in <>. [[BC1blocks]] .Block decoding for BC1 [options="header",cols="1,2",width="60%"] -|========== +|==== ^| Texel value ^| Condition ^.^| _RGB_~0~ ^.^| _color_~0~ > _color_~1~ and _code_(_x_, _y_) = 0 ^.^| _RGB_~1~ ^.^| _color_~0~ > _color_~1~ and _code_(_x_, _y_) = 1 @@ -127,7 +128,7 @@ in <>. ^.^| _RGB_~1~ ^.^| _color_~0~ {leq} _color_~1~ and _code_(_x_, _y_) = 1 ^| latexmath:[$(\mathit{RGB}_0+\mathit{RGB}_1)\over 2$] ^.^| _color_~0~ {leq} _color_~1~ and _code_(_x_, _y_) = 2 ^.^| BLACK ^.^| _color_~0~ {leq} _color_~1~ and _code_(_x_, _y_) = 3 -|========== +|==== Arithmetic operations are done per component, and BLACK refers to an _RGB_ color where red, green, and blue are all zero. @@ -149,11 +150,11 @@ given by <>. [[BC1alpha]] .BC1 with alpha [options="header",cols="1,2",width="60%"] -|========== +|==== ^| Alpha value ^| Condition ^| 0.0 ^| _color_~0~ {leq} _color_~1~ and _code_(_x_, _y_) = 3 ^| 1.0 ^| otherwise -|========== +|==== // This is a discussion of the behavior of the encoder, not of the // format itself. @@ -223,31 +224,31 @@ Each alpha image data block is encoded as a sequence of 8 bytes, called (in order of increasing address): [latexmath] -++++++ +++++ \begin{align*} a_0, a_1, a_2, a_3, a_4, a_5, a_6, a_7 \end{align*} -++++++ +++++ The 8 bytes of the block are decoded into one 64-bit integer: [latexmath] -++++++ +++++ \begin{align*} \mathit{alpha} & = a_0 + 256 \times (a_1 + 256 \times (a_2 + 256 \times (a_3 + 256 \times (a_4 + 256 \times (a_5 + 256 \times (a_6 + 256 \times a_7)))))) \end{align*} -++++++ +++++ _alpha_ is a 64-bit unsigned integer, from which a four-bit alpha value is extracted for a texel at location (_x_, _y_) in the block using: [latexmath] -++++++ +++++ \begin{align*} \mathit{alpha}(x,y) & = \mathit{bits}[4\times(4\times y+x)+3 \dots 4\times(4\times y+x)+0] \end{align*} -++++++ +++++ where _bits_[63] is the most significant and _bits_[0] is the least significant bit. @@ -271,11 +272,11 @@ Each alpha image data block is encoded as a sequence of 8 bytes, called (in order of increasing address): [latexmath] -++++++ +++++ \begin{align*} \mathit{alpha}_0, \mathit{alpha}_1, \mathit{bits}_0, \mathit{bits}_1, \mathit{bits}_2, \mathit{bits}_3, \mathit{bits}_4, \mathit{bits}_5 \end{align*} -++++++ +++++ The _alpha_~0~ and _alpha_~1~ are 8-bit unsigned bytes converted to alpha components by multiplying by latexmath:[$1\over 255$]. @@ -283,22 +284,22 @@ components by multiplying by latexmath:[$1\over 255$]. The 6 _bits_ bytes of the block are decoded into one 48-bit integer: [latexmath] -++++++ +++++ \begin{align*} \mathit{bits} & = \mathit{bits}_0 + 256 \times (\mathit{bits}_1 + 256 \times (\mathit{bits}_2 + 256 \times (\mathit{bits}_3 + 256 \times (\mathit{bits}_4 + 256 \times \mathit{bits}_5)))) \end{align*} -++++++ +++++ _bits_ is a 48-bit unsigned integer, from which a three-bit control code is extracted for a texel at location (_x_, _y_) in the block using: [latexmath] -++++++ +++++ \begin{align*} \mathit{code}(x,y) & = \mathit{bits}[3\times(4\times y+x)+2 \dots 3\times(4\times y+x)+0] \end{align*} -++++++ +++++ where _bits_[47] is the most-significant and _bits_[0] is the least-significant bit. @@ -310,7 +311,7 @@ given by <>. [[BC3alpha]] .Alpha encoding for BC3 blocks [options="header",cols="2,3",width="70%"] -|================= +|==== ^| Alpha value ^| Condition ^.^| _alpha_~0~ ^.^| _code_(_x_, _y_) = 0 ^.^| _alpha_~1~ ^.^| _code_(_x_, _y_) = 1 @@ -326,4 +327,4 @@ given by <>. ^| latexmath:[$(1\times\mathit{alpha}_0 + 4\times\mathit{alpha}_1)\over 5$] ^.^| _alpha_~0~ {leq} _alpha_~1~ and _code_(_x_, _y_) = 5 ^.^| 0.0 ^.^| _alpha_~0~ {leq} _alpha_~1~ and _code_(_x_, _y_) = 6 ^.^| 1.0 ^.^| _alpha_~0~ {leq} _alpha_~1~ and _code_(_x_, _y_) = 7 -|================= +|==== diff --git a/simplifyhtmllinks.pl b/simplifyhtmllinks.pl index 63600d7..24dd9b4 100755 --- a/simplifyhtmllinks.pl +++ b/simplifyhtmllinks.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl -# Copyright (c) 2019 The Khronos Group Inc. -# Copyright notice at https://www.khronos.org/registry/speccopyright.html -# +# Copyright 2019-2024 The Khronos Group Inc. +# SPDX-License-Identifier: Apache-2.0 + # There appears to be no way to make the HTML output sylistically match the PDF # and provide links as numbers without replicating the caption. # Therefore we post-process the HTML to fix it. diff --git a/transferfunctions.adoc b/transferfunctions.adoc index 47a81e5..76b638f 100644 --- a/transferfunctions.adoc +++ b/transferfunctions.adoc @@ -1,5 +1,5 @@ -// Copyright (c) 2017-2019 The Khronos Group Inc. -// Copyright notice at https://www.khronos.org/registry/speccopyright.html +// Copyright 2017-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 [[TRANSFER_CONVERSION]] == Transfer functions @@ -245,7 +245,7 @@ The (OETF) conversion from linear (_R_,_G_,_B_) encoding to non-linear (_R′_,_G′_,_B′_) encoding is: [latexmath] -++++++ +++++ \begin{align*} \textit{R}' &= \begin{cases} \textit{R} \times 4.500, & \textit{R} < \beta \\ @@ -260,7 +260,7 @@ to non-linear (_R′_,_G′_,_B′_) encoding is: \alpha \times \textit{B}^{0.45} - (\alpha - 1), & \textit{B} \geq \beta \end{cases} \end{align*} -++++++ +++++ Where _α_ = 1.0993 and _β_ = 0.0181 for 12-bit encoding in the BT.2020 specification, and @@ -272,7 +272,7 @@ latexmath:[$\alpha = 1.099$] and latexmath:[$\beta = 0.018$] otherwise. From this the inverse (OETF^ -1^) transformation can be deduced: [latexmath] -++++++ +++++ \begin{align*} \textit{R} &= \begin{cases} {{\textit{R}'}\over{4.500}}, & \textit{R}' < \delta \\ @@ -287,7 +287,7 @@ B &= \begin{cases} {\left({\textit{B}' + (\alpha - 1)}\over{\alpha}\right)}^{1\over{0.45}}, & \textit{B}' \geq \delta \end{cases} \end{align*} -++++++ +++++ _δ_ can be deduced from _α_ {times} _β_^0.45^ - (_α_ - 1) ≈ 0.0812. Note that this is subtly different from @@ -377,51 +377,51 @@ At {_R_,_G_,_B_} = _β_, the linear and non-linear segments of the curv must calculate the same value: [latexmath] -++++++ +++++ $$4.5 \times \beta = \alpha \times \beta^{0.45} - (\alpha - 1)$$ -++++++ +++++ Additionally, the derivatives of the linear and non-linear segments of the curve must match: [latexmath] -++++++ +++++ $$4.5 = 0.45 \times \alpha \times \beta^{-0.55}$$ -++++++ +++++ The derivative can be rearranged to give the equation: [latexmath] -++++++ +++++ $$\alpha = 10 \times \beta^{0.55}$$ -++++++ +++++ Substituting this into the original equation results in the following: [latexmath] -++++++ +++++ $$4.5 \times \beta = 10 \times \beta^{0.55} \times \beta^{0.45} - (10 \times \beta^{0.55} - 1)$$ -++++++ +++++ This simplifies to: [latexmath] -++++++ +++++ $$5.5 \times \beta - 10 \times \beta^{0.55} + 1 = 0$$ -++++++ +++++ This can be solved numerically (for example by Newton-Raphson iteration), and results in values of: [latexmath] -++++++ +++++ \begin{align*} \beta &\approx 0.018053968510808\\ \alpha &\approx 1.099296826809443\\ \delta &= \alpha\times\beta^{0.45} - (\alpha-1) = 4.5\times\beta\\ &\approx 0.081242858298635\\ \end{align*} -++++++ +++++ <<< @@ -437,7 +437,7 @@ to linear latexmath:[$(R, G, B)$] encoding is: [[srgbgamma]] [latexmath] -++++++ +++++ \begin{align*} R &= \begin{cases} {R' \over 12.92}, & R' \leq 0.04045 \\ @@ -452,7 +452,7 @@ to linear latexmath:[$(R, G, B)$] encoding is: \left({B' + 0.055} \over 1.055\right)^{2.4}, & B' > 0.04045 \end{cases} \end{align*} -++++++ +++++ [[TRANSFER_SRGB_INVEOTF]] ==== sRGB EOTF^-1^ @@ -462,7 +462,7 @@ latexmath:[$(R, G, B)$] encoding to non-linear latexmath:[$(R', G', B')$] encoding is: [latexmath] -++++++ +++++ \begin{align*} R' &= \begin{cases} R \times 12.92, & R \leq 0.0031308 \\ @@ -477,7 +477,7 @@ encoding is: 1.055 \times B^{1\over 2.4} - 0.055, & B > 0.0031308 \end{cases} \end{align*} -++++++ +++++ [[TRANSFER_SRGB_EOTFVSGAMMA]] ==== sRGB EOTF vs gamma 2.2 @@ -539,7 +539,7 @@ the absolute value of the input. That is: [latexmath] -++++++ +++++ \begin{align*} R' &= \begin{cases} -1.055 \times (-R)^{1\over 2.4} + 0.055, & R \leq -0.0031308 \\ @@ -557,7 +557,7 @@ That is: 1.055 \times B^{1\over 2.4} - 0.055, & B \geq 0.0031308 \end{cases} \end{align*} -++++++ +++++ NOTE: <> annex B changes the behavior of the latexmath:[$\{R,G,B\} = 0.0031308$] case compared with the @@ -568,7 +568,7 @@ scRGB annex B does not define the EOTF^ -1^, so the formulae below are derived by extending the sRGB formulae. [latexmath] -++++++ +++++ \begin{align*} R &= \begin{cases} -\left({0.055 - R'} \over 1.055\right)^{2.4}, & R' < -0.04045 \\ @@ -586,7 +586,7 @@ formulae below are derived by extending the sRGB formulae. \left({B' + 0.055} \over 1.055\right)^{2.4}, & B' > 0.04045 \end{cases} \end{align*} -++++++ +++++ [NOTE] ==== @@ -597,7 +597,7 @@ It notes that the non-linear sRGB \{latexmath:[$R',G',B'$]\} values can be corrected as follows: [latexmath] -++++++ +++++ \begin{align*} E_{sYCC} &= \begin{cases} 0.0125 - \left({1-0.0125\over 1.055^{2.4}}\right) @@ -613,7 +613,7 @@ E_{sYCC} &= \begin{cases} E_{sYCC} &= (\textrm{linear}) \{R_{sYCC},G_{sYCC},B_{sYCC}\} \\ E'_{sRGB} &= (\textrm{non-linear}) \{R'_{sRGB},G'_{sRGB},B'_{sRGB}\} \end{align*} -++++++ +++++ This is equivalent to applying latexmath:[$E_{sYCC} = 0.0125 + {1\over 1-0.0125} \times E_{sRGB}$] @@ -631,14 +631,14 @@ Similar to the ITU transfer function, the EOTF^ -1^ of the sRGB function can be written as: [latexmath] -++++++ +++++ \begin{align*} \{R,G,B\} &= \begin{cases} \{R',G',B'\} \times 12.92, & \{R',G',B'\} \leq \beta \\ \alpha \times \{R',G',B'\}^{1\over{2.4}} - (\alpha - 1), & \{R',G',B'\} < \beta \end{cases} \end{align*} -++++++ +++++ Like the ITU transfer function above, the values of latexmath:[$\alpha$] and latexmath:[$\beta$] in the sRGB function appear to have been chosen @@ -652,60 +652,60 @@ At latexmath:[$\{R',G',B'\} = \beta$], the linear and non-linear segments of the function must calculate the same value: [latexmath] -++++++ +++++ $$12.92 \times \beta = \alpha \times \beta^{1\over{2.4}} - (\alpha - 1)$$ -++++++ +++++ Additionally, the derivatives of the linear and non-linear segments of the function must match: [latexmath] -++++++ +++++ $$12.92 = {{\alpha \times \beta^{{1\over{2.4}}-1}}\over{2.4}}$$ -++++++ +++++ This formula can be rearranged to give latexmath:[$\alpha$] in terms of latexmath:[$\beta$]: [latexmath] -++++++ +++++ $$\alpha = 12.92\times 2.4\times \beta^{1-{1\over{2.4}}}$$ -++++++ +++++ Substituting this into the formula for latexmath:[$\{R,G,B\}$]: [latexmath] -++++++ +++++ $$12.92 \times \beta = 12.92\times 2.4\times \beta^{1-{1\over{2.4}}} \times \beta^{1\over{2.4}} - (12.92\times 2.4\times \beta^{1-{1\over{2.4}}} - 1)$$ -++++++ +++++ This equation simplifies to: [latexmath] -++++++ +++++ $$1.4 \times 12.92 \times \beta - 2.4 \times 12.92 \times \beta^{1 - {1\over{2.4}}} + 1 = 0$$ -+++++ +++++ This can be further simplified to: [latexmath] -++++++ +++++ $$1.4 \times \beta - 2.4 \times \beta^{1 - {1\over{2.4}}} + {1\over{12.92}} = 0$$ -+++++ +++++ The value of latexmath:[$\beta$] can be found numerically (for example by Newton-Raphson iteration, with a derivative of latexmath:[$1.4-1.4\beta^{-{1\over{2.4}}}$]), and results in values of: [latexmath] -++++++ +++++ \begin{align*} \beta &\approx 0.003041282560128\\ \alpha &\approx 1.055010718947587\\ \delta &= 12.92\times\beta = \alpha\times\beta^{1\over{2.4}}-(\alpha-1.0)\\ &\approx 0.039293370676848 \end{align*} -++++++ +++++ Where latexmath:[$\delta$] is the value of the EOTF^ -1^ at latexmath:[$\{R',G',B'\} = \beta$]. @@ -728,12 +728,12 @@ practice. The EOTF can be written with these derived values as: [latexmath] -++++++ +++++ $$\{R,G,B\} = \begin{cases} {{\{R',G',B'\}}\over{12.92}}, & \{R',G',B'\} \leq \delta \\ \left({{\{R',G',B'\}}\over{\alpha}} + {{\alpha-1}\over\alpha}\right)^{2.4}, & \{R',G',B'\} > \delta \end{cases}$$ -++++++ +++++ [NOTE] ==== @@ -743,25 +743,25 @@ The profile viewer in Apple's ColorSync utility reports that the EOTF is of the following form: [latexmath] -++++++ +++++ $$f(x) = \begin{cases} cx, & x < d \\ (ax+b)^\gamma, & x \geq d \end{cases}$$ -++++++ +++++ The reported figures for latexmath:[$\gamma=2.4,\ a=0.948,\ b=0.52$] and latexmath:[$c=0.077$] correspond to the equivalent values in the sRGB specification: [latexmath] -++++++ +++++ \begin{align*} {1\over{\alpha}} &\approx 0.948 = a\\ {{\alpha-1}\over\alpha} &\approx 0.52 = b\\ {1\over{12.92}} &\approx 0.077 = c \end{align*} -++++++ +++++ These values are correct to the reported precision both for the value latexmath:[$\alpha = 1.055$] in the sRGB specification and for the more @@ -776,9 +776,9 @@ The disparity can be explained if the profile values have been derived as described in this section: [latexmath] -++++++ +++++ $$\delta \approx 0.039293370676848\approx 0.039 = d$$ -++++++ +++++ Note that this value assumes a correspondingly corrected version of latexmath:[$\alpha$] rather than latexmath:[$a = 1.055$]. @@ -803,20 +803,20 @@ However, the intersection point latexmath:[$\beta$] can be found by solving: [latexmath] -++++++ +++++ $$1.055\times\beta^{1\over{2.4}}-12.92\times\beta-0.055 = 0$$ -++++++ +++++ This equation can give us a slightly more precise pair of values for the original sRGB equation: [latexmath] -++++++ +++++ \begin{align*} \beta &\approx 0.003130668 \\ \delta &\approx 0.040448236 \end{align*} -++++++ +++++ In practice this makes no measurable difference, but does suggest that the values of latexmath:[$\beta = 0.0031308$] in the sRGB @@ -833,31 +833,31 @@ represent a typical EOTF for CRTs and to document this to ensure consistency between other display technologies: [latexmath] -++++++ +++++ $$L = a(\textrm{max}(V+b,0))^\gamma$$ -++++++ +++++ [width="40%",grid="none",frame="none"] -|============ +|==== <|_L_ = screen luminance in cd/m^2^ <|_V_ = input signal normalized to [0..1] <|_a_ = user gain (legacy ``contrast'') <|_b_ = black level lift (legacy ``brightness'') <|latexmath:[$\gamma$] = 2.4 -|============ +|==== If _L~W~_ is the screen luminance of maximum white and _L~B~_ is the screen luminance of minimum black: [latexmath] -++++++ +++++ \begin{align*} L_B &= a \times b^\gamma \\ L_W &= a \times (1 + b)^\gamma \\ a &= (L_W^{1\over\gamma} - L_B^{1\over\gamma})^\gamma \\ b &= {{L_B^{1\over\gamma}}\over{L_W^{1\over\gamma} - L_B^{1\over\gamma}}} \end{align*} -++++++ +++++ <> proposes the use of a simple power function with a latexmath:[$\gamma = 2.4$] as an approximation to this EOTF for the purposes @@ -882,24 +882,24 @@ image::images/tf_ituvsgamma256.png[width="{svgpdf@pdf:192pt:257}",align="center" match to CRT measured luminance than the standard formula listed above: [latexmath] -++++++ +++++ \begin{align*} L &= \begin{cases} k(V_C+b)^{(\alpha_1-\alpha_2)}(V+b)^{\alpha_2}, & V < V_C \\ k(V+b)^{\alpha_1}, & V_C \leq V \end{cases} \end{align*} -++++++ +++++ [width="60%",grid="none",frame="none"] -|============ +|==== <|_V~C~_ = 0.35 <|latexmath:[$\alpha_1$] = 2.6 <|latexmath:[$\alpha_2$] = 3.0 <|_k_ = coefficient of normalization (so that _V_ = 1 gives white), <|latexmath:[$k=L_W(1+b)^{-\alpha_1}$] <|_b_ = black level lift (legacy ``brightness'') -|============ +|==== ==== @@ -919,21 +919,21 @@ The <> Hybrid Log Gamma description defines the following OETF for linear scene light: [latexmath] -++++++ +++++ $$E'_\mathit{norm} = \textrm{OETF}(E) = \begin{cases} \sqrt{3E}, & 0 \leq E \leq {1\over{12}} \\ a \times \textrm{ln}((12\times E) - b) + c, & {1\over{12}} < E \leq 1 \end{cases}$$ -++++++ +++++ [width="80%",grid="none",frame="none"] -|============ +|==== <|latexmath:[$E$] = the latexmath:[$R_S$], latexmath:[$G_S$] or latexmath:[$B_S$] color component of linear scene light, normalized to [0..1] <|latexmath:[$E'$] = the resulting non-linear latexmath:[$R_S'$], latexmath:[$G_S'$] or latexmath:[$B_S'$] non-linear scene light value in in the range [0..1] <|_a_ = 0.17883277 <|_b_ = latexmath:[$1 - 4\times a = 0.28466892$] <|_c_ = latexmath:[$0.5 - a\times ln(4\times a) \approx 0.55991073$] -|============ +|==== [NOTE] ==== @@ -941,34 +941,34 @@ BT.2100-0, in note 5b, defines these formulae equivalently, but slightly differently: [latexmath] -++++++ +++++ $$E'_\mathit{norm} = \textrm{OETF}(E) = \begin{cases} \sqrt{3E}, & 0 \leq E \leq {1\over{12}} \\ a \times \textrm{ln}(E - b_0) + c_0, & {1\over{12}} < E \leq 1 \end{cases}$$ -++++++ +++++ This formulation in BT.2100-0 uses different constants for _b_ and _c_ (_a_ is unmodified), as follows: [width="50%",options="header",cols="1,5,5"] -|============ +|==== | | BT.2100-2, BT.2100-1 | BT.2100-0 | _b_ | _b_~1~ = 0.28466892 | _b_~0~ = 0.02372241 | _c_ | _c_~1~ = 0.55991073 | _c_~0~ = 1.00429347 -|============ +|==== The BT.2100-0 variations can be derived from the BT.2100-2 numbers as: [latexmath] -++++++ +++++ \begin{align*} a \times \textrm{ln}((12 \times E) - b_1)+ c_1 & = a \times \textrm{ln}\left(12\times\left(E - {b_1\over{12}}\right)\right) + c_1\\ & = a \times \textrm{ln}\left(E - {{b_1}\over{12}}\right) + a\times\textrm{ln}(12) + c_1 \\ {{b_1}\over{12}} = {{0.28466892}\over{12}} &= 0.023772241 = b_0 \\ a\times\textrm{ln}(12) + c_1 = 0.17883277\times\textrm{ln}(12) + 0.55991073 &= 1.00429347 = c_0 \end{align*} -++++++ +++++ ==== @@ -979,12 +979,12 @@ a\times\textrm{ln}(12) + c_1 = 0.17883277\times\textrm{ln}(12) + 0.55991073 &= 1 The OETF^ -1^ of normalized HLG is: [latexmath] -++++++ +++++ $$E = \textrm{OETF}^{-1}(E') = \begin{cases} {{E'^2}\over 3}, & 0 \leq E' \leq {1\over 2} \\ {1\over 12} \times \left({b + e^{(E'-c)/a}}\right), & {1\over 2} < E' \leq 1 \end{cases}$$ -++++++ +++++ _a_, _b_ and _c_ are defined as for the normalized HLG OETF. BT.2100-0 again defines an equivalent formula without the @@ -1003,21 +1003,21 @@ Only the variant normalized to the range [0..1] is described in the updated versions of the specification, BT.2100-1 and BT.2100-2. [latexmath] -++++++ +++++ $$E' = \textrm{OETF}(E) = \begin{cases} {{\sqrt{E}}\over{2}}, & 0 \leq E \leq 1 \\ a \times \textrm{ln}(E-b) + c, & 1 < E \end{cases}$$ -++++++ +++++ [width="80%",grid="none",frame="none"] -|============ +|==== <|latexmath:[$E'$] = the latexmath:[$R_S$], latexmath:[$G_S$] or latexmath:[$B_S$] color component of linear scene light, normalized to [0..12] <|latexmath:[$E_S'$] = the resulting non-linear latexmath:[$R_S'$], latexmath:[$G_S'$] or latexmath:[$B_S'$] value in in the range [0..1] <|_a_ = 0.17883277 <|_b_ = 0.28466892 <|_c_ = 0.55991073 -|============ +|==== Note that these constants are the same as those used in the BT.2100-1 version of the <>. @@ -1028,12 +1028,12 @@ version of the <>. The OETF^ -1^ of ``unnormalized'' HLG (producing _E_ in the range [0..12]) is: [latexmath] -++++++ +++++ $$E = \textrm{OETF}^{-1}(E') = \begin{cases} 4\times E'^2, & 0 \leq E' \leq {1\over 2} \\ b + e^{(E'-c)/a}, & {1\over 2} < E' \end{cases}$$ -++++++ +++++ _a_, _b_ and _c_ are defined as for the <>. @@ -1056,7 +1056,7 @@ OETF^ -1^: of the unnormalized OETF^ -1^ at latexmath:[$E' = {1\over 2}$]: + [latexmath] -++++++ +++++ \begin{align*} {{d(4\times E'^2)}\over{dE'}} = 8\times E' &= 8 \times {1\over 2} = 4 \textrm{ (derivative of the } 0 \leq E' \leq {1\over 2} \textrm{ case)}\\ @@ -1071,14 +1071,14 @@ OETF^ -1^: \implies c &= -\textrm{ln}\left({{(4\times a)^a}\over{e^{0.5}}}\right)\\ &= 0.5 - a\times\textrm{ln}(4\times a) \end{align*} -++++++ +++++ * The latexmath:[$0 \leq E' \leq {1\over 2}$] term of the unnormalized OETF^ -1^ has the same value as the latexmath:[${1\over 2}$] < latexmath:[$E'\leq 1$] term of the unnormalized OETF^ -1^ at latexmath:[$E' = {1\over 2}$]: + [latexmath] -++++++ +++++ \begin{align*} 4\times{E'}^2 &= e^{{E' - c}\over a} + b \textrm{ (from the }0 \leq E' \leq {1\over 2}\textrm{ and }{1\over 2} < E' \textrm{ cases})\\ @@ -1087,12 +1087,12 @@ OETF^ -1^: &= e^{\textrm{ln}(4\times a)} + b\\ b &= 1 - 4\times a \end{align*} -++++++ +++++ * At _E'_ = 1, the latexmath:[${1\over 2}$] < latexmath:[$E'$] term of the unnormalized OETF^ -1^ = 12: + [latexmath] -++++++ +++++ \begin{align*} 12 &= e^{{E'-c}\over a} + b\\ &= {e^{{1 - 0.5 + a\times\textrm{ln}(4\times a)}\over a} + 1 - 4\times a} \\ @@ -1102,25 +1102,25 @@ b &= 1 - 4\times a {121\over{16\times a^2}} + {11\over{2\times a}} + 1 &= e^{1\over a}\\ {121\over{16}} + {a\times 11\over 2} + a^2 \times (1 - e^{1\over a}) = 0 \end{align*} -++++++ +++++ This last equation can be solved numerically to find: [latexmath] -++++++ +++++ \begin{align*} a \approx 0.1788327726569497656312771 \end{align*} -++++++ +++++ With this precision, more accurate values of the other constants are: [latexmath] -++++++ +++++ \begin{align*} b &= 0.28466890937 \\ c &= 0.55991072776 \end{align*} -++++++ +++++ The _b_ = 0.28466892 official figure assumes the rounded _a_ = 0.17883277 value as an input to the _b_ = latexmath:[$1 - 4\times a$] @@ -1165,13 +1165,13 @@ image::images/tf_hlg.{svgpdf}[width="{svgpdf@pdf:200pt:300}",align="center"] The OOTF of HLG is described as: [latexmath] -+++++ +++++ \begin{align*} R_D &= \alpha\times Y_S^{\gamma-1}\times R_S \\ G_D &= \alpha\times Y_S^{\gamma-1}\times G_S \\ B_D &= \alpha\times Y_S^{\gamma-1}\times B_S \\ \end{align*} -+++++ +++++ where _R~D~_, _G~D~_ and _B~D~_ describe the luminance of the displayed linear component in cd/m^2^ and _R~S~_, _G~S~_ and _B~S~_ describe each @@ -1188,35 +1188,35 @@ This is an approximation to the official OOTF. _Y~S~_ is the normalized scene luminance, defined as: [latexmath] -+++++ +++++ $$Y_S = 0.2627\times R_S + 0.6780\times G_S + 0.0593\times B_S$$ -+++++ +++++ latexmath:[$\alpha$] represents adjustable user gain (display ``contrast'') representing _L~W~_, the nominal peak luminance of achromatic pixels. [NOTE] -====== +==== Versions of BT.2100 prior to BT.2100-2 incorporated a latexmath:[$\beta$] black level offset (display ``brightness'') representing the display luminance of black in cd/m^2^: [latexmath] -+++++ +++++ \begin{align*} R_D &= \alpha\times Y_S^{\gamma-1}\times R_S + \beta \\ G_D &= \alpha\times Y_S^{\gamma-1}\times G_S + \beta \\ B_D &= \alpha\times Y_S^{\gamma-1}\times B_S + \beta \\ \end{align*} -+++++ +++++ latexmath:[$\alpha$] then represented the relative display ``contrast'': [width="70%",options="header",cols="1,5,5"] -|============ +|==== | | Scene light normalized to [0..1] | Scene light normalized to [0..12] | latexmath:[$\alpha$] | latexmath:[${L_W - L_B}$] | latexmath:[${{L_W - L_B}\over{\left(12\right)^\gamma}}$] -|============ +|==== where _L~W~_ is the nominal peak luminance of the display in cd/m^2^, and _L~B~_ is the display luminance of black in cd/m^2^. @@ -1224,7 +1224,7 @@ _L~B~_ is the display luminance of black in cd/m^2^. That is, in older versions of BT.2100, latexmath:[$\alpha$] represented the difference between minimum and maximum brightness, whereas in BT.2100-2 latexmath:[$\alpha$] is independent of black level. -===== +==== latexmath:[$\gamma = 1.2$] for a nominal peak display luminance of 1000cd/m^2^. For displays with higher peak luminance or if peak luminance is reduced through @@ -1241,27 +1241,27 @@ offset from the above equations and meaning latexmath:[$\gamma=1.2$]. The inverse OOTF for HLG can be defined as: [latexmath] -+++++ +++++ \begin{align*} R_S&=\left({{Y_D}\over\alpha}\right)^{(1/\gamma)-1}\times \left({{R_D}\over\alpha}\right) \\ G_S&=\left({{Y_D}\over\alpha}\right)^{(1/\gamma)-1}\times \left({{G_D}\over\alpha}\right) \\ B_S&=\left({{Y_D}\over\alpha}\right)^{(1/\gamma)-1}\times \left({{B_D}\over\alpha}\right) \\ Y_D&= 0.2627\times R_D + 0.6780\times G_D + 0.0593\times B_D \end{align*} -+++++ +++++ For processing without reference to a specific display, latexmath:[$\alpha$] can be assumed to be 1.0cd/m^2^. [NOTE] -===== +==== Versions of BT.2100 prior to BT.2100-2 incorporated a latexmath:[$\beta$] term into the OOTF. Using this formula from the OOTF leads to the following relationship between _Y~D~_ and _Y~S~_: [latexmath] -+++++ +++++ \begin{align*} Y_D &= 0.2627\times R_D + 0.6780\times G_D + 0.0593\times B_D \\ &= 0.2627\times(\alpha\times Y_S^{\gamma-1}\times R_S + \beta) + @@ -1273,11 +1273,11 @@ Y_D &= 0.2627\times R_D + 0.6780\times G_D + 0.0593\times B_D \\ \therefore Y_S =& \left({{Y_D-\beta}\over\alpha}\right)^{1\over\gamma}\\ Y_S^{1-\gamma} =& \left({{Y_D-\beta}\over\alpha}\right)^{(1-\gamma)/\gamma} \end{align*} -+++++ +++++ From this, the following relations can be derived: [latexmath] -+++++ +++++ \begin{align*} R_S &= {(R_D - \beta)\over{\alpha\times Y_S^{\gamma-1}}} = Y_S^{1-\gamma}\times{{(R_D-\beta)}\over\alpha} @@ -1292,7 +1292,7 @@ B_S &= {(B_D - \beta)\over{\alpha\times Y_S^{\gamma-1}}} = \left({{Y_D - \beta}\over\alpha}\right)^{(1-\gamma)/\gamma} \times \left({{B_D - \beta}\over{\alpha}}\right) \end{align*} -+++++ +++++ For processing without knowledge of the display, latexmath:[$\alpha$] can be treated as 1.0cd/m^2^ and latexmath:[$\beta$] can be considered @@ -1300,7 +1300,7 @@ to be 0.0cd/m^2^. This simplifies the equations as follows: [latexmath] -+++++ +++++ \begin{align*} Y_S &= Y_D^{1/\gamma} \\ Y_S^{1-\gamma} &= Y_D^{(1/\gamma)-1} \\ @@ -1308,8 +1308,8 @@ R_S&=Y_D^{(1/\gamma)-1}\times R_D \\ G_S&=Y_D^{(1/\gamma)-1}\times G_D \\ B_S&=Y_D^{(1/\gamma)-1}\times B_D \end{align*} -+++++ -===== +++++ +==== <<< [[TRANSFER_HLG_EOTF_NORM]] @@ -1319,29 +1319,29 @@ The EOTF of BT.2100 HLG is defined in terms of the OETF and OOTF defined above: [latexmath] -+++++ +++++ \begin{align*} R_D &= \textrm{OOTF}\left(\textrm{OETF}^{-1}\left(\textrm{max}(0, (1-\beta)R_S' + \beta)\right)\right) \\ G_D &= \textrm{OOTF}\left(\textrm{OETF}^{-1}\left(\textrm{max}(0, (1-\beta)G_S' + \beta)\right)\right) \\ B_D &= \textrm{OOTF}\left(\textrm{OETF}^{-1}\left(\textrm{max}(0, (1-\beta)B_S' + \beta)\right)\right) \\ \beta &= \sqrt{3\times \left({{L_B}\over{L_W}}\right)^{1/\gamma}} \end{align*} -+++++ +++++ where _L~W~_ is the nominal peak luminance of the display in cd/m^2^, and _L~B~_ is the display luminance of black in cd/m^2^. [NOTE] -====== +==== Versions of BT.2100 prior to BT.2100-2 incorporated the black level offset (display ``brightness'') latexmath:[$\beta$] into the definition of the OOTF, such that: [latexmath] -+++++ +++++ $$\{R_D,G_D,B_D\}=\textrm{OOTF}(\textrm{OETF}^{-1}(\{R_S',G_S',B_S'\}))$$ -+++++ -====== +++++ +==== [[TRANSFER_HLG_IEOTF_NORM]] ==== HLG EOTF^ -1^ @@ -1349,26 +1349,26 @@ $$\{R_D,G_D,B_D\}=\textrm{OOTF}(\textrm{OETF}^{-1}(\{R_S',G_S',B_S'\}))$$ The EOTF^ -1^ can be derived as: [latexmath] -+++++ +++++ \begin{align*} R_S' &= {{\textrm{OETF}\left(\textrm{OOTF}^{-1}\left(R_D'\right)\right) - \beta}\over{1-\beta}} \\ G_S' &= {{\textrm{OETF}\left(\textrm{OOTF}^{-1}\left(G_D'\right)\right) - \beta}\over{1-\beta}} \\ B_S' &= {{\textrm{OETF}\left(\textrm{OOTF}^{-1}\left(B_D'\right)\right) - \beta}\over{1-\beta}} \\ \beta &= \sqrt{3\times \left({{L_B}\over{L_W}}\right)^{1/\gamma}} \end{align*} -+++++ +++++ [NOTE] -====== +==== Versions of BT.2100 prior to BT.2100-2 incorporated the black level offset (display ``brightness'') latexmath:[$\beta$] into the definition of the OOTF, such that: [latexmath] -+++++ +++++ $$\{R_S',G_S',B_S'\} = \textrm{OETF}(\textrm{OOTF}^{-1}(\{R_D,G_D,B_D\}))$$ -+++++ -===== +++++ +==== <<< [[TRANSFER_PQ]] @@ -1386,12 +1386,12 @@ The <> Perceptual Quantization description defines the following EOTF: [latexmath] -+++++ +++++ \begin{align*} F_D &= \textrm{EOTF}(E') = 10000\times Y \\ Y &= \left(\textrm{max}(({E'}^{1\over{m_2}} - c_1),0)\over{c_2 - c_3\times {E'}^{1\over{m_2}}}\right)^{1\over{m_1}} \end{align*} -+++++ +++++ latexmath:[$E'$] is a non-linear color channel latexmath:[$\{R',G',B'\}$] or latexmath:[$\{L',M',S'\}$] encoded as PQ in the range [0..1]. + @@ -1403,7 +1403,7 @@ When latexmath:[$R'=G'=B'$] the displayed pixel is monochromatic. + latexmath:[$Y$] is a linear color value normalized to [0..1]. [latexmath] -+++++ +++++ \begin{align*} m_1 &= {2610\over 16384} = 0.1593017578125 \\ m_2 &= {2523\over 4096} \times 128 = 78.84375 \\ @@ -1411,7 +1411,7 @@ c_1 &= {3424\over 4096} = 0.8359375 = c_3 - c_2 + 1 \\ c_2 &= {2413\over 4096} \times 32 = 18.8515625 \\ c_3 &= {2392\over 4096} \times 32 = 18.6875 \end{align*} -+++++ +++++ [[TRANSFER_PQ_IEOTF]] ==== PQ EOTF^ -1^ @@ -1419,12 +1419,12 @@ c_3 &= {2392\over 4096} \times 32 = 18.6875 The corresponding EOTF^ -1^ is: [latexmath] -+++++ +++++ \begin{align*} Y &= {F_D\over 10000} \\ \textrm{EOTF}^{-1}(F_D) &= \left({c_1 + c_2\times Y^{m_1}\over 1 + c_3\times Y^{m_1}}\right)^{m_2} \end{align*} -+++++ +++++ <<< ==== PQ OOTF @@ -1433,9 +1433,9 @@ The OOTF of PQ matches that of <>'s EOTF combined with <>'s OETF: [latexmath] -+++++ +++++ $$F_D = \textrm{OOTF}(E) = \textrm{G}_{1886}(\textrm{G}_{709}(E))$$ -+++++ +++++ where _E_ is one of latexmath:[$\{R_S,G_S,B_S,Y_S,I_S\}$], the linear representation of scene light scaled by camera exposure and in the range @@ -1444,7 +1444,7 @@ G~709~ is the OETF described in <> with a scale factor of 59.5208 applied to _E_: [latexmath] -+++++ +++++ \begin{align*} F_D &= \textrm{G}_{1886}(\textrm{G}_{709}(E)) &=\ &\textrm{G}_{1886}(E') = 100\times E'^{2.4} \\ E' &= \textrm{G}_{709}(E) &= &\begin{cases} @@ -1452,7 +1452,7 @@ E' &= \textrm{G}_{709}(E) &= &\begin{cases} 267.84\times E, & 0.0003024 \geq E \geq 0 \end{cases} \end{align*} -+++++ +++++ [NOTE] ==== @@ -1491,21 +1491,21 @@ approximation, the maximum representable scene brightness, if 1.0 is the maximum normalized SDR brightness is: [latexmath] -+++++ +++++ \begin{align*} \left({100^{1\over 2.4} + 0.099\over 1.099}\right)^{1\over 0.45} &\approx 59.5208 \end{align*} -+++++ +++++ The other constants in the G~709~ formula are derived as follows: [latexmath] -+++++ +++++ \begin{align*} {0.018\over 59.5208} &\approx 0.0003024 \\ 4.5\times 59.5208 &\approx 267.84 \end{align*} -+++++ +++++ Note that these constants differ slightly if the more accurate latexmath:[$\alpha = 1.0993$] figure from <> is used @@ -1518,9 +1518,9 @@ instead of 1.099. The OETF of PQ is described in terms of the above OOTF: [latexmath] -+++++ +++++ $$E' = \textrm{OETF}(E) = \textrm{EOTF}^{-1}(\textrm{OOTF}(E)) = \textrm{EOTF}^{-1}(F_D)$$ -+++++ +++++ <<< ==== PQ OOTF^ -1^ @@ -1528,16 +1528,16 @@ $$E' = \textrm{OETF}(E) = \textrm{EOTF}^{-1}(\textrm{OOTF}(E)) = \textrm{EOTF}^{ The PQ OOTF^ -1^ is: [latexmath] -+++++ +++++ $$E=\textrm{OOTF}^{-1}(F_D)=\textrm{G}_{709}^{-1}(\textrm{G}_{1886}^{-1}(F_D))$$ -+++++ +++++ where _F~D~_, display intensity, is one of latexmath:[$\{R_D,G_D,B_D,Y_D,I_D\}$], and E is the corresponding normalized scene intensity. [latexmath] -+++++ +++++ \begin{align*} E' &= \textrm{G}_{1886}^{-1}(F_D) &= &\left({F_D\over 100}\right)^{1\over 2.4} \\ E &= \textrm{G}_{709}^{-1}(E') &= &\begin{cases} @@ -1545,7 +1545,7 @@ E &= \textrm{G}_{709}^{-1}(E') &= &\begin{cases} {E'\over{267.84}}, & 0.081\geq E'\geq 0 \implies {8.1}^{2.4}\geq F_D\geq 0 \end{cases} \end{align*} -+++++ +++++ [[TRANSFER_PQ_IOETF]] ==== PQ OETF^ -1^ @@ -1553,9 +1553,9 @@ E &= \textrm{G}_{709}^{-1}(E') &= &\begin{cases} The PQ OETF^ -1^ is described in terms of the OOTF^ -1^: [latexmath] -+++++ +++++ $$E = \textrm{OETF}^{-1}(E') = \textrm{OOTF}^{-1}(\textrm{EOTF}(E')) = \textrm{OOTF}^{-1}(F_D)$$ -+++++ +++++ <<< [[TRANSFER_DCIP3]] @@ -1565,7 +1565,7 @@ $$E = \textrm{OETF}^{-1}(E') = \textrm{OOTF}^{-1}(\textrm{EOTF}(E')) = \textrm{O (applied to scaled CIE _XYZ_ values): [options="header",cols="^1,^1"] -|====== +|==== | EOTF^ -1^ | EOTF | latexmath:[$X' = \left({X\over{52.37}}\right)^{1\over{2.6}}$] @@ -1577,7 +1577,7 @@ latexmath:[$Z' = \left({Z\over{52.37}}\right)^{1\over{2.6}}$] latexmath:[$Y = Y'^{2.6}\times 52.37$] latexmath:[$Z = Z'^{2.6}\times 52.37$] -|====== +|==== This power function is applied directly to scaled CIE _XYZ_ color coordinates: the ``primaries'' in DCI define the bounds of the gamut, @@ -1600,7 +1600,7 @@ simple EOTF power function with latexmath:[$\gamma = 2.2$] for NTSC display devices. [options="header",cols="^1,^1"] -|====== +|==== | EOTF^ -1^ | EOTF | latexmath:[$R' = R^{1\over{2.2}}$] @@ -1612,7 +1612,7 @@ latexmath:[$B' = B^{1\over{2.2}}$] latexmath:[$G = G'^{2.2}$] latexmath:[$B = B'^{2.2}$] -|====== +|==== This value of latexmath:[$\gamma$] is also used for N/PAL signals in the Eastern Republic of Uruguay, and was also adopted by <>. @@ -1650,7 +1650,7 @@ That is, this standard defines an approximate OETF and OETF^ -1^ for PAL content: [options="header",cols="^1,^1"] -|====== +|==== | OETF | OETF^ -1^ | latexmath:[$R' \approx R^{0.4}$] @@ -1662,7 +1662,7 @@ latexmath:[$B' \approx B^{0.4}$] latexmath:[$G \approx G'^{2.5}$] latexmath:[$B \approx B'^{2.5}$] -|====== +|==== [[TRANSFER_LEGACY_PAL_EOTF]] === Legacy PAL 625-line EOTF @@ -1675,7 +1675,7 @@ This specification describes a simple EOTF power function with latexmath:[$\gamma_{\textrm{EOTF}} = 2.8$] for most PAL and SECAM display devices: [options="header",cols="^1,^1"] -|====== +|==== | EOTF^ -1^ | EOTF | latexmath:[$R' = R^{1\over{2.8}}$] @@ -1687,7 +1687,7 @@ latexmath:[$B' = B^{1\over{2.8}}$] latexmath:[$G = G'^{2.8}$] latexmath:[$B = B'^{2.8}$] -|====== +|==== NOTE: Poynton describes a latexmath:[$\gamma$] of 2.8 as being ``unrealistically high'' for actual CRT devices. @@ -1696,13 +1696,13 @@ Combined with the <> with latexmath:[$\gamma_{\textrm{EOTF}} = 0.4$], the described system OOTF is: [latexmath] -+++++ +++++ \begin{align*} R_{display} &\approx R_{scene}^{2.8\over{2.5}}\\ G_{display} &\approx G_{scene}^{2.8\over{2.5}}\\ B_{display} &\approx B_{scene}^{2.8\over{2.5}} \end{align*} -+++++ +++++ Or latexmath:[$\gamma_{\textrm{OOTF}} \approx 1.12$]. @@ -1732,7 +1732,7 @@ The <>, formerly SMPTE240M, interim standard for HDTV defines the following OETF: [latexmath] -++++++ +++++ $$R' = \begin{cases} R \times 4, & 0 \leq R < 0.0228 \\ 1.1115 \times R^{0.45} - 0.1115, & 1 \geq R \geq 0.0228 @@ -1745,7 +1745,7 @@ following OETF: B \times 4, & 0 \leq B < 0.0228 \\ 1.1115 \times B^{0.45} - 0.1115, & 1 \geq B \geq 0.0228 \end{cases}$$ -++++++ +++++ Like <>, ST-240 defines a linear OOTF. Therefore the above relationship also holds for the EOTF^ -1^. @@ -1753,7 +1753,7 @@ Therefore the above relationship also holds for the EOTF^ -1^. The EOTF, and also OETF^ -1^, is: [latexmath] -++++++ +++++ $$R = \begin{cases} {R' \over 4}, & 0 \leq R < 0.0913 \\ \left({R' + 0.1115\over 1.1115}\right)^{1\over 0.45} - 0.1115, & 1 \geq R' \geq 0.0228 @@ -1766,7 +1766,7 @@ The EOTF, and also OETF^ -1^, is: {B' \over 4}, & 0 \leq R < 0.0913 \\ \left({B' + 0.1115\over 1.1115}\right)^{1\over 0.45} - 0.1115, & 1 \geq B' \geq 0.0228 \end{cases}$$ -++++++ +++++ [[TRANSFER_ADOBERGB]] === Adobe RGB (1998) transfer functions @@ -1776,26 +1776,26 @@ function between nonlinear encoding and linear light intensity (notable for not including a linear component): [latexmath] -+++++ +++++ \begin{align*} R &= R'^{2.19921875} \\ G &= G'^{2.19921875} \\ B &= B'^{2.19921875} \end{align*} -+++++ +++++ 2.19921875 is obtained from latexmath:[$2{51\over{256}}$] or hexadecimal 2.33. Therefore the inverse transfer function between linear light intensity and nonlinear encoding is: [latexmath] -+++++ +++++ \begin{align*} R' &= R^{256\over{563}} \\ G' &= G^{256\over{563}} \\ B' &= B^{256\over{563}} \end{align*} -+++++ +++++ <<< [[TRANSFER_SLOG]] @@ -1804,9 +1804,9 @@ B' &= B^{256\over{563}} The Sony <> OETF is defined for each color channel as: [latexmath] -+++++ +++++ $$y = (0.432699 \times \textrm{log}_{10}(t + 0.037584) + 0.616596) + 0.03$$ -+++++ +++++ Linear camera input scaled by exposure _t_ ranges from 0 to 10.0; _y_ is the non-linear encoded value. @@ -1814,9 +1814,9 @@ _y_ is the non-linear encoded value. The OETF^ -1^ is: [latexmath] -+++++ +++++ $$Y = 10.0^{t - 0.616596 - 0.03\over 0.432699} - 0.037584$$ -+++++ +++++ The encoded non-linear value _t_ ranges from 0 to 1.09; _Y_ is the linear scene light. @@ -1827,14 +1827,14 @@ linear scene light. <> defines the following OETF: [latexmath] -+++++ +++++ \begin{align*} y &= \begin{cases} (0.432699\times\textrm{log}_{10}\left({155.0\times x\over 219.0} + 0.037584\right) + 0.616596 + 0.03, &x \geq 0 \\ x \times 3.53881278538813 + 0.030001222851889303, &x < 0 \end{cases} \end{align*} -+++++ +++++ _x_ is the IRE in scene-linear space. + _y_ is the IRE in S-Log2 space. @@ -1842,14 +1842,14 @@ _y_ is the IRE in S-Log2 space. The OETF^ -1^ is: [latexmath] -+++++ +++++ \begin{align*} y &= \begin{cases} {219.0 \times 10.0^{x - 0.616596 - 0.03\over 0.432699}\over 155.0}, &x \geq 0.030001222851889303 \\ {x - 0.030001222851889303\over 3.53881278538813}, &x < 0.030001222851889303 \end{cases} \end{align*} -+++++ +++++ _x_ is the IRE in S-Log2 space. + _y_ is the IRE in scene-linear space. @@ -1865,13 +1865,13 @@ For each linear color channel _lin~AP1~_ transformed to the ACEScc primaries, the _ACEScc_ non-linear encoding is: [latexmath] -+++++ +++++ $$ACEScc = \begin{cases} {{\textrm{log}_\textrm{2}(2^{-16})+9.72}\over{17.52}}, & lin_{AP1} \leq 0 \\ {{\textrm{log}_\textrm{2}(2^{-16} + lin_{AP1}\times 0.5) + 9.72}\over{17.52}}, & lin_{AP1} < 2^{-15} \\ {{\textrm{log}_\textrm{2}(lin_{AP1})+9.72}\over{17.52}}, & lin_{AP1} \geq 2^{-15} \end{cases}$$ -+++++ +++++ [[TRANSFER_ACESCCT]] === ACEScct transfer function @@ -1882,9 +1882,9 @@ For each linear color channel _lin~AP1~_ transformed to the ACEScc primaries, the _ACEScct_ non-linear encoding is: [latexmath] -+++++ +++++ $$ACEScct = \begin{cases} {10.5402377416545 \times lin_{AP1} + 0.0729055341958355}, & lin_{AP1} \leq 0.0078125 \\ {{\textrm{log}_2(lin_{AP1})+9.72}\over{17.52}}, & lin_{AP1} > 0.0078125 \end{cases}$$ -+++++ +++++ From 3980b4ca53297cd35501dddf5406ede8b633ebb3 Mon Sep 17 00:00:00 2001 From: Jon Leech Date: Mon, 12 Aug 2024 05:07:26 -0700 Subject: [PATCH 04/10] Remove docbook / dblatex specific images and config files. Add boilerplate metafiles, asciidoctor config files, scripts, etc. based on Vulkan. --- .github/workflows/CI.yml | 291 +++++++ .gitlab-ci.yml | 263 +++++++ .reuse/dep5 | 19 + BUILD.adoc | 211 +++++ CODE_OF_CONDUCT.adoc | 10 + CONTRIBUTING.adoc | 39 + COPYING.adoc | 67 ++ LICENSE.adoc | 34 + Makefile | 15 +- README.adoc | 95 ++- config/README.adoc | 39 + config/asciidoctor-mathematical-ext.rb | 23 + config/attribs.adoc | 129 +++ config/copyright-ccby.adoc | 3 + config/copyright-spec.adoc | 136 ++++ config/dataformat/docinfo-header.html | 4 + config/df-xhtml.css | 392 ---------- config/docbook-xsl/chunked.xsl | 32 - config/docbook-xsl/common.xsl | 112 --- config/docbook-xsl/pdf.xsl | 29 - config/docbook-xsl/xhtml.xsl | 29 - config/fonts/mplus1p-regular-fallback.ttf | Bin 0 -> 1561388 bytes config/katex_replace.rb | 11 + config/katex_replace/extension.rb | 44 ++ config/khronos.css | 732 ++++++++++++++++++ config/loadable_html.rb | 11 + config/loadable_html/extension.rb | 72 ++ config/makedocinfologo | 23 + config/mathjax-asciidoc.conf | 19 - config/mathjax-docbook.conf | 89 --- config/mathjax.js | 8 - config/open_listing_block.rb | 28 + config/quiet-include-failure.rb | 30 + config/rouge-extend-css.rb | 60 ++ config/themes/pdf-theme.yml | 35 + dblatex/df.sty | 463 ----------- dblatex/df_headfoot.sty | 45 -- dblatex/df_title.sty | 38 - images/1DByteOffset.pdf | Bin 12359 -> 0 bytes images/1DRGBOffset.pdf | Bin 16989 -> 0 bytes images/1DWordOffset.pdf | Bin 10633 -> 0 bytes images/1DYCbCr_CbCr.pdf | Bin 34361 -> 0 bytes images/1DYCbCr_Y.pdf | Bin 34191 -> 0 bytes images/1DYCbCr_cosited.pdf | Bin 33594 -> 0 bytes images/1DYCbCr_midpoint.pdf | Bin 33636 -> 0 bytes images/2DHilbertOffsets.pdf | Bin 72149 -> 0 bytes images/2DLinearOffsets.pdf | Bin 40463 -> 0 bytes images/2DMortonOffsets.pdf | Bin 73904 -> 0 bytes images/2DRGBOffsets.pdf | Bin 32800 -> 0 bytes images/2DRGBplanes.pdf | Bin 51771 -> 0 bytes images/2DTile4x4.pdf | Bin 72675 -> 0 bytes images/2DYCbCr420_KDFS.pdf | Bin 31420 -> 0 bytes images/2DYCbCr420_traditional.pdf | Bin 32070 -> 0 bytes images/2DYCbCrKDFSEncoding.pdf | Bin 43950 -> 0 bytes images/565pixels.pdf | Bin 54718 -> 0 bytes images/Bayer.pdf | Bin 7197 -> 0 bytes images/Bayer18x12.pdf | Bin 15397 -> 0 bytes images/ETC1Diff.pdf | Bin 9682 -> 0 bytes images/ETC1Ind.pdf | Bin 9543 -> 0 bytes images/ETC2H.pdf | Bin 9362 -> 0 bytes images/ETC2P.pdf | Bin 9923 -> 0 bytes images/ETC2T.pdf | Bin 9253 -> 0 bytes images/ETC2x4.pdf | Bin 22618 -> 0 bytes images/ETC4x2.pdf | Bin 22617 -> 0 bytes images/ETCletter8x8.pdf | Bin 79960 -> 0 bytes images/ETCletterdirections.pdf | Bin 15830 -> 0 bytes images/Khronos_RGB_June18.pdf | Bin 5244 -> 0 bytes images/Morton.pdf | Bin 28640 -> 0 bytes images/PVRTC1_image_reconstruction_simple.pdf | Bin 19814 -> 0 bytes images/PVRTC1_image_reconstruction_wrap.pdf | Bin 26844 -> 0 bytes images/PVRTC2_hard_transition.pdf | Bin 8659 -> 0 bytes images/RGB565BEKDFSEncoding.pdf | Bin 61332 -> 0 bytes images/X-Trans18x12.pdf | Bin 15379 -> 0 bytes images/bc1.pdf | Bin 9298 -> 0 bytes images/bc1a.pdf | Bin 9310 -> 0 bytes images/colorconversion_accurate.pdf | Bin 24134 -> 0 bytes images/colorconversion_approximate.pdf | Bin 13907 -> 0 bytes images/icons/note.png | Bin 2494 -> 0 bytes images/tf_curves.pdf | Bin 13026 -> 0 bytes images/tf_hlg.pdf | Bin 11593 -> 0 bytes images/tf_sampling.pdf | Bin 33853 -> 0 bytes images/tf_scene_store_display.pdf | Bin 154528 -> 0 bytes images/tf_surround_luminance.pdf | Bin 492463 -> 0 bytes scripts/runDocker | 31 + scripts/runPodman | 31 + 85 files changed, 2442 insertions(+), 1300 deletions(-) create mode 100644 .github/workflows/CI.yml create mode 100644 .gitlab-ci.yml create mode 100644 .reuse/dep5 create mode 100644 BUILD.adoc create mode 100644 CODE_OF_CONDUCT.adoc create mode 100644 CONTRIBUTING.adoc create mode 100644 COPYING.adoc create mode 100644 LICENSE.adoc create mode 100644 config/README.adoc create mode 100644 config/asciidoctor-mathematical-ext.rb create mode 100644 config/attribs.adoc create mode 100644 config/copyright-ccby.adoc create mode 100644 config/copyright-spec.adoc create mode 100644 config/dataformat/docinfo-header.html delete mode 100644 config/df-xhtml.css delete mode 100644 config/docbook-xsl/chunked.xsl delete mode 100644 config/docbook-xsl/common.xsl delete mode 100644 config/docbook-xsl/pdf.xsl delete mode 100644 config/docbook-xsl/xhtml.xsl create mode 100644 config/fonts/mplus1p-regular-fallback.ttf create mode 100644 config/katex_replace.rb create mode 100644 config/katex_replace/extension.rb create mode 100644 config/khronos.css create mode 100644 config/loadable_html.rb create mode 100644 config/loadable_html/extension.rb create mode 100755 config/makedocinfologo delete mode 100644 config/mathjax-asciidoc.conf delete mode 100644 config/mathjax-docbook.conf delete mode 100644 config/mathjax.js create mode 100644 config/open_listing_block.rb create mode 100644 config/quiet-include-failure.rb create mode 100644 config/rouge-extend-css.rb create mode 100644 config/themes/pdf-theme.yml delete mode 100644 dblatex/df.sty delete mode 100644 dblatex/df_headfoot.sty delete mode 100644 dblatex/df_title.sty delete mode 100644 images/1DByteOffset.pdf delete mode 100644 images/1DRGBOffset.pdf delete mode 100644 images/1DWordOffset.pdf delete mode 100644 images/1DYCbCr_CbCr.pdf delete mode 100644 images/1DYCbCr_Y.pdf delete mode 100644 images/1DYCbCr_cosited.pdf delete mode 100644 images/1DYCbCr_midpoint.pdf delete mode 100644 images/2DHilbertOffsets.pdf delete mode 100644 images/2DLinearOffsets.pdf delete mode 100644 images/2DMortonOffsets.pdf delete mode 100644 images/2DRGBOffsets.pdf delete mode 100644 images/2DRGBplanes.pdf delete mode 100644 images/2DTile4x4.pdf delete mode 100644 images/2DYCbCr420_KDFS.pdf delete mode 100644 images/2DYCbCr420_traditional.pdf delete mode 100644 images/2DYCbCrKDFSEncoding.pdf delete mode 100644 images/565pixels.pdf delete mode 100644 images/Bayer.pdf delete mode 100644 images/Bayer18x12.pdf delete mode 100644 images/ETC1Diff.pdf delete mode 100644 images/ETC1Ind.pdf delete mode 100644 images/ETC2H.pdf delete mode 100644 images/ETC2P.pdf delete mode 100644 images/ETC2T.pdf delete mode 100644 images/ETC2x4.pdf delete mode 100644 images/ETC4x2.pdf delete mode 100644 images/ETCletter8x8.pdf delete mode 100644 images/ETCletterdirections.pdf delete mode 100644 images/Khronos_RGB_June18.pdf delete mode 100644 images/Morton.pdf delete mode 100644 images/PVRTC1_image_reconstruction_simple.pdf delete mode 100644 images/PVRTC1_image_reconstruction_wrap.pdf delete mode 100644 images/PVRTC2_hard_transition.pdf delete mode 100644 images/RGB565BEKDFSEncoding.pdf delete mode 100644 images/X-Trans18x12.pdf delete mode 100644 images/bc1.pdf delete mode 100644 images/bc1a.pdf delete mode 100644 images/colorconversion_accurate.pdf delete mode 100644 images/colorconversion_approximate.pdf delete mode 100644 images/icons/note.png delete mode 100644 images/tf_curves.pdf delete mode 100644 images/tf_hlg.pdf delete mode 100644 images/tf_sampling.pdf delete mode 100644 images/tf_scene_store_display.pdf delete mode 100644 images/tf_surround_luminance.pdf create mode 100755 scripts/runDocker create mode 100755 scripts/runPodman diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..f28ec97 --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,291 @@ +# Copyright 2021-2024 The Khronos Group Inc. +# SPDX-License-Identifier: Apache-2.0 + +# GitHub CI file for vulkan spec and header generation +# See .gitlab-ci.yml for non-Actions comments and step dependencies. + +name: CI + +# Controls when the action will run. +on: + # Triggers the workflow on push or manual dispatch + push: + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + # When a pull request is opened from a local branch or fork + pull_request: + +jobs: + license-check: + name: Verify repository license compliance + runs-on: ubuntu-latest + # We now refer to the container by its SHA instead of the name, to prevent + # caching problems when updating the image. + # container: khronosgroup/docker-images:asciidoctor-spec.20240726 + container: khronosgroup/docker-images@sha256:089687083ceb36483a3917389e4278718ab19c594099634f5dd80e22540c960f + + steps: + - uses: actions/checkout@v4 + - name: REUSE license checker + run: reuse lint + + terminology-check: + name: Run various checker scripts on the spec and XML sources + runs-on: ubuntu-latest + container: khronosgroup/docker-images@sha256:089687083ceb36483a3917389e4278718ab19c594099634f5dd80e22540c960f + + steps: + - uses: actions/checkout@v4 + - name: Internal self-test of the check_spec_links script + run: pytest test*.py + working-directory: scripts + - name: Generate a summary of problems for CI logs (if any) + run: | + mkdir -p gen/out/checks + scripts/check_spec_links.py --html=gen/out/checks/problems.html > /dev/null || true + make CHECK_XREFS= allchecks + + spec-toolchain: + name: Build a test spec and check against expectation, to make sure the spec toolchain works as expected + runs-on: ubuntu-latest + container: khronosgroup/docker-images@sha256:089687083ceb36483a3917389e4278718ab19c594099634f5dd80e22540c960f + + steps: + - uses: actions/checkout@v4 + - run: ./testBuild + + spec-core: + name: Build the core-only spec, to try and catch ifdef errors in extension markup + runs-on: ubuntu-latest + container: khronosgroup/docker-images@sha256:089687083ceb36483a3917389e4278718ab19c594099634f5dd80e22540c960f + + steps: + - uses: actions/checkout@v4 + - run: ./makeSpec -clean -spec core -genpath gencore QUIET= -j${nproc} -Otarget chunked html + + spec-generate: + name: Build the vulkan specification and generate any associated files (such as vulkan.h) + runs-on: ubuntu-latest + container: khronosgroup/docker-images@sha256:089687083ceb36483a3917389e4278718ab19c594099634f5dd80e22540c960f + + steps: + - uses: actions/checkout@v4 + - name: Build the actual spec (both chunked and single-page HTML), and other common targets + run: ./makeSpec -clean -spec all QUIET= -j${nproc} -Otarget manhtmlpages validusage styleguide registry chunked html + - name: Check consistency of internal xrefs and anchors in the output, now that an HTML output is available + run: make check-xrefs + - name: Build headers, for use by all later stages + run: make validate install test + working-directory: xml + - name: Package generated spec + # https://github.com/actions/upload-artifact#limitations + # upload-artifact would upload all of almost 10k files individually + # to GitHub, taking an inordinate amount of time. Tar it to upload + # just one large file: + run: tar -cvf spec-outputs.tar gen/ + - name: Archive generated spec + uses: actions/upload-artifact@v4 + with: + name: spec-outputs + path: spec-outputs.tar + + hpp-generate: + name: Generate the vulkan C++ header (vulkan.hpp) + runs-on: ubuntu-latest + needs: spec-generate + continue-on-error: true + + steps: + - uses: actions/checkout@v4 + # Generate the vulkan C++ header (vulkan.hpp) + # Failure (should be) allowed, for now + - name: Download generated spec + uses: actions/download-artifact@v4 + with: + name: spec-outputs + - name: Unpack generated spec + run: tar -xvf spec-outputs.tar + - run: | + SPEC_DIR="${PWD}" + # Unfortunately, asciidoctor-pdf gets pathname-specific errors + # building under the usual $GITHUB_WORKSPACE (/__w). As a workaround, + # generate the outputs in /tmp. + cd /tmp + rm -rf Vulkan-Hpp + git clone https://github.com/KhronosGroup/Vulkan-Hpp.git + cd Vulkan-Hpp + git submodule update --init --recursive -- tinyxml2 + rm -rf Vulkan-Docs + ln -s "${SPEC_DIR}" Vulkan-Docs + ##cp -r "${SPEC_DIR}" Vulkan-Docs + # Copy Vulkan C headers into subdir copy used by Vulkan-Hpp + ##cp -p ${SPEC_DIR}/include/vulkan/*.h Vulkan-Docs/include/vulkan/ + echo "Files in Vulkan-Docs:" + find Vulkan-Docs -type f + # cd /tmp/Vulkan-Hpp + cmake -H. -Bbuild + make -C build + cd build + ./VulkanHppGenerator -f "${SPEC_DIR}"/xml/vk.xml + cp /tmp/Vulkan-Hpp/vulkan/*.hpp ${SPEC_DIR}/gen/include/vulkan/ + - name: Upload generated hpp + uses: actions/upload-artifact@v4 + with: + name: hpp-outputs + path: gen/include/ + + ash-generate: + name: Generate Rust bindings (Ash crate) + runs-on: ubuntu-latest + needs: spec-generate + continue-on-error: true + env: + # Cached folder outside of git repo + CARGO_TARGET_DIR: ${{ github.workspace }}/ash-target + + steps: + - uses: actions/checkout@v4 + - uses: actions/checkout@v4 + with: + repository: ash-rs/ash + path: ash + - uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + ash-target/ + key: ${{ runner.os }}-cargo-ash-generator-${{ hashFiles('**/Cargo.toml', '.github/workflows/CI.yml') }} + restore-keys: | + ${{ runner.os }}-cargo-ash-generator- + - name: Download generated spec + uses: actions/download-artifact@v4 + with: + name: spec-outputs + - name: Unpack generated spec + run: tar -xvf spec-outputs.tar + - name: Prepare environment + working-directory: ash + run: | + # Piece together minimal Vulkan-Headers - Ash only needs headers and vk.xml + rm -rf generator/Vulkan-Headers/* # Should already be empty, just in case + ln -s ${{ github.workspace }}/gen/include generator/Vulkan-Headers/ # Complete headers come from spec-generate + ln -s ${{ github.workspace }}/xml generator/Vulkan-Headers/registry # vk.xml sits in the root of this spec repo + + - name: Generate Ash crate + working-directory: ash + run: | + cargo run -p generator + cargo fmt --all + + - name: Package generated Ash crate + # https://github.com/actions/upload-artifact#limitations, see above + run: tar -cvf ash-outputs.tar ash/ + - name: Upload generated ash + uses: actions/upload-artifact@v4 + with: + name: ash-outputs + path: ash-outputs.tar + + # Run the CTS Vulkan framework tests, to make sure XML changes will not + # cause problems there. + cts-framework-tests: + name: Run Vulkan CTS framework tests to validate against XML changes + runs-on: ubuntu-latest + container: khronosgroup/docker-images@sha256:089687083ceb36483a3917389e4278718ab19c594099634f5dd80e22540c960f + continue-on-error: true + + steps: + - uses: actions/checkout@v4 + - name: Sparse/shallow clone of CTS GitHub repository to pull only relevant parts + run: | + git clone --sparse --depth 1 --single-branch --branch main https://github.com/KhronosGroup/VK-GL-CTS.git + cd VK-GL-CTS + # Add sparse checkout paths for required directories + git sparse-checkout add scripts external/vulkancts/framework external/vulkancts/scripts + # Link the spec project into CTS hierarchy, instead of cloning it + mkdir external/vulkan-docs + ln -s `cd .. ; pwd` external/vulkan-docs/src + - name: Run the Vulkan-specific tests (from scripts/check_build_sanity.py) # codespell:allow sanity + run: | + cd VK-GL-CTS + python3 external/vulkancts/scripts/gen_framework.py + python3 external/vulkancts/scripts/gen_framework_c.py + python3 external/vulkancts/scripts/gen_framework.py --api SC + python3 external/vulkancts/scripts/gen_framework_c.py --api SC + + h-compile: + name: Compile a simple test program that uses vulkan.h + runs-on: ubuntu-latest + needs: spec-generate + + steps: + - uses: actions/checkout@v4 + - name: Download generated files + uses: actions/download-artifact@v4 + with: + name: spec-outputs + - name: Unpack generated spec + run: tar -xvf spec-outputs.tar + # Compile a simple test program that uses vulkan.h + # The fake platform headers in tests/ allow compiling with all Vulkan + # platforms at once. + - run: | + gcc -c -std=c11 -Igen/include -Itests -Wall -Wextra -Werror tests/htest.c + clang -c -std=c11 -Igen/include -Itests -Wall -Wextra -Werror tests/htest.c + + hpp-compile: + name: Compile a simple test program that uses vulkan.hpp + runs-on: ubuntu-latest + needs: [spec-generate, hpp-generate] + continue-on-error: true + + steps: + - uses: actions/checkout@v4 + - name: Download generated spec + uses: actions/download-artifact@v4 + with: + name: spec-outputs + - name: Unpack generated spec + run: tar -xvf spec-outputs.tar + - name: Download generated hpp + uses: actions/download-artifact@v4 + with: + name: hpp-outputs + path: gen/include/ + # Compile a simple test program that uses vulkan.hpp + # Depends on spec-generate and hpp-generate + # Failure (should be) allowed, for now + - run: | + g++ -c -std=c++11 -Igen/include -IVulkan-Hpp -Wall -Wextra -Werror tests/hpptest.cpp + clang++ -c -std=c++11 -Igen/include -IVulkan-Hpp -Wall -Wextra -Werror tests/hpptest.cpp + + ash-compile: + name: Build-test Rust bindings (Ash crate) + runs-on: ubuntu-latest + needs: ash-generate + continue-on-error: true + + steps: + - name: Download generated files + uses: actions/download-artifact@v4 + with: + name: ash-outputs + - name: Unpack generated Ash crate + run: tar -xvf ash-outputs.tar + - uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + ash/target/ + key: ${{ runner.os }}-cargo-ash-compile-${{ hashFiles('**/Cargo.toml', '.github/workflows/CI.yml') }} + restore-keys: | + ${{ runner.os }}-cargo-ash-compile- + - name: Build-test ash crate + working-directory: ash + run: cargo clippy --all --all-targets diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..30cb022 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,263 @@ +# Copyright 2018-2024 The Khronos Group Inc. +# SPDX-License-Identifier: Apache-2.0 + +# Gitlab CI file for vulkan spec and header generation + +# All stages use the same Docker image, so there are no prerequisites +# Refer to the container by its SHA instead of the name, to prevent +# caching problems when updating the image. +# image: khronosgroup/docker-images:asciidoctor-spec.20240727 +image: khronosgroup/docker-images@sha256:089687083ceb36483a3917389e4278718ab19c594099634f5dd80e22540c960f + +# Specify which gitlab runner to use +default: + tags: + - khrmedium + +# Verify repository license compliance +license-check: + stage: build + before_script: + # Nothing, all prerequisites are in the Docker image + script: + - reuse lint + allow_failure: false + +# Run various checker scripts on the spec and XML sources +# Separate from the generate step to set allow_failure: false +terminology_check: + stage: build + before_script: + # Nothing, all prerequisites are in the Docker image + script: + # Internal self-test of the check_spec_links script + - ( cd scripts && pytest test*.py ) + - mkdir -p gen/out/checks + # Generate a summary of problems for CI logs (if any) + # Override CHECK_XREFS to avoid building a redundant HTML target at this stage + - scripts/check_spec_links.py --html=gen/out/checks/problems.html > /dev/null || true + - make CHECK_XREFS= allchecks + allow_failure: false + +# Verify SPEC_VERSION = 1 for extension development branches +# This only runs on merge requests +spec_version_check: + stage: build + before_script: + # Nothing, all prerequisites are in the Docker image + script: + # Only run the test if CI_COMMIT_BRANCH is defined + - test -z "$CI_COMMIT_BRANCH" || scripts/testSpecVersion.py -branch $CI_COMMIT_BRANCH + allow_failure: false + +# Build a test spec and check against expectation, to make sure the spec toolchain works as expected +spec-toolchain: + stage: build + before_script: + # Nothing, all prerequisites are in the Docker image + script: + - ./testBuild + +# Build the vulkan specification and generate any associated files (such as vulkan.h) +spec-generate: + stage: build + before_script: + # Nothing, all prerequisites are in the Docker image + script: + - NODE_PATH="/usr/lib/node_modules" + - export NODE_PATH + # Build the core-only spec, to catch some incorrect ifdef errors + - ./makeSpec -clean -spec core -genpath gencore QUIET= -j${nproc} -Otarget html manhtmlpages + # Build the HTML/chunked spec and other common targets. + # The spec, refpages, and auxiliary documents are built first and the + # build log checked for asciidoctor warnings that cannot be made into + # fatal errors. + - ./makeSpec -clean -spec all QUIET= -j${nproc} -Otarget html manhtmlpages styleguide registry |& tee ERRS + - |+ + if fgrep -q 'WARNING: skipping reference to missing attribute:' ERRS + then + echo 'Found missing (undefined) asciidoctor attributes.' + echo 'These are probably from commonvalidity includes where attributes are not defined.' + echo 'If these are reported from building a refpage, edit the corresponding part of' + echo 'the specification source to fix the problem.' + echo '----' + fgrep -B 1 'WARNING: skipping reference to missing attribute:' ERRS + false + else + true + fi + # Build the rest of the targets, without cleaning the output directory + - ./makeSpec -spec all QUIET= -j${nproc} -Otarget chunked validusage + # Check consistency of internal xrefs and anchors in the HTML output + - make check-xrefs + # Build headers, for use by all later stages + - ( cd xml && make validate install test vtest ) + artifacts: + when: always + paths: + - src/ + - gen/ + - gencore/ + expire_in: 1 week + +# Build the vulkan sc specification and generate any associated files (such as vulkan_sc_core.h) +vksc-generate: + stage: build + before_script: + # Nothing, all prerequisites are in the Docker image + script: + - NODE_PATH="/usr/lib/node_modules" + - export NODE_PATH + - VULKAN_API="vulkansc" + - export VULKAN_API + # Build the actual spec (both chunked and single-page HTML), and other common targets + - ./makeSpec -clean -spec all -version sc1.0 -genpath genvksc QUIET= -j${nproc} -Otarget manhtmlpages validusage styleguide registry chunked html + # Check consistency of internal xrefs and anchors in the output, now + # that an HTML output is available + #- make check-xrefs + # Build headers, for use by all later stages + - ( cd xml && make GENERATED=../genvksc validate install test ) + artifacts: + when: always + paths: + - genvksc/ + expire_in: 1 week + allow_failure: true + + +# Generate the vulkan C++ header (vulkan.hpp) +hpp-generate: + stage: build + before_script: + - SPEC_DIR="${PWD}" + - cd /tmp + - rm -rf Vulkan-Hpp + - git clone https://github.com/KhronosGroup/Vulkan-Hpp.git + - cd Vulkan-Hpp + - git submodule update --init --recursive -- tinyxml2 + - rm -rf Vulkan-Docs + - cp -r "${SPEC_DIR}" Vulkan-Docs + # Copy Vulkan C headers into subdir copy used by Vulkan-Hpp + - cp -p ${SPEC_DIR}/include/vulkan/*.h Vulkan-Docs/include/vulkan/ + script: + - cd /tmp/Vulkan-Hpp + - cmake -H. -Bbuild + - make -C build + - cd build + - ./VulkanHppGenerator -f "${SPEC_DIR}"/xml/vk.xml + after_script: + - mkdir -p Vulkan-Hpp/vulkan/ + - cp /tmp/Vulkan-Hpp/vulkan/*.hpp Vulkan-Hpp/vulkan/ + artifacts: + paths: + - Vulkan-Hpp/vulkan/ + expire_in: 1 week + allow_failure: true + +# Regenerate Rust bindings (Ash crate) +ash-generate: + image: khronosgroup/docker-images@sha256:cf554c9cf5d0322e022f0be32efad9bff44ada4b32653bfdc8033cba22972fa2 + stage: build + needs: + - spec-generate # For the full include/ directory + cache: # Generator has lots of dependencies that take a while to download/compile + key: cargo-ash-generator + paths: + - cargo-cache + - ash-target + before_script: + - SPEC_DIR="${PWD}" + - rm -rf ash + - git clone https://github.com/ash-rs/ash + - pushd ash + # Piece together minimal Vulkan-Headers - Ash only needs headers and vk.xml + - rm -rf generator/Vulkan-Headers/* # Should already be empty, just in case + - ln -s ${SPEC_DIR}/gen/include generator/Vulkan-Headers/ # Complete headers come from spec-generate + - ln -s ${SPEC_DIR}/xml generator/Vulkan-Headers/registry # vk.xml sits in the root of this spec repo + # Move to root directory to be picked up by `cache` step + - export CARGO_HOME="${SPEC_DIR}/cargo-cache" + - export CARGO_TARGET_DIR="${SPEC_DIR}/ash-target" + script: + - cargo run -p generator + - cargo fmt --all + after_script: + # Make the folder a single level deep + - mv ash/ash ash-crate + - rm -rf ash/ + - mv ash-crate ash + artifacts: + paths: + - ash + expire_in: 1 week + allow_failure: true + +# Run the CTS Vulkan framework tests, to make sure XML changes will not +# cause problems there. +cts-framework-tests: + stage: build + before_script: + # Nothing, all prerequisites are in the Docker image + script: + # Clone the CTS GitHub repository. + # Use sparse / shallow clone since the repo is enormous and mostly not needed for these tests + - git clone --sparse --depth 1 --single-branch --branch main https://github.com/KhronosGroup/VK-GL-CTS.git + - cd VK-GL-CTS + # Add sparse checkout paths for required directories + - git sparse-checkout add scripts external/vulkancts/framework external/vulkancts/scripts + # Link the spec project into CTS hierarchy, instead of cloning it + - mkdir external/vulkan-docs + - ln -s `cd .. ; pwd` external/vulkan-docs/src + # Run the Vulkan-specific tests (from scripts/check_build_sanity.py) # codespell:allow sanity + - python3 external/vulkancts/scripts/gen_framework.py + - python3 external/vulkancts/scripts/gen_framework_c.py + - python3 external/vulkancts/scripts/gen_framework.py --api SC + - python3 external/vulkancts/scripts/gen_framework_c.py --api SC + allow_failure: true + +# Compile a simple test program that uses vulkan.h +# The fake platform headers in tests/ allow compiling with all Vulkan +# platforms at once. +h-compile: + stage: test + needs: + - spec-generate + before_script: + # Nothing, all prerequisites are in the Docker image + script: + - gcc -c -std=c11 -Igen/include -Itests -Wall -Wextra -Werror tests/htest.c + - clang -c -std=c11 -Igen/include -Itests -Wall -Wextra -Werror tests/htest.c + +# Compile a simple test program that uses vulkan.hpp +hpp-compile: + stage: test + needs: + - spec-generate + - hpp-generate + before_script: + # Nothing, all prerequisites are in the Docker image + script: + - g++ -c -std=c++11 -Igen/include -IVulkan-Hpp -Wall -Wextra -Werror tests/hpptest.cpp + - clang++ -c -std=c++11 -Igen/include -IVulkan-Hpp -Wall -Wextra -Werror tests/hpptest.cpp + allow_failure: true + +# Build-test Rust bindings (Ash crate) +ash-compile: + image: khronosgroup/docker-images@sha256:cf554c9cf5d0322e022f0be32efad9bff44ada4b32653bfdc8033cba22972fa2 + stage: test + needs: + - ash-generate + cache: + key: + files: + - ash/Cargo.toml + paths: + - cargo-cache + - ash-target + before_script: + - export CARGO_HOME="${SPEC_DIR}/cargo-cache" + - export CARGO_TARGET_DIR="${SPEC_DIR}/ash-target" + script: + - cd ash + # Build-test the ash crate + - cargo clippy --all --all-targets + allow_failure: true diff --git a/.reuse/dep5 b/.reuse/dep5 new file mode 100644 index 0000000..73a0fbf --- /dev/null +++ b/.reuse/dep5 @@ -0,0 +1,19 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: DataFormat +Source: https://github.com/KhronosGroup/DataFormat + +Files: images/*.svg config/*/docinfo-header.html +Copyright: 2015-2024 The Khronos Group Inc. +License: CC-BY-4.0 + +Files: katex/* +Copyright: 2013-2019 Khan Academy and other contributors +License: MIT + +Files: config/khronos.css +Copyright: 2013 Dan Allen +License: MIT + +Files: config/copyright-spec.adoc +Copyright: 2014-2024 The Khronos Group Inc +License: LicenseRef-KhronosSpecCopyright diff --git a/BUILD.adoc b/BUILD.adoc new file mode 100644 index 0000000..2b07893 --- /dev/null +++ b/BUILD.adoc @@ -0,0 +1,211 @@ +// Copyright 2014-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + += Khronos^(TM) Data Format Specification Build Instructions and Notes +:toc2: +:toclevels: 2 + +ifdef::env-github[] +:note-caption: :information_source: +endif::[] + + +NEW == Building the Specification + +The build system relies on +link:http://www.methods.co.nz/asciidoc/index.html[asciidoc], which is +available as part of many Linux distributions. +The PDF build subsequently depends on +link:http://dblatex.sourceforge.net[dblatex]. + +All forms of the specification may be built with a simple `make` +or `make all` command, with an output into the `out` directory. + +Use `make pdf` to build just the PDF specification. + +Use `make html` to build the HTML version of the specification +without inline images, which are accessed from the `out` directory; +this is smaller than the `inlinehtml` version. + +Use `make inlinehtml` to create the HTML and then generate a version +with inlined images, allowing it to be transferred as a single +file; note that the HTML still relies on access to +link:http://www.mathjax.org[MathJax] and is therefore not completely +stand-alone. +This build option requires PERL. +Since the inline HTML file is very large, `make compressedinlinehtml` +produces a gzip-compressed version of the output. + +`make header` copies the header file into the `out/headers` directory. + +`make clean` removes the contents out `out` and temporary files. + + + +[[intro]] +== Introduction + +This README describes how to build the Data Format Specification and other +related targets. + +It documents how to set up your build environment, build steps and targets, +and contains some troubleshooting advice. + + +[[building]] +== Building the Spec + +First, clone the Khronos GitHub repository containing the Data Format +Specification to your local Linux, Windows, or Mac PC. +The repository is located at https://github.com/KhronosGroup/DataFormat/ . + +Next, install all the necessary build tools (see <> below). +If you are using the <>, +which we strongly recommend, two ways to build using the image are: + + $ # assuming a Linux docker host + $ scripts/runDocker + + $ # assuming a Linux podman host + $ scripts/runPodman + +executed from the specification repository root. + +`runDocker` runs the Docker image with the cloned repository mounted under +/spec and accesses it as a specified user (set to your own user and group +ID), so that it does not get filled with files owned by another user. +The script leaves you inside a bash shell in the running image. +Execute the commands: + + $ cd /spec + $ make clean html pdf + +to build HTML5 and PDF specification outputs for the Data Format 1.3 +Specification. + +There are many other ways of using the image, including inside a Continuous +Integration pipeline; locally with persistent Docker volume storage of the +repository; and so on. + +If you are not using our Docker image to build with, and you have a +<> with the entire +toolchain installed, you can just invoke the same `make` commands from the +repository root. + +[NOTE] +==== +You can modify the `runDocker` script to change the `docker` command-line +options, but it is important to always use the Docker image specified in +that script, so you have the latest version of the spec toolchain. +==== + +[NOTE] +==== + * The `pdf` target takes a long time to run. + The `html` target just generates the HTML output, which is often all + that is needed for spec bugfixes not involving extensions. +==== + +These targets generate output documents in the directory +specified by the Makefile variable `$(OUTDIR)` (by default, `out/`). + +Data Format Specification:: + * `html` -- Single-file HTML5 in `$(OUTDIR)/html/dataformat.html`, and KaTeX + dependency in $(OUTDIR)/katex + * `pdf` -- PDF in `$(OUTDIR)/pdf/dataformat.pdf` + + +=== Images Used in the Specification + +All images used in the specification are in the `images/` directory in the +SVG or PNG format. +We recommend using Inkscape to modify or create new images, due to problems +using SVG files created by some other tools; especially in the PDF builds. + + +[[styles]] +== Our Stylesheets + +We use an HTML stylesheet `config/khronos.css` derived from the +https://asciidoctor.org/docs/produce-custom-themes-using-asciidoctor-stylesheet-factory/[Asciidoctor +stylesheet factory] "`colony`" theme, with the default Arial font family +replaced by the sans-serif https://en.wikipedia.org/wiki/Noto_fonts[Noto +font family]. + + +[[depends]] +== Software Dependencies + +This section describes the software components used by the Data Format +specification toolchain. + + +[[depends-docker]] +=== Khronos-Provided Docker Image + +Khronos has published a Docker image containing a Debian Linux distribution +with the entire toolchain preinstalled. + +We will occasionally update this image if needed, and we recommend people +needing to build from this repository use the Docker image. + +Docker installation is beyond the scope of this document. +Refer to link:https://docs.docker.com/get-docker/[the Docker website] for +information about installing Docker on Linux, Windows, and MacOS X. + +Another way to execute the Docker image is using the open source podman +container tool. +See link:https://podman.io/get-started[the Podman website] for information +about installing podman on Linux, Windows, and MacOS X. + +The build image is *named* `khronosgroup/docker-images:asciidoctor-spec`. +However, due to local and CI caching problems when this image is updated on +dockerhub, we use the SHA256 of the latest image update, rather than the +image name. +The SHA256 can be determined from + + $ git grep -h sha256: .gitlab-ci.yml + +which will print a line like + + image: khronosgroup/docker-images@sha256:5e021da240f12121f064d2135e06320c021ac231c9ae8abbf6205b6130deb58b + +Everything following `image: ` is the to use. +The first time you try to run a container with this , as is done +by the `runDocker` and `runPodman` scripts described above under <>, the image will be pulled from Dockerhub and cached +locally on your machine. + +This image is used to build Specification output documents or other Makefile +targets. + +[NOTE] +==== +When we update the image on Dockerhub, it is to add new components or update +versions of components used in the specification toolchain. +To save space, you may want to periodically purge old images using `docker +images` and `docker rmi -f`. +==== + + +[[depends-nondocker]] +=== Non-Docker Build Environments + +We do not actively support building outside of our Docker image, but it is +straightforward to reproduce our toolchain in a Debian (or similar APT-based +Linux) distribution by executing the same steps as the +link:https://github.com/KhronosGroup/DockerContainers/blob/main/asciidoctor-spec.Dockerfile[Dockerfile] +used to build our Docker image. + +It should be possible to apply the same steps in a Windows Subsystem for +Linux (WSL2) environment on Windows 10, as well. + +[NOTE] +==== +While you do not have to use our Docker image, we cannot support every +possible build environment. +The Docker image is a straightforward way to build the specification in most +modern desktop environments, without needing to install and update the spec +toolchain yourself. +==== diff --git a/CODE_OF_CONDUCT.adoc b/CODE_OF_CONDUCT.adoc new file mode 100644 index 0000000..91d1024 --- /dev/null +++ b/CODE_OF_CONDUCT.adoc @@ -0,0 +1,10 @@ +// Copyright 2018-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + += Code of Conduct + +A reminder that this repository is managed by the Khronos Group. +Interactions here should follow the +https://www.khronos.org/about/code-of-conduct[Khronos Code of Conduct], +which prohibits aggressive or derogatory language. Please keep the +discussion friendly and civil. diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc new file mode 100644 index 0000000..1c5aa50 --- /dev/null +++ b/CONTRIBUTING.adoc @@ -0,0 +1,39 @@ +// Copyright 2020-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + += Contributing + +Contributions to the DataFormat repository are welcome. + +Contributions may be in the form of Issues proposing a change, or Pull +Requests containing fixes for, or additions to: + + * Specification text and other documentation + * Specification scripting / build toolchains and related infrastructure + +Please keep contributions focused on solving a single issue or bug. + + +== Copyright Notice and License Template + +If you are adding a new file, it must be under one of the following +licenses: + + * Creative Commons Attribution 4.0 International, for specification text + (for example, link:dataformat.adoc[`dataformat.adoc]) + * Apache 2.0, for all other changes (for example, + link:scripts/runDocker[`runDocker`]) + +We use a short license in each file consisting of just the copyright +statement and the SPDX license identifier of the license applying to that +file, and link to the full license text from +link:LICENSE.adoc[`LICENSE.adoc`]. + + +== Contributor License Agreement + +When you propose a pull request, you must execute the +link:https://www.khronos.org/legal/Khronos_mixed_repository_CLA[Khronos +Mixed Repository Contributor License Agreement], to confirm you own your +work and are granting Khronos the necessary permissions to redistribute it +under our licenses. diff --git a/COPYING.adoc b/COPYING.adoc new file mode 100644 index 0000000..143cf6c --- /dev/null +++ b/COPYING.adoc @@ -0,0 +1,67 @@ +// Copyright 2020-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + += COPYING File for the KhronosGroup/DataFormat Project + +== Licenses + +The DataFormat repository uses several licenses. + +* The source files (in asciidoctor and other formats) for the DataFormat + Specification and supporting documentation are licensed under the Creative + Commons Attribution 4.0 International License (SPDX license identifier + "`CC-BY-4.0`"). +* Header files, scripts, and other tooling used or generated as part of the + build process are typically licensed under the Apache License, Version 2.0 + (SPDX license identifier "`Apache-2.0`"). +* There are a few remaining files adopted from other open source projects, + such as a copy of the KaTeX distribution. + Such files continue under their original MIT licenses, or in a few cases, + like link:scripts/htmldiff/htmldiff[`scripts/htmldiff/htmldiff`], had no + license statement. + We have not added SPDX license identifiers to such externally originated + files. + +Users outside Khronos who create and post DataFormat Specifications, whether +modified or not, should use the CC-BY-4.0 license on the *output* documents +(HTML, PDF, etc.) they generate. +This is the default when building the Specification. + + +== Frequently Asked Questions + +Q: Why are the HTML and PDF Specifications posted on Khronos' website under +a license which is neither CC-BY nor Apache-2.0? + +A: The Specifications posted by Khronos in the DataFormat Registry are +licensed under the proprietary Khronos Specification License. +Only these Specifications are Ratified by the Khronos Board of Promoters, +and therefore they are the only Specifications covered by the Khronos +Intellectual Property Rights Policy. + + +Q: Does Khronos allow the creation and distribution of modified versions of +the Data Format Specification, such as translations to other languages? + +A: Yes. Such modified Specifications, since they are not created by Khronos, +should be placed under the CC-BY license. If you believe your modifications +are of general interest, consider contributing them back by making a pull +request (PR) in the KhronosGroup/DataFormat repository. + + +Q: Can I contribute changes to the Data Format Specification? + +A: Yes, by opening an Issue or Pull Request (PR) on the +link:https://github.com/KhronosGroup/DataFormat[DataFormat] GitHub project. +You must execute a click-through Contributor License Agreement, which brings +your changes under the umbrella of the Khronos IP policy. + + +Q: Can you change the license on your files so they are compatible with my +license? + +A: If you *require* GPL compatibility for use of Apache-2.0 licensed files +in our repository, please raise an issue identifying the files and the +reason for the request, and we will consider changing those specific files +to a dual Apache 2.0 - MIT license. + diff --git a/LICENSE.adoc b/LICENSE.adoc new file mode 100644 index 0000000..64df047 --- /dev/null +++ b/LICENSE.adoc @@ -0,0 +1,34 @@ +// Copyright 2020-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + += LICENSE File for the KhronosGroup/Vulkan-Docs Project + +Files in this repository fall under one of these licenses: + + * SPDX license identifier: "`Apache-2.0 OR MIT`" + ** Apache License 2.0 OR MIT License + ** For scripts and XML which need to be usable in GPL-licensed projects. + + * SPDX license identifier: "`Apache-2.0`" + ** Apache License 2.0 + ** For other scripts + + * SPDX license identifier: "`CC-BY-4.0`" + ** Creative Commons Attribution 4.0 International + ** For specification source documents + + * SPDX license identifier: "`MIT`" + ** MIT License + ** For files copied from other MIT-licensed projects + + * SPDX license identifier: "`LicenseRef-MPLUS`" + ** M+ Font License + ** For fonts derived from the M+ Font Project + ** This license is open source, but not OSI approved + +Full license text of these licenses is available at: + + * Apache-2.0: https://opensource.org/licenses/Apache-2.0 + * MIT: https://opensource.org/licenses/MIT + * CC-BY-4.0: https://creativecommons.org/licenses/by/4.0/legalcode + * LicenseRef-MPLUS: https://osdn.net/softwaremap/trove_list.php?form_cat=370 diff --git a/Makefile b/Makefile index e8393cc..ea24d1f 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,6 @@ A2XOPTS = -a mathjax \ $(XMLLINT) $(VERBOSE) --icons sources := df.adoc \ - df-docinfo.xml \ conversions.adoc \ conversionintro.adoc \ transferfunctions.adoc \ @@ -38,7 +37,7 @@ pdf_config := $(addprefix config/,${pdf_config}) version := 1.3 outbasename := out/dataformat.$(version) -html: $(outbasename).html out/config/df-xhtml.css out/images/Khronos_RGB_June18.svg out/images/icons/note.png +html: $(outbasename).html out/config/df-xhtml.css out/images/Khronos_RGB_June18.svg inlinehtml: $(outbasename).inline.html compressedinlinehtml: $(outbasename).inline.html.gz pdf: $(outbasename).pdf @@ -50,18 +49,6 @@ $(outbasename).html: $(sources) $(html_config) | out rm out/df.html mv out/df2.html out/dataformat.1.3.html -out/config/df-xhtml.css: config/df-xhtml.css | out out/config - cp $< $@ - -out/images/Khronos_RGB_June18.svg: images/Khronos_RGB_June18.svg | out/images - cp $< $@ - -out/images/icons/note.png: images/icons/note.png | out/images/icons - cp $< $@ - -out out/config out/headers out/images out/images/icons: - mkdir -p $@ - $(outbasename).inline.html: $(outbasename).html inlinecss.pl inlineimages.pl ./inlinecss.pl < out/dataformat.1.3.html | ./inlineimages.pl > $@ diff --git a/README.adoc b/README.adoc index a25acd1..efa5ddb 100644 --- a/README.adoc +++ b/README.adoc @@ -1,16 +1,18 @@ // Copyright 2014-2024 The Khronos Group Inc. // SPDX-License-Identifier: CC-BY-4.0 -Khronos^(TM)^ Data Format Specification -==== +ifdef::env-github[] +:note-caption: :information_source: +endif::[] -This repository contains source for the Khronos Data Format Specification. += Khronos^(TM)^ Data Format Specification The Khronos Data Format Specification describes a portable mechanism for describing a wide range of image/texture formats and other forms of data. It solely describes the format of what may be considered to be a single -"pixel" or a repeating group of pixels considered to be a "texture block". +"`pixel`" or a repeating group of pixels considered to be a "`texture +block`". A wide variety of incompatible mechanisms exist in the industry for describing formats that may be supported by an API. @@ -28,38 +30,71 @@ This specification also contains a detailed description of the in-memory representation of a number of compressed texture formats, and describes some common color spaces. -Building the Specification -==== -The build system relies on -link:http://www.methods.co.nz/asciidoc/index.html[asciidoc], which is -available as part of many Linux distributions. -The PDF build subsequently depends on -link:http://dblatex.sourceforge.net[dblatex]. +== Repository Structure -All forms of the specification may be built with a simple "make" -or "make all" command, with an output into the "out" directory. +The link:https://github.com/KhronosGroup/DataFormat[DataFormat] repository, +and the equivalent internal Khronos tracking repository, contain sources for +the formal documentation of the Khronos Data Format Specification. +These include: -Use "make pdf" to build just the PDF specification. +[options="compact"] + * The Data Format Specification + * The `khr_df.h` C header file + * Related tools and scripts -Use "make html" to build the HTML version of the specification -without inline images, which are accessed from the "out" directory; -this is smaller than the "inlinehtml" version. +The repository hosts a public issue tracker, and outside developers can file +proposed changes (Pull Requests) against the Specification, subject to +approval by Khronos. -Use "make inlinehtml" to create the HTML and then generate a version -with inlined images, allowing it to be transferred as a single -file; note that the HTML still relies on access to -link:http://www.mathjax.org[MathJax] and is therefore not completely -stand-alone. -This build option requires PERL. -Since the inline HTML file is very large, "make compressedinlinehtml" -produces a gzip-compressed version of the output. -"make header" copies the header file into the "out/headers" directory. +== External Contributions -"make clean" removes the contents out "out" and temporary files. +Khronos welcomes feedback in GitHub Issues, and proposed changes in GitHub +Pull Requests (PRs), but will not necessarily accept all such changes. -Default Branch Renaming -==== +Please keep your issues and pull requests focused on solving a single +problem. Broader feedback that tries to solve multiple problems, or touches +many parts of the Specification at once, is difficult for Khronos to review +in a timely fashion. -The default branch of this repository was renamed from "master" to "main" on 2024-02-01. + +== Branch Structure + +The current Specification (Data Format 1.3) is maintained in the default +branch (currently `main`) of the repository. + + +== Directory Structure + +The directory structure is as follows: + +``` +README.adoc This file +BUILD.adoc Documents how to build the specifications +CONTRIBUTING.adoc Requirements for external contributions to the repository +COPYING.adoc Copyright and licensing information +CODE_OF_CONDUCT.adoc Code of Conduct +LICENSE.adoc Summary of licenses used by files in the repository +Makefile Makefile (see BUILD.adoc) +appendices/ Specification appendices +chapters/ Specification chapters +config/ Asciidoctor configuration, CSS, and index generator +images/ Images (figures, diagrams, icons) +out/ Default directory for the generated documents +scripts/ Helper scripts used in specification, header, and reference page generation +``` + + +== Building the Specification and Reference Pages + +The document sources are marked up in Asciidoc format, and we use +`asciidoctor` and related toolchain components to generate output documents. +See link:BUILD.adoc[BUILD.adoc] for more information on installing the +toolchain and building the Specification. + + +== Generating Headers and Related Files + +The `khr_df.h` C header file defines structures and enums for specifying the +layout of images in memory. diff --git a/config/README.adoc b/config/README.adoc new file mode 100644 index 0000000..db44354 --- /dev/null +++ b/config/README.adoc @@ -0,0 +1,39 @@ +// Copyright 2015-2024 The Khronos Group Inc. +// SPDX-License-Identifier: CC-BY-4.0 + += Data Format Asciidoc Configuration Files + +== Support for Math + +Asciidoctor is customized to insert KaTeX ` - - - diff --git a/config/docbook-xsl/common.xsl b/config/docbook-xsl/common.xsl deleted file mode 100644 index eccd619..0000000 --- a/config/docbook-xsl/common.xsl +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - 1 - 0 - - - - - - -images/icons/ -0 - - - - 0 - #E0E0E0 - - - -images/icons/ - - - margin-left: 0; margin-right: 10%; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -article toc,title -book toc,title,figure,table,example,equation - - -chapter toc,title -part toc,title -preface toc,title -qandadiv toc -qandaset toc -reference toc,title -sect1 toc -sect2 toc -sect3 toc -sect4 toc -sect5 toc -section toc -set toc,title - - - -article nop -book nop - - - - - diff --git a/config/docbook-xsl/pdf.xsl b/config/docbook-xsl/pdf.xsl deleted file mode 100644 index 3df11e7..0000000 --- a/config/docbook-xsl/pdf.xsl +++ /dev/null @@ -1,29 +0,0 @@ - - - - \begin{alltt} - \normalfont{} - - \end{alltt} - - - - - \pagebreak[4] - - - - - - \newline - - - - - \begin{center} - \line(1,0){444} - \end{center} - - - - diff --git a/config/docbook-xsl/xhtml.xsl b/config/docbook-xsl/xhtml.xsl deleted file mode 100644 index 4990d13..0000000 --- a/config/docbook-xsl/xhtml.xsl +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - diff --git a/config/fonts/mplus1p-regular-fallback.ttf b/config/fonts/mplus1p-regular-fallback.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d9d2e3d2a13f77e8476c750b11829033102af0f6 GIT binary patch literal 1561388 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∋zX2MX%{JRU>hxI5fj>J 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

-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

5qzXx(b{lEM89w$P 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

L$u9a-Nvjo_;nBYtzX;=mQm|sB=X6;O zqcPHK9gn{n)7$%LPfwwjnzM;#E*>^)1PMpJ_ui%P!-hc)Y9{G82<6Tx z{K6tdnWiX(+n)KcWW`SUb6?R!O>@#~Eu4I2#;+fTO_~ zu;SVTE)?r<$~2{EDHJVab=TzACKYJzZT<;!73tgekU+fLUMNo83_(O5JGICOeHe`h9s3lf{lb2v`uV^o>Q_VBn7uaU!Xq!c((k~~IdS-HK`fI5b- zPGWBvp&!6oAd48Aq!F-;&{Y;77||_gs$$##H2IL}(WHSIDbOM$HuxAKy})6ZpI0jL ztR$C1U!{N%C)wl1MPG4mx~6sU=G<@xzTDI*7%S)3{M4S9VmG&ndBLChIBCOcwEj@B zv!JxXR?(tnC9}>kQg*o|VD~-&b9>RUVH20H8Cz2sF_>$umC=8WSV~IQ)CKOINsGy& zJVRt;WtVSQK&9#kbOf#7Wf($MknJS6d>6qTy}OuKQmn}f^el{CUXEWyM(0aj1&jeqrl67jxMj-@ zIvhpW_!_jjIP;LhftM@o21m(glh$e^3JBoB0l)>E3pW>!+$+6v_*bW@oDk-> zS0;x1l8OqdrI~7MU`>Tw8e{x*@gZvZEY|G!Su9lTTi~Bx6+P~)>a=y#*ed$mPEYHN z1E)$s;vXf>lKFDd$NLxfmccYiq((-+e|BCbptp9e$=$x{IFA)-%SWfYMtY%u?rd=$crN$VQ=Eg(|hZ^S1<`+4Cp zT7BpcIy7*e(P8||RH`Z>9a)nisx(S$njD#5A~Ka*krJQLRa;HQQm^GnGy=iW*|PG1rIS*$Fy2acm$d6 z#AvDvfPqQ~fn*Zk5ilu8Ef)|7{W6VY^jiUt=qI^!mmFr^%JYB8li^Qx!&NzRH#(=w zxRsqKNx^UKt*qOyg+SHTU^*6G*4h~V-V?3JQe*px2lWO(+F!~^PO7*8V=+8>1=X+xjL<&Z~rXfl>% zW_!@TRw0~qWgcTdH>{vtv*>Prb;flRpH&NaRVT6pm5D_K zQq`CnGRH+~BPuENK;&g%4oV-DE-5V(q#N_IWh_>DnpUG5qtmh{_EbE?O{iLuDvkcc zoLd0Z)}Ms-@d9Y=63?$GF&4^_QD^(j!{9Qs`%@$qZkpF(QE3B}3#K-BtTuQO&&GFH zxOwpjToK3OGD5|23cp%tODz@gbw+CGUWo$V>#gU-7m71=W=?5INlFUJEdOTKo>EQ2 zbEs3OAxx2+TT+|~?3(9ea**`Pss6GGyHpP zOar%fIIpiavHz`tLi(*fow(MOlghj`rxf0rHoTTO8`0&B5RA!Q zoeC55O2MTj5TGA7!G$-d)y3*}l6exPXC6?mv++aJfYIErMXPzgtXK`TcO$!focY@A^hMU*~LnuE5P#sRy1D$ zRHPWuMV@BSEQUPtUt1Tdnz67d9Qqx8gqK`fS6B1MqF^|*Y<_KBHCp-Ldugv9c>Q|; zV!!tM1;HQ3;rZ$NUi?(>+w+J2nf3<#eZ>$zT+ZUqc4#_CSkMoO7*{~7r4P$ck4H!F z+=wsYsH4Q0Jm0)VFx`egEtzZG90cthiv$9)P}Ve2_t;D;ue?humwXe~}PQ zi)o?9G@uf~=MO$Qm}2x*^3!bX;ZVm@CYe{Ef4XiA{rlMnrQLlef8);RTx00eJxyPt8i7%GPXeD9*_zv+W4$jV@NQPg`w*;d2 z$j0yDn?tvwX3CGZrstwDykfUIFp27QMN*llgAxScv2oe~I88v+4k!l=GQ zyPX^6?pf$L3pMCtM=m|=yld%QQ(Z5Ubs(sTe-!*xKGMUFRDs3tkYFKmi}{_%;%Ej9 zY7>Dsebd8i->O2{Nx8H}oc}M#V+7|iIJx&G^8wBmkuz#Wj{nrG)Ew2nhVCTup7Dw= zr7W$`=Ck4kI$vaU5y`?Qt%gH&P(>G%{$y8^$q z*_8kq7mu0!&Vc}yQMQJ9vOfB&&@!qaJVTsal$^s!WhJoL^&B2QIWMPDTRgM3ak5gW zIf-7P`w4 z!MDFz3+)D3LmjV={_tO|rjbg84)m~`0Dk|!SPmuF`y;G}irWgX*#xj*G0^$j_0Vv; zNM%I7{;!rp9j=dljh_8?^q&7_F}tyk)PF38T*$rD@9?NRc2=?+)PGbwk}5cOROt#Q zf|$gc#4Rpzjqj>kB9oNxvp6YiZaptCM`W{EmUMSbQL9Hk>M6}0&f^OuXN+256(aN zWIc+nfAY!m?@d`>I=L%?SEpCDR#%NK$d&O@*_;SBK2uPs(=Il(Mmkk{5zN9yuWO47 z^_M5X0AEkn2Jb@GSh!pZy|)kZ)QtYFa#RVQVnO@;l!TIk60Y7@DNJWkY&KisLBB3! z_E!$Fkn}Joc3}??3$g4-E+*L}VS3D{ikQTp6^#M1CW-$4%U+qP2`<|HgjiCO7Zw$v zoASlc=OwFp-$Q(5EZpWX96^L`DXQ^~@H!dimy9*Y2EoJo)8qcG&$fVI)~=s4`CdyA-gz@6G<$r z1{TA~=KS^F963)saUPXSo{XQhwVQfv8*DW#wuUwC$&eR~vP*8Qbv*6O;8BQ5uSl;e zV8Ni;zj&3ZcYykh;>LmPv>f8;5W)P*F1a9~jCv{uO;l71=d#+0Wy$!{M*L+Mjc%m2 zVKF2E21uXRozZIQ7);rov=Khj2%q^de5QCl@DZD~Qap9bHX7ozS3#0YGF8oz_xK9F z_VoCnm;a_E(u#C}FpKA`bp)2yQpcCPb?Ii8*R{TNwgndM^_QvQE3^GxYggBQ z0N&8uKkG3PvIA-*uOp0C90G*>gi@O}b%fs8R zgz29v;5dH)K{#H(?|op?mNRi{uvY;{1k;FA$PkfV0M1xd6ydCT1Ie)i?ELFx#a&+F zE2v6Ho>PDB9Qx`r>6_Bd6^hdB6J?jmE_{PlNlPr`;00McN3Aoktd`n#VAXvom70YM z{SUFz*}-2X`_}-HF?r^~j>=B&s%AMLiyUl-krHYeKcMtb_}V?}v~IzZhYSi{PhFg_OF* zd%d&D>-8*)wm}Y6yl5sUc9~~UM%Vmf$L4oE6|5jU;?bSAU@dgU@F1@s z)B}qkcRJgJA#0-ZenDkNnftav;7U}R3b@iIjrfZQ8hgG0@w3tzU_-G=~$ zMDS_$MSP+Rm}FGgp}_0(#pph%KL(rk8&8vlfiFf7(&#pz>l)E@TV-ZM5kRTXS8XG@ zy6{9Fjp3rZpz&wZW#n40_5HC8r1kK~*7vtAAaR}mtnCQ!Qvxd)>Dx(n>LH%Sp*2%i zvJyfJbcB>a&ve=PH{LjTlInUn&zk9CX>u}nOCt+vpNmBALD{u$L>6Udg)>FB;vb8T zT-YtfTAJmiC}CvWXzDH)7uk3y`ZeC6_E1qvB(chfKOpP!!@5qe%II|!5$k$jU7#La z#dZn9fHi|obk*9{zVXJ3FS7LSydX9U-7H6Z25(VhZq3v0QgN3~k>!P%<=w(8uXPpf zrq7eFM3W)CxCQ4^id8-=zjA?W$l2S@+RO6L>r0~Z{{bX=KByhx#kj{-I#6WNmHEg*+I0q6xa(K%qYpD{=Yechl?AY-rQsp_y8dyPB;zyB} zLP$upwYIiym_Ggf`C-+r6!x`x~AEc}X(xZlt>{{DHiHdn7(i=&~4i zGO4W~*~dT)MB@aW(tpn+SyM8A-~WV_G`Y%HHPKLWD5h5U@| z&^M9HhT(w~TLvc%h8H*^GKr^%HQ?Fd$RWtWBo-6U!J=p`LO4i2zX6gaVM^Au??<=$ z`TAB*T?5sg>(%E-61PXz);Xygol*t1pqFqVRTe$_B@AjuEiDP4L%Z-{OWV^2pn*{L zJ?}`_es;WQ34RwTKmF*fz7-R;vp)+t4U)7##sVK9J>w5 zKVaDXh4@hEO%hQ5LPAHE7|{>78{LGjrSC7`V-@v&ozvp4Zj~=SY0>tMOM2#scxknf z7S^Kpn6Tc4UqknJBlZS+i?=saU9ad4Sd?DNa|`iBf!J*nc_EEZvG8i9P3m$P++abb zBV-ekWM>HO{wYP6fS9Npw6y8RnEv0Of)V%+VD-?GVR$@MHf96C5^@KyiGn=uReW}KZBlWGil2hg zzgmrn{IQH=>g=z51(E?>VRJc2*%5rj{l7k&LH8a^>9ukmVFQ13y0uVQkT~v7ZKkh?KDw3>RJcS6_Z;;OISc}p#)WIc79QKSN z*M+@%FH}HmkmycN#pstr2g!VHCPOeLeTl^i4}m|@TQCBrmVwKWZjteq^nl(*+wd52 z&+aeCZJ-kCv6eF8tT1{D-;S@9YH01nTy6HwtEQSmAyX*&Z1oE@OUuxQSYF1ez{j7d zsX=T0O4%a$BfFr!naPbx0zWbYyXh(Lu@ysKhQC}G4PAot5b~jw+x`GJj7P>WMeC{l z`(;`M9MG-~ZKwxb<{fiwR z^m@I71}mWE`4p=XY(Ym{GtF&?So|{<6M}=zu1v=Z;yW<*J4a$7D@K|{@c#ziOMBe_ z<2j54^l~HWkoyF)*)1w@68^OjUy7h6(LJL_phxld?1Ra>cON4|BX{gLa)jE@S={1| zuxjiug6Sn>smE(=A*<7hY66Er4ItxJX5vqf7k_bll`bX8ba_`V92$u$p?m0np4kbkI$8#cfDrh}{Z{N_O z>D+*-OBRpPbWy8(zSsNuY+Vgk<7f1!-|t8K4?e&@;#Y&C%#(um+H1$!MnKG-(An#; zeJ~wMN#tG*T6_d{6XRzzT`>d2jZ6@c6ho07moWT+&itU`zGOS#M*lnVLqC(IJmemN z{8m*EwD?hzkZAIO$&;5%bmJplv@v7nvSoWR){N?OSvn}Le|C5D{y*`*?fN?^#}k*{ zN5_sC8L4=8MX>gIXSUgx>&%o_`eaULn_Eh)y&4Q8rX>e`;ACueD5L6+2?Wt33dBrA4k1qxT>(0#Ib%P853K~_4wzWzduzpymA0de2T8*i zd@ldizO$$xN3gwN`9~i?%g)G0A1%l01sUkaxBG6%mwOdq&@*cSNf#Rb8SH=EV)WADve|Duxt}HK8 z%Oi`Emelikd~rMroq$2mL1~&&qY%vJ@)cReBC{}+otVrnjk^pXH~USf>C(FLa@LG_ zSD$Nh)OPQhk&cowm9bdt&MmbhWzXD`r008*%98^!enCkoUvtO!5mU4G&1lSXC{xjS zU|lqP_R;kf%q;O98a{C7gVVA}rGzMJXde_>1%b35m;wLSU<3Rhu3^UbAjYj8KsC@; zg@zcV$VtCBCrwRa-smYfP_ZyG)sa^1D-TXD<>zj$MhZhoP6}Rd1>mN3i!w^qgjcE3 zvL^6qw2$PxAv2c%|do@2;Uguin*!zYEXtUdHO1-Lav&*uKmr01;sA4%C%@d2RVO9p0V0) zM&1Qpt2wX`m|TGJthb=c-!i0sVsb-T8-M+e70u#Rq(*uLhW9cGcyq09q%o7 zXD09Kp!qzR)#?CjAvK~*WhG3w1eQ(kgwa$9OQ7{WnoWQaPi#$ac`#st;#`6Tv?KK| zq`?q`p-xM4F6U>@t)`Mb`t?_o9lZ|a|N3jgrcIv#rob=69xlqiFM8`0GGX?HTuE!R zfwJhFMhl*YWcVYKi_AWEnJjL%d!`dE6m~m+j~u#c&toh`H&{g=$D2WSc?I@KJR~!j z{gI?LvhIEcM;kt%Ux5t>cM?H2(zZS0!GmrKF_F(W^MGs6ctQW7K`_KgO1R1u9}5kt zezpnk=kj%_zx|bJGfA(^zpiS&D$9_qQ3qSf%3RtKU1w-mg$2^^jjeuF0NQx6b=lR< zafQ=@&Y1>NE!@(-b67sYX^iyD7N-nSOcimNLk0sL`*-h#zPS*AC$F~SN z&_us3PhTav{q`K6CClLn^e##&75VOLRu?*p4Z2dNT zhgqaUZXA*E1X4yOyeuP8WIVBvj8?*1A&$Ql-C2V>(7qZ}Pz42ej2?9iaz{wUhnT#d zSlWZ10I~_-%|zc}OyO#D7arY+N5ikxEL(JKU7fd~3jJZ}@pf9M=kSss@%9GMG9O-W z(-isau>0-t>rKxy~iv9SCoe2)&|WslLY zkdp5qjtux%M&#%@e|nBS+23&N*nV{9&i&{g#~SwU--+(re+(=lFM1|`k^%wzOJK-j z0xtvjKaW6u2bn)X{Mhj6#7j)Va11*lf||gOQ7wfu{Gjtd22Y0M-~P%wPsO{+!$tNl zkDWbRk3Saljxx44=?##eqK9Fd-||q-r9fn%F*ss)T77pg8X%$c`M1?t-PfW&+5&=L z%LL=RM%bsGUWWsyhWPIQ>FHGrQFeLsf?^6T7r`=P3j{&j4+a}=%p&e9>tR7<#(U(KmB^y_E$9zS0H?6ar*Ii-;a^tw7)g2o<4HVhlgUAMEr>RmLo z7cs;ho`XY;?`= z_Kk!v>#kic_|{V3EgyitpZF${K@S0!u`p(`L3t7288HulhZ08@trz#}TjWL54<+~` zfubqag$w?);y1Wh{E6Me$A`8(`e^9E2it1ydho%}qmNQ|KGSgK%tM?^PQmr#{gZBx z<#6vtV@8j*b!%GY&1*@)>s#FG*SlNL^cK(9v7Q$EeE{-`U4dt9>{PaE%<^TUJpzvH zS)l1!nECWHs}MLpovQ)bE=;DT+w##EMIR=u|4Ztoyne@_CTg&daZDeHUwle5M zohI&qbCW{;+CJ!`D5o>8Xv2>{3zRHc-R@VrNC=7oG*c3Fou2JP`wv|#G|gLA?n_L2 z?^RA>abmb>$|SWw*=P#}JKd#K0sra)E3PX=Z{lY32RALFq*z`xZIml3SIkdD8QD+l z6)7uA(*rPXaQe!1vt1eL8*dVCUl*}lw;H;A{gIZn5PeYf)a6IUnE8TQfuMTzPei9e zakMn0@*(h~cjWV!R2Ey} zjjLG^nAQcwH*%T8I1Y^}P7??dxKHuB`z(@71DE^s!^x7ghCp9$S%N&i+7$3KD-2a8 z&w@KAPM087){MEWA0PI2Pj9&Ho-=pVYZ72s72h)Jg^l0f@26U1(#&+Br!c@}Exc~+ zG*^;3Vfn4ud)8?}H_R`+s0SSOLOs&GbWh7}1G1nMY2T zfB;-^kpC+pn}*}$#FBs|)Sotu7(IHxTm%zpP$K|PDbqnuz6vDtr^2U0bwz(+n*>po zT(!L3oKU$rKYv=nWml=v&5OrJ+2#UshpCv8lFl~k?0R=`y2oPgTCy((eJ;y%=X4Z} ztDLhXcinWI6#v3zH;l;bij=ik=Ll~^uR23)300!8+KkSOqJY^tYR1mAJeRh>ojOvM zHyxkImpCf*ra)l;-B0O?!(>Gu&ie8oEnXT8$FL&;#9nr zIurO8e)%c#$-hsUN7_sIVIJ+bP0;F~5h1mG#~8z?Cq zgr3UCH;rrT@hzO-FB0Hg_$*sdGiyYB_tbx!siODt>NCtG%VT)8%sq_IQN;ZZLbn2g`^vGBqNdL)0in38P=WhU_f1$FES^rC-rF;`?eq66(y< zsRMglik|?7NznV|n_iGwQmDau3Syfn;O}*i-SrP2BOgip1SBCIfJum)8Ol4PB@^Ad zjmO#=&FZvOqXmty@6`AbclhnMC(Y!YMLSBhr9wU{GI>Gy>Q!0(hCFU98L65rELTyt z;Xm-(2OW1I9m<|E<m3>gugmQVk$gw1-mE#WwuN- zH28if4wjE+^-%lphim@R>f8;TjrHyAQNEz~9iQK2(wki^Zuhu0Ru0cMq1j}wJ=dfG zmnWeO7OeFln3d_F^&%2?Agn2qMb;NJVJFCdIB8>Nprnf*i$|AA1itKgS^h22^nu_f+UE%;qb0c5+kNTH z>;k7X$I0WOa~6jvr6K5EwQpV43;Z(bpZJ?0VNhn>q|Vz5ah^1oxDi)GBr2VKD=SI| zV+>}dW|4e4sDI^=yiG+Z(r^t-1{MIC$lch149Vc7j%dWGX{iYu>`lr=BcgbLg_|fC zB?*~ybvc@(94JO)g*e=dRBcIjb69T+DoWGf*ib$Gw8E~5Z?lEb+(tAHrz8r|58P}; zQAHc|CQA@pHY;26F8)BW>TxW-r8qGi5&Grkrk3Rwq-iQFS$XmCh(*CT*3|qQ(VJ_v zO-?2LZMSn5DkbOWQRrWP-pT>hn&C0~VD731PEJNLSD^fv@H6@rleNTZqUoNXGxDJe zIQLsHSq?xN>?26mfJxVFe2QT^k`K{2?{e>Lc#6pc%>vp!#|&csK9$Hig2xZi-$iCc zlQ=DCtVJ|4f$s%}4(aYfe>YK5i61nUu>$itm?67>&Ha$3!sqdu(A=RKe~mI4(8uQ` zfYA8Eq**2<*nZ8 z-t|DOTXKCz`wEG>_5pi*S_2|zzZbG0^z8&UvY{6KF<7@4a#R3pz^lk~6)=eyN{1y4 z1nje};{Sw7nE(T8Uo?R|uOghQ3CZMgVYRii2+eOq^Hax30+#V8Y=^esH==nFJlWX{ zRk_qX_}ePO&X<#>PQo0t#G~~-y~f%5?oK4{>iWu$7j~9%eC$*Wy3xOU`TeR%3l%en z|BcY!1AxcGE+D=YlKTa~BiRM?F%GO0AWTD?e&i6@>wZ20j+^clp?O2S9?bdNk1(enxhIrsjg3^e1j zt^-Bl0*ocYIFvlUG$oUrfT$3~N{*LiJ1Q&fPF*?=tq-&`Rdsf*X_|?>zvL@ZxKw6xNxqy{R%Xb^<;Jt)b3kch z`hy*!d4U|dzG~=r8t`11(G0{7-l!{6jR?BZ2$0Fd&cF(RqmOkSryrwjNc=4!|2}&x z)hH_13@rugqpL%Dx3%h%gzR8WVy(}Z7X*6(#7@MBJ~(p3?f&t{D*WLK&Yll;pn|S0 z@69veiat1be)gJCtO?7KZtD9`xNN*&>ZHCEk~!cgW%$@Z@I{f#e3BKAL1IdTu1KPS z5h#WD%0cIanPD_~LKK>QeNa5aNQ$sHKx5z)AWHgmA=>H6pe{B1)Tw&N@l-(zsp0jf zMue*VQ-p_U8!X1+Jm%#=rRfor?Qkgk?QNrqhVQf}YfGD1p`wDc^-mX$?J=NXk(=$V z=jvcm&P+qCldB233#CQV?Gfn^70Tg-u!9g74;PC;prs2Urh5Q_%1VlpredT!3bXlGr>+sCw_rJ zqYLSuqpx?+ibk~b(l4qqdtt#^)PnzAr|r@?t-~I*v_OUEuDUTHsax8?3PFMw${#*_ z4b%m*BANvOO zLFb;4mPI7E$s$~YPMsjf0kZ6BWq}+W?1eb!NENRllN$LcT;r!ioama`PiwVh)=))j ziBJU_h;2qRLpNn!2tD)Zg%$XbRjAiHZyH(?t%V3ovA(qrhtVC|<^{*}lGUSJdM^hT z?%e0S;fC&|OJTi4Ki|hX4m^Pk9ScYg7@CJ0``rKoP8C=$P!6FUV1a{8U!Ykw@nJI_ zDB>E1Cs%M!dP6Z=L`e89_49ncZ(%#q=PK=mcCDjW;w`hAtWI}+t-b4m57M;Rnb}<6 zht(7-jbB!x?ke9<{725jnZlRPG+FD!NzE~nC7ObIYK+x}7Ii?m9Olto(>`W&$E$XI zna?7r^%Z7T`JiJ#QJzayBpvHokeiSgFBdDg6&hVCA7yDbAGLV0TYN4-i?mQ~!@HA|N+ zjV?_M*&@VTTk%+$^yA;3^LiiX*rV7uEVMi{Y@>Wn$HC)Yd~y8v=_fNJ+YvQhtWoFN zeZCjNVMpVd@Qsa)7uNPmRF7C=_pNZ>G_28C-*NPpUygRvI~#}D8y#V*&t6ahJv(y& zHDI?HkneVcmKQvziPppg8J-K_N<#itMGRXJ#qcJf+r_?M+})eu#%}cqu*4uDh>iQNZI- zXeM?}pBJ4?z3KvWnBLPt;HQi}tbh!nDKY*6dm=t(rY+-;UhoP~Z)lN1#LS>FO!{I% zt;C;v5L}>MB{5k*)quu_q}Nxhb1{tyNI{Ca!ADn^{~1>qkKBlgkI&A|b`=aqqdmnz zryPHXrmMrj=Dd-OO$+i;?BSk@x(Rc|*UuGHdb4;n+@$e!wO+IsMk^*<_hr?DL7Klsk1A-H{LQITeY=nM?{6_qz8fz=GyU$S0LojC@7A~}Q+Wn&w?eTy z9rWnYfGUQ>QW{nE*1+gs!>d2H44B{zC{VUJ_ ztw)>w>=sR0dE7q@HgsLvbSpx-vfB<>fufD*WJ+fRJ z$dZ<#L;eD9`6y10N}TZd=aD%cLybG|Lj)bXf>e%LVC)F|v*60Zht(O?CZSQ}EX{JK zqy}4s9y1Sp=f|D(DpJX$M%(*A!u$y%XRXI(Nd7>6kO+!?jxcm^_V>BumPIqv0Wbkx5^hVo!4&Ur1{v&ZZ^@e#2N%s#ksgy-Hu& zHQ8*m*^I5O09rwBi6eHw`30la!2pxj^_O9hQn!lYx++ zQC&)0yIEWn9QzOkg2qgp;I!D#c)egVH%XPswTp5kx$LR<@@98|H$L_IVo|Milwyp- zK1IbTC=$6?=F|+{_rW`>cdFFRQq>7(g~U@p4FMO-jr`7v>Rfl+5t;J5C@*o>{gZZh zErRpb91ps^e$DuXNSqRdwg(HMNO`y?F&3 zX?e1b^(fFqB3LE)akJuX06d_@2!V%Q2+$FsE0k>(EnHaipb;P!$k8C`!C;9$1oL7c zSkMM&h7nVrz+*6=jtzQ5fZ#~-^B|;&*fmqASaRUHK-J>g-ZdBhQ;YNZ74`ACNo+ft zD^`?fC1Zwb-e&X8CuSEG*R-IPGLbNqcQ=e2Yawh@b7W6$K)Z0A5mLf__{0jecF9 zrl|3$WgN94mn9HSVa={k3gp^3V+!Iu34DW#o6qA+U(l8%>m_&X6P~|ZVqNL)Na!iHu$sgue=g@8GrQ(%6j=_)Q5MV z%==bMkj}kFa5!_y(VRQRPYg?`T-RelIJ5I;z)i(c)QXQhx#c>US)9+R&Pgj-T!KG#xjHK1074ni zE9>ll%p&m018CL8wZ=`4n;myEKnoxMV4*YYK$gRvfpIIqjZ63#0gnkJ8tj=-&HGDl zfb-E4f(G?_s1gFA0|F)5J!6N`ozpceMxO)+gE>n{K8tiH&m4?=^eg?;V(&5EJg*nO z^knpB)cDz=MZOX$@AXA(RPRg2@Xb}nj>}539oZ(Gd;UD3%SwZC$&)V~GT4gVL1(@) z>5{FQLYp9qtsYfYrbyycrB_-rSZ)E#aIxJkOMsX6A8%daE7)4EeF(zkr?&klVpHl^M?=;aH64 zP%q=j20Vw2j`9+l=;O)5P9b^o*q3t~Jx|_?SZs_Bo~iYP)y-x-(v*#Nk6z%Nw!r6` zH^aMmnZF`nscN%X{dEu|B{9+m!2Zr*Jl+4rHxji2lBUQFm@VDnpPW#YqpYwz?c~JZ zV~FSNJ(TJ5K7D{*$U|?}+8fkOMjaLTB>G4=v|`F~He!FD+BX^o5NpcDnEPgWXJ5mt zZ9$E}Z>?=}S-nl3RIis#u>Uoc6G-p`a??)t$8`Vi)=S8lteD1}!4?1S>t$)b|3?&m z_~Vb$X3`7pp8Ng(wBGkGdc79|FQm|`&CY--a&8Q^TF?QRY7wTk4wgbs%OPDUg)w6K zYbWs)M@_geIsv62;V-bZ_QG9X-gQ@WtD_`ek$QNf^WL9aO*=EpzGn~7K!5ljb=Hu& zzCuHtz6%|F-ZOV@bRX3b{Stgs)n&cf)*0TpvwXfqlf4^f*IWFKaJSPMZ1?@}{PRRE zu<3O_70Zn(1)God92$Z0nfc)VBSwN!2lUENE#Zlb-#%um8;P#UXztXuJMX+Rnr2lN ztJ98;sX7vO+1Gh6)9row0mKFTJ$$y#)=<(^sbz6pu1|md8A4>gH{zdB^5>tQIfFk( zIUjt`h|aX$QeTf3ly!M}=6Gk!^ZBlu;@z~M*66o|I-L%GgNHJ%cCTx4wY$5!-R-U> zN2|Nu>40cC=phW=b6~fmZ+1HPcELvo?j}-vE(8ZuI<1+~mh7K>_g5SXdOSp_a3NZc zr*95kyr-`(`t$#GC~ee3(MB(&!6q~bZ*qP6+ut7vIgfrk;t;EX&iM7xb2tDWz-fZjwlDTt$U=ur)Z9j;tDoD$s{6^;Z7Ovj}ZLlgMh8qKo0imDQ8QSbI}bnpMR z7nbSd{kW)l=i^j6YJGLRn%_8MNs;?L!P4b6yKdaH)V*WJ;z@tMKPql)^j9iztQYpl z)O8+V6@k==17AQa7m-Ppq==UfbYXB*@~Ex#ufAH3|B=`;ud=#M&He62RFBX@AS+kb z;5zik;YT{`#?G6j*5rFgeS-&l`TaSjD!Lw*o+r+rA&D*m!qOdSV1Rj2!_7B0pwr|h z)}+)?2Yl<`@@9?@U^X9;C+(|5UfTFHlle2VOVrrP|lgUBlz&^DAMW8^M z=IEb{h9d0W@t;L5Q z`C=C6^(KObaDxK@0i!UI-lYJ~e%`I8cGRCdS&ttnzE@M*A~^FgyPmyathKcXOxNG* zo{U7$%9AG_#nnenoTxuLYnJc)`Muz+X!iJI6*)N-GL(6{sYEx!3t0BUjsxVWB^6T zoGXH9^z2xEiiQPgctx>Eyy!$E5v`~2HEEE?uIHO1Ud6<`P-jzBI-X3SwFwWa`dUj` zS%wi~z;iS8sfC@Y=f(di9ku%1rGkL4yVRz&*y#KV7JTQUP$OWW`63`4^Z{0q+7>{3 z=9?*nT!SbT0$r2I`EpP~c8HAx_@@MAiMk-ZP*{`ITTmBqrC>37ZAsy<&ca@*x+*xb zFHkl6g+*P;C$lcc)vQNJ2k;A^ll*KcHCrGthsix;zMB)XDPq~UU|(Ln2G~6;fh>c1 zTrskxaD3EE30U+(eoRo7_Aev{+NhQ%LK~Vr*o=OoE?d==R>%6PP+O0`YW7QuyHsQ~ zrDJdZe9c+68=9#C<7D9e3c#Ho>jA_VQl<|r6Vg3{N z@uYdfk5K_-M~B>xVLc_~F~BhEiGD?|^_gn)nioGV$#Hws{O06NngaKST4GPFbj5jA$CHYaIv z^uw~?Fn5``#AkzAGe_stf{_iO>d>mCtzNak5i$-do@3g$gW4%daq#jAva8E){%2Cq zJrl{<2%K_7C`{F>v#e#MIS=uaMST*{oUKS>DfYQ*ifV#7g+*1_V0Bgot%qj?`i583 zhwyQvm^Q*TZ*>6Q`bhSeS&Hp&Y$@re(_5$WX+|5n!*YqM-uEQ_*EIy6QQS1>;Wh{A zJs>NSLk@#>L(*w@pcFwx29M9Cy;9UYC5rsC=)=j0^_om79Nh+e1|NiGe;e4zqMVZQ z;+ad(4oW<6kwL~g{PZp#ey_)`9(`?-A~`;oK=^G3*c_Xn4ub`{7mQaWsWos{a5))+ zZXGuG_dp*5K>@ZokqZzZp|Z&2Kl}iqzD}Y}CgiJ>)*jSVmYkHrg*gcL?MD1#Qc7KE z2CBrHS*ds*mA4DuaA&vcx>ezfgg`vS&o$IqAoSX9v&2953@q$}J7M1x)cQZn>Sg7_ zdVp`y9a0D9j|^P^4FZbAZ^Su0H>2CU5^+`v{uei?PM!uv`c`xpKN6pW#;{Ul6%p2? zOPhGG-`vU9$@MWXbXKc(-2&wf74o#8=ZyOPavC!#72K`U#0yN&Gx%j$$-bugnr8qE{p91TBy_@?uS31-;liV{tGJIHSnqF!3x9KK{rE^p4i}D1*fa_{nub?yH8^$ir@M9e z-Uz_YfB6vjDhfa&hS7;MlY;~Wdink7yhSujVbTUuc>o$@%(+gsNBz5In5&L0;Qsm% zM=89vslH*(mR&l$9RI=LAr?1*pOTxC)wp=6K8>H6z?oD&{1yShZ|+YLY_YcbLOXZc$<%_W@SoD^#LLqEIa#Q6l6fr=TTV7HsL* zt4P!pSz7xsFC#l!>PspsOiqs9Tnpn(Ymhu41;w-Tgw|3m-(>UU$r2I~CsC}Bp@+p1 z*C_SgwMy7%a_(CkPGvT|(cg34e&+vh_8kCim+Aj~zaaz?2!TL=KoUYAtNAM^DdFdwQ;V>ea31_4I1<`hVW{n?R`5 zpZ>uB1!}*~`#$6IY}H?%wB~O=(k6+5Db#D$6yV8dHAq%I$oxL&jUqA+<}*^}A=Dkd zA|mrZG1Mzkx+x#ha4sajKp~SfDPYt%n5}yR@qdV6UQN;H%%evZB__m!j(nqO{Zh6$PEt|ueh+4wvO=Yx(S0S2yk)*Nq~P-mR$>@y&4b%VjH2PywYt8eUrZjFqvndeD3`iJg6=<<1jPqY=# znR<+8Y@=%XvjVT~;~!s9KL4#S`NQudpMlKiptkW9=(AJM9r2Wo-()vLZ5^$Trx9}6 z2NUv{NWPYa)@g@N9vboZZ*mv&({zj=y_#q0qOC(A8dL$+*duI4RR~MQ*dFCgxYBlhLOFGknJX(9I3=evLUwlR|NAz)C}?7 z08XhJPrQhd?&b3CW%wy_m8rKQn+nlHa&OFBdwHodR&v(?UXx$#H<+r*OOW=vL|wMd zY;-$XDy_0CMoH{ot50)eOCBpUd~$Is#oG@hDQhi>)iH@oFNc}(9e#IgOWXeX@I`@+LIQW*qJ>#i!6N!^n|6 zX-me}bRk9XEvc_)>*PgD*ZJr=t53rPOqi5G*3DvyVh)OayqBhlxNur?1l0twaLxx24M_r_-jbX zk6pO1x;P=uEH9HJ@{@}6E=PfqSD5Y?eJNVUBYQpz`5MdaY9~6MRz=qOvaEz zdf0BU_Ki)Y5igIYPW|me;vB&LRanxyxV}^we<{!3Y^$r~LG9@3CfshFTUl*EXKnp{ zdu>+mE^Zt>ipugKM?o>t5$1d660Zt2sqkgXo97#}1wC#jj8A&9xOrOo;#s+)dUHlk zekM)Z(#aCtC@G9xyrdQgiyCGD+i^Q!1v2NA?4BZBUZ7F{t-?nR`{Znw0>uu54@f+M zbbb;_Lkuur2`R7}@*B?mi_%u^K|79IpSI?334T8+4q2iFg2aT3^pxgaG}0vzr^fx4 z%Xr#U-7ZmOc09D*KF4XqufZ?Y^5PN`WEtu0GkR-N;MZ_4isR^3jj2zpfZr>^4|@%b zrdGYByxBaWoWbAcdnav~?JO4aV%#yZ+wM(|RT(QS*|Mk`w)8{egm=-Nxn@-i`?Hkz zEK{W^hy5AY&?>O`FTkurAMiYsw?kPi&<})wcoT&rUzM70MP|Fl7V;5 zQ&$cAD(;#U`{+Zl=FECTET($x*g`7o*Rv?#iPwBMfC25)fUGA08h@?$`viLuWV@Al)$QfJ!xlK}gR&soK1T4uerOEMXxn zHn30=>WQdW)5D>vn>`^?i%cUK;0`~r`?H&G4qklpRh0S!mlp{P1ON;unam3=N2!-9 z!$18qYQd(PeHU)*=H#cCi~Z#VYj1|h@GTAQn5<~-4WE3{t&UQnXHK3xi9{hC7os=) z)tDGc@0qkUeW`IZnpk&~=rJAYtP?O!290kQ^?G=sYK>z4YDK(3fB;v&b6$;UZy6swYH4-U3|B3vmDSu+q}bJ;q8!Q?snXIisQD(eyvYrMm{5acL=JJ4-t z&Fa;wp|WMe`t|EQNStm|*}3lc)R;|zG8<2>$f=@#S}!PbDl?FXDaG6NaiWh#3zAb( zbEl*FoCIzxe+-mqc@ufJ97Z3FuF5>+JoY*J$sH_c%cp~NA9!M!To@DnGOP34Ni;cF zpiR6HDIhKSj}Z+w?r2E>Bax8#wouRK9)6A>NP^$B5MQ|m^Z*Akm^CzmNh@kNEKy-Z z0&O=DM6oPC09S_okc1?NaRkqm)F*%eAPEU{@aWO``#I6aqIiN>aZ(~7Ejx}ch~^U7 zYDF=-k8BEN){{XMU_1_{9{w{#OL!!gA_S`I2v1)#HuB#}| zVNzA+6khr2K|ltlxV%$Ck--cqMQDG2|D7{u&b0PJ8%1xgYyW;1%tshenI33w@uWBQ zj1HtU)=c>oG@w#L?wk+w9s+ukK|>5y=#w0_o>tHhw_wPom2hQIICCwIJO#R3m=%FY z9T}#XVpw!v4N9EpMTuBQs7Jft!^+j@iPi5790F5Ve;9AMpUZoelI-s7&`|xjfYpyD zPcu$PH2n?#($!Vbv8@YctRV)*o{SBC?Y!R=zUD>(Ugq@M9;N0*isYd4pU`~LeM%f}iF#pO2} zCjI;~a|qJaE1%`McyoqEomU_&$xoByOJq4>MTSgWevR*4$SlbX|6YnBM=U45m#N9m z)ksV8rQ&?CB0(+BPtY)XHC|r@HUtV`<`i@Rza4yVe8o)>nkQ1hylfh-(r8vV zohyp*dX20!M^>7Zn`4xiHEKy|mZB7Ybd7Jmsgak2f6=HN{6%fHyi}fBP%6=D6ADW- z38W!`?6EpFu*XUW-DEbX1+9jfibm*F-wt;RusemO8tJW&g9kLj17_ysRX_+X@*)O) z1K8pBHdpqzpRA9qb}r{!^Y2ZHjn~p$R>OlEVcEum(%MN&uSeT^ zP5GkWEm28ReXmKU?o8Dot} zD~VO|TPKx510eA$oxi*Vvleo}3a7!X0k8(-O*^3gY(c~cJS+y5STTp>N%%-+#b->0 zJRL8NO>WwuX^KxrhjQBggTyPA&)kMjyGC|PG(zM>Ztl1#_#gORVBI+|v;Q8>0*K8e zLcat#tuqt!qg6QQd<%_N(bm(Dc$SIBo=m-qZ0r8e_oSXHA;olty|B|(K zKrEyXA~Xj>VpVb!;anNY^P-t|1p;h{5g(Q!`K?09=FihV+K{Q7b!+-Pi|~ESGDy7O z;wXNDIky4!$}wqj?J4|#RNv&QXzA=&R=n~#RY|gZ8d8flt*^-%R$hQ=joV-e5oRoL_CSGhIfB7zFN2A_X&|2B&hn_{wMq#4qXh)|F zw1CVePn`+(M{<1kKrXTnVjmVVMNkY%4sbP?33$=iK8f$Mc|H)nXf~BgzZa@x8~j~P z=-Y5gp?7PPf8xP|Cr&gSJGN`rG+We&jwS>1pA!cU-hV&+*0EzvCpyNB3k27|79cJ2 zdhjN6lbsvux44~lyVGs)#>G~}$Jz{BBywA-tL*lwYWgEQa!1wk8fQmU8~A}SU>6U; z{80~}AU;^hB)YAle9$VMk%ByyEhchGB0Bo_(ZA)zuH2Y|w2Vm%3H zLXcNM;MXz1Bh1S|BeGq-+;kZ~d>PeWzKj!@>zH^>@FTOVAwG&pmz6z*@7nm1;)4TC z2R=}|v=QHh_Fwk9IOAOSQRagbNvu2y|5f#f0p3brUD{n0QR&fhns}<%=AH^X!R*Pm zly={8OLwUy-(yytTfhDsj07NewG?(s-@}mton)>F>_{VJMqFO#V{U2`_of$-W32jb zxHB0&_IdvIxH2CGIf{$$Cqc|iP4BW;udBFNal83$ribQa=5WOEsr z&IH9)Vslh~ z^=X#`K5yJqy1gw}G{0TjwX_82j)IvE#OERN>Pde$WXp)2fr)Mrt9Zi+=-?&p;@=3$^NxL@&ewUjM~lw z@9Hu88Kt?ppbc-%o@ZX7TBKTM*``82&$m0AJv~mh)vX_wZC7-T!(W`T90DFx1O9%A z>OleA4cW|?1DQPseO7W#>}kPAI4ndToQ5JO%Z0H=-ZhhHjPKN3{i0`$e_5$tcfRSH zTlHLcO%_-|WWxjD|lvrc)oE33*=;4bz&=EHJ*Kz1 zPrKOnP19!Wj0BsmSBnG5Z{UvEMvaKl>CL| zMH|mnf4aM9#1l*T(A<@%1z4$3$3+j%E~rqZKhW^ZGoMN1TC`tm$&zOA1dsrG#O$i_ z9pLbl#hNL3%2HuE2O7itoTxZ~BEwRlozl~m$q16ta@*U-?lZQUx=l~oW>zk=pLMRT ztQ(($Hs<82;sl6^PLfC}`H7ExII_Cwl`~HrF|KI? zK=GFnj;+6`S9jd*5 z#WHMPOvqyo2en8MJXN~D^{gI7=**eg+7)j;yhykBh3prW=vMtj^~xGu{qfoOt{qZ^ zCsV@2$f{EOoQe!-%uQ3KEX2<(o;D5n@uvpVWCg#b-91;g*!O+YX5G%#D=mlhAcLF~ z{J`Ms7C80USk552|XbG?ZqlVPT49Y|iY(4QTV7Q*<*Qs+)17M%Qp+Zfu~w znqFqTqj?29X~Gd&e1Ju2>z{Tej6c& zdERw%Z{WJJ9c@O1d1~-Sbbj+}*S#;mFA`f)06x}BKt~kBR#db{M-S)}=z+%qKZ=?L z`o!eJkk)qKZ9qOLP#^=6Jt*%X+2`I-hYl{j^;GoHl?9pp6uDwl)Qrh*pT?!n!c4oj z=i%=(H41sH4BhnF3jKyRH6LuyZ@XCg(;fO__?OQ<`|RsnsXINhzDw*j^U_>0W;1kQ zjdVgj(AU>DF5T0SJ{*1PovmG3|Mh^B-`ftlGlu%ff8l6AcS>k2h!*mKR+_JYgB~&! zleOo0z)56W2lQe=%Aei@SOJ1_02%y>D>tQyKNO~Q)S+`vfAv-4_utQ_(*tbyxh3nw zlE8(=3qDcmD&b>u^-G>BJ-1xH=B@fq_mq!#W(A`wHLJX^3<>s&o1KdmInB#mE~9OV z!>G5nwAd?jj(OE{v`gxN54Ag6ar2QfP+C9_Z>Svu@SJfw$PUCkp)?WTAjkrd zgD?$b#5>si!PFCky@30G5Ng#a>yfAi@Lq(-@wV5ZPha^i_|oMybb204&=Vm8Y$;ca zRv6RmoP1eo?3_|vkFl-7iB69&sXy3G?3&b2Y_mV6iR3eKCIZ^T`?Ig!y2@^GONk7q&c_spPo+JKmJ(* z>mtkU+;{A69hKf&ES4yQR7c%nH zjL`83LwbkV$`rWmlu(GD{zdhBew`+Ldz-D`ukx+KEn`u}p?seijg6HiC#G;?8ICI| zDlwtBP-9Tw7p$IHGwcB5?4E`5H%JezUjD4~Xx~&=e36CrnUsO)yK@3QXU8Jdw&vus z^_JWz6U|qIQ377BEH_4{ElWs%QiXSMb-_4aV6Mxxd5kB|QQRERy3~-Ahc}kK7h$gr zL8!@eAJrgzB)~)lZh=CfP~fV8DlEqWZ(p0Z8&93Ww^0JWbQy<_G~uN)DoZs8`H@&! zRHaIN`E~cyDL0Cb&h5Wdx_Qzlm|;|iwueZPotQ_7!arnQ*E#k^E`IYdOVA#QkgM1yfd(G%l>u0g zXJPvju6~AorWOD6*=HyvIC7Hj#$T@SZ!h=YA3gXa{L>gS%xxqOkqQ6qtH94>iUye_ zAp;%=|Lat9Wo~f8h|{jW=r`!n8t0VS@*YB6_)z$T`{XyZTE;RLf+J?2 zfBPYOl#On+<~D-<$noJIv_(Wc_nh;YyB+OIayADoE{^ERcjP|UGk7X=22kDmt21EB zed#^0Yz9Vvc(>QS67(080Jq^gfBsHcNke;fEk9v*BVsWA@WX2yP4E^tl{oi%v&Ksw z{5ZDBas0UFJvZ!-V1 z>)LI3&SHP9&Yf$k3%=)eKj`f5hbpKj*e`e-W~W-4tV_kqVu zQRWV4FrNBCSo1Q6X3d(F-=5yZX-zE>LG9*CI56y&Z@y{z&wo(%l}%J_?a}r4%UjTP zEI~&@dPy|f_1>r=z?q5K4_vd|Yn;=jIoG7Is>-cv8ATRbvS<7#JTu98kSY|woNT`= zm@p_FVhe%TVQawt)SQH8Yk{&Q`ZmOv&wmPUVswEM&5unKWuzyMSjEh!PfM4?N8^B0 z0&@r7tdpsVBr+dWMFxMaKOT1}wv4cjMYd(jtP9`U`j=xfTZ*JS&>_mTSN>_t!6Urr z-IDx#MGlTak5{O`f@IBG&)2;L?5o;F_?FCgBK!S_?2@QOT7+#T&sH%+ct~J|K%Bu~ z(?E82K&9LZ&B+_d3$LIDTh6OhF`}TdVsvxa@Ui}xie*n1FPprW|K<=ru3x#*z3^UE z2in{*TxgT>jH+>t(u}EY(K!s~x8O5La;G6A^M@!;lNbxhwy1~jwV0?G5HqAtR8eja zA~1`IFj}h!Q8wPvV$E6UW4iqKp9>aXp<;EwR@%orgRR{t`l(vV0U^HiVSWW?;*~uW zFhEk4=4@ZA^z{YLk)_d0J{}8am-5T)aCYVN?vtQ$3YeJQK5zgU)PbOYAf6Lu*2vGq z6D3T|vNrKR;mDaI`}gk;?qHeMTF9Kj9|mCdTPHq;^!R_Ueh5|$k#Jcc%Zu*e+L|V+@vHHrUmbIZrtb`<7~4|baqz-0{ff?+ni(2!_Jak2YdhQ zjF-2eUWN4hra(t@q|5>2QA$|w70P6DA(#aga|j3^VM%y$h>1t$Cc?9MbJhRwX?4VQ zs?pprRrm!vPN7W8l(?HruDB%pyjY56FpfEW>m+wvzvtz&2iK3RvRKrne)W^gf`Z~% zUVT#j^k#EQzpx^1SAXS^`;k=#8<67BeU-UHz0~7P27fJDM47rZYt>9yYF1p9+{|>< znUwazy2hL;S(U}BQ<`PH`WQ!)OgYP0o~Z6s4( zAsHe>`B1e20nA@nh6(@+TuKYk1F6^e3W{4mJJ9!(0bTpHe0`&3^kimc@Wc8FuWk5< zit6%pL%ynNZZ>&!@1mmMXjF(VG2^Mog;+L(Z)=>+w>l@K^p6`gF=bTqkgw)Hq$TC%5#!tk{)5@^8M|zq}Z2E!JxX zak}&d=Y$E)8(e#wucml9<}4Y_^bH6dnN>%gm)rrJ6glMVS=?eISql&$AOc)q0OaBN zFZ$q#gAe{r=rJ|t*yl+elT#Cyn$=u|zrHUg-&9@24x@&k?6l&6RrJitA-!}P7yhh+J(&gx_A>6aT=QG#dL(Rx${Ny~Vwbp%8$b|10-cmNEz61bk6rBHFz>Vzr z7mz8E*SGsnUsZ%OJNmoRH)H2TYH ze*eoaKlRkL&Kw7wdpsL(_lvKOFqchi$dS5bg~sX=o=-W;H+c3r@1!>7IMh|K&nk!5 zxaV3=3lhqfm64}Rr5GsmXX>@W*P%!LZN~YzK0e)IEHBU-I<(s_mM>J)#ifl17_E&( zP*BfGMdJ@Y4D$cA$T`aQx-0z#n_+6JY3tqkZBO!RUBj2@Ck`JO{6|<$CiaCzg2f+1 z7S2)nM4*cdbZ_K<)DC#v%0$X6;UAE}1_pf!sokaDCuFlQD)i@wYgyN59nE}-U!L}l z{QIZ-r#+be{#3G5)PKp#Pqyg{YOTgoz6f=e4^OEPh)34wt^V|@Xlq}r+Sca6$Bu1v zExG}w8f9-=?Amq|b+|e^dtz&xj%Jg~G_}FJWwUAZZLvOkN58SR8B{7~m=I`t3iJ{n zg<+)Pm0k=|4ep^PqutmWBD@rSv7itX0pu5HpHPGzBTfUD-%9!7Cet|P0Td;hvw8D`a_$j)kuN9~c;%IkDe`>z`Kim>tvunwRdO{W^9)~>w<~zJ zHz}XVz495SE4a~H#2Ck~h%YX;Z*;D;-7QUYm~<{ChC$8v$>=zAU1g;nLOHi;6@iKS zl|t!8BXov@bis=-qk_ebq_T6Uk3lLNiHRT*Lx|!*3om;HtmPmAMt_BnKA;3{L_6^` z@@hPnDhh~_P|}shsWw0lvqt06CHyTj2Y++v(oo^=_`V1of}hu->8C`qWcrl(OCPmscVyOU%BI4+I_2s+uUV&6@9ryb*WkT(kvFp z>xLKA#Koa=I4w3A-%6lS4|>+`H+r#B>w=A5_@xw?Ww@h6;ZVD(Rd%UCZ`Y@pq#eZ< zvU9WY)WKiSGZfj&`!~epDV$<;J#kLA5L-`V>nxS6Lg@0;LDZF2$wz2AVpr&>Oql;b z=T^fV5t{TQtqs?f8oEI;VmE|OA%SVEh(7P5VJ&Onr4B*#dy{P)$caSpNB4J**!b=wacT;oyQV%FDl4aIk8btyocJ zj*Yh`r5SQ_b;e|gr65;h)f-FIHv7or^km18QMP5EOQNVQc^7axSm0sJB+>=xE)~T2 zA$S^YfhAeXu@!RY%kjksr1 za$Z(5r>;(GH#0B>w*u+|@Dqhbe_>Jj)-k0{pSRv&&T{ip-_A~JD(g~p864Bgmf7^F z3Bk>oYdRfMgR4KVb01b$y{svtFQv?FU|5zx-H|m zmq?7`rFWL^=bIWm_>+CTO=kb-u7Iw6%F<^P9j*~evTlZa0^#d7K(7*?o79|DK)q%6 zun8c|pd5*Uq|_6A1H{rRg;x4VG)S}#)DakUeLAJ>DD>4Xd;y8##0=YE$ZlS2JpKVYdjEp zVud7IAE+3QFP%JzH}-BwzH#O)T5V~fkYNNuResK$2O;YRT8K%E%a&&9^fgwUU6Q$E zUFI6l(X0((`G%eH#&QjhwKkM^;C>2qKwjX>U-1l;px@*f-cY9LyLt8MZX5UH*HH}< zH*dZb^%aSD_~AdmEJ@C#YCb`)w zBl+a@5T6JrpR^9^p_7H+=D{JLvvRmB^#4D21?&Ux6Is>}nt~I`5OYZt7*&!mJCm{t z`g#^p5nc(7qP&tCi?XlHE9ZyHyefNk1M=x~x z&YZv-o2*ajTve_zw0|RcFF}cff0x>{tj>W)yx&GRT9Cmz}*wo$!4`XUUEJ=#iwmmwdxHca-y@cln$iJNRIw{ zJ#_mu=_=DDaT+PZ=iItaR^-c9r>`Du28ETDId#Oh8$Zj3jJ0CyO+G=jO zhp||Jyf!CA2*E#Is`UW+A6}Rh=j~kiH%)ROpC{wV zVl?I0fYz7FeB*CdB4bA-92a+3Je=WMprd)v!8vKz45$&MTAG|8duHKYNJ9NU4I$gT z6>%aViTfQ*O)M74B8JW$$`V;U#)kYkdHSR^(Mc*%P)|h)&8skGR&o+JTkDQTP2dPQ zH6^9o^7G11l8U(x-$!K*znb1xD~*L75qufuf!eun^zG$Z zZd!DeCE&t&Xs&c zS6E-nyysDjs_qP4_vlYC_8YU*Ls5QYx2pZ(Hw3Rx44r@7%#r?spxyq zx8MG9ocSJd_oS~r0hj_zE-BEG~Q=7}m&fp{oF;fmrE(sGTOU(;Npkn+eObg9nd) z8~dMo(QU~ee=LH1tZ-9GsPQ`s{Sl=5i&WS`dKqQI$Yo-QNxYVwM-L%HDEvwl#$*o| z=FkPQYL_LQTfsJlg^u*f&%I1-@HXcDCLB}!(x+N2pWB2GKPEG+qHJ_a@S|3ZOVhvra+!$^5($;F=(k8dhz{Fift)n!HnX;sg`Cd3yj=E(Vc zzEZ4Diq6h0kz@*l&;|M8w6$qFW}VQL>5>w;gz%!ahmKXIz_~C?JYTI;k1|+m4Bm>Y zm76oyQ@TlQ8|e=tm2G9DGXRJL*#*pTP10D<5h4w+2TjjF3NqA)D+ate;PY0fm8}|2 z(HQ2z5OLbZNa9k`d3+9MslBzLsk+}e+~zU|$10|D%i{3k%uh;-u4MU)+*S_$LYO_e zGp~94ybqOUrjA6jwx#V_c*0;bCW#>qAH^+fd+Th7zyy9#wnov>TIlZ{k-d7Sd@K5o zRi2}_xbAtOp6}tK%6bRPtSl(H-RE?ySAnc@hb4kee04w`$QcYHBh4da0_-OZs0@v+ zvbgI&V1HGPuu6EdwItP^UWFbCbav*qR?KFm7z#z$*XSPO^i;7@G$HQr-O(qHh_}s8 zT=m2aH+X`djnqKTZK9TuF3sL?iwr8d;d#^`ThDPyX|&q_@j?=_rx1~1LJAnKW<4?* zIV^SDipcxn9EA~pZNVti2A?-Ip-op-zqqB(divec+JEtIq7zvbVDAw zb^h+u!^`e47!Bg25MQC_%azHLv4s30Rgr95Yhhc@jOy-z*gVd6_ZiOV`SgXplY&kl_Q+D;u|Zww~Dov_?@rIt@Mg(oj_+ zP?`v(dZ6bCp(PAdp@rzYin} zq^I7jsV=H7ylT-`(6#H$_>cBMsGuP=fd_vvAzGGLrpV!yo9vm2*jS`=q31g789qnN z&60;+5x+`k(7=3^Cpjug1F5?ud&)>SD%^=|V5{WV{6$C`k(zq4fSIhhrhx*gh*-}W z-Q&;ps;imd$>}lpOmC&Daxz-zY_4=0nr-82t7?KN$fro!c9cQ8kwdue2~jpWjW11j zO8)WE)k}ZKeq$npeRp}u+}>DeX5X&#+ZQ51=7zNyt2U|DELSc^JE8cR@3cGRiLjb} z%^3HrQ%}Oq&`lr*uz{G`mNKxpY!v{BazLXZDZNT0=##KN8_b7TD{DhIl=oi* zTuEkw9MF07ADK##nOgj8(?f1sTHN;SR?t*Ax`i+iQn@p1ht<2#1m{Cr%o(T%@nbq>+z zuYmrHg3K$yUND@Lgj*n}Nx};-%Lvh)UlNC)o2`ic2^DYw=L7$9;JKMycihp~_?;8K zmAq$#dh&sSqT{pkP*OguR4)AF6U?R0{fQ+Z-JE`xA1&p4b9OcUi+jS63WsLznC`tr zj%nxJoG(4Nkv@B3+^pI0GlGW+1@MsUdA$KPM-a-$v(|+k6oO}jBLZwlqx&gDv%^GF z10Y3qQXiZnJZ8u~G3%Os4*FqxZ5vMZmzAV-PvSgvw&7fCS|;BP2ty!OC>)9n!k{WA zUA3FqDYSZ}8wQc2xiLJ>lgZ2H7A>uX!hs(Xql;EWI~;b2n30;Fcxk3BZr-F|2Vyl# z_?aJpc}K)1k;+v-v2@ZZKp{GvpByL|fB@+SR#zK{e?ZupOo`zRumtl^irJqLRf`xd zCq6bUB~K-vRGfWcLCGzL_IfK5(oN!|fBI2&{okX5uUm42*7yQH`U3k@@t#+C(B+?1 zmXID5n^}$K@A|nOB9Ud!6`kcz?~8Bg`wphy{&2QPr+bea`mx|wq2mVm%ZA-cXDLtc zLnz12?qC9sFQf_wEhq}(RsiL!USTB;Dp7#26cT>`Vi3qF`$Yk|c_Iud+}>8`&~!Z& zhzH!}$hT(j>N(K~398&|tJ}0$IY~dJ)!2m69UYY}JAVJsiaKn_o%!`lW51HG# z`pdg~%*?9B#-P7zQTp0(C}}^1G+b3%T#>d&ECL`OqiK7stfsqUWSnx@0@?MRT~;yk@r1spa6-Ea)>P5M$o6OxKF zA|>Y|p5*I)r~DK548WW0l&Zw21$lSet=h>Xr}Zt6Tn~kxkD%IWlzZi3gcW)yxvM9! zHF(BDf8@cpRO3fT$B>ftP-6dzB*)? zjlC$2L_dzHEh)%}nxxt_#?rPWXJ`3iJ%-jJx?QbZWuEoQ>VzbwU1qrQ!5=`Sw)O#3 ziY(A@z4G4aZ+Hr=kHhd;OKJH%txC1|DQ4-SmOwesfenxs;5BWIQ$+bOpZ)YxexzFcQZQ$3ykEcWz8GuS zBR}5PZH$lc#snZboLEwfH&mm|+2U+yDPe8d10YKz&Knn!r2vU+LWddLV>GOVf?E?0 zl_n1HBL<`?WUGNbDnFr5z=8Cy(gIHME7Yw35u;Ma{^rwdrQVEV8P9e?tz}Q7q;dJG zVjY#U>ot@7#ce;^+wD#>z9Fx~F!fOChVBZtNUXCJFT5ck&MS<0N8VU6(q;4w*Fx}r zSLK9}v*pXik6fwhYj0(wYH9nl>fr9ti!xV35ijdFadX<@?A8K4mx$ojiYkw(L6b9c zy>cbeSX8PR7FXFwMP_Q6wsDHHs5r(bb*`8w`zCu*^9bnH-8ren?67y$8yzKH7`MXu z8;3ZRaPOoqIh#}mk^Bz90qm6zq@rLZ(156N2`sn|9l;}gMrp1oC+&QeBp}Iv-FiW< zZx3Yv$RUn2{fy5z(0S3cS>nm#hW+Ag7Bt#|sg6b}pQGrFSA6lsfDL*aoPGtLV-V4 z2)i`rW*fHngP#ZX(g%hzw@q$2NER;@CWWfd`?woTcbC+b>-ZCw3&$;(u-;Q@i7wN7 zCUo5xWJzeIBn-&UX{fDaVAXSQ7VBy@}4TO>+T?w!o2 z;9(>@ch328FvjJ|j<`RWXwJ06x$w`2cVepjCk#*#E&|fHs33&(&K66YG~nwQ?l^lHtu64WmXopGEHgH zn2UkW7<0?CDR`aW@ZH>#tik21y=}g|Am3;z&Wu&Z65u1RnvOrjmtk#JHCL#47SBdE zkR4>KJ>Y{T96UQS^n!Uom(cSAbr`wi>5p51cLU7pxbHvk)&Q@d_)qHk2J{qm4f|!~ zO3T`3S3bUWZSea)soM$OxEFM!i^@3heZ&11zz!^mfN&H{siz8$gq@*`2F7`V;>yW&!tomty&m*?8@1Oj-_=nx(x zy^`d1s_3p2wl6z@#`~z&qdp4BG{dcd7+=e<(E!<1hK)%o&%L{HcHwi$+IUuSlG@wPCuONPKCNh2Z-2r)lCmVo9I^UL6ClGCI3P3*06$>Z0 z!f5a=Nbm$OP^eZpimdsPGh{IyQ(p1M)xrqPCR>d__*&d+$MO%1wl)+RoAkoF-OObM zkswBew#4Jn@F7XV@Z)8QN?%NMhA=LH3&TO*I7Ya3C?+9Jr5PD@w271+aa4G}8Vf;* zr2wlyd{K0WDK4)m(=aW;pV1?@cDs6}QdXRh8J)mHBLWJ-7EO(ldQNm4+EM0+u@FP5Ar-D#1V6Hw1sYt~8M=;$zO5JHHnW2`S!P@;$!jlL!qvOnYXiT(VI>$G4>O<3}`T9exKC@zC>QY5& zu;NMlgO5Jyo9cVufpZC2>O3>j%4l2A>R{NBfWfK}oj<`HxYLgp_8Ji#Ecm>e%MraS~h(t4o^M=B^lw1gq@d=qWb^yS5Yvt zu-d1SZwR}sGcv7KMM0LerrA{MX{ebvw|wHL+;VkWyh45}>%n^CQBZ;kQdQAxw@L63 zddIBOlSP1NO5vg%d|lbKyHIiqA#h1}mJgWz8K^TLxm$RCHum!?rI;En*9L}#ceYw( zFgP7b8%od|U2lDP3tno4NS5%dS(M@P=~EGs{`g}PO2FTvs@bz==Y=|d60i_P=c=R5 z>PB>wb+4zgl%3E$H8_E&z;+(n;Nu?B^^*e6%*J~jp?Z<^C^ZoE9|kTXC`QmCNf6$l zaz&@iumN+(_`^M1eJLmfJ=dbZCrSc!eFgV3yYYmWc(hwFd@FV<7Ou=%@}PXla^*5S zc8ITHaN*!{55f8ilT=)Y1%!STc^E@`sjn;g(4cg)&ZX)EqaOpXpgjsAE5KkNh z`*5dI1wJ`MSVbz8XQQDqRrPoU9}3I7B-Z^OYNh#chp?oU~-Fv6rUrkI9kBuvs6 zbh9~KTB$^UUN@i5zqjI@*U4&a)y?ajqetWGipQ>yZeEo)ZIOCD z&YiX)ZF~Pckr}wt4@CkW7Y(S*%)Wk`d_x!;5S&Z8w@Ggd6w>FCJUtCghfia`B~oB&3+qg#YoQ-1CWgOETtr ztPZCgec%jey(L#Z47tyjxdub6ToW&e;wjyz_JJ3jHq(*)Hs0h;Vb3@;18;ZZ=T&hQ z=FYygvdz=~CtI>yvKZez#D0>z(fypi!Yn%>#7s#ZuVWaoO~f(*if2O_DMmX$3HSz? z9RhBBC@4>o1uzwymGVD);ppVH3o*^jThXkY_2y-c`VyNC&ETbE#B&@diXSIe$ZT1E zwbXj5EWyKn&iuJ$3|sEBShbthOvksX;wpB)bZSp#3PoOonh?S3R}q=hK1P5Ys1I)?ukFmb;QU`j zWo9!d_{%4U4_EEq?sNuuPUp4bGBI#(;TS3DS|fMoV{2kVQBp3%qu?FDI3OT;nb(Sf zvaZb^h^0Q|_SB>wOGQgBUi3lNVrOxsVa6S)o5mCehK4=;m3Y!0jGZ#ljGT@sHVlcS zY3OZS7^p1Fo@I8GjY?Mz33N_S;?6%7Dcv=|h%XdpRhWIgp? z*)HVpmKQLigWoWfNnWwbD*W32Q}OVnO4X{?qTowTx73??<>?{rS54l84^N>IH~y?X zd*1e>gDW!LMC%@Z9N)d$S$1s3^gFfATemCb?n*kahp3;SURRixD}j%*!0YnT+)dlC zE^>2}b3@*v)(|&pSGFf@p}%HUszbS>#Sok|?fUdBeM9WcBX?b8Z#4D2)4<*+HZkoU4}Qzp zY-)yRC171C%wK*3>fy+Kf;hP2(6oOtL0$}DOd}bALkfyQQE2wQq4qyIm*8Kr+B~GV z#nd5U)%K1J@K)p6uptaARX3I?NllR6n_#sI+s*_3dJQ6V)ZtoJgQRb->C19Mydf+*a_>($jn{5ip4d7DI^h)j^+jG6VuR?mL;=pOH9@H@jhQ(Y0^E{ zH96H;=-Y;|X@bTpdYior|8zDh0@I)?v=SnJ>`qaR+OcG$v%ES+gtr(Bs81-YE^Dy5 z^3%im@*dzncGnE4N*tC;GL*Z0oXQ88s|?dLNY&2OrwlG4sYN0(0@yq<2c?p5On4#Q7dp~D znt@72F>{x5kmZti);1)=|GenO3w;-_M5{mg=wjp%enUb_(cP=#JbsTVd8>OPo&o2# zeWMz;SN5$VG>Z+dat#m?N)na>drOVW6?P;*p;8qj^D}9bO z@2zyTZ*p(7lYO}Mt?u=0ZsVTj3cNpDQ`LWS8q`$9Wk5~Urt7npt<74Fc5fxJ9TSSz z*HC@L&VUFZd~rx85imui9P)1T^Hr$nT7i1PM;|hU!MDjPfRZyrjQ~)`TzTaW2k5Kd z?+RO5Dw}a9x@a;A%C$HR|MW+L^Pjgui81TDKM%Y_YVs2yqfVw&hqETo(nhEmlw44` zY(fvRc?{`*C)q{xxR1$d4917pX$D~@u3*oimX(KOcdlK1C+tLRL5KKwak>E=z&-Fk zjpU~f;ubE6msnV8G-^xXJP<23-siW zaiJuQ6+&{r@bF{=*ZiTB7JBv4rKU^x@k^*0x+WdLB|capKLc%Vf)2_Vcha?l2nNJ`ic5}}7$j6u->2Mmgzz?iee z!(0k+&<6o@1y{jd%*FK8hYyZpa@0+_E;KDo9fubO-t)1VVAwBaX>Mgcqx|L@d~x(> z>*&Y(`dHo6mk9+k~vgtm&6@wX-slA zILG;2J#&vApWEZ|k8{?Rq*_|;h#@k^#>O6j7!SddE{eH_ke@lrZwtH;c^uC0t zGYpm2J59w&2Dil)udjqnSO>QiLxLct1V%A}GFlB89q1_u8B?H_)KMIRT3;4#lDw4! zDr2C7o8)4Fkx8Hi^!k8Yg#ySV>PnOhh$OtL&>6H9_mP*M$q%BCOa(2eP%R^2oIesP z1Uo`d-eqQS+n1wmK@;#^JS^f-N<{M(CeAwUp5uA&LC+leTzr_B{2bf^J5!fTaZ^GB z2JV8CI`QZS;8pn20#*kC&x4Ohs+r)DfFDD-OyEy=SolEr6#fQ$0J}WchgMN;G|-uX z#tLS~A+F$dZmW>HpD$P$D>@jT_|5T{_(S~QFQJ1!+#(R9rRE7@NLZZD>(SNmlF(mq za#|w7e1W5eFR1b&4&oIW6Gw7PIdWkX!jqU-XyD60?PcpN%a>bv+kUn#AJbLSKOBD+ zaR@g%TW02D<{BKrS+f%~xyz3wr0bk|`PzPG&qzmfTC^@Z%FYq0poTk6!;il1A;Pc3 zh8+g%P4ej^-XR7YN<90}`G5mNc56hQ&X7ZavjD&y4qQbB?BIU@R}V;*S*KN9locEk zAN%l`dr*%4kOOg8HtGno1%S>Jn8`cD2$E_&$_GRUL2d`-kYx@o z{2fly6O(VRLtOka_?HRA=}7eiYIx|ODpc0t z?Cf-Q;MX>dbC0_b{~f8<%Cp+g?>{m#1fln+;}WtSJ0F^ z32n}zt&am&!4@2oN_tX^Nk6iRmgMI`<(WeZ^zvYi>!1wKTV`M=KYp39>~v0OcJX9U z`QD^*y_j3WiAspiQ>(`pnKRSQ6t;|vUuonB4d4XSmFrhMRf2Uj8!~GW~fBMFh zTi5M3OCdza~YgO~I*5GM>oDmo5#SDI&gC5z<5eHYQyFG2}_hmfEH`ol_ol z;-?>bjOfr5h&jFj^?XDENep~A?KvltW1#elJ|F;ll?1qtZLbH#8R_BD0ObGCdBBP- z8?yPZuBcLe6F9)=XiLG@8vJtI9DN;(iRdvGPaeHOx?}RBEveVH+BJpxGQ8{0#cY^a z_}+h8%Ny4|o7nS8-NcFSqU)bte1jk-)4g&`L$OQWS)1?7GgXgp7>XalxBNP8^Q%0; zK-}h9c$T1!fgB2$QoyvZ&&^PPQj|6XQ#FXUM9d6%hZ|KH*gzGH+>puLQ0fX@KA~cY z1lnTFo)D8s@a&}~BnJ2SYb3q|khTd>?K3cW<6sm1+Sf3m#8KMCJiL0d!Pt#Nc0ty)wNVIh=XSX^n5Fto;B z5GzT{k!AFjjEq{cS+jHs*NoQSCHPa{4vHbZG$-enRFJ!9th1!I_yWUId`^5H{yHnp za0|Dj%$}i+7e__QT}XN0L93%|$0qx0!7&kXDo>a^H*q%THj=j`F$3tXptD41*HbQN zBXK0&H4rbIxWXZsfW2lBBe<_7i+QxB*C(?o+c|->bbj!u!iD7%7FYwZcO4a({F~P| zHW_Nwbvhh2%dB=@!t@8XFnfcF5rteYVBQqh!DFriu{^t|&?ZVa;aaq|biE6jvtPXf zpN}AYDPAjv!Rwn+o3i4hL6>B`-h_uFi@nTP79u7lCTE7 z6m*A*E10CTTP8^7ES4PXl}vkI(RVWS(N_$%nwAl=-uB|r276t1Ri$}U{p#RHMkD$t z7P9WmEx2_tr88W-%MbaKe7GyNQZNU)hDu-p5uE@*XJn+Xo%~R+tKyOC0-gi;BT)Y~A=Zr$qK`nCvziIKQi}Z}+u>TE!r&v6)o5(A3^t_k|IK4WMOO@!6&(RDjQ;G<-35h&HnzSJC*!qQ;-9I?OIR`pP!N-GV<@y27@GMk=|H zRq?A}7?aMbS0+2tv(-g2oZ}c@i+hS~2JVA!$ci2mS7!C zKz{fXEFUpFb7AKjx3rhnS4?a)D+|Pv#{^qR2ics-lUF&%j&+*s zBW9SU`8@Squ3v`z;(|M7dt68!fvx{CgOwpyNf{Mx6wqem=1pMzFfWtOSL2v}iDLC|TJx>CJJ)UET1jj~i3kI(!+(!K+}t?K&U_i4*RvbJq) z*^(^}+1h(pwq;qCM;wnh!*TYWgzQNY2oPoEu?x^Q?~(RuT=s#^MUxu8&BHCA&g>*|#%@EXu^ zx2DM*jcO*JrJ9TP4%^cgVDA_v7e@QCV}Dp99zN{mDV!6czcB6sDvB{aj9iX^!69n| zzk#Sh&YHQgr@dp%FR2~G4`5BF->*o?*CVeO^L0&FKX7>YH%GTAw)*O7R^ zb`}c%n7?*2vVJ{rkGfbtbT*pMHtnJdC#UJI(H%TUpNOPVWG(S>3IT$b4#XzM>-N!~4XkI-^g4Kw%4;XRbWHQ_s zI6_|mNN$|NSJdw!Jo&7C+z)3A=ec5eiLqHOP=B}%7^{&{fO&M14FDr9vc=#V<)+?v zupBbbGo@`qO+Oz#Os`3qDh$*VU97C16*Z{^5AWQ$YghZOT|0L^Y_c|1Xpyr-y_!8+asedX_I?gYCEadf9xhqOzWfqs&x$L?~sk^#Ded0Tk&H82K=^U0#_F%%^ z;>}i?U>%C%%KJc`i-DP+t>wyAZNLyFoSh{W5sPdNnkQ?6l@az78qT?d+3F*|3WL!&hT6mkT0E|VU?y*r}+1H4b(yHt|y$aYS zp5K8h4j@E>%mfsroZ5|#6``=U#qXQklSR&)L~I;9pp3G3*%(+JxUJyCGAbGaY$F^+ zkRt^v%3@mc*_^hK)_m1^E3`zQERBu!s3YS`g-wm-HV1=+zKg4*Kv&iDE1HB7^rWiR zT;0WjCR}O>@|K>R>}sq_^;A_hEh?LDxvbsZw5@!hD_AMp;`Mo@#n7ow1fBX`ewK9V zD-_mM*k-7=T~T)B6R;wm&bdIgXQ^>q_NX`D+A6k)U3WpKNN2wDu~uNSI?g+5{ws-K zQ$t6%K^=Z%c;-u?diQ<(6a9K%rox%Ra`7ni4#4({!G~SAt1$u(3S;~l03Sd)aE%xa z&!L+)*>gM&1!M)1)%d~4h!$b@gW~)RT%&8~S?!dolb%H%Ab8q)SWg!ftXi@p^|$nj z6_;i%M67$$)Wv)DWG-BApc*|)$E*K7d$xF}FfK zA{U!rJ}G9h15T^N4-i)A7`Y`Tg~%_#cVQ<-A^%ZiklOVkxe9cuq)dD4`G??om*%B) zIzOwBEt2>P3R2an;!=7A@zpES=#?w3c;o7;qt{UvG_v=VVweR4dxhN(vSsKwAh!QNAN>I(e)!>amFl(ynQOXjQD{Im zCn>DyZ|F!lp%AgaiuU%BhjCkA2A zWwyfEc|%M z%5%?Mc?tMPI)X3Y$(786#hH0fK*hvezamDQwltp+ZWlguJ8?ZTRD3}yjJ3)C5i5To0fX==YVXb9vC z-Gw&O8*`5d-*r%B?LS{Q&ph{f!wuy#@6he0zsn{&z6g|Pye8;_vJveY9K3vR&^ws9 zvytk7r>5ReZ=0uXI@I!R7`0yqb>j6?iSuMdk~L#XU- z`nUwuA&ur8dYc3-%s`1d@ieii@}k=MYFkoo+jphR5gYD|m`b(wGJ%5le~h5<|o=GduY}8Ot0$sf;!EBWj zbyU%>Wd~YZbdOXyvkC1>KnTrJT(j4JqGd@>R;w#ul*z1;~bh<+oY+0(NWl zMJa!~Bhk^&=A)O}JNiB4^r2MsKr%r$8tnDgldtyvzXB+l)`^Re{VB;JW={tn7KcayX9w zW(+ZSY>w}v$nxiK78|=JL_qKn2kXF?$}>@;V-gGGh=3?TZ=LECI3gE8+2Y%|N9Kn! zRF(AV%LZC&eUVh-)bg#doA#s-MHOVeyJ_aktA>X?Q!<7#Q-jn{Z02NFcQ;H5U@z;7 zFWVklvj*!ohIjHX&u-c%FJ%wv5eOm%;?= zeW{1i4+<9~7bX{^zAX^YKTuofSMvp^PE*fmLREYzw}13#AG8)NIZLz@6@U8aZO=Y? zTSojZjHr;uUFfp%n#M*~8GT=MDZ7!y8^K9h$k~<<-ZIX~lXnH`7O+z0co(zagu6z7 z0mj~sdY(Bf=Qfz@F&jTRUXV#}pMTlEQB7t7s`>tV`YUP${nhv1XAToVeZ?a#Nu`_` zs)K3qZ}E{9|MYpWTyy_xiHl|{n71%9%-Zl=0Z^ad{o=kADqwY~M$ljU{6 zbd8mY`~x?2|Ln8O?Wb%eIzBfuXhRE!GdDyc)BHW@aLt^ZFtGES!C;S{lu8`5;{BY& z+Hjogr!bEXan8*n{sHC-;R-z*>)?)Qay)dE$!oC~%K`7Z8ez}i)Ep(lz-6+?qkaS0 zc$i!Xk3{R$iBa^Y1lro#J0?GQ%aodsci=wHxPU)Ex1`Psn4sts%{lw*yH~6TE~k%) z<}Vj7A4JPCw>W>5qntQ-vTjZH;}wH5j58KxkKYZ4xd&lCFs}0^+!O94SwgA~TR~Nj zR&S(S1-$=kMx2Chqo$DP3y6GwBiBk)A`r8xhKEx3Syy`km(+@yL^dRBw9A|2C!Qax zHz2vRw5n5Z{f&}#@1ps!h|^h?tm?4Nubs$ACb|&kIhv+7?@7#m=N(jc_)D!|aO<)mT#^pyu)geXxjq&x{8a9L=Yp{Rk+O|ChNDg#1-_&N4LCye;i}^Io z8uY)Y5^V#$(4%Y_Q{o~HyE%aMAR!^*VQh0m;J6vc9iVCODcO)l#dd@lDPflt# zj!&QU`h>H@OXu=*{fi~QM`e7EKLK8XePrD2QcW1cr=sbMY6C;U0v!ivtO4eugF8&t z0*g&f13!V5(>w9wZ=kDaZ96LN_y*lbS5k#^G~Gg7cH)9lPb_QRJl|B5`fT66&j#ra zL!lJC?Xp-5F=qc1<%?tFTY|Fmi7qFhGj(@uT^)Tq5^?!wL%l8i$@pr3x{55wVlkJO zn=SNbz|8e>3d@VmLDva6v99IIfv{gje?mX_8!>hWV(bRbfow3%?Dtgw$+=ie?*Iq9|51REi>(k5wT73qs_PYkCtF6|&IsZt858U8M4qkm}n zbl;Q=J*px0(JdlN>!aX8LNviE<4xJLb!JPA*=*Lrqye$UMVeO<{eX%^rbYG&Vaka^EAi{C`aK!LilR9Dn@fArJjRfL=0| z1qYex$qfmhfF7sS#f9iyGT3KEbl&V8vYR$v`hx1v*4|Lag9rQ6C8Zh!;~TQ`dmNGQ z7o!VskZ|4v<@}YG6)NjuCIy-7(;KOU$v&|rJlV$?t}nxreO@osi#;TVe+bSH=6&Ki z7>tkxvy}n(o|U|;=an6k&Y(tMvH>9>ju_Nu|0dpqk)~o;H@sR3YMP~#zE!KcnkveC ziywD?uh(CNmUW?J*Ocl1ed6rjJq+fzyQsV9%LdUU%#mocJ8OM!2JVi%5b@TF3V|r>Io50r{PbVS3}%>sK$x%_M;BYPkLw3SAhB8LS(YlnWa9b;E9-WY!kQaWhz0F}Cz1w}@w! zHUSq0cV@~%xD#y%Rb)?bF4Ya7Ay9MON;Wp)a6fRv1R4ZyMvha$SyUVMYOpJm+0ACM z-`So+9FrB*ah=dgpCAg<)7AA#LFT5<;iB~Lw1Y2h*t5+-XTG7=t1xY3>a*I87$eZ`mp3 z!A5|aVYV2#CiIC;zC%z_g8GbQ%a+qZ|dhMj;#=U3hC2c}YNhnzAS8_8Sz&NvbfoGhzM76g?UFz|sJ$4m6w?9!a zu1iOMQL6IPO{lNZHQ!rkF7k<}!LW&2T^|S+^30Jx=uP^NfI%PF#9?9w%#+xG(w0~(u;eg#Gq37AGo&aI%pe6gwiPyff17xL)B zKrSVDtb*T5e<>QwQbT^NE0j%wh3!#e-$Z+FX9HE--ccQq(|!NvG}sQGf^Dh78LkPZ zPlyc;s|vk5b#E}67V~!-Mdu~!H{a&eB4Py=#k2J9GKOb=ErP)=UQ0-68@=iL|_z}{9ASromFC?K?-%DQk^e%3U2_6qcD>A(e4-3G|;^>I)wRkI*F}= zW3krDFx`m7D^|*od*?IG(9qX|1)Z&#D{@o<5<~1`y#u%i8xTx9MH^e#a?;5TG#mk+ zu@4Rl0v-m_&(1KWS1t)WNBm0STxBV-I10n|3}lhgKjo;eALn+Vw}bWci6jMX9jP8N zpmQ>jtaC{UOt?2~8aj86SZbzqEG{~nPSfjC`belTAkr36hbn7oB9(@Ua^2rWDr>i= zgI>03)w{%}T8z!`J_DAHvfi^+k8c-(LuJs?A5~XBw>)L!h~Ig3y31zE`D z6)N%)&}D()!eSpX>qlBfnUG|*66|lbWiU+rqHs)!ohlB{(Lss9m(cr$P$Wkqa_EpT z26lWWMTO|EuUlnWb#v)<{elNHd*?h;sxbQ5C_Z;)P}u(Ce}o^>U-Hczi3g(GB(xmh zDvPVj6T!b?{4zx!PcbrpjBfW#kEaf%xo-_S8bd8UM|DR-q&kYK`E!;@U|N`1rn)&& zToE$LBz!)PDz@`vN_Al|mrt=O=^N;Oj(VW`z>mba;%8ZL(w7)_n#Yq8aL+uu$H%X1E1-oBxvKZuL6jfnRP3jMwhf=@b z>afo9D&>BwJxRazOUsHC`ZoP6)-;tqABH5pojiHyQ0JkOhw|WaM{Vz<>S^>frw|QL zsG-4!mbs#dgjuSqa7117MW)EQu5t(z3N33Q&dRN6xNssf^SUP;@I>w%bMIb;ae!?c z##~+;kp~fQ^n(ze5(J5b?*ksVq>6=au^JH<8Ax9)?03TL5*j6gKtLdkb?oTvQuaj; zEJBv0M;9%6iO!&g=Mqk_#wVBF^CETg^M`2wI8V;rUw&Xw``Py!57TdCK^W?ZfdTq` z9Cq!b?~El27OfGDTlD5Y3`&nqBx8#vgoifK-y`8UlfvU39lfK2M7CvMuU}@>k@(OI zp5-u19@~<49?*)a&%AT#L*xarf_ zmQknkSF^T8Il))H2iFaL_QwS^jk?lX9#&qr3t8wlDDXu*?g4K5clP>9q~b~~#q1c1 zRa96}Ug1=q>xc(jeFGlAC7ujT?>|ekWA4C?Nj<%DP92Hu)Rr_@E6+JyG^Ut2vwc(mNt&c9_AL$ zStSzaIVv%yj9(VxT8-g2^VczJoitSEuNND9vD_=qSuALO{`XS$Qc?^cXNm!E{Do&z z;5tGcU}bjDbL-%IT%Wf$?{+vNSs#F4!6Z3nvBL(yI>RnV@d>FzHW&yB3ZDU03{YM} z#`%z@u3+l2DST`dr0^>aoS^^umEv~~3lpI+X!KqjpzV#d1shos&O3LqRrS8=cC&qW zxOT0kPM~qYgyKpCPr-*iRO=8&rPLS7IRyYuPzg30#yiSf)zyQo%8pB}lKtU2ma?*1 zuc{KtSwf1{%H|aEG;&u>&B*VynX7*HEbXYC*-_o`cZPz0hs$Mm|6M(bGEv03@i$CUTpKSd^s{*3hL0HsmP-TQXi-G?u93M zN$W#3>2bHWFKpqfjfJc@+%yziYD!ei#>~{QBxDXBRiscj^Y4aTo33EpaL&ZGlvvnQ zOnn?{f-BYo7pH{mwV?h2p3@yE)${U|HYkn&Kj+{mVY%3tPRF|J z#YM3qHs4^jPU_0~IG8)Z$a#*FR6`h|V9#CH2EGih!h^2Q zRdwLcz?is%kPKeM0fAce4gDN)b|M@7Qic|_w^5JL|Gaup#gePkmjl56l^x$I>xv$)d5U;Zq!IK_ddp=%MB(4Snm55BJ;AN3m4K;s3!Uf zwUB;++DpH!^Ez9pR{Ez!iH5di=#KiCef1ME?ODtHs$Zt_mWdC&NbUXeq0D;xU`sbEA5EC!BBa9J0Ted5J2J_`m! z7^j5^5P_El!RUqbHe*=L$ljI+c(wSk3I>98$$GrpSLh0y)G|Xv_idt zno^s&K5UN%RWejo8)<lr#}P*rI=>Me4o(huv+#kVHE?XnqKsLcTn9A>{7&P< zjMd9OO`DdSeqh=i)2Ban?3P=Os8z3ADp_-wh1#Zd+`u>Lefv6|d~#~ywkMzLI7aKv zT&uqCh06|)={Dd|#2&d@Xlm3Jgd8#YNfel|F<@wF3PQ%t7WDZtd1tH_v46Xl^*Yp_ zGCV4V5egJ5k|E8m6$|_7BS{08sF7VJ91Q0cD%(FABq^&&i6j9A>2OOJ7B2LRMPDW^ zgb)1hz0|g#sUTRuT9ix<@M`Nq0^wQ78*XThc=%#}A%E+YS0=BxVr!)N!V=jXGvqzn zsn5~$`SX215T$>dPq&O53C#Ce?R%8Ja-Ohf@cf?0&`_j@-qhC( zqjQR+^(_`@(=5!n0$uS`R#)KsfDG92M(7&g2mOa@Z;4I-y@0tUxE(;w!N)E7O)l(X zfrVzkaB?8vC)n2qXKhqzpa<|+6Z}Y1CVIvel-Tm*mM!!oYGLNigxu^^BH!X>dT$gR zl^xxF@uSjf)(i!GODSjD%GsF(*;tOc(Xrb;8+Xds--R#d(T%M$6d~GRYi`*dD)oBG zLNc>GVhDx$g2w41>%rXz*fHkD;TRTk%%nso;JygeP)CD1X27=Px@7RMxZ|?D>?brv z|Bvpt2XnCi6o;q|Gy|kSATh+Khg|Rr2L(qym|0CV^UysM_m|tb)a_{SZpZ{3LcDgw zqxQjro`{an?YYNS*@$g>7lfh#A-knZAfQD-icL{1f4OR@ap@JMx0cPkt@NfzP&xrT zH39Zs_EiasjmBc(bU}q+o3P9(P?^ zeW*TwO1MBNw-nUk85HcS-)Dn9O5^hu=RxWe*YjWjCPJJ8cU>SFw9fzRqto?WH*>lf5Yw3;cO%TA8(YH{KWO}JPGO;bYRqV2>_UyUy z&aQp?uDWV#If~3f%kY=`_I2HPV%6`e5R?saj@7$tek=V$l>>qlz1QiqdyM%gfb!k0 z`jFEZs&~~FaD04WmDO(}KRNOB@9B^+F^mv$x41S9>yI|5-p`@~OgL%5WDo`r0}u#S zgkiH~MG5L_vn_H->Ius7vL}js%8p>d#qjP?Uj(hZ60R1cd(+)qEA#~eGrYHW>rkhS zYnryQP_Ba@B%ca!ShwV0btIxJy5It-uF?ZOh(b)sW=ASA(OfLeJ^%dRmKg1Q zR$bFtXy{(Hcy}WzY;4@QsnKksPb&EJmvZlF;jxr;&p$rfU+%3}O>#5}i(wKpbn=)s z2l?rLZ^|qmJ$nb??3KX0nHRD-_xvnc)(o7#{=C(UToEe-;$f*!0zgC-0IabA8>pnd+qgW$RB`>|y@-kc(Ar+hc z*mCxQl*nCgptrQX^b&nZvn6CnqLVN@UaklPS2fzD{1if5u2`heDs2_Ed=aXxPN&t6 zbx`NhhZAUg&=U_f@wpv;IS{#veb3YNo?yKNr8}T4?S6E1nGUgiaMiirQo2;Y9ODSB zl@|IxZu;&-pJpg|9@lI!Ln9CtUsj@8GmX#7X9MyG`(7ef*@M+aJUp}JV*OB;X&m}{ zw^m{oid-V^@%^972oJq>_sf^n`K>{V0rXiJ$vH6c#;`&X1e3~5FM-pC(|Srcjias) zxa3%-U`dI?m-S^BtBpX_kN#zDG%Rx}nWkxHkipo4jP!p{pz<@!c113#A)aIt?M+2R~ke{}kaSDTaKNR|l(`j>E zRH5MbIh>+(%f|cWKli5teywxjgmz7$M_HOks1oS182xzE02G4)18Ru%_wO=Knr)a# z|COXM)~r1pI59SjF@pb%_M20}>Bf}{z}&|g5{J1Q>{Ed>1GyO7Cc7J$2G|~AbQjW* zSYR2I34S(wWX%R7#)xhmU3T!r70OWq%6Q$ZaYv3Ep-;lo5p+3Q#a+T#LjTk`)6#=p z`syv#bz6?4@=ju$FpaGAYk4Q#wyKb>5NyQ8joMiGeAci5rpsPDI3D-NCvgZwnoRtI8^jVCXW?WhbZgX>hXCAfeFW{nDbHsKSGLwVwgkK$&qZe|u< zELgalbs1e5wB*pC!NEkeNaGSoQFySockqYAO@o7XH|jk;&F9EzZENf-AD?iv)HJ%| zQdA3rLu-EdrSq2)-)EH``e*OE-QBwUsq4kTDJT@`ezH4gN3V95Y9{uMUl@yBGpolF z^!0h_f>ps`dgAI>Y&9;^duR040ZbHpy*1Tl?XU8h1%Qt4XF7-qW%#@zon|v|V$}H5psZ0B|yyH{Q731D6Y2 z>sRJn^ZanA>y8VA5M^~#BI)??p@zB9c{ci)paDu*iY$^18_q$yY_4VAWnORQ&tujE z39k1#Azvapc@S`h)EIwS1%2W-!HID(kq02;_~4NB0k)n&fm3hzxRikJnOhZnTCzwg zU_^K{&B*uUWZ_drzQ7PFEG`e4P~e}*We}Y(*b;-tDwI_3!Jqf#o$n@=49~ z{fTXLJ!W}0ltx>+V3P7T|H^2nA7tg~QfEVoViyQCDpzfFol=f2Y+1DJu7VdHI`Vqa zo#)5h^~#}P`K7Z=k~?_`D@wOaR0RY@lMOmckqpT7RI|0PR8mA=k!qy$QGCsCz?E62 zvs!}%QEHbI}Rrg83Igv}1)x2iG7hz;#GclEZ^# zvJuw^-vE`o~!8(sRx@a(oc;w@lJgUkB>?v|7l-1 zxjZn>sGH-p_Rr4zazEI!e)pth^o78<18|B}j5=>_wWjRn%zylp^= zZunW*K66T>eEH=CCQWP!JDHqtwKb|**wj2<7BF2+zx6wL{~TGGljWL>&QJvIA|Ofz z1*q~7NDY%B40!cG>5*kE;{1=Jjn|j}kgzYOWtm_Q2Yo-ijlQ<~I*Q7`5H03$C-j_H z1g!xQeNlzM?~b!LCGwa*(kYb!>14?t?i9cM?1P_(A3ML@WfV+ZTz2C^MM0ZxXk9g@ zrKa3KUtb?JrUzv7*LsDwzP~|hYV1S2e124Ktw!rBD?2JHEf(Oh6)V2IuB6(WjF+lQ z1Ux_=ou1l?!k8rFQ$&mP8hw?+5U6Y9D$B;fq(g~|qbV<+Sgfu$YP3`I<)-dnt=w?k zw{i){DU)kF%)&ExnUjq9s(8|THrIyP+6K^?(CW>UL$}Dhc8DmzIxT77e!u~lQfA@g`rQ(TtKsQ%d3 zck#f$z(xJ^(!oJ@5B*UMX8+aHur@rK-|BnIUL$iv{9Z|YJ$<`2KQJzH<4EcpusI>{ z3SI!r8S{^res$0)95QVfOv7d$G(4trjj?QSwsNvTR1~p}SObCUiYY~4D)DK=YH_3IcEl%F3A84`vVu}K;*ZPB&sjY>YENGN;iM~c-qN9=#f#JL zrZ26Z*c{8hd3)u?_JB)osbAqJuavkYN}o(}@xT|?1>)hxn0sy4I#(N-e>e_YinpRk zdAX_X+H2{3V~yZyU0XcT(Ht!k^@OgCu3sO$HZ;T2e6N4oi!OJ=G>6fovrpO}lb8z@ z%@B(R-V-Y`M=Ng67lmblz5+#1BI(l=_+_dSU;l2LJ~n|u3Eel?=h$rh zvGH|@E;?;pc%Jt1>sFjy4F!_HA+#=JbKBkSUh#0dGS$=`FB%tC)WwP+H`c0@TDH@qId}4Gw*WjBocJu*e^tVIk4h==&Iw%@iz`_}ET^LnLorm% zlb@5-*5RN47%^ncskwh97hMKL5#>dJqCey80L7ua>h^rWi&9a$Nc{P?Z^HF$=5}vU zO{6C7@I5Y&CzOJXWmU~JrRUiiV=Xn5XK3i!p`qYVR{o}t%tx?j*%}eIjJNzep2J|P z<=0vo;ZK4?F_cy`W&SaHk^G#=Xy!`cni;%#OC)E_DV)1RyK)+=LqT2vU}i6Y56=c& z#GF>9!UFdIZ@?3b#_&nAF;9+y`Ky&t;CLLvh6tQE91D#SGSP|zGOcPs<(ZF|!m_`s%ueT!-jYc}W-k1|E z7=ME82hIU8{ef|Q4|9N-PFGBAEku_rjOfC~Fdt-F3@!*RFh)J%kpFrsp=XE%Zy~;O zP}lHDLEURq(%)-TTa%RQJ5&ffjrvRvWVOCS1sw+t{J4Mr{*D8gWLDLZHiT^Mky7nE z>>sM;Dl`vfrW8?Lr_bf3S79=j z4Y<8J9+qIf-!_2!-H52IJOXf;KK`662oictp2Kw@^o!c zu7|3g1Hi&PnR_g_>r(n}ZI>KA?3uy+`)+Y^;$82irIN$+;qRwU=065>YZe1C+%9gfkjAJ|lV#OsRq~u^6#rgq_4<*b@VM2>(43 zt%4CA6PYi&<(6B%s)4{LqiYa;Jm8`b<$VTJnEUjLC+BVNL?WEX2?`g7dM8| z=}>Q|MsKIY)o2BpmoY+n%c!B=wRnu+5Z#3zGVB=9pJ$69C>ydsOCreji&cIV2NfPk zQ^}v{8|#-e6{jivyy1kWbw@J%{#c)w`0~r$gXY1W@(aBL-zrAoszvp&-7*sdnw1A-Hat23H(^1-v|_ zGy9)CAQEy%G*y)l=Tq$Z#>V>0#F!Zg?D5)A-1jtJ)uI%xE~{*|Xx2Jhajy;C3r)}W zf6Y9hJ^S}(xMSACTLiK(SZ`i*k=U<^?Qc2~jUHh)yrWzaLn=!A2Dtr^amGLDpIl-Ec& zuF%*KOgpF;c(H zzsA)!w5WW}G^!5f#Qn32TOQkfDVbWx%$>y%oRWlaa8|Olm6-Pi6%!l+&@*TY zb8512$bXv*2;HE5hWyc~G~m5j4gIe|>kjk;9mJ1)&6Pn*8~SH6iwmH9AW&87P?SLU z+pe2z!UGIhLiAq184n~*yp?irS$AmFbCID7Rj!wsp2-aGMbr>|aD1Sqaf10^+9NK@ zjs}QS1r#0hx3QQDN>Mvzl+EkCD&JaDB`QQ5Ohi$uW=*aavndf@E1#;LJ<&LQH*3Qi zB3Ztt7FXm{`=S6`(C>QO_MpG&=^_|{x_AU(5Q5)?`w680i3vi!9rHtRe}f6Yt^phn z3=71&xJVf64rcr24iyP=ax6FGucfZ}C53@OM}u2N@I-7-r~?W`!J zzn5qvR3!6=u(h$K+_gB=$`_(Qnda3ei_BGGZYxxVa3qCBwYtmfD_lD$X_{DkA9@q! z(5(di@Q!u|x`(#HuvZxPdg33axMI{^eQAk-e$DsM&H6c?-nY`)e|El18q}%-p?r3s zg)5hr2n$&3BK3H0Uy)DfD*q$BJG%UNi{*J_w%ZTZ*Z0)de?yM$SVt`@Z*Q`iz&2rd z!`&cO1LJ=itQVX!sOJU613he@JT;6Q;GX=d^1%Zt8mthBc`=E_%=9+H&@Fjp-`rcpzzrR3PN^I%LIES~qCYSYi66 z08wp3utUO@aW&&x{_JQ9CF;?HB};mV_kIBsSse5rsuqb}FSo8gGJn^Bc5l32m>au0 zF&db)-d?J%uPoNrRmU!vHn3Q6)l75MdEzG<8m#oe%AvDLHZMa0VVS1vzzvl}97-yz zDAndS*c-$mYDY3yA4uM`Zi#;7O7IErnP+&te5ea|jP!Meb57(AyZhi9=6DT&*}yMI zO%>xg!yjQ^N}AP!H#&tY{3>lR?0oPStLu7L1mQS{np7-%j^uzgq4!NJIgVq^?S55B3=y)()2EDRlWUZB+ykUp`M*Gp~!ia|gSq zlrASu=9zTcqo#$!?g)KhsO=6Z+H7#UgL-Bt)_4hlp=_X1)2C9Kk~) zxf5LBhpXBbGv_}SZ%eU%F3))%_%q3>F>)sdj^b#-fFam0?1P*)4+Wj1q15Rbh~-K- z_wOZ_B~e&#%c0xgdXN_D&Bmm6`8Fh)Gf*VAc7n>_1mF*O(g)LB5 zR93abYD1cKp}MZJVye_s-8{a!3k`>CsZbJq5eh8{h3sK;Lw-e>JLG^bUH^1gU9Wy- zDz}U2_Z}eGfIv@AnErmwu7Y%E*1XH|D^>c;g6_HMrTy0yx*a9~3tEbqTh}ijEyYS( z9bvcA`JirimT?x?ZQLVeAM0_@qlFOd;S4)?GfZro>n?&E8f;3iTRVbNJh;tyg31THTzeYj0`}Ot20FH+7lmwPOjO`VY`E zw1?t5E&0_Ibb$|r?Onx<(&2DuSk@@%Y59hYxv}p|}W5JeIn8P*O|$p}FVeYF^w79Ux>m@ZV_JMDc`_oswUr15G*C?8sy zS9PEo=w&UY|AiXpZ`AgP+wEyePBJXHr%q)t4Rj0cdx78D+V^f&E22Z2@Rj+vF+LOv zVBdG;q<{EhU0pH%kAYY`;Apls`J={Y)jca}wAac?BYsUpAUeypYmCc0;^XD!8ewiA z*7zatQ(z4oavnT@=QY5pCJm4H{OAB^VfUyXAP5I+`By#$w)g_P+Y+UL%eL zrNB%1EA%bqfscm0GhA!19qyjM&>jUVOHPLqkj*<1^-i8#40vDwcLck0uqx!o$}E@w zXb>!&1INywu0SFfbei!x&cHIT${Qrx!~#q4BT=U@E|9)#R<+qC8i(AmITaf7jbCu4 zrnhao5=~IC3lRNiwIf~WknJ3m-l2wIz|hbp85t3om4lGGyDy^NH#iq=CwOw=6%WqqKdS1nt_N@3UV&B6Kr;_PV zFfVTj>;w)kDJiTmU=gE-$pL+9N4z?Pk|~MJ+3K;@fnlFvZI#_G`2UFa0@@FMnME?> z4l@Z}mC*fbkm7Q#;G2bB`q7*d5^3W<^>|@ftubETrj^MHL*kaO!`B&@8?Gu|I%^h; zJDJg~B=JU^Q+qCHr?@w-DIOIV4It2PsdNUwQU=IlnNE#7m%KRrG#tbLoZ0NVdH3X1xDabKjIH$1bDujNh; z4Go2+pF4eKk7i()a1X}nGC9F^%n;u*J)7X{=5!hdmX7h@axIQIa7axYkXJ_CVX232 zuwH`|l4Bk_lhgd4x~=>DpLL+sv|?oKMApn&YHsGeRuRcFm=a{#ZZ((iGUN2_n0SFJrystN^4BOK}C>g&g>EXWehpS%eC=h6Nj#%#~z z&3WhM?Sxn#W1u*dMjjv)Oi0VHP_RSCBaP*-vBcdZ;Q`N}1d9z8T>B2rA%XpKP2}-n z5ewj{Lp%sS;ML^YGsvj?*oaIY+(@ohBIZbWOD0^U3sgp{;_jdhJrJq1MxjUDIqiQu zl0MjirlI*%y)R&zy0Z1-%aZ zy{9Hwt>diL$|{=Olva;RU9SlS;}evVJG7c8GRwQ>%LQfu_vh~grstmrs>HE!He1Z{ zbX0RocuE^PVhR-t+$}aLJ=ruojVE;8qwVd}4*wrgFiafs!WdmppLaG?9pynG5uDop z(guut5|eFK->reuCFs6q)kRgDmB*!{JK42 z{>Ku&nnE7WT#v`@c{%%;R{4AjypUMdQzdwfp#d8h_egv|}#vNmKk zE!qImytPtXF3WMb4v+YTxx80D;1ZBes2Fq4Qlci|2cRmsyiqHaT?J4Vkk2m%Zuo1gdWbo2 zKN}hJ4ZxihnQ3^7A(y{4??UM124@VLUoa(77r5Zq47u^)0tq8W45HxwW*ad*7L~uA z<-%bRY=T3cG0P4%YsC2>a|2-UvH8c*HT>@+yN6}jef38lT_G>Ju&B`a!j1x?y$9Nx zj`vk54ydgSfzl=c`%Tr$@mXDEp;>CWJDP<<{lgYGvgs-Ymi3* z!;#;^4k(m(LmB9niLDrK0sEh4^m5LbdK2g#?>9#`Z>Cr41RkF8K|zt7$7+ggpxk;< zoztWcRvEnY)&iNw=1KR=q2zXxqM?9i{f0h)l=O*jzWGL5#&hvYjtb=Db?aFkv6j5f zruNp@6!{*T8(zl~HJB8265fgBXY6CVbNAi;=)x(3+`(DAIo$%Skn^8!1Wl}R354vb z0>8Jc(_2)UXwobl=JErwN%M=_$DxedJ;(2#;qkz~=Vo+rr%dDxPZ8!`Dk&!~ZLBX# zhD$`uOG~WqQt`y(Ny7a2jfqx;W6NRlsJxbw_p|O}MF2&yf=(mOTLt(KP?V6}O9nwE zMFzQWgJY>MQ$gG0i4BAFXPx=zI7P>FEt^{#`!03NH`SEJ3*$D=#nD6GYrnax-#{Os zP*Xlj=(2^K!GQ^b@+SEmm#n)%^WgTrX^$({tzRh0U*-%K=MZpehh=hiSqFWyG}7lxL>F7SWEHZcYKmp4bLr*g z>*tSG&~IZJ3Wsvc>Lw5_16rt)mp#m96HU(i)Tf3nbTt47n<9h`5QSpv5&V2VF={km&Z4_=b) ze^_4-ml-GZw{&z|G$G2xAvF?Dq++OhdC zv}SL!c2-niSfX&a%bwZo>@twIK54x#5FjzL~NrHNQgIqMU4+Sb5eBhFcfcsxph>k_q!P5q&Q; zu1w0EIyrxM_LEPJ8z}tzwvvv%{}iQ*f`N{hZhpFg>0iR!|6wb4?1U;X2!`J#cD ztMAxXs*Gt>dwZ*JKhT;hWTLo8c{IMexG+{8isACtbpCE7!kAor3F}&b86d8wm%qlJJ=gHr7mov=VT=;^*@CX?TG#S^TiLg zHiU259K(}TzGdXA^mkJ{2Kwq43(u(%KyT@O*f%I+P(YBuQ9yk@c7kC5O4d)q zwg=w`^UU)ov7@MfL{{$4F!E)FrYNWTGpc1xEB$s&V0(i8OEuC+)uJYe$F}PH`+gC> zcQaI#KgmL6N?wPc6scx*>sKx=xtz7VzHQCSF1fm>N#eDwyY#V>dE!qGM(gPN*~nUw z-;u9H{AIKCOIK@OU|-;B-9Dc(*T)O}beXS37C_pnfF>QD7SlDV9lmB!yujJOcRLD7 zih^=&9WTZ;wYtM}*cwoG#O5UpaR41!6>+I2#1Hw4HIksz;4X{_%x&QoyiSl=2fK)E z4&$TA@Vp)pP~sU_h`72eJTbz9vRe+PG-o&eOZ*>ehsf{6Pd}v!CiQD4^=>&#za>Pr z{j?IsSEVRaOTS)ZZ8j!qW-1yCjN+-7X5DmG#Y1ZY#XsQY4Z-_SZ<#SruFPB!uW6|X zqFdq>ot+i&N3U9OiR{>gfq@Dv+w*2z9Emhud-o4`pG_x^u$}{s0Gm`Ez&=BdZCpC` ztHQexBXrt?_OI`R#l)8k`IkATN49K1H}6+A$kNCs5pnJ=Nczo2^cB@ct+Lm6f)V>K z1(hCSbJd{4QpzP-$<$pwaYf}h6MUk#_V2$v7 zNcz*2;r{mzebsKYwtK6MzV`T^Z(4kftzX6_N z`u_U|lY8&KA3jqSXJZg@@iV4R_fMjK7+PI=(~`Ql=6>Z*o#Q9B1XHuNAIopbU%T!6 z#j0lIC9lz!_CzkdG}40>_e5vTjP_J?rA*zxECWQ_06f|kST#geF}h81sZ{zO=~Sxs+I)?^0LFppl8K5M zP9$PMvo~~?i?(yNbKk6Thh5e4OA~>e=`=JA^Q14?xI)@2-8pZ#3z`a+Hl{mu?c-prERYAl z*dLRV!~8s$3MFOesF-fW@DUlc2dWRiBhYyc`KVOnmM@zY7)j-0;PzB$A^(ZPd=+#E zd?1nnZ(19jesN(4jvpU3&ApdGq{BQ9Ze*o8%qS`uZfv?x_XaR&P36-Yi=)w_~2_ zikYrX1A=85oU)+Z-?M7-orQnzjy>=|tQ%cC;FEXu_c3Qg2|21~S+?wY6hrThQyJ*w zCNKvrw-U@<;ycAaz8PGrvB!dOv&JYxG9NJKisfJ_H0xG!p?`V}gu+Nq|&CSzB}YDrjbb4#i#gGmqk)Ea2H1?5E(zMdXm;;iB6%c755wDyqv zt*aWG4}stE$Cy;c)nT6Tal?~jM!o|XV~*3tJ#$s|{{N_UohbV8b@g5J3nFAeav~@N zB@T1U*;S~PW{*{iHhq?PLzh`Jt;OM+yjHxtQ?c%$e6dkHXCOYPp4-*ZuTJ__d>0k= zMVqFSCH%|2o18ses6^?L)O1eq%uq+lRDt#Sn2x2}v_jS_-Mp@Uwesd=wJ|k_Pg}?M zCVz7JxlapITRqm!a5NNbNGKZwlBm6TY0~eDPj2t<`06|n`nWWZZc7J!HNME_f@N{$ zz=4pl^Auo9nfiQ;cWi~#gmV@F6>MU(C@EvZE@DotU}N;#YfHQnoMOrvudKQPd4wM* zNuN+)Td}}NVVdRPMwxJwVZBM>$^CWzjaL^H9-*A%IMUODRSh*!7d5`oBwof@&YZ~8 z>Myh0{Q3*rDfJGGwaDu>l-!?w>ZuRqdK^lC!nm*{YbKy%gohhh!|BHA5W~ed%`E-ZmYk~o#u!ORTV>^V zef*Qzk&k=VJcWCtQVw0wrj|8t_R#&)(1Ph*Yt}r}&igCp{te zf~>q|3o`aj!k1@&{_6iRb|r94*YDrYcVioaZR|dP!59qKU<}v>8@s>TIL0^x1Qo>t z?>q1NC^O3}JIu1uOe@VhGczqUEju*xXZh1kyR5AKmEF0o|L61F7sT@TZLa~skk9el z&-;0vMZ1!zLxH?9f{n{CHnpMW?-~m6j%6MHl75n`g>;36Rye`ar3Yl)G>K<2$^i{H zH%^xr%MXMIu~C42#PtA8Snw@5&}5fF>|rOsyMe>6wk2p9?T&Qf=rT>)UHv1#6N-EP z4DGT2$nar!;_>5mNJY0Mi;|1b`M9pw_+?6Jl|p#Qdg zG^8L=l3bLGMpf!lCb7%sj5CJyd1X5Fp4!)6UyEiF`BnAQ9Q&>;W0n;%$v*m2NhbU9Q(Mv(4Xv4b7 z{`q=WGXj1kV_of*g9fB(KPXA%U=Dkp99~3H=#@=Go5|0z%K+#Z4d~dna>9e7U z#qcm&ES4{G`sL-7OnprL`hEE>HP$bYsy-E^26u5@ezc^*;x5ax<^23}jxDdOz~&qH z^aWqQQCH^(bc`K8!1p2|`gjbLP;J^0ZTx1#XP+hE%RfT+~sBhk#ZwWthZ;Tr5MSH?{ns4Uimswj_36OKcbNgUyLk{D; z;y9FD4F47VjKj82cWYr>K1<}8_s`3`Z8eCqZuCX!tv=X@ip&*I-Q-U z9wt)=>gt>xQup2p*~~pe>>cz1jMW}Teas1j^ckq~WL6k=&wAm*_M*rJr20I?9x9NH zzcU!@pf;bnHK%$fUCz_-f?Aa?g9^`c<|31&c#6T|D$eHOcet4!d{I=4DIk)``_s4?!dz`g{zCSLG3}YI@d@lt73PexqDtj5e!7@87cWL=c!(lOx z(!!UPwkL^UvDGVB!}&kgjp;uwG(UTMCx7_e32(ji-g{roglmf(`TFaRKSo~;UJRr( z*VjSx`eDk#JhR!M5qX6fscL7?9rRNdAIH~2oe6q+yI=w##7s-*9EBQe7kX_r0Ojg) zGjl*#z{$m*SLhr9|0QT6E;U%UosCu_Ps++Is4w+2u6E3;E1$#~V=;)SR+RB5dA}&w z6g0>mB_9oKfO4*2f+TMP{5_<+`~qZ9 zZa`8;t3IOdU^V4w`ORml1&SZSTepTk5^E|`rKkJk!Cw%WUcQcF^1a^YCjW`vvm&;fmgi|CJ$!*)nPZhGDTy=&C#=fC~HCy4% zUxhV`>C6vf?dl&ts_7D=yZ2h5Sh zcV>etyy*(!{j757DKQeMk^tbB0X=Y?WuOnL1_f#~9O?wcHY@HP9361SmiMj1jO(uF zFU^46Y~qk-C6;i*DGFw0&y)22+78lsu*`cO9Ql1 z39d@vf>7dOWZsR*oOsV{F-t_m`h<-ooe9YGnsC|<6k<~^ByuxSGt}~|BxrRE)(BC{ zVkPs^RQ94+IXB>%GpBaWoaRhUv@qSHsV2g5DW@ff_=1e=%y0Bn*(f`K6BGx6c}nVw zP*wOFxmcdSVG}~0R$8pjPO>|F=^2T9gbKrA>1UWyUe6STbmE_w+c}#`(>LDl9@uXZ zSQEXV{S`JPFyaG;J8wcI#4f~+J&IB;fp$DKzt+t60);ROEe&#W`oac?EwO3AAOR}c zMt-i6k{bE@%-?@iC=79xe`4yud}g}5l|FY7RIh_=3l>AyLLiowbJMl3_WukeV@UWH zVfgsx*yCd=b9vT4s#6gqiZhj5(!wnd%$N}YQ^Jp438JK6koxu2z~?G4sZjohUXZZh z6)8WIB>OAy+;dp2<8#6D7;%>YI2p`Da4v2*Au;Qwt3j6{=wg)GF!A=fQf_%e_o);$ zaYE$nx7T`Erc3X6Ni6b-__-)lSjJ(lIV?yC3&elK&xHl&vYYh*tb-G;g@^FD9V~(y z90(JK#Kl-((u0`*&X*0cV07HQ$J8hT^uZybL@|=(3=JW7&Q;CFz^c8=^j}XD=d<7${pM)%k=5B=+~n0sLo@^QJfIpv#e;| zqLfL7H0L;HrGZ3GG?hN}Y0Vuu>56nW2$SFC;($!?DsxSnCCOm`u%y5}#X{U5r*Pd< z${n9aosh<~IraA2w#sKtn7J_c#-n|7X(x_=c?>jF1ojW!Un2B2tpxoDH-m+)UIM7Q zoA4TFGlR&R3|X&K50311S35@*rPw6yl(n@mZz+*h_c9lDW1V#=ZP! zoeOOl*-BCWQF&&8&8+o7cp_}zn5(#z_F1!{Xk5czf1zaRcj59`xr6RE6mFZE`@qvF ze^HPdnn8Xik_S}cW3(0&nVuJkLt-)F!s1`JEqFFGcDvJ4@NoOURVI&p+oaIhAS@g1 z!vH*v>&=CLDFKShp-&YQI(WYrtwGzIP%&)4N}e$?6gN;^%>IZePrt%1FO5F?Y*YI_ zw~`Yk2p(4^&edlQD~|RbY?(btMn#(ob2&Okw}2`Pa*L{`O^a9?3Q2*8#i!m6QFGHx zlgOjoP^2j*FIj*z4wjI5r)Hk@u|{fzDv=mZekl=?DT)&eyX}EJCngnR#`4 z-N@qTV$&V#*Pl6~uPhqR>dea)o<6;9-ICn9`s6m>uKNlaED~sX=ClE^ABkIMubGxi zI2B`u)Q>5h-uLNY-kS4^2RH^)R5oClmtqW7z`t(&th%cD>qWsJRJcvHx%~eA)jp8C zu$LmZr-RTJ1g+;5BaxGska2m`?pmD3Yu{37sg`5^{f=zKe%@Rt!4qK4vbA_ zi*7(zjCDc0*y}RrTRF7t`Gbi5`rdogtDtoWk0;%$u4ZBLpft$Qwa=a%)dqto5I`xQ z=6(zy71q3Awe)?4JFw>EsA$cb0Q%)wh%aNAi>D1&V5G>+R|45?+VG9zDsWr{a^SQ_ zitN}-f?la(rszwPjAdFMHVBkbj*a97+)(#|TDAOWnnT^r@@8f=h8lG!7^*det+9)T z5#Q|%QfH52!%e6OD3oWJ1-~Mdge3A9a5MFi$b|M%VHiakN(?5=KH`dpAXz}7u0>#{*DUV&9~3#qFuIoxRl8aJ-qu%WK* zXBTxw_Ru`Th&6e}rzhkgQQi-kVXaRA`!jHScCOzAQfkzw5;OOglPA#})(=N-qmGlq zo+|SdtRB$uh{-qRbf!@AC$p!|rGl_fdIt7H9+1fOtP8YEV)rTpI>G)1&ao9il_1z; zbO#UUXbye`1aZpZR%f^WK}WN$&kJ3&)Bl;DpLynIvB@2+u2RU;5>wcTY<85*NlH{o z^RhDshsl-(9Z?dET^?F&;-}T5d$LOiFK9}40XJYCKfV?{ffUrY@OqlMrG7!$=M0Oy1=c`{=qK1Omc0bT0=BTW z(sUR2pC~S_>v1>)o?wU5@)*bte}N+(D6`3s&n?xbIdsK@Q7z+^nz*GULxx0%TUCR2 zZHhGh-blwSeOq{sZV=g1A6zX(h72IIb0RsZ5q{iaq;0R)BuU|92`04IR(6;zDj-lS zft8z~q=)~~}Ju#BZ|0PqZPiwko#gteiP2|i&J{|^uB z3gN~5Rs0_2rqGf(6-CG~veVqBynmRQguZPVFR-w;l{7$qp*0z#zn1V>a|G0nobo`L zE31wbhRmm@hEv{W*|G>RCGe3%5@-oo-39f{fxv{pNk&$1!l3-{APQS9*oj7NkAm^h zgaxmQQ^HBgpRv(P^eTY-F76Af16=L@AO+&6W%@dxu$&fTurD-X8W@xLQAW2Zcwl@7 z%CYhN)10Z+DU)g^K4ut+vrA}ll&*Z{@l3Qid3rHT`;p*2R0D$OHI!5Pz*s@L5% z?_lcFw~QvtRyzy(6RbXOW=1j}>HTnzR@e*n zwdFLuVLb@XcxYW>qup)J%`Ia>iJrQ>?zE`2wIW!Pi_o+3hd&@5pC7k_yA-3_!6^%Y zVnn}J;sEmQ58F#?HX!vUVq3^8ofPddeHqz|P2Xf0HhnR@v7m?dW|%{k3o&gkUHOQY z$PimXS&!&Cv?RNkO@iVx7UeS9bdQ@|ST|w737A@tyye0?ABZXtmw9eqdHxi=u0W)O zd3Pu&Q&SKmTw19tIkv%9l*bZ9RK+S6k*5(QIMcWpo__tRiBz%*N+{}U8|_tOFj&2^ z%%0fXhp0wRNPPs6#Mf%vb|Uh|cLQ@vvIGh26rnC7HB-qC@oh(5EhN8^NvgTp|I)G$ zI8nk4@nonM7KQ;fU#-g^jQk&{*T(qylG*ipQCqqGiI-Qq@ z7`qzlUmjyug9QmkR;EDA4#D~X2kjre3~;4Hih&@sWdAqAb}6zooi^$qGp zA}ko))5=Li^L>+tKcL<)VZu7igPjfK{#n*-Ig8p$ZCt0VTN1hLTzxA@qC?{z;bkXE z?m(RZYgw5!03FR?6(|8M5C%RID@nEFJ({|O1qXmGxavRY z2mz*xV#s&kx~vq2g5geKJ`0W$(3W-)PC7wu_-0!|za>rg`ODDzFO+Y!^uHr>3Gz}0 zZ<|qJ6$GFH4|F;j|%(wltxxD38dcF{3Wu$aqfWdo%Ek}!pxT^Z6wfsMXJGSrKnHeZ+YIjoe#+4Tp zT#6#0#^li}kNhVzrgMe#$;p#eYnG1af4IY$$}cvjd-Y&i2&Ei*DaTVhetZ;tx`p~U zZAt6U`xB^Bdn?*MUW>Sc2a~no%yQ=z|L$9Q7X%6i4=D)bwhcyW$oCZjzf$r!!>ezJ zvBc@JE7;)EZG<=@t{cy%D?@rE#3MJhn_IQ5bT9(rDS-xC6PGs1KYsh8Lo9(~=qgclwV@Jg|cUsJYaS#0|qx($QD= z=^2@+e0hpr9!yI^KMxoJLtSqtPp8PPNuRO4WWkBGFs8#0Ak#@s5)tzIRibh2f#8fL zSK71E3(|79^W4j8z;`JI+s1PZ?fy?U1&EtATNon@>kvjxVz(Fd9#mAuDYtfoQUW$^ zn*p2@;`!r^PZU1dyLRyNmIK4y{{GUXTEwCL0(1DdSQS=FzGZmplq@+cPyQM-z@fm_ z^}!8Wsqtv}bC3Gh><;WAZ@Z1$MdK$ovYvx`xsqx1gMTZh^Qb_eV0i$w;ZiK{!a?1| z6MOLU>xucUAj(s92WwDL9TG$i9Xdq)bnxK8xuRz$n#(ct3@Xnf_h1wc!i)a?lZpbE-Yg)bl2zw@QJI|3CDYrbwcM} z*ebSLibQ^$7IVJo&Zl?n!VGwpH4(49}R+x7a7Gm7)ft;jqL}bjE-J?g(NDm@Q zS`r@yINlnWBAz;~xU(~50*_az6Rmym#mJb*&Yj0ZnXxr3rW{skId&mgMvaVXD3804 z=#by0TJDdkYztPbSP^SW4Dz`7k;u6*sCL#mho@xz@Uk4%_UBiSz2QN9zx?4PMq)V$ zrxOyYx?Ia60ukd{Vw*C7_F-Ox^Xck+0QFgPFCYYwAzZG@!fNOG8|@O|??ecKs)n&G ztMF?ju^{%$s6d7wKa}pvhwv#xv|JS&9GR%yMD&ksK*D3k{BOp1fdH|Eyr2>WBUa{rFqp=EU#L@D@Tv!_}fkhnp&N~${Zxvu2}mmB;{UQTUV83^+nsxh6Pfb zLL@&{O2d%nWK6Nw!~Kj#rzR!N?940T6k4#zVil)}Io0XhLf@D%(TZvXm(cOV!I~sd@4krO7T8TyESEk* z!l633oEn`9wS@**`$g-bgG-0kqN$6PwCp11-?6BI{8OX|$tABbcKS9YH_VqK8JrOn zBTr3P{3u`;TcRew;To<_a_7(^ zOM}NKiO+|Apx0*teg87c0ajcQt{*}8&t8-AdW25sfG=IoW&rlFL)sWJCd3Mq8CyHJ zXH0@l2+}c$I>fH0KCkfBIz$q?IqIwWvJ6;bbhMc2HrfYvsGUv2_VAhj3db}$C?A3-1R!{cj_{bg}p$p$5(#McnY&#B}fYB21&<)rI=1YKhe*4T1Aek+S2XZ{9>&~Q4M%2 z5Kj(nb?J;5(Wm^a=CHZf4%+%M=h5Gm3AxiXFl8Tf{-(w7ueKJ8< zk`e<)Y`K2YeAVp>GA7-TdIz;2h&w$8A0shlg?tR?hz)f90&63y9OxWRG=R7k-3tNk zCT`$kO2$B(o6|me6WvFRj~vTX)G1OCKT3_Cd>u*a_?tTHBfbeYCe^!RN*|j0?YD?^ zebR?z!aDN+Z~Pj|22#t^s|xqAKoB(qOBM9NRlYEDoDjOs&F)6=U=a8}avT`o4gUj( zFC3T$VF#PMDtU-1s?(m;q*oI!Qls+gtu(erMAf4m)a_{2T}RmHD3S;t+JXjA&;p=J zm~=Wb>MS;RD@LqJUC?B%5XsE0oC)_NBfGo2PmP({jaJ!O`wdV{8`67}eqgAD$gQX@ z&Q($+0Pjpq@FgUr8lB-XKlIH{(3FX|!Ll&%IyX1X*S|6~-IkkHmFLVVl}f}?lQ-Z? z9i0{RyZiY46KczKZllkxcWOZ2kyoqNe_H(DsbixWn?v~R7?2=GAEP$vnOfhV@?zG% zt^KBGEo!TcMr)~O(8O%2ikqf2Yj(i($FKm_POOTfuazYe#2ihiV0>IoaA!O%UFe&BKP8`?05 z<1$31{c*#D1!o!C5Gr8}4sN0j(Q7M)GsM^xyf!DS4G7`p5(;P1arlW*VZbKfHWMsB z`y3RM?$Kro(E z00xI;V^*de*sgX;T_6BJI9Q7LCSOKKLPBswooIJ)NE;v==HJVzVcjkN`1N0eG4+3hJ9k3=YFWEOM)(;@rhtm0NXIJ>j?wX@1x6ciYm#qKqW4(*;JXajke*tn~c$QEO&L!avMmNw$-I}&5 z+yj+5G`!m`k7;x@h`WfBb>wF>&$N7}>QW9^EHjef3Cj=;c8?Tlt>fcXZeVyf6=DMIf;~ zhgup!cbPG* z+`Q1}(NW^w>T0T_y87Usl{;&9R{eF5m_&Xrl?4^Dw;1F2c}VCb$^i(ndpC8In(p<& zkmJ8mGuQ{;pdr-b&`#xPYBSsc8*&j_>3k%P8~QOKnf9$=Q8(aIX6*?OF1(^{Y~5;z zjvRg)MSs*&WpgWY1!0@khZFUX4R?6CE)ufg1cYzI`^C$K8(OD{-zId*0%$IXs@tgb znI(80NeQuv{7xkfq<2GG_J{=l%Ry}5$&G2_#!TH;;L3euP~fR2iUCqiHJ(2YXK%W^ z33{CCp?f~;BL~hNjuxI>!6EvfvHGB2SUo~Z0sKSSWWd%P{u!Rp2VckKBZqb1^Ex~- zF?q__Lx7)U9(1RteQHN9kp=ETD0?Qr7lt3tK`X(laNFO`&>7X-p9xzHk z%F#$9w6&Z&ULed)p4%wR_Q}IM&c;EOb@R5ew=aIKJUBGBlhjMovn^~fTT`m^unLu8 zjzh;SD(UE`LEl-*%Zl@238F-hjOBo8SE`lPG$dU0N|if#36hfE@gzqnUerjPI^NzG zZ0LJSwI?#K&(e`Cb|_SeM`ncudt`~20{K9J-c`GfS5^47KYJo}QlFe)s%=OJ){$v) zR#pH(B|SbL^W`02*ZSZ-Ei`_IJ{L@5|H{ZRat+{N-EC;V)WM00E?q}^bXbi{xDLz> zz54@Y9OtwYd{JK%s`gh3#2>xNF{?t}h{v~Nawh1v>tWm)gBPezU$YJP{HedD$9_;g zdrDqtDG>(QL=1V7s5gIrC_|m#WgDbj z@A90UF_Z2w~6Fz9WnLc~?iUo&%11-yJ z79ENbsr8Gfuc_GcG3q-cYe1?+)WUuf^UHXa@^s%nLLO>3bU1oq^rfUp3P85RJ#b|2ms6TF6T(ej)QuT)Z)}Jut6Pbd7jj(|P@*XRi!c7HS!{Ax z?uwvR+p@9tQNSmk3srW+4y=YpfVu=pa>0j;N<9oJRg^*j_fu~I{(DW)j0%fyuK7#b zm_^nFct0$lwe`Rwb~^Uk4^tapaj_=BRvuP2Ah5AR%1~fjNX9?nMj${^G|OWlL3QUmUj``a8BlwL?SrOFixkdgaW9Gke>#58c_D+bC#iyis^0b>Z1WI&OD zJ)!F~+K7hwkE|=NEvbr@M4U6~$|KfLjkU%(BjTjLSL38MT01%i6j84Yy(9m`;2Nf z9)WYq0Wpk06E;>nSwOQkrub_J=zl6Bv>EN3J!oX_2%)Nbbo%;qqlR)PR-~<+{sXme z*eJJNP~_>#es)1L2|?%F#j$xdXl*&j#`3J3Ql*tUojg<3l$9~o*IyGIVemi5(}K-U*uJ;HbG$kNZ_c^vJb zsv<<)#r>bAO`1*(pFSz=)BQxRn}+9z9Ywjh)cJXe#IWjUFdH#mUG23;6 zZ?v2?GySY|pmP9RhHlEEc!DIn=~~jbi-_SJOq6@%#D6BDxIsWi*AlP6%rQel`VdyT z#vqK(UF>!F+_}0lXJWB$OFAm8bvO_~$ACU#ROZ`s3<#q*x!VQN?Se-Oe7ck z$BgkWrd}v%Y%YdI$k^U|0cLDi!QL#si3hZ>`7>fmSf5r4ATb`Gd$Xvg>(Fm2rcU)tKu+>A z+ATfJFv%g>E&U5FD9K!AmW$YkAP7wf;*HC3dIP$Eng{>r29H45)f7<^ap}3)fpoVF(s8L`uG7TLt^&|X1ZC7siipzC?Ng2YX3Q+OZOWp* z(mtHpJjm$j=h^$;v|a71`&Vb73op)^rTBXymVDI==;VoBL4>sJomUwKapE`>8A(T6DV8^VpMlbjNsda%;OJQ5Y z;^#U&fLH3AUQ;7dp%Ia(6Ymr$wRO~*sL(CanY)2a#5!sX`lV(d67->dv-o_L0#TZ^ zsK!(4&M&7q)S3Mvy7^3Z)lDwM{lEppt}qSn#qtFrLvbG&D@1#l6(Sg1 z0}6Hg+t+~H67d&{cNZ0#|93wI)HuX-XeY+XGv{M+pEOVB|P$9NVw2DCiA# zTg!Boxx1khn9Hz3;Bn* zhVWP|rB%%j_#@?MfdO^ZY1J+Ah89^>wg17UD(~cE{utK~eAl@kf8PNAi-f&lPg9Ot zE`UvsR|?TyFluPNgw$tGEpj!r(@d{pf>O|tncif)I*YZ9`Z)n*Q5PH^WsiBpVB9!0 z`&Z9zHbZwl(Nmh##{hTU)Kq9>BX&Y87N!2Onu6wHBBXba<$B^Z|2}q>kv!EIDt%_m zn2jZ&&QrN6Aw@Bg>{~h+auOsN`9g{;-ndCT=hjL9b9*o(PABM7sGhT=5N5LC1697XskJrJ)BU>1Rrtor6D5IwJzF>XO-G4u(7>bmz0BCz|7 zBA}Np^^3#5azyq|&*BVGh4?AXa(kY|;3*SlY0BxkUK!Wo<5sw)PK}_wgJdC&pweZt zSar4#GROL$;=linT!Ki+c7dd5!8PZhr~Yh z$>tvuqvZJei>CIU-f_#?Kwzz(@Wc*55EAciGuV7sKht%BaI5loKX>So--Y?biLM@V zZ|FihF>v+G6c{AO4sA(%@i|_gtdTpwQ3#m&*sp}@Ynj3ADtTmFE`!4+i1_p7OA zl|+F2LMrN6G6)6w-6ew{m#{9z`&7Urg2R+7<&HoN+USCVckAY4^ z>uvTj)}aj#QS%?$v?jG{t#Sv7by#Hw+Fk_;B{X%yES?q;cRU7G@DHi>Q zq3DkN%#hyOgKX9>s{4C7VxOd$K*uNjX!acu=aGx(APGI1!h9r#Jc9qs; z*qO0M;`j%!M&OJfncG!o!ONn9w|Z!P2RscSYcYqIY0-b2W!Ul3OVuyM-T{u~>Pr8` z$)xG=+8VwPNz%>l9)giyvV=;4NMI%LWGT8d)zIPwG4*}Uw1wOu)moy~VXY|f1FUf0 zbn*w8Fq9%c%k26P&BqY2-LT=X=eC0at=0t`U{a^N6cQb`>B8_Xk zK{lK*XS!h;m?HG?W~kWZ0H(?&p4tHq>e4QFOl~SH8B}zqHqh&67IpiG zQ6(k3a&VWJirRpU$JV4xI_*+R&wAZGcHq1k{rM zGPc$sSu&WIzd+V5*0KM)6mRqF0<;`Ospppa|0@ml89xb34d7B8;|8|3f+j)cV=J#$JAI8_9H)ij zC>uXMg5Iwh5lOGeY9;EFYCg4&mz2a|PgM^t8q0Pf`}6GQxT+y zlf2btpo0%YiY1yArK;Hd`~3jq1>D@x>D zTE(pbNLFoUr%%g*65cMbOEpR){J%rnwm%vmbeQ`WF{{so{tuyH)atLoQYlKrV3%*x zQmPfocbI#8UVS?`DF~CnC(-N1b$eaw&S%yQi^kv`+(hNZONOd79pHs&n(MX^uB@B7 zgDvon~gJH}nXZG|4kIcCmZa7qsGVx;(yW zVZrli!cPs?+~R%Q?|&R)ud#j8g*n1Kg0tvM7IwlAvwYmn3?L;}2nveqps4rShmS4b zE<*gg4qXD&3yh+tU$;=}h7j3?hT;Kej0%c8XVn=;xr`iZ9C1{vm-C!1PF^#PqUe73 zf%$_03-nJ zY=XP3v;p-1D`RjzJv$0y+YMwIv+!QnXT#DA>oQD2SjKmyl;C=pqhPgSZ28}SE#KRD z9b`EXHYdIm*$Yr~OjMB-B`PavwLof?qb|v8OF+$wUzst(xp=X2#+d6P&yx_d(?P^BMECT*ktSoLb^>t6RreWB#n1>? zy&SR`aElmP2W}@Fu0_svlTlboBYnH-VSI&PjT7HcALn@TD^ayf%ctJxjNDNV;Hn+& z$!3*`}%Y8}g^j%b86bFuzf922kX1$2jK@ulI`IaVaes;f`@rHH~^_J2H9D@Sh}2P$K`7(QCo5Z1CpYdqBUik9Dp3fq3W$!?6Fe9&dq}`X zWd~CfC%4y((N_5%L$90j3O{nV1J?F-D3SU~EGK1(GYoAUzWCgE7@T$(%jJv^)Tyv>RV)Anbm4#GcbRKwuGgK~70Uni+^#>Kv{ z;#N9?b2sCKDlK}AF;^7N#pIDuvE2eUuc!Jh381K86wh0o!vZEi^tRF29-H1Ar_Cj;4DL z!sqxVA$*3FJdW1`bHmdA7j?7_?WF2H{IC`ErnW{;e#j~+ahr2%5%u1$zaERiw?<#j z3q3Y&9QAW&EVj)(aoK-59Rohtimcysk`t*XY&PPx8~UB>UKwD=;kYR78D5BcT=(SN z8_1w8B??i&gs%3G9MHT#zgO`u9W#q(UYU>BQ-_nG9TIE<;VzS8v$Y}APYrFE zLu(&CsFNOROEZPCO`g=mC@*bkfi|QujDK6Eer|cN#SrmDsBicw6C~)J(u#^b1*)tp zWG255OG9$`X-2*sfXfFuN0`5-aR_O0ZfYjmXeyPfxje*XCnu|vvh{t;on;}{c)z>Y z@2HY{+FA#*`wVQXl({SY6{Y^sUYE7c1xvqlZZhZvJ?I787qF}QrYfG3jz`%s)5~!e zf6OX+AR|^6aD^cvkdE+#w}GmM%B>s91h@b_nqSvPoqpZYjIvINn~HVcrmqg*|KG5jV-7Y zj_@q@FZ0aw`)7KVS;VSC%yDgk;{sfg8tk0HLEz-z`h{&E>+H0xlOK;f$9=Y&`|;hL z4$f=gEq8r}{46}Li(C z;OWyacaVGf^krxvQjhUHU%6ag{q75JSle^r&=wZwDh5Z@#L>8x%B_m!~&-UVDKu9@{hb|qf_ zL~BIQTk)FM>k4*hmjZ;F2H_EB6}Z=b+ePuAym7<{ajC{)wbVY*TA0jA%Z%TuO3HN< zCb~<;j*ZkCpKbd1l1NZ1NJiD4_IbwGSWE4#B#hMenQmxh5=_-3Qr{PiaJxO@(8J{; z>K)DKgO=gLTUL^nd#SjUDdOFX?pq1CYiLQGje(sXRE$|4$S>iP=mXDoR+t-$izB_s zAK4TtxOW{m77cSU?&w{+c`FJZJgvee)!CsgEQU~Xv<8U)M zEkSOk5O7`w9~01roD&aYLN*RyRBSw9tGi1is|@B8-QUlXaHwRnrFjife{ zZAyzjTj=UC7sMPIm;;ITe#>V)>MJi%N6M2xD z%h%^YgovmrtZp@SYzz3Uz5-&rtF~e3(s5N~HjBkp7Cx_$1k+_#Iy+zl42+bmd`n>E-PpIYU1YS~NPKKeuUgfg-?b@l!(r3fT z8K6!X<22*_wQ-~$#0D4u@h7+hIA#{Nx!`oJ&KX190v!qI*?{Q^9)ywVtmz*;4K*2u zsXQV#cIJy?$EY6%y3&ZHo(xj$hk5i`{+j4LHSRQ5mqE$xEGd(UAvml zbn<(Z!0_@t!E`ps<|*b=XOZFaiw%N*)|w}RpauGf=P+#}Q~};(rLg?7$6$@#}MxPJRCC1!Sb&ufx}} zruN)#18rISVoNu)4vN;jUT}EP@X@1Pov5Inw}qP3=3BJL*M@HYVK4ceR1}npyL0W3 zy`iyn@!l=*^&epQXfzG5Wm4WR?OX_a> zM+*IZZ>Xx{20#2SSN0516=;1|RrQv$mWRYp!O0I^4C0>1QvYOK@*0r}35J7zbQ4J}=PT zHmuKSHvm%ud=rG#8|X(Cho2};Nma|57ZKxXR4QdMhjO?>#oAnBvNfMU)QP#i%tTk= z$dQr8kgZyT>W&VtqSjVb4L^0tpOs%$X$nJwBgMv}#E19(=h=zP1sX2Eqq6Qq=-Uwi z>yIglP-@Cc%(mCdxMAo8l?;*Ey2Xk-s($y9*CI%~WVd&Lt0=E=sxVXOSpa-UfV^Ez z_q=k@Ib*zdSTjw^R}t$~t{J@R>NL6CmH@v+9{}Dlyiob!SDK3|xE6nR^50R;^*8|~ z5I$DZKG#;)TQYE1%FN*$bmC+*dhFQ2gJ{105#vuODpIaE%(yArz!Qg1W+H?#O-rec z*H1J%EhD4ZX{0XCPHqW)$(pw`_?UkamaQ3dova76a6Mg(4f+CK3XcEL$cH#8(q49h zgdtux>^#1C`s0<-#&};FxL8~$Wk7ONQHSy=R{rgSYOIEIb9J^RSE|a;r@MKzL~f3l zV>NNh%_Bxc2Mkb{*{ykDjd`vkoXkaqrFRcllyUd)p)k&!G{}Ef>B}2Ux>jO?zpc$5 zOL99}8pe2XY}6Cz0e?=VCPyl!{%A3Bd~8T6%7r0`>?88oXUV-uD)&9>L=%T?*z%#s ztn~cfqm30_Xw-yuTFQb=1O4GSeTvGVhZ&p;_Uks%`ZOnA9j2r2>c%&GrD`Tl(fA{f zL%a=9-2H>o#k9Q!?T>wRJ?CvoO%1iGy87N%!*jncvRlo$)dc^{+^Qq@5a8DJyT0>A z^`kxo%tz*?lRxhKar)ZxV;uv|ZUes${&f<|t8}>Q&mh)-u~@!HOhyfEfCS6RR z()e9N-mJTbQwqU*TE>Y{7Ni0>)_?c>L-qS8_rBGuBdb@hTi4l2yhmMTj~%{lUF7T9 znyO5@3m{tOWGUBd{I?p%d?!xyQY*b{1!6K+P9`RAgl|x*So5ft>n7E;RZ@5Y8ji7H z+>#DFRvbfN)_MIv2@bj2=$EY&VU#xAA29Bj_Ds^o>iAuX^KE5(%FY+8!nH&+7ukm8=G3deT$qUTWeJlv9UHu|?%$ zL*5XQJID8~XpQ|10AR+rlW@w5IQ{~NruOTXg~Z559rz4-fCdv%OrLpPTjcNC*B^76 zhA+=}Xj%T0yL0YCNzgF#IJ5m1BuOE$5IS4z-c5chpkpXoVUO6pOMPE6lzQl{fC;mX-TjjJyb-PD7 zq)yd(-`qL!`3o}|0uRr3OnnFf=2?%7cTQWEm8kBjFFsE975xDxxZg`kGl6VDaHm^X zhhe`Mdqr!&IQ!5DG92Z+){S+sAWgC$RG>x#_Y5q>lnX|N394Tq0f1!<%(Z}B)BDyD z{sxr!Ti@;a?SmSI?KbS{I4^d0Um@7%bjWW2F}ij>SIp7yxGIh&i5=!-MNDREdd+RK z^=GEnbeN2Z(0%RbB>&R+zC{lLn9aFrv2X4@89epXQSpml$gX^9*iKaEyB{G;5PTNhJX-p^waK}+xTaP<$gNgtrAFh^3cElq?z@S$d=m1=y z{b1Pgzp0uzBPc}$pPJzX_;u(xF|)b&{|x%hyYo}2^I4gnL8q+5b*i*lsSMq5i=}BPcnyN@Z)6K`tdI+T$!5^3sC<~VikOLJUpWw~lJu%=IS z>n!q=R92L0ljLOuMnuZop2m`PtzQ{Xsx*S!P&5^azv3xyk?C!K?Mst>1k!)W-@A_N z*N<$hhd3gxMaG!Z3g7^`hbC>s!xr?m9QuY?On=#)cWk>^$N)!5X!-(*z|Cq)SWCY_ z(%3ynbQ-;>=Ci{rPO9FRmLkxWrkBi^kab{w_2iyC#KhdLy-)6Sxeg`QF65*nTTzk! zLLhL#zkpD9c(y_v2au#JRsL7gw-r>>zIC68!WBYtRaazS4ZUNC3~bvrY~a8xW8Y9i zSPsYlxV_-=Q;>gjgY@P?M8rhPZCENauECiv5M&HTfC%f36Vjr&RE~$bp*WFW;g)Xh zXIxg|NoZ4rlHY-JV^*f)R$oM-*_o-RR-|r!dCQh9e;hnW?YlN49i4jc!T&z|uADC;yJx3z2*V0gW|_Y zIza8*45`3u0J}GE3UToOTkZ~FaI8JztJs2M*rL=fg&W7@&*8EPHf-4N%SL$g8DTQ= z?73ZzImct*W=3$SQCl=oih6(2cfC%MUArNXo0XcCs?14NCL}?Db`8Nw;%XHYW=mGS zQLf-|(Z*V3x^8`+xBpM7iL4yt3V1qDudz>$8dWiNY{jT!kXjTsrG*6>q={iJ z3@HOrKarSaA@6JUCn~7@*)o{m!(k% zj5Jd3OrPE|VFE7O0X>)nXLcMlwSWU(%!Nk&KrQn%sIOLoTy{m8$!@sEH zN@RnP7YJl3k?>J;>eLmn{%aO4jC@2Lz{S3`gsq<9j3_bk^SZj~i8&>u+^TF0h8au^ zCysY^dSR5*I&bHb>(<4VjooZQ`zg{ytR(*6 zv--h#$?^gZv76e40%=X9(fmlMwK~71v^qA8>&vArZ;Od-vUU@Tfv~Ki?p#N$T(&(0 zEfsE`f9I>Q8S8RoB#TE(3+55;SeMTi^BR=poBqK9uKL9J1xV?$8nye$L za?IU15UVAzqGa^wNE2}nlq{gE7pTadl`FTRC$_9yxz}no+Dg#CvzHarl0r0EDn3A) zxx#{tVt!aChQ{lgH$QOckwOo#FBV+k@x1AL+~s=Q`LH(X*5Z&J>?H^EAhrjwEXaon zCMa#jx&osEZhnh+bU739?h$G-#EX7#^Hl7p!J$AZDV`+(xj_tg^2z9v&{{s*o|qBr zjx+=;+?pbYG(6*MoIEK^afs%|>0{^1AG~YP5$UQK!%;C=RuM|lQ14!5-M0P7NaV@r z4?h@2icxqDJWwI|xj+>ZYT`H-VZmNm5;PdVEmbq~Djm*xzkhhhoZ-p#yNqsaaT%qP zw@#5ON^-amikek|vi<&_C$p09ya3#P<3BL3KB3omI0@JsC^IbX;>I8S>59_-mpEr^ zer!nV=--83#d?$uGWO`#LSQASMLkHxX3gcWw9tBJmyowo^Wm&y;lyWD&y1F6S|*63 zHK}ez6-+OZb8Y2ZT@z%G2M;bPVlU|TEqa?Hq_(hlkrH);NJ0;3^z$#ub9@dfSsfgZ zKV)^fQlNE)b(Wk~M5ZeQ#9U%bV#KbE4R+Uz&QZ5GE6SoORZ&hhFYRP&E}({l1usEH zovZ#Ej*k3HA}h?Z`Q_!w8t#tS+(he&#s0pv)~ftIjtO-YQN+F@Nm0J3xz!85nC?y& zjsjho4ZLv@e8xCEVcb7P;sF)tz>~+tIX(7#HC&cHI~>IXMB!C}6^j?JCTV*zjnq~`_w6vT)nn^PsZ*c(ILAt_q4C6hM_U1 zP(c(G#J+IDZz++^rzoi?M2>ggeRo}@Tom^cg$28XLV&wNYmMEz$!~b5zJ+@J)=A{# z+o=mke*0u{(yb`c;%{!gnA$K<6`i3N)Q}Esd~iMq_c}Si*k5W|K2*>=1-r*c(YR%B zCA{iJz#2Vs(sGPPgmE)HW@_A=579!bXCtUU_5X}r2Vhfm{_pRlP13YYo1HXmMzfpI z?7fqwP18jeP+CgaLy#$3mMl?G)Dv-nGE{IP=R`df*SS4C&vD+l{_5%Jd7O71ef+<_ z_mWZ+^a3wQn*{Q{@4LUB@AvEFw#rDHtNRmrRgXXDI+j5(h+>3O(o)Gu9kcYF?7xwulobv(2mNNRH{G0w`5RKYRH9xP%II1n&ibS_plyMbX-uMb zU3g>94fdpK56+v`0e0klibis3N;VbJQzrwk23+D+d-BtfsGYw!zM)?QokYzSpcyXj z_F}&K1!V;VVjpqQgkJK|@X+?V^jEC-YLXF#5LDZvjAom>jQks6pR)pnQ%r*5&D~W} z$UKi+cvs!s3)>eR*4%X=IbxGm2dLH+5zFgg)pdeWA3}`Wcnh)66sSAArX}K=s3S)z zc}Wi=%;3n8BNFKdMhBXWzQ&8Ss**r_Q)_74rQdwBqchaH$uBIuFYm2f58et(hH62B z*E^hg(8+Gl$qz$*66<6f6KV?BbsVo0u^FkmJ%Fw(i`k$*R_ zA3*D57ly7A+>P0HvK#Ro8D8SD6R|AW)ogeDY~T?pJM*JT4N2cElv&!?R3GNS8{kd}k?R@&x5U*Ioiv#4{! z-DueRI+Jk)$iE#3xP+^Z;aah}=sS8@AqE5sGJOP?<_r`FH99Rhr+WdVoL1X}K4L0$pNO{2~Bq zG-CsT_Z8nk#b)#@V7#@{M_ny^1rX>$Ty6zchM~ap_dnM)$;&?W;IZ$Lzk2y>9bDvM zbXzMCCv9jtc_Tjd{f@lxvLTnH)Q}j>Jk>{7jtEAqE+Qu^X4s`^Vpl8ITY)Nk+zyzL z6npJ8@;~Fp`?|?(W&9L+G5HUHFeQ+VHo`)d8DgAr$jULsk005dfQH|-pe7Ha5+VWH zEiYLs0}o3LaVVa9O#2Epx_gd3#a}2K=Q$3hZL2i}3jl5=jdb&kKIY{ft}m8zJSzGa z+CZ+u$I7W5C8O@l3^5oT9=AeVeI+3$?K$*JLmLq@Dr%6r{+1qF^Of}%cnude} z^prkH$fFU>{lta!R=wlvyJxutKFg%ZWHdQfloZVjC6KkWs_`qx*qmLK;PPQO+y4E^ z+3PE6YGXDNxjYe?37?pU%DM(j&1=U^&DHxRg8X9)K8-iQ7(rfA-TLK;g!~9l5Y^NOq@t=bj#$~Kq>U)owoyT}Qu{q(1 zrEt}WKzsRUIqi*fbpA}8!BNHq32|^ zFD3s)Ttt3cR*F<|Ye^c}IAz5zK@>)a(I{P@8r>9ycZ%Z$kGL*{ZulHMfNmgX(ZnE1ON5mMrE1WUoAl%i@}KkW zFrx?SwdH0BnKOS2hMFeNXW;!vt6s^+V87)dSokAMK&~=9oVXeWtOcWWb0zF@jzMc; zS&Uwuyo4>XA^##3wiyP%<7er$q5AXv>jGD?Fqjj&pj=p$t-?s-(?%Q`V`|Zb;VV#Ss%8c5MLUE^$SnYfN ztL#4L(f+WVd>Oe89y~~FYK9wmY{G<4cXv1W5$bQ07-7OxqN;|TDg|3_0slcq5W9{@ z8p#7WJRBnzgx-|A?Bm=e-X~8Ojor}QLf z1#Bv)yRn{dKK3VWo!})OVU`pFAmzV9=iVmNizc7qlBda=85;;ZrlFR2Y?1vI(}G|pkH@abqBm0iq1FvO zmUrq7QtO5wyLt5JN_WglJ`oWbL;ipSvY%c_bIX)AUVD4UD2(WNp;^u5y0{?}(M4+Q zj^?Z82d{n~>fr!p(tmpzu(=}+u_2iu!_KM$X;`9HQ50+pbGsg4c_J-7FWi#D7Gu>I3Pj$(K z>#sib5o22Fvdeake4he=>qwqZ(Mk9*AMndNln%lVlk&-glE5rc{jgmhFu z067Uzmw7J=t4%Bj@Tb5uA~kB88Z)snrhGO_%!ch!bVv5R+|xzmjU{Nxf7AfhQ=)Q> z0x)~fT=#!><#ObtT<$JB*BrK0AG0c(YU*dhGbuExzaZu%72L1#7yoVW=sBXlz_mY; z2qrp`UDB?kwy96rpCo6$dK>vU;4Wmhy&9VrnYWZTduC)F)(Lf>6JDWwD>h6fQi9J< z_XoiD#-c2uD-_iE`7neLuBbr-z85~=J^4cDPmRYI=K?*5){vL95h7CFPKy&)hHHJ!KAhkjxd1$wPJ>-tcjx$w#0^l3xxy09%0Y`QbTQDat<%0irooG@}Sk9Fzd?Ggfl= z62Zly@oc!~WTM{@thgF`zmF^WR< z&L;A`e`l5~QMbtF5JOUR8EHm;$eucKq~pjb_;ZB3da@$Q&=f$bfMdX8_rS+St1UeP z<{=buI09&~C*IVg7btbExQDz#6I;`vgIQ`7hE*}Q@sc*Uc|d;#Q-6o{C!XZBJgng% zpbg}E@f^;Pn|!&5586Np3giDcQZB6j@=(1(b)=6guRBm4%Ga*MkP-C zFmmGLouS3f-Stb5^!xA0f9(;A8x^AKWa6eO+4bbVU_*?QjIb)vV}BwS^r`EaHq9t> z&KPIA!}I6oDw4@NuUr(q`uDM+=!8VDfu9Hll3aHnF(En>GrFVbnbaqhlC-RuU#GbIE-g1k6`=Lix&-BAP?O_+c+fEPeO zK-Xc|FZ@B?fnYV;Vjsyr!|#LGI0T!{kX8Aktc%Arn~PZ8}}{$ z((V3o`M&7dfCHxNlvc#}QjbpO^a{lxldd6P3pq8B=p>;`7(Xy6vKFpB9aG@mzbqB= z<6Xmm64g=XP7jeoqW?A4!eJIx8<<*W94?v~RBT1W*0^aLwTk+3oVT1G;U!$L7x6+)7II$B@eCN{#)su1@q&n!kbuJkYYZzb z9y%gti0sKa!T9JDw3xhNN_2?Yg+OD_@cerTn5uQYV_R=rTPpQ{bW*FFWR{TG0>ciqV=;j5-gOHRJ`yp zYIwDT_16+kMVSP;1*W4$X9btbyzsAu_lh^pyn=r3TVEjWd&TT;^6&M+dtDXW3g#j- z+{BQ+mUj{!gu!qe8LGfe!Z&5)(L`XNGE&hM2z%N%dN$+YTb3lh4R}}XSsK)^*(o+R zk?M7izQ@~ouJ=^NQ@}zv&JsbN$h&}%*;2Hl=qjKu#UYqnXBcO+N({++7I;Uje6-Gj zD02*=`kXU=d=Pfz{fQ`msbG>lMpyyRf|?crp*j_yihL6Imsp^j5KrXefzu0BLt<*e z6!B~Rg;EWf%!8$Q+U|11||RT3L2We}79; zliX0Em{eNQQp{PQSAJ5=so@ld5K&C9nU!TyA-}wBis_@B$lGiB$SnwGm81D_f<1jSX}`|f z(4Waq2|g;z)HDssAs8qD+!EeV?0~3%4gIUFlt+vEb{Js$vDp7Kok=@&p!NR8oH-+( z_(X4`KyF<7e6)<*L2#~U`=agg%i(U%*88io3397D!Wu=upMfpSo(*$X@89|tqOy(L z(T1*!Po6}^?j*!n6nKg}2`z;Scayh} zM=Tcb;gvA!;eCc1&bOSxWR9n1^MD1%-MVn%A{g5NiF~>xgL3V7IGD-1u5i|n;h?zh ze?dMlfKG(!gv)O4@_NvFVLN#$gV1Gkug1T(?yC~$$vS9Mz7IOIH{?_;;ii~WSvEeP zW(EwSU{$Awoi+nlb>hDD%h5XGUZcelGpco3<(HLK(KsJ~A6NFYa>V2dQUm$1+5FB$ z-Oj#Ouiaf)Wheg)GX)ip|HZshX+FxY%m^xxF1cqvgcrebw8}s;)tFSaht0uj$nY-kyl6lD6zVDmEERzStvjcjMOtx`l+W- z^7_&`w=FQOWR^y&E4@vzOSEl;aqd#lL+D$=7P~(hCHn!T$`O4Jk`kPIEl2HWu$4Jg z@u(-}j)i};dx8SNd)(@jOz>eoql{W&XlyO|wf_3i~Jm z0(vb1F+e~NZt4S``Z=@gQ(oCI-7Q;1cJSR?y68W&=%ek8Xun&xFMYG ziFRW9M$dP`d#y_#3qPf3CP)$mdSK9J4+RHWps0J`9i9t1<-sqYe~o{Ei!GGS0SbUZ zg1_hIADC!t(3Vj5X!DC(T(-II^|_Voi!T^=fofC#xJ9b&^i@a`Ea8__&2I0RukKD? zifWrfJxeaUkyr51d?XbGlyz-L zo%%$^Z}K+HZ;$x1L#^ZDew#l=KF6qFsH45DJrU~1?Ux2Uxlr64GBk@_#j>D~Qy7|c zT)@rng@6V)e3)G4n_d%>OG9f_2_?`?2Q|mvG2%cs4j{`gdInU5SOPo%`hyyzfgMLW zB&A$Oa14HdG*rYoDw{ZOe?|y#d`dj35PV--K|bm?P9fGjbKt=0Q_0l_4?df7oEiNG zz*%2MSRQ^S0`as1-#SB^t$ z&4M|HQ?T8^VF7Ht!H-l$k&*>auW<5|@8*>Os*cjQ*z}Bf6)G0zZ!*OC1YX8L=d6|2 z^`To<>>%G+H`n1Z8BEO$%_^5U*oKyOqD$_(X=7lzenPM*K3la6R)F25ZFDUlX4z`W z$SWXHIEq>?zMp~a`LJr)e$+s|PBa9QBpGW8CX>N>m&KxAvn&&^h%fuGJF*|PGrIcv z;>lnt;s_?zu56CG66B6x)Ll~&E#cJE2b11N3E?YN1}oSJFCJ$La)5h7-(}#r4QBAe zR_5hEiRq#TKs*&Q!RhB219$-x3qHU{^SH3C#8?KZDp5r{zSIf|;1S^%OoINGNQFT` zG^vsj$x(56<Expa54PTM2O>0P8++BNrU#U4Hq%$CS8Ghw zbGX5j-sjf!dnYKZu(sjnTkwwDR*W7;wcIVo@fJKntFqdZe!p85FnVn^uQ6cM0a(G~ z@oskudK{4W0#ILLriv31UHb92~9ei#X8%skW)?rPUy&7|*$V{MFm<=^FdmCK-pPIWfW zt}%se1d33!$TMAmHR%>+dJ2poAHV$%G(LoGB&XwJ&a*JV%XxEd)`0_U&$j;NHw*rY ztmH@XYcG_{K4i8XTOwI`Yc2WxxO02S=r?_R!LEx_sgcj42{b+x>4jS)Mc$E!dU}LO z;cz4}3=h3-^v~4EbGgTSoDjnpg2FC5jOlEETz_lPVx0S-&p&U|&t--3GKeiZG;z_K zbCzDl>_WYW(G}SJ1D!r5p-OWT<~ImaK_1bK=ny#pAB#IR7Dlyyv_=H@0uMG)UD9; znZaQ+CG`$hkgkw^p7#Y`sjPy|?|*{fdLmr!^#^7bTuUZ>%BgQA_w z0Inh^_k1i5Dh*fNaf~K9<1A4+3k%~}!Uz0`|A6(-!gYX$ys8AQ%_~#lm7Mci2RU=b zjHVff;m?fX#~$0i|9CDEG&_6D-V743g|%fwf~o5AX*RZ_MbVC~>Ee1lhgMEKcWFLm7$_F zKxN93dOa?ojtX2MDU!DZKAHu8@>}YcEc!JDMy}JL30RnOv3fq1p?wl?@+nY_2p|zu z=8L%Oi;y37T=j8STN$Z( zq^6oz{9@ue(`%8>^#)^Y5Kx3R8INi5vT9mp%xLS7mq*K0zHu@)vDaK&?R4h`7}JpS zf(x`Z^HrhRB~z@nu&vJ;F^-$CK-k$<*7Y&{%b>HXA!6+8Tie!A*4tT(U+Noal~11W z{LEP2^&UahV|h2_Hkbj%k|HIrePcVkmG37z72HmuH zvF%N`p(mYH+XPHKzs=sO>2-N}G)$FB9Y;>Nkojf{nt^((ewmEhK;GWb*x0nVsj<-- zs!LUf->DOgtmxI~i)C)9Lkd|fd1Z;o%8Dxc`?G{>6B%!B59StM`kAYOdE&WAEy1Rq z?q-ds0^t2DiT_6Qf8=&$c}vgwH=Gh*bW;>BYmaVPb1NsANt5rONa{nbpt)R3`~O_a z@3^pIxC~>WfnN#W*CUX32!Nln9MccfDoqN?@1xD}Im4fVheO+J93fC2q)RchYX~Y8 zs}Tm3`@`d7pvPhq(u5T*C=*6#HF2zQsr!1i0*?2;_;sWDy#Z2I>5n!#E*V;*OvolQM$Ie{v5fy9qoff{@VIQQz{qa_uWAWC&fzzTN>|m^rR$}uY`#>;gg%y}osx{qGBFe= z=9idWzCw~ZdRh3Q8xGF(Zhw5`>zSy#t3FbrE#YyQ=YvG(rYR1>D-O;Wvdrbx)s++pJs%?BdUfT?mEZ=)lTY|YwJ1=9Xfg7zyWwb!kOaQ-;O{*vyx#hgs(hiTFr6=0F5_zO|@bs5_S-Nd&J`> zSKu98-e@q92u8jBSS+?E0yoqe3p*mNPit5y5uY9k2rUc%K`$4;u(V^x0)9^na>WJR z7ozwN_wfaaR)I&9*LMbNt(h!uK@a}AhXi}LXswrT>cCoWG*I~ktx2UuFt5Wny{c{8 zGClu&zA&;?RGprNwPD|RG+NW4_QNyv!l0hke7U@?)c!%PY5g?lH$EPK@;hmK~};qR@A503V6b222vwSNCu*@&R+h826qjTrrH`%G`>V%C zebxqN)LH*Jpx%uUgWD7nX)-3a!{>@rhs=yJTtz8Skax#*QI7^N9m5ULc$ac=XJ)Z< zl0SyVOLGxx`@leZPwG#l!saS&p;_|#^P`Ma+T& zMOm}6t_-DZL2I0KX>bJ#!kJId8#D(=W&{NIuI@&TWlRW}h z6r-7=G9{XVA-_7FYIZkk?0>m7q3rbyHcX3N=Wm?g1wchv-fzw2{i#Z-Ke!7zTxk0S zm1o+kg6c7an`41O#Tuprlm!_1g4cj~{(Lcf!Kf7|O5+zLXG~b$kP+|Uxw$t(3adYj zpP>!8Twr9db#Ra`R)y*fEQB21fptvPM#Y=h@PXgtJm^ zY&6uac6n0%2J|3|>%Q|F`VQ^8^UgcdN8|CM=?T?x*-A9VuFz*qP=PZsD!@g$`t^7s~*L21CF+u&Mw(PKM9NIX7}J9sd6;JbtW zIB?+Vl-z#%_rtdc^!yw-JImJ#iuGk<0ZRtFVtRO3m}Oit?)$weW5S_{Z(Lh~I>@rk zmqdIhv8gc{Z`}OKFx-5DgM;WHe!3$u+@2Mdk#|Fk*#&zE5U==?Jh@&5xK61UHm`iJ!B(l%nk$VqgZOyWaw^UXJ3b`6u~^bzln+cP)! zKiDmYDTbOcs*|oJqt=^mo*gwgeDd#6NSlhbDf=?=`gj|imRD;H%%m4D6C2dhCY539kiTBfPHeW`KD53!hxFx^J}xO_o95s#ba$CpCKX;)GDqy-B3J z2ZqHm$Pt9}!o|J6@M@z$^S)o~hoV zyuz-Z+BF9TF}LHrN;l{29YxauK@?eI>wcfp^)`$J3=4s(0aPRa)a z+WfjEf|)rY0pxOA5O#oSqmpMh8%Dzw)Ott&joDBQ3Jdg|0=b;<2;_pEJD?-f67!>0 zft2|f&?RF6J_!+7c`SQwkMH?!l{Nq;c~@pou~ieOBEL}A2Q@M@KxBwXdV$xWcYny$ zdQ=H(lh9BuD~nciRwtA?G8M|IV>*P~ewUC(v?=>Fwe=O^;!;GkFqqI#7U5*NEIpZ* zTn##>Vyl$yJzT4+p3;*IO@rJj6+Lh8y2Hdj=WZW_+}%wgb;9a)rvBQ(@|AP zY|n=6q3qr@3suXPL)0TbeJjlF4CVP4*XeqTR)F-w6)IHX1O?6n=L9<_l#>Eigfa?1 z^Ive|^PG;S#p66ii4Vk{zD@-F=!2hVZObyib3KE(n7Wlos#2AL=@(+dxr+RKRwVRI zv8T#;eONHEy7bQASVnlCdNeG`I>$k@ih2e)-1NyyDY1{sIh1b=S`a;ZWs;s6V1YFDG zR3rqj(tGZ4#XCFWC;Y5hqOYT7>OiSb%Ia^f-Lp$9mDVnNBH(Yn%9LP+acBt<51ya& z9MpiZt*(IXEfM4~Lx4!8C+bty8Z@f}TNWMI5sa+C7;BIW+?4tYzIB0~)V>oId>rk` z673`ZMURq=>ocf{JpJgSLue(r6(3v21?6R03SCV3d4Mi%)`IVxK$cEaH*$pFlfl+b z;t*_+fstvxSMS)g$z&rh@%bA3=;9RlgR~;empqi`%)K<&S_cJ%Y$%Zkk&DTHz$j*H zcX8hy-g{f{-*{9$0r&_f2&f(toLf+WF~Nr9mrf6}7-Yd{s{?s$Y&7ui3JC{z0#EVl z=+t7QUv_lSB7;#$ek7^(lCK`-)m_A}7;1xfv$d>>>9erhUT9+P>w{Jh2cD|^`$l3a zc^X!|C}(PvhhW(PwXFu=_Qax@_%<@)4mQNX;retyR9P4qbu*kejIWeKr)lc6xC|z# z$KQJ|9!P{!=5TX(;leP)Pq@$cHR}A?MMj8s?L}Q6N$@rCmjz@!d}HctaQ>R=o}tSk z@G2H1L7r58q&6be`)*YC?`a3Mw_nh@@=)DfGp|N} zyqcUnXfmCmr8e%r7Q(`ci3ct~*8kr?x!JuYN91ts{U7 z!KgG?2TcZo^TkS;h6$~%z17#RMLpu0qSMdWs?D03289{Ib*((swdA6Xm_n_P*eoKe z&7yFqo;zJ5egmc#V(jE~))2d*R9gx%hV}Iwpi^)^=oHA7&M#U7x%zxn9a{fEF!JV+ zu3Y@0luS54q0C-NUa=noi^0Jy;`+T5^}vH^WV^3gZMZ8Zv+ntVI(=|0u$&yFpwHIgHI zX<89N{P^7H5!oU=XWE=pEa%+10ecV8)SNm9L9r?TX zl9vsJmyzD-yvJ_uwqtBK)?M`M9=Zl%1#jgn8;B^CbWU>Sg|Y-k0#r1Bp>LR^XAU47 zZ7mBS1<;au7x>u3<~OJtdH;~s!tmCPRb1K(p1yJ9)n}i570K_YEPMKu<8b>kNwn3d z{B!-yFFf(Y3rM(@$9<`?TnAkqsa1`Q-VD*7`W;u)SY7r#MW9OadsJBY0jRF&t)50) z@RWs99(ZTWf(D(s!2FeA`uFv6wHEZ4jLHqiLDB`VH>?G;80_Z4778*Km=&<*1%{xz z$bTXIo2LwZCsP6+gtr3M;9+wV0+$CtJ+3KHYoh3XHBU7ii@TAO!CUlL_=X05ib{B~v(sAuN3Ib319mk>{r(=G z&*5@8p8Y{(Ma6$>jB5iaMp<2--w_Nt{PVqa3>VmWOs{vr&NCqQBcyEnMCdtMTePWY zJ8%(PV@S-5t!4PcaONPVzsgg19&BFy0r@Dk2_yqmiA{-1fN2IS>9P@+j<9C{2t78& zReL};!W;6C!^y$Afd#yTRBN=!(hAvXMmeL@gLqx`hQ1FnmCiDiMfww>X3@*YqSGZ? zrpjmck}vfxkT-g4CXv<&Q^yRQhR4WmM^)(p1nsDC-C%=i9Qn06ZcQ-S1hr-4|HW43 zJZ%shI2QKXx{0(e_#Z)3RBdpGb9yHL?AWf&-NOSDzDhmCs!j=nU*)O)Iz|0I1I+od zW8=Fsp0IyheSJqTs53f@yau)ESQ|MK4GL;1iYv=YcpK*ilH}pU&ZauhlpOi4#HrRf z`h{J`t^G4>fVqR3oE3HuJjzf2S7Yp=-hk~z$sFoobYp}ZLJ*WB=+oPTzfU+1fz)JOs?M;_&KO#YxhuyNzQ=M;g! zy8-wi7$FaY`(3Hzg+2~D7KDf&_bwdD=jLY?T@Tcu#8AXe;@OK_sixuP= zbU@xu9c`7yf$ACcH)^`EDUo>T89X>9pah@lqyh5-F#+zg!E8+9r%9s~OG{I_7@0KmrHY1^5w$&(< zqYsP4)tbE(f}rzsVu88ApnzFbWFae$Ag}@;?UN7}+&Wxi54meH0%j>oS*>E$=}def zlZlYJHohQH&TNf)+>MI^p}N`eFLxm+W95WSEn1i!XfpSRGYJ?&Hi4~RrDLHQi}U8h z-DN3%y4OqDdky&1&jX&2wo5oC+6kHYBJ5S-syuFK0M$U}=CN+Yjy2epLMDqQEAN*x z^;ntUV42p+)L0;#JVcw&*Q5X`mS!LS3m(8sANQc@MxNz@+mPbr%V(?RT_?GwdiaoR z*Oa|6qTx)j&KO|Y0${v`VI3=Z+%hXMlpe0D7eBh=0&|kM%=v=ZLH@(G!#de&B^q}q zEX`i>pgSCl`CXP~7`qik!t$U*@N`}$90mYGnE=&*N?zMUE^%673eV}Ha(=MZyxaim z8n9m^0{i_s<$H6eX`D)^!CwJ%5~(8u<=ud2dgv@lKD&og$+$xq+vGgt3#fH|om|M; zz(+8RDfA*mW^A-*MDJ))3yDDy|D-7zcpQyG>c%qZY4BAH;(A8CMG;`e7J0vt?W}*~ zxjFI0F1?zc64kS8Qb_}tH!HuQ#I9rqYkPZ}ll(S^U#dby0?E}6*}HUlb$IpRr;iB- zQ?k^2g>oU$FwPlJR8;C}yBkzPsZW$B+0d{pqn2|VI<3^?bEd29s`zx9Z6uJWn-X!L z**2{~Qk(oYN1U!Mdp7SW+{x$QURo(|wA|lSXV!_;(XLQHuF=}a-HwR0u_{s3;c<7O zQww+XWzzM*OJ;ASJFR!XHK1plMPU1-5b%lhP|06fv=OcW5Db^^Fs*@L@E4Q|5dXYG z&oGAZf4UUZl_+#^P)Zn#BuwV`*{C$)m{j7F+KlynzG{$H?&p`@@bk%N_i}5qj4DQh z+St%_?m=kdnroXlm_^8 z+vGu*n-(kKn$&1%LgnL^S<9k!z5SomgtVXdv3wx@(9CkJGMvnoo2nD4sFdLA6Xaaf zLmu|>>S2P=J{Yl|P;8wf$HG3Ws_IQBh2 zcffDq04&~_qzsju!DA4B!Cj)C{GI{;!H02K3Up4M^=YpJTTe5>><_PFGdR`_p{{&E zdh~>GIo!x^6;f$^S}7{IOIsllYYB;5fv!_Xg`PXuJh@`zSUrQwP)mJv7N(e?t@C#9 zN?Xdx2l!|IR%y`JNc_bmj}YwuBKUIVv$c=T>6rI~;^i6SC&(#uLH5qaVD2gL8fwC7 zJ7KI9FwHKe*9Ifre5Ht7xG*|{{K)ULHk<#>Db?P>cEcjw;18u!!vVJ6sT=%8sBH=d zP=%Q(E@^2L4E2{8N;(Jla<87{)VKs^|8`t|>B4p85?OUsBDHWza(L;dpDrCvPFa{r zK%iJ&sS?(SD_-j}fuB-oeyqGaQwC}Xu5=ZZOTL%!GU%>CO$Yi2p(3glQwbqZTU6sc z*7G>{EjSz8Vl%=&pRuu21Wn5sRhhss9X*v5yhB_Ur-~c2$;PtyOP7gKgP<5)0IebB zb_K{U0;>uOdGO=q#3AwogNry>zew(}co^l7Fb}2}3N$%9c=6TTW4G;ls^Y+kxLYgE z4vJR~2sxSR4!u&(u0TXwuji2;I2@{Im*6!i&uwh8%4^j1YPk9j;Mt zFTXDPdxFJeq*ZzyT5dG98;u4-ZzRI0{l|^927NjvuNAQv44K<&(N!h{(U3UK(fe7RUOfKiBiNpQ7|wtS%g~!9iouj`8%s> z_#eep6-;bba8BnIaLxRn-MFCD>R}S<)s#k~JbD2b0q`dwwt*i}-V21_hSqhMe0aPi zg>FAfTp*D8si%%5XsidSrpz$y?dQEEkSq9C=zIL%!!xk>^gj&gr4f_TA+)6IPnU_` z(y8yYBX-i&ak^-7z-G`iH0s0k-Ij~iwV_oPw5_|y(p?|cH`dv0P5MEYvh#B%b=&}P z!6nig=AT5N$_iJ|Zf(#w{H}mj7xX)8!y3q3)ao^Mlr>tcTC1PWL0^0`czd>pUYSHKDYp64`ZDx&ESd89Vh>)KYxEAzisj%In>FZd%w2g~C}8bs9XS%H z&!gYP0hiZNOw^?fk^0UsmuC~!$V7IFuvS^+s)ioHYMV}=(pK5@$mLKeBqENqEZiMP z2!-`7$_CvAJ61jCXqfOF@!bt8m&Pa*2p7#EGulNP2UOi z`#|1Tt%CUyLC7Dh19<^skMkqAXbRN?z(@n{p5I1bA;3zb%!28lgWMfc<~x|tl17Xq0LvdoxFV;+@=_}eO}Dgls0EquPfG8 zDvM?MQPhb(&a%Ti!L~`0>bOM3cjWg(WsuuW>}r?$6`rYT2+IgoHM3Vifpl6f?~%NIzqyjvSRsbdmv9+I zs#vO|fCUIOB9ZunYLd)`K^hq-4o5mviRoQN&CYs;>ZxYKEIAj{GNwWXVJ=L6URrb$ zP#oA#gz5SVnp}IP^N8}Oz}v!^YD_UGb^-au>h;lgfR+(UAhnavvbtc7m`g+#%Ouzw z{4XCz_xrzlc*6#Qdk!f7j%UXbvj0Q_9#LcJ(71p{ukpaWUhZpPN-$Vb_Rld=_fE z`f8V*Jb0Ftca{*I61lg6?eV%0tF4)t>tyvL*Z_eoe)>sPfWeZpvQ;iV$8D5217#w6 zqPnlMM5++v`YHp>Xs5%`>2`O*y~A-+V=J@0sbpLWTh4gqmp{tQ!W0zPYz_U1ua4F| zaa=8hSpnC;mGzvdd}6&NfS*~A1)`*g0jeC5;~+l2ti3P{)J#x13amd|K&+O`L;($v zcd$pb6}$|x#WUcl5Pm0RLMU@X$ti;>$xNS4Mpvx3vu$UpWOGw%Yu9zePEC#23|hR2f(p7AQEC1ym(vL2@4hY)r^F+^sv%TcE)I{gCp_~n^2Y50MPQXN&hSi~ zkj8n@v#5-aZC(g@Q#yLdt1j5P;xXi(GsavU&_!yo;a5}`&x?UQ9&Cm&rWq6#7-Q-g zf$cO!Zg|AyjGuVYXxrt~4dt$&Zqr|&ZVPkdrS1PXj{!lieLHd}gS(J)w-Tkq2~G*p zzlHVG$KU=5ZsZ_w5e%(c%H4bTmdCl9SB~>4i6*T!rv*FuoBShrP^HSKRC?9#6?((J zz?K}!$L5#Qwxj_oG4i`guXClebsSQWAC(A8gk`WU>Z1}Ub~xda`a@vn>!qA3qc`|TK|B7Ds+m)fX!0gG~xCpIvhdpcIuxvuL$8hAX6hr+3|JCkTmoGA4%@xgijgSGdmPsk|0eMgw`Oue-X4NtUfPoBNt;tWkU;YfuMT z?z7eArj$y=!E&+Hq^_-6kEMM^L*+u@i5&5b@204l-2aJN*>wif{n(zKC9{LI(h})1wA;a27Xy*pl6P zefP*+C_*kr+dI*Acu-E9KaxM+uo*3qZ<#c0cVbs+*|OBG#C=Q0S(A>b zGi*t7_wd;NPci2I!?RzhKj-?tu0dY<|B0OQ|3NM1_;296f^c33p-&b6KOmaGF%r^(is=ugfnZzYrIl-ngPQ*En}c3)vCujBj9gdC63U z{PNP79qDlwE$KVnNmqDtS6DUc>?g7Dxe6 zUJjU9c#4Cmv0n!V0-zG$fq3=;KKUcJ%B>*p$mO;!FDu~mMf9H9_*YL&BjOYjts^hWb~QYJiaDNan*9Ck6LZnF z$+Oal*o@8ZO@i-O2H)`o_>OqeJ$y$2)#^`uA(a2Rkg=j=qCl@RUyx~9|&?~ZP*oLHkm7Q=R$kLnRonywDwo$*H~5?;ouVA} z$9{>12VB_-KFojyI`1&->R#|<-D5K+YwNB4S9c*ceC@aV-@~pn2D4#HNhlMNi(A53>vkqWv8M|q$03fj?yQzMS75s`1m8UDKCd3LxhA-QJ4F8xgd7rjyU!s59`ZRPb}v8P0? zM$32iHa>eL61K89?{P*s;f34#o1*Q5zzLCQ+dl3)m9jMQtB9ghiWJFef!-3pi@XH$ z*I6)k6Ms7hGXbLlLW%7^r6SKo+A&QK^mJ=4AHFg;8N^$?!cW+Iznr|{KIo|VbcQcm zDL?~h(cP#b4o_@)MI{5GspGNZy)(=l5+;qq2lyrTxS!X zei(9CnASdgE_A;jqzWk(DKTIn#G*(C5p;&}=O;(JHBs;xrz#*j7M?sgS$Zq^Iy0GJ z#j9RIkKVSqy8)lhU`o8Kd9!YN=gcSdPY!peHJ@xbsWh@rlv>G8Yim;J#&jjYAS;Qg z5@H~o{%r3X)M zl7bHgUo}7CjdtbEoWKnqe@w7D)CPlU*P8KyKe73?>iL8ecn1QeXOA zJU>Bo`aYP?is@Pjxr~-Gv_<%mgEfXsE-*7r?ZT5Y5yj7m%fcJx&(ie7|8-V9R?0Pq zM^^v7^;uFe?2P&5Se+4HgVbVbh$NgH_GVCmmXLT}Y>j4p(n<)NH)?z@nuud@*mzmd8HZN-T)A?x|) zw>V|e)pK*bGsPu>k}c%>O*M(?7E~HD$m7*ZGTy%a26Ex^?H_)4A~0+G9L3UUQ?627 zGI5w_YMM5M{2@Vp15=t|H;NhY6BnCo!qoJu=Cr4ZD~rPylS?kXwc@TV$ilyHgK*8; z)hh?5U!Fict5Vk`?pxC8NW1!b{b_sKY`Droz|8&uawvtpqe`H_d@$g^aX8h8@8Cki zeF#oggF9y^txxCCD5BOu z24|qSv$%AS2^;gur@(&ODNN2}9(pDvzK2($lZ=dyaf#c1=(mZJcLLmLGHe10 zaG358#L*?%29t*HvZS11M4p6cea+G;^nrb{B~#8viimt5wp6n+*> zFgv2$%3s58_xedWW{yh|qR9(oXDs0pa6f<8w}e(q_W za_4gl@~8Uogv%DK~KyZPT9IAG_>+PAy3^Obm{7LqFE&8P8wD&ocG2XZAZ=DY{pV` z!gxEXpycN-dxkoq?K5U{#5-oKc(Nz-jB46k)zon3n(B4kosQUi>tte@DVUTcMxO41 zN$Vvro4z9)O;16w)W(f2Y!i#~_%XWIyAqJ7z*&%&gM(rxus;}={R`G7pK#8*Fc_x} zpQTh0$_@|TH+3q}o{>Jts?tmMym{w%S7WIdX(KgLqigCeZW_N=yRRprQ0ff3vr9F@ zxsLQw!>*R0+>tlm>_B~Y-E|lF!}`x97Un}}L1Mz*{r@QScBjeDchBkybg&zM620UfQSsEF=!NT$VFIl7g>xgIkNqfIXPm2V9iu0mSVDl)@wY4-1(g7& zdOlwO^a%)0zK%tFlNG;E%5_W0JH5pZ*DthgE#3O`(@!5d)bYq8&pdPIU_*u@K%Rhn zIJ`o$GS$Axu&pVhQ0eU7GMN8$hrJV+-JfmwUTG+Okv#D5-l_46|B#rKniU&AJ_Zl> z6`f|KTd=9^Zx6NiPtJuqCa-_BCtYJR8Xvfn-H362%%bYkhhhE;wgYr$lngSfqjr`` z@`>^(iZS+pa&1Iv9QpoS(qTg6o8twag2NyqS#MFdHIwa;;KbiLdm66m=vEsVOys9I zG;`R~0?D(1w0KeG5W#m+7fD>u;CAr za*9`px#Tr>d{Y_+kNEA~lVFGxI1%3JG{)Lt9seA4F6Cg+I*aEmVPHtEQFl)hKymHX!Frg)*#3YpJh&6q-CaPF3Rut6vnGAV-~ zSurnf2IAVd2geC78WUxCVGu z34X{c5HGPXTKX()em2*R^*d<2etyQqb^`SJ&*E$1ySD1*O1V}M*=MzyKJvy@o0fj} z)Xg`yZQQ7z7ms?!ckgru-kavZlrh>Bvm-0&)}|-z)!x>Zs;Sf4GpWUs8GReo8Fd$< zt+u9Y&f4O2pIveiRMd0V_?0HD!k3(tSPwH3qU#s0l+B-!a9i(242m@G{AO}nsAKZ9 zT&Q)%>ZiMt#)h^A7AMMK547v4is(2dBgUZnu@8U@(>saEsft?)Jb*lJ0~bR^`;4Ou zISHJ9pnBY}aD&q$I3HQ={|Ihd`adFqZL$}bT&ewqs(0xa5?YCt( zFeJ`hJ2SqlZbhbjtA0yMMj=t4RdeTthslhP*TuR76@h|!8F~RmcJ9&h6HEqrHg#b< zPTqeHs$gZB(&X!V`kTVp{)sK&mPsp)M?xUGW~vXs3t2~;w{N9#E=4*@ICU6tXPD@n)r>zIOBCocL9k@hT-1hYq=O=&JH6(l)W9 zBX=m<)z#-zWVn^c@2j33y{K+QWBW!Oqt2xrhuSNYWzdt%rH@-Le!H`kN8Y7qzh&!5 zZ&m3F4{shhdIS1Di7vW1iW^F!n>X!c!BhzH-J2%1g>nM}twECn8p7FP-`2LaU>mkK zcn;kCAnTaFamL96TV(+gU*L0?ibl6Sz|z=rhhzmW7r`5WqtD{&(Rqv5_aQ!RmL4zV zS|lT%x1eq0?@pdXYyHD6jM=wEYo|sou3O*Ocb(yu_LxF7^392kr^z5X1U*l2)Hhe% z=mXGVu&nu7V#O?p-}T+5udp{8f8&k7&}X)LA#80*q{+YR9_|WvO`XvZ>6y0tcb$kI z?d*(_Tf*T+E0fKRaaf&sUQQPm#~4hH%7|l7?&$~M{Bev&O=T^dIh?Q$@@#OOL9p=w zR+oZbQI6Zsl{Mv-L31mkFn^h#_OAl$2$01%VMlz?B0gTm)=EcqN7J>+3odBgm0P$l zw@VE^(gZ{_)n%AMWbs!|3$LiVsHuIsVMj|`AyCwpR4SB;hGC+`RasfZDIq^$Rebbh zbNOp){%_mgjdJFT1}VA8TYZ&S)kI{UyjI;}jheIR zdBzKq`(JuvhA&elLJbl5P;7bK%1rAv!xibYLTw;bJB!7w)hM4c9rp*z`T$#eV)ve~Z;AAP)a7Qq$^cHgDV5pY!F$MZUfpaZ01P zH2K~hP=T#DlI|W{`$9*0W~4O4sgp+f8imTRRyI)<7X_rESR+xXh_=-vv`uMQ4y+}{ zw&6aaS72rt#)lXnDsn-`Zw|B~mL3LZ3TjLqRvPCHbqX?srz=vEJ;s7_)UfLZ$o_B+ zO?qeic;rgEJKHVf)koT2fBkXK;JCq>c@w(UY8G}3jJ)_#+e=rRu(zOx#CD~F;ViE# zA>W-7eQg)I?u|Fdqr;C@uNfHLl@DuvyQs~UboF-nlh*dx=$T|^XY#ellSe*6_mXdn zH-eVnTK-O+K#X^=j!>OG0kcT(Y`aR(j|n(C@aF_@Vg;BqxZRYR6w|5Z|7Yzz0Ghh` z#$nD45HF%bo^!WwiwAHo|Nwem;GM~&@`^Lc`WiECqD$ry%o2KP1an^6muC1(f z%+Fj<>31G{?X}u5V?ID@Z*16Cdmp}&rN$e<7yB&5_3yQJXe7B7ae<^{xO3*z^H4U_ zen(7tnQg+TjGYAQ^AWO?f_@6T5o#2i&Oj^XGS-w{^~+zurANCB5x)|L3hK*}YyF z^q@x(#aV6IvBI%N`<%jXeo2~_Qtq8~)?>)PFX!-m`M`iakG^p^ zxKtGt6@in++S`4~u0uu@N-u@@S&TeapfQ(zc;M$~JE#!-tfGFzoHOpKbd@nPedC;H z8!-g{OT-{kU!i4c=zK`@tdP_Jh2)C}aG&765O70B@PkMh*eoc=a9F$|A~I=GfhU47 zP@kuQI1i0fbP)2Nm=hF15Tm5s`u)U5J^%rH#m;>+jxFKhUnb6-`_$aI@i4jZ*u;sw z@{GGP6PmwX!A@|x&y1-oEUX;k8|N%8c8)t!T~Zkrk3{CImI}~B>~(h(ZKyKj@H0v) z_a?9ruRg7;)XF#bCf%Jpt+Ay#Kkv8YU&?vxC!bfTUN;yFcd2?*DplasVvUrW++a%N zA1LWE_vrOKX0U<}{T1UkIPoW2I)_x$jq3Irhj!06-L5XJ=O>!1s)P(vdR8sZl2n?W zPzugJ@C@8M4Kzq(R2)=r6hXJr(y)&H^F)A6ktxK-MyqW=T`b}e=wmx9I9obw1t&pp zkW}}O-zKmB1NPCLINBe_iVYHA;Fk|AWyO!W3}elNG?n%2F_Y%O$W*MWPFdVt)Yy2v zu@U!{w&x~0KZMi~RhgMf**+Yu2-0M$u7{>cQGraIqbe;Dl@xx<&?3r%oUOnYu92Q$ zgiedrN~xYX4R&#a}fq+swb0#Zgug_#^C z>cI)AxQrvJkc7ZAgneH-F{NB=KIXmvis>w?$jOJ1?6st0v6(5~R9U7pOG`--Q`yQ4D%m(OGA%N)5ogIHd2&^Gp;p~uG|tXemg}>tc+ufhLUax{ zJ)%G$P2{oI(HVItotL2-u`yqt1?l)VlZ}?O_$ERRd%W?jevSual@&R}C3(x27v;&7 zx~%fX+o1Ntw%S`Fs3=m%3M%sR%bQBl`8#A8Fc&r|Jw6e%2NY(3c-$eD8M1|#IAaQl zGm^O9fVdnW^`+|Cc}p7ubI{s4w03R#=4F5I@UNTJ<7>R%moBFYxR+)w3cFdkWlJT# zyrJ9cteZAgz%$qx|jUZtV(zl3la<*P2fus@L=Eo&VhG7*yz#d)!Qfa%#K8FVRbTph<&c#o^*NB^ilG|Xi*(nG^6#7yFcgf z#??|nZFSAx8iAxF_u7IC^~Bj#(w+H0(J2WC2i;FeK$Ql#C=kPJ; zP%Owvvl6c|u_#iYR{#m8KmipL2Mk6l29JZnG}vr_E6k-J=Mz36n1sk1Q@%D~eR6MdBqYPrcG+PY?g}F3%d&9_|U>w(aV~L+uCt8cBh%S!D19ave~Kbq}5u2Yn)T*e|E0*sTDcNPy4%ECxQ}Fgfg= z^nGPu1hvL}5a1Bb29WwEoLF#FX`~V~XnfEqFoFo$@+Pff*oElI{6^f^O%=>)yJPbY zoSb^^>ILH$FEjU6mnU7`JZX&b2te->v?A+FhAhj=l0(++6X*;+o^7o#XI-mM7Mltv zm8QnG#xla8Dzruu>-#)J-cpZmu#Hc>qmD~G}tP>8QY^R%+5)Tvm|n}L=9#Ydac6N zP|@(Ut)s&>(pJj16+5gFhd`$F@Bwx#$k})bbmP)69^@WZ0@R4Y5@M45eh;SEBngVZ z&Fm>?6%0@ZX@SLT3Hipiw`=Rz_wS81>&K0ofr`=B>+ymIX3g4&dRES!9r#OE>rRin zvfj7V5G^*T3}UH$wfSCSEA`0t&HyLZVG+BMI4ITmePtlm=|n@EDB9`7e>gXkwU6() z!?k<2>-3V5?UEYL`sw0D_pXMmz+Nm62R{UP?u1LE0c0YIL_kAic8!p6*Ma;1WTLhO zjzm(;b!Q@B!2!W7z0kUl)74ueD)} zx@Tzbu&L@vt@z6sE$JFHzgkgWGD)#&TlE*V;!G?5{nAuNdg;y@r=M~KUP^YR;+s_C zh!M)R4*YTF80Dxjhi#84N~Sn*D_Xc|hU@NwHe|t12a;z^;w%_Hds@s~z+X1_MoBGz z2=?h8FzR&@lRN%=VPMLFN731@4WbxHUHv0nO zXwNA6&EBDIcF(D5SG85YcKB8&=){oY6o2H&q@!Y1QMNVXl*MVK@&i9{Tpav0wT*a1 zTSv>)af2o8lQucQQe-+1pd0P&Nv1{eIR5H0^5X%wc<&A2@Xj z#AYFMEG#1E4dfYgmk_I!XceITrxCYEDD8+QX5tv6TZO@I(^;AWP;DR*Y%dYAYGp2$ z_ieAs<=YgMmKlvIsBm6hfi*urT&XT5^S-NPcaa{9Z@*0~$KOODevLPBNX_u77R~Ug z>Fzc-t_j(d1}hp0twEqU2!7Do%8N=hMQG&wh&0KJnyvz=%cezLR>%>CL47(OCShtg zwJQWizM{OHBjqDH@$ch1;KXP=7Q_7OPoTFn$@L}v5;Bvd&j%_39f@omyhU&v1MMAn zQ$&+D(>j3=7W@{y^Fn6RpmqY%Ec+8KWZZf3r1$92q3&Hrk9tp@M2E&MPNAc29JTmULF5?yfFFTLs?OVA;6Q(txHkSVxbxHaxYe)7-su zNtcyVfR}RYDIc6SJ1l6A2mfgIsBPXKJT>a7T3}sJOL3NU7fT2>KFL@H!eio)$s9fm z*939Gx(nvK;5XylmF5OJnul@|@OAt!#X`SSl12cJyxXjph)NN(b23NG2Cbd^&2;#i zd*E*h;2*FzCbVfr$(rEbB&?mLbD)tzB+nT=51)^#s|$1-_ST5a0pRqxr;YATB@p{AohubxL1cq+fhZeC}T9wv)-toY)`m8JMp{ zAHl2q>DD?2a^u|-w&6dLKVIr8H`(j!?WS_qQfjnOJw)0%M5hOL(s^4Pt5g)BklLYj zR{Z|a%F5>t734}S`L=ACNL8#aEYugPL^9gPun%%B8Jr?kBa}_jiQ<}IZx*l-Nwqmq z!HG^zchvolC`J$dRYA@Py^TnuZa)MM@*nyf4V&t{H_lUC%8HE+zrE({*>>07vuA5g zoVd@~eo&JC(dN_zXDQS*VS*l7jNm^fY_7xK!48kaP6DxA6h<_S7yR2ya_*)nJl_XZgEEr_I?_3Z-bXkiFz{U>{;l9ra%YvXF& zrG5dDTa<5aN}YQW630CgyxZa&Rs$8o!vC(WZYiC)%6+*)A*?7mt>v2q~{5H< z8AsE&6lB%&fVWItZyt2WvIc29#IisYxs~HZ00%G9(wPmx^CvCi`?kw2JbRwLkPD05 z4u|J_rP-{*FBr6ARHM#nHJ~ehxG`nPV-y-P(YupfA{NWakbUyx{Szh_#^5+BIu4Q4 z;lpjXrdrt5Dj!;2Y_1%I3Q!$DL6+j^rlIxp`z?9dpg+UP^P%50@!Lg!u0^6W;8PIt zU}|FDf(RWlXhM274gwhs5yHX-d#rvKD#~~^1MNqi@!stK1-(X_{qDvT0L}VB zg#vv_EjE@&Gw}xAvZa~{(_qX5+E$0Q1%8b{Ckra8^fGsh`u<(4J@1XEsM-C|5$F2# z&NhSc<(Hu|Aq(=o9sv2Kqcaf7;mZM-ssA;b3(kw=fx+}e!oJwFUcx+6kG3r-iOv${ z|1*b+*Gx`6>-C7RGUaL;MveUM? zOV_qqwepOm`GDa*0B^RMPHv;CWCx z3W8ck9~m<)lG4zV4>_qMl`zzZ4VneW!(k?35h?9Ki&BNf`E`cOxP%0D#Pn#5#-J@l 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

    % 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
    ml=*AQIbsg=A&lTD5M(=w(kvq-(78R>YSc0# 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 z�l6==ExS5-BxZ3aCu_=eLUEQ_J%NVh^iUVRY(p%5_?iTU}e^iHnD?$I;(K0b$%aMcj9|AMh)L)}UE&w1f2s6W-XR;;<0PpWf>LC5K1o0+JxcO#_Wx|9B zXn17oa~`o__gwkBaiYA+NS3g?C^{%Cs)0q4jpm2j+8%b-Nx~DP^^*Kt)ZSRHZ;&Ut zp#oIc=yE#4VLa9j-VyE#ejVl)S!Bk5!8x44P!ih~tX@+pHkGfehu87&TT10H)}1(^ zm-P%bR~!KOAgOU?A{S@I)9ywxheo0I-b3T*+VF}fRMUoVF_z39ZgT4xknj% zdg?m&cgvQYbi-B~kH_vlnP)a9KDT)%N_laMNfW8$X<$HBZMXX)YP&qD8uHn_U#{fj z+wP8rwV-Ayb)}{K)Mr;_&l;GRzhr z#Z+|K=JD9>gbAsCu3B}SwyjMc?ogbf?=^YG35y~IgT`B#*DN(ilzP42DKp3&iY|-I z@%CI!uIh$BP|J3(d76@93{a2vj+}zLY6^d=9yTR3L&nSik@r=iK?qbxk%f4USfoMr z0AYcf1rJm5xs1Gt-2rST!6zqYf&ZDtdA5S6jUY#4V4G!+h{EQGBqUyT$(wDscyzx^#qJG`aW52pUnYxe#F4uJo6S4dqh zVb#~#YLLys`m_1wdu*bxj;msHXPYA>4tTf|K)quvv+6QfWIouGx)4 zN=wchKCw%@=@@!eqt|P!CXXvt_kv z%(IOWSW5&4&aXZOe1iLhvNFV%xP;lg#Gr};rEvHGiX0RT4AOCl+Qx%D@Do<&2*`ph z0h|cm|C2SqMJQ|lP|uk&(Bri4#gA*7EQ4$4Pa0+KL zuiv*?w*4S)(gHj4Zc~-G4qr3V*L^nGhk3d81W$1R@8StAT!eyX67C||bDRW}#Fys6 zh6qOiDUE6%TtI>*xKQHorpndHeoSB+4w_0)2^z^4biVKvx|f~-Gyd>20o|L}Ot3qc z*6#U=X`UGYB@E#7l5wWGK)G_(y-0F?`}EqGdnyhICLQA6)PFaxf%oM4Sqe9`P5Zjs zNPpLYsOy{inwy`#1lY0p@P3`rB^2vn9>?dO+Ss{2BVvFsjSSn9!C#gTZspQl>yhp!w?=gw8Tk`kt(Df zr+~6#I0$D}kz!W{(+Yn9LPQ})Lh2F356UFfDe#a0oDJqDGxdPfo+$$dlr(9GQ(!%m zM>Mh9k*kwe(I5Oa^PzqFg8Sh}tZW_+Sf{%7zUIMLzOvQrYo_=+jjJ-(-P+I$86lL{ zhGQ!f;Z;f~l%G{w>C~;-w~v0+BC$!FsB_5FRGbx}Dx~u2N=aS`D+_t4%#u>A#^V)i z2~p+rpN+;-%{HrDK^5eeusH=XnM}*m(|-W)R7;Bytu};$2B_GyM-6SUhmUTPZg}8$ zsWzujUub>#fj>{d*`v32w^*C(jWsMjUzlISVs{wn!@-ICp>Q56yIjCqK3Gzahgej8 zc4cXKc7v?GFn^L=Awrq-#d^(#zHU)3wq^OyH*p)m4oK~|#Ise*RDu;cweiLy;t2rB zFR35+=|4>*7*h9x=q&IVxCB}^*=xbH$5f!Lerg=uI~Uc?JpqfYpGtL3&<98aaK&K4 zEIf$QiMv~VOuYQfkMvBcPIS%wl3Pn>+|R$hFVIG5?p})?xbHrL9Ut@u8jV_mMr=#o zd>B1t(P}LUgCX&xMgtHL`i7c7qoq~@%UlmM;r@{d((4)}x;lLyrV3j$@X7zzURPr0 znah{TAld;9MkM!gJ7}63BOMh?-z(0B;J(*~wwqDOSY!0~@#u+*$A3O?B5_L9?pMdX zr0_spoA^3{6dkB39QSkU_WX0o-8^YUl;8pu$Bks$*I77=aoNhr?8b8a5Bc=`&=g7jbu-@9H|=SZ;K<#su8O`Shpt^+=Ro zY(2EC0oJhvN4r{Nl@|TAS?&gBao%-UuCp^rAZK(M<``0#ZUU&Pjmg*obi(d*y4*4u z*?MRk;1T?&WD~X#+7c;}iDb$PkQPXXUdJ9d==x;OHekZBapHi`jFfYTxggX`VpTBq zB9&ZlB5HEjpw-jI0jNl0YxMPMCU_TleGUEw%Hel~Ds}uIOC{iD(R5aJRwgp%1R4}M zXzb(y4xf`hX<9|3J-bd>QfjHHQf3+dPH{>qcrqa+UWvY^e`c3=aix4`t(a56dH(rH z4om6q%+86k_>E;tPM^-I%Bm@M(_9pNn^Ex?{9Zy7K_{xDM}Q z^;5r3h(^oVL3R=PrbrQY-qTT9EM~duT~Pl)EP>Y1z<;=`#-uH2oe-PvT09&m;yANt zrCm|sq_U`BV~H++D73-uuTu&G?*4$mRgu@=x354fWYiZ4jI3O^RnYT>F+bnFWQ&Vn zz6#@+sR)|kHH5R7iO{4_CtZFfPA4P=gwwQ!NZc7gUQXF!My8YYn&Eizei9{&`4hyj zA^OD^U!>2VXJ`+8BzK}S>8pJGfNPu?tq2R9B^^{-L3vh#R@~rkubLe{cKXgcwQ*`J zsMpg++GkWpLNb-IUdiR1FR4;AE?HB(Y9V?^vSfv51$xCa&usqGYE@gV2ys2^P z;ldw+Vu&2GD|a=^>rC|kC+{#@OsJgxn+Z_6I#dpc4H7xkO0JMsEnhvLv?zObn8s?& zsuUgXh1ne$P!!MB^1$1-gSQ(>(b2@j-sEygRz7LOz@beeALGnI44UklDPv}B(QO%t3=fqzb(U3}ZhiXC&I z`4qgt8+&`LWBA_pA}XL;iTZW#XP=>hA@>aWN%^$v`GIEYx9JenNbd2d6f}Ec`PzAW zfco7gwj`=8A?+yJ7K1BlYzHp@_glP6`~gfsj0b@6chnhrh#W8;+8jK+@hgvjF+b^U z0T75-7wk-4vPqBt$x2p%m~i9&(pR|B{L_zN+x&LY380^*%uR_|+WQ9(d*HrFlM<@` zPfo#=7Jm2VpZ9CvkZI^|jQd?K_8fdrTmIh-epG{fZ7#&`cz%+}%i6%Vf*m&_Ym%gI z1?)_!=1tlffLn1P7rdtuTtC7h&458;i*&`AsW+jsFqJ{UF^Nu}#$C*Y+t1d`F0e{_ z<8qaxw$5JC&~aT{91@! zladS7Nsz--yLg(2G8s4+Qb|j3WI5l)rp(}li0?x7V)!>g{d=jb-|E8 z-(+Dm*Oq6mS##r!ot6B?#k=VnZd|cq^XB-rZ7U|I0-WM|Y8s}z>46>#lxJvG=^hxUVZi&&q#P{us zBNR(~6&kSLfj$C+nJoG!>cr1+l;ic%KYn;KYo|)+&M|fuJLA- zWXi*&o^%B8cCPH>?amkmssXe7FP*%^zhoMBlVI*68h437B56(1yj#yWrr5qPiI(L1 z3`+t@ofKRKCgGD%Z&-2_%h06V&=_PMgnojFC;@pVJi z;)(`?>>BSTs|EX}z0XIO8B_ zzo{d;d(mcT)MRO~H#RN5dFdomF8TTAf8j&M$}BC1Kd2;qj6eSz!>GKpvM0Aj2C`jWT;4_>Ms9&oWTF&; zitI;%-Ud-Fm#WtVJLL44IDq1zrHmK)W?J(!>OJ9wwsWr}lli+SC$C0SgI@QdoKeox zPVrbbfB|_;PA7d$QW>;9M06+jmxJI3F>~FFFBH16woY<9Ae&g?aTt%Ko*@Vr?xbgf zT^f*B@Pqzu2D^!NWPBgw@cYjNzG0l6#ClcGaZC7yOHK{AGdp&!^%%{)H8EY-(kq>7 z(|OkHXm*>@2#YqPc|6RZcPQ!WJg&Cc_2b5Ai64W07F)EidakoG5{&|saQ^IxK{DE{ zbkonJQIh^J-N^wOF?o;6`LCi3Dfo#osF>pEoI$Y9bJF~7&|Ekp#sXQ^;!Fq>OOxCs z1rLysOPmyj&GI_@jj=74LAQRDDM^)wfcR|U6EVehH0lK42@jow;}y%y0%$Aa=l#kcJ1sY=Xs;fVcw&(=ACm@NEdC zFx{>UKe2rwFJ6{e`~vXd<+LJn6eWK@$)x~c27efPmejJ}k)ybtbgN_I!Gmq5+b-@wpYHk5ZeQSpktZ~+ zs`gWZ;nT)4v?9GCgT}fHp9;igyBB)##)G&rz6 z!}DJlGs-q1U$F{!3)2NZ;97At5kKRk8k1CK++z?)#y5dh7dVAjlFNd6rC*ZtP6#QJ zyoo8uq^lV_opct7HDO6ekIHm9JTz1sjRqq0A?N^XkFn%IkFU{x>#kj`0ZVH>N9&1d z&8|r6P$(X^SgV40<^2_f{-To3i5Meh8vRwPblZ*{Xzw=Fkfh&b-z42GM(^Hy^9Q%x z=DvgSdsfVX<0m~J6z$6AG*y>0h=+6slQ} z&$a#auhp5QnayP?u_CWXAy59AuvlKixwxz)>T2<*L!(-H-SgbB7U=qaHt}O-E@i85 zj+;IUE$)CZcp5;b+nUPIFNrTv{Kgw~>dtVC6OVJEk!*HpChLW>Sr%4dwZB})E@c~J zJexYd%xK|v^l%!AOTuG{9DcMzqq$3?>CkBI423!27&|yRC$ogj{AP7wr9-4IRKYJh zL_DJ*?U&m+3q3)!3(!@yu#cysRo~tU@MPQX5#0aBeMPlPz1enHfhl9<4opy4K%y)V z9~^^NpTUWR>>szhlr%5l?n7g#0eew0BLmQbUhjD4tbF_1YRzwV$j`omRtD8`9Mfr* zbdqbLh$Z{O3-oKf4)+&3c6{M>^diFxqf4K>p<%<$7j72sd<^elGH3jTb(|_s#&0}` z-N+xuym4ix#EU*}+!OmLpC9KH926O&I>`x7%sa+J406 zMK^5~-UFcw{`>X6JP!HY8t{4WG+;AuFqYlR5ekHVGPu4=ZGUiiSw;h|JPY^1L6PBJ zO1?(c1{g_nnKD&W*bKapQbl&!ofk0U65nxTJmw^?fk0yQeWXm|LWvX3e8# z&bfQ9Y}4>dQ!JgR_NjMvKau(JjhTWCr-~kj&(!$KldOZR43M#Mn7V3!&jhQy*(pqz zx)MgVm=93Tgr`7oNbBWvptky@$C{cST`omq=(jtnf>oo@7oM@Qpgh52H77*PT5FS( zy6s8&k(+(GM;9%4T<6`3S`QE3R(AKQBJqM-x%b3St(X4(z?W04gCD?WF+on^3DBcF z$VK3tfEfVASeKL|xD%I~piMv}P?I3AOb@Do`IKxzrf})^NI9L}JG4&o^7I(59PPG; z2cO`cU;MJVbfywuB!^l?wq}C^i;vD-pt0%$--H1PuUsLUrxh}rg6?0T?8pn$kmZ57n zh2jSKN!Mtb+fD;S>zq!rw?{cqyK8%$TlSjGE^*cRa)LSHwg38fQ@<|w;*4y&nf{V~ zZ=aOnO4e?vxgI)*=TE!iu9i(3&P_Kxgx0^a?OFBuaLJLR%&?q^pnh-`wltAaS@RKr}UzOikVo^k<9$w}R@q_)RFwTla z?f{Csdv`F{NB0I-JWz0adu482cHh#8w?lnrhW*3Ux|*8F{m)D>J%BbcWQWg)_gbHZ zedRjHVAetg7$a=q9_%ES1BKx;u~LXkDNbkoXU;)$=Crit6`<9M9%sCfeyk<3V8dO} zJFlymbf>)Ou1QBiMLlt)H=vxreByWPPO(#r4j%k-wn-DXWw?IYx~=o*Ve8l1ckI~y zwbk1M9Y{yytRZ^Y)S>yt{;rp&rE|@?qXiFN<{4E|H#6I-Gl0*reqb7+$R{V%C9B&Y z#hWg+a1JiFLQR2TnIE+u?5uw2#g3O=tiIvhf7Nw4+oaSc?Ig!|E&bJ%>~g0I%PzVJ zOYQ&_9kY%I=cGxq?*w68_vcx?_1)9TW{j4#Po-O~WS8~yYxS66jF!N4Jh6M&qP$-xZZ+484Pf9YBu1JBNpo85Cc7Tnx zUwByX=&J=~XC5v&mv~?J#BRy{H$eFtjbhVwqT1V!HV{VL6`^T{sS+!6!&2R(q+ z(yP&fbWgk9*<)A)_A^>CxuX`AUt(?Y9ycRzOYt9>6>TB;w>e0RC)D>I|L{`D6f<0ih$ZAZ~4_M`OXnPxKuU&dl(fsHN(XspJk0P}}VF#clcPfKTRQIEcZ@OtQJ^GmM zmVfRv1de>L^dIA0!gXVMt`oXc_by%DJ+FM>_*_xvtnztSAJ#&?qHF zOCi368XagE9z-L=BoWqN_@j`*#X*vYfpR?ys`Yrllw(LnYL{n`Qp}EiMumkH#id0Y z`kp)<@A<^{typW8*Gz7X<`$wo9BAa#v{COW);ZLU!U|SqoReK$9gRk{MrV~MCl8hI zbzH8A#U2|rm|K-&w7YJocQsHh*!ikHcC60mfrwee=+{}}Zu?!XO8foi4z~MgZ$)XL zOXn_YZ4FdbP>9VbD{W{Hp|!#~owd1=FWr7;%ZlO028iz6afW^FMj{tNh-F`g{R0)r z`AVP%W+Czg@jVfBEGEQU{93M)mil%2B~(rS2|wDj%7}ZqB9fnt4qp81s@9p>{)q3X zz*p3tc3r19@rOLSF#f;UV=L?tI10WH-lm<}4wwPBF=8gU1q_et{!A?@*}rnxP33*s zhG*3Aa)2?3ZFu$6!I;P6?m#G?ALZvC78!#k(c|v8v)lR_@+0MJ@3r((p0hM(;v(^q zL2CNK{Q0x82bOVH_Lt0=R<~#n?5F_x?9P&TD@M<|NHoS^(r2-C498qzDp_3_2mnzm zkY2*Hg!~&Pi!p2D1xD+nf2UrpVE?nS7TrFJQ>9fY7iM-E_%#*m#Fp;qGE^{3pSinU z(kfHV;1|aVdB{@C>noj7SU@kSGaZLrUlQFj1w1#uU}c%qA>l6NH`-(Z^y4^z&HTv0 zL+%`JcHPo>Js}4mM)-W%a!ZH5D>v#LJ!!DZNv%qU9=#-%U?tBvHWl9-FVDuxNuZzc2d zU#J%ncIpAWzhQc2M8&TvMv3n4%W~TDiqM3%MB*8f*e5Z)mIs(b`5Vh?U6S%OH8Q)b z27NikGq(PLWpK{~JzbQ-+{9^C{p4D{JaOmj85N7JsT?!2XvX;Rj&c8ovFiYAvP}QH zUz#-CBTdqgHcgslHqG99G)26gdqC?4?(`e0;kBJ`^FR7 zLqSzBg%G2jAH$B2-=PJ2tRjTm5lBA$`}ZnVo$X;x}mx$IZH^ zCYn)<>Y_6THfGE68t}snS@z<)mPedwUA0K_2bJ~-Oinme+nvtt!2dM{0!H*Tqt*=O z3$|t#8T}V_M{G6OT)fR>4lRFyy9&amRWfVn48TZO`5tHpVTd7E!L=VOV?c#pU+a?@hD7{Klai~w%+*0bDi;HUsIDW{u$fL&L|f1 zC2n_6ZYm`*2h$D!JA4(2RM{YNWUo5ii3v;#Zxjv$zX+U4J|}TN*ie;laq`G4ZD8j! zIhwX!304LTB&ei4CFti_rfu&0WP3~r2d%LgM z-Bc>;n|y2<@jx+F)%F#(3}+UJ{G9<9GN*S1H10~1(kPdf&S^6juh>L~pKyLQ=$yTv zbJC$AcXaO}R3Dz9Y~W_;Bn}}1kR|bpOv*f$=E2l89+Fj3au;yle8n6Qf+G*q4>QD%!x!M^%QV>tgtq`nzlW zzeR_tOSHBWR#Sa6YP5xj14W>LNB8e{-;P$}mX=kwXN4;-+?P>Q8JM#){z_F9Wgc3+ zyvsaepis$MwFkWre`UDp;w9iJjiLjDKS`W=5PU~6lZWK$NNotsp(Ha$w^n;7Fal!? z$;8(*yD|n4C_vJ1%=r?$__0!mzbr2vY(T#><2{3BOF#p0X*9)HtU)O)h?-O=yD5I% zjv{HG)N79XwC2OL{)DXgh^h|mt`v-+2bQX}*<+9-KP)$bi2yj8P zlA#p`9UUg72mH~qp_Y|g=UMGfaW20n~6QO`#Dq-jotz?|Vd#wgRB_oF^#B77$zMxTqWU9lu`wDed0NDOLz zBl_ZF#cSI8qLo|vbRVf#_}<@C*4JTo7|dRkL>@C#)M$&Js2h~u&=BSoe?q0rm{&c~ zu5XNs&*iPMDlX4Y3mv`8vEYHu9aiUt$Ctkm3~0kHht?RBtCe+HNo}~cJM36^dA_>R zo?28m+XPLpkvRJt-Ycz755Y`+8{B**^z#6X5O~zY5L!q9KkE-#hdf8_lzt7(+lg8N z2w=J6h884pj6krYc|@x-1x=88MjZU>D!a~3ki96!EUNwlN>lLZzS@f}n)y_|(Ui}s zLlm2p!R6(NMZ!Mg6z*lKCGTe+T{w*|&~uvcm&8174>tGpZNqym!&j;LJD*6{#Jcd( z>(e}-qPF$*g)Z~GCCaE;ld7n)6qUoaPmaj^#fsZye)o&M%Usob?UFT&?&1KJNorEY za{MI24?F=WMR-WyPe>iY4EF?h2?R(0oJpsFrpH-Q`*8SC=KwtdxB^#Zetv7n|(u8NxIM1-3@!Lwyo(44s3%lYuW2(2WKup&C7;_g;`4$C(lXn z(B~ocAht7~_6ERy65JN_Q^HOX-IRBhqmDZW{pzI4L^uH|!H&~d58ypbPZ#7jfxvR( zZ(DT^WxIZTgwm8a%L6is(}w>m_DHBkR2shsm45jpY?zpgfBEuDs;TQl{|#tF;Yc%9 z;v4ZZswsUBj@a&npNVTEvo>bmd3m0&YUR~eA7j6?4Zju$3_5$f-X1a#JU!v72I(^; zr#0*7JSG6uJh(uTyo3m9e4LzE-}Xn5{bP+ADdpyk-^ye;`UQNfL9i*PMp5{e3Sl%? zf~Zp)&gsz}1EeI9+k@INO4Gk+K%d2KYOJi&O=LA|Bw6TiZLK{xBcQJ4d8(cIT!|wP z_nyna-HxA}Sjl#=Gi9Y)E~H(oCVULgOX#dt04X4=;DGq-82EW)eg>&GP43p147Y3{ z1_;(F5o!>NL|dgi38}JxQ`YA>Io#o6-5Zz^Af%81y~ic?Q=cRLMyoDsbFnDJ`knISa!Ra)C@h z$qtcjQiKOGLUTP-5HNxbRdKTE+4E)-VXJsI; z(lhk0{<^%{wAokCGQjwZcR?(!p!uHkuhcV=TngfRmeY)hFO+`4aen7y!NGt9Xw?qd zjR^ENFl6Udc(ge5CPq;^q+VsfM5VOh&p{ora-Kng@4D_5-Z$7d>sZ<2!(XAyhuhm@ z$kfo*M%icF4$FgkRQ;_<&D>Z!|H`~OE-K2GE@uK0K_E1LYH0e>ufJM07@9gi6hN)P z8u&==#CipMEjHMsJlKswy7rSO7~C9mP_Y3ZsQ`-&w=_B?hi@7ev@t3gz%bg`0+U7{ zz2DCyGUb7-AAgtBWfH}E#WJ*e1sz7iGzLK29q>pI|rXRjmr&jGgUAd5}M>dZcwG3=1RGFd<+x@wBV5;UMWIslu- zr$=WDolDkli6QY{FM|&>J%--E%VGA}3xgC}P+jeq$ZFIG3$xK<{0#%L=J|sA@U`bs zgvY3wIBdXt?zzCR_;L;Hb#O9ffJ6EI~a z=a>Z^98*OP^|nj|$mA;!h%F$YkgP})J<+@lw`_%2o?#2PbqEPbw-&=7Orb8UF@?Dy zfu z^-Q$4x7X46Z`$IbtuWL~irMJ1Ef)wCg2l^KU44g#nCQJZdhwoYPBF()8UN4Z$* z!&amArpAUFv}V~dUr?2vZyaoXa+d8r2%d4RdFc(=2e05;Ya@|9ueY#Ff60~5Rm_FB z@(}bC+Y9)?Ckm|(_^F_jX_a>lA6!9CH)Se>i2ep8kWdMPMX2)5=nLuxpd!r~1sk9^v z!9cL1Nu>j52cABUT8TXsmTJ9fZE0Vy+=nI|`c+gVvvb1STuw)sOQ+GUEbaA{d*hc! zkg^c2T}*NGdO7UYE}*_)UYVB5KEP}Aq~)qK$~OJ_OF`|SzmIJ6`{Pe(EDD|R5v#^* zwg^y(7hhRf#PX+bwpO|nY8&%)>No5t8Ce4?kW;E^7+8Dn3m+B8lP}CiB~RX};w!uA z@1@o2H5r9G3NEAumZn=sXyqJ)ktco2^2fOz+#1V z1Z{o})mT_77gwfbA*#mfGltxzpvMq^Mr8CU;|YtdZfo1z+UjVI|JBgyJu+jQdjKA> zrm%l8Eo1ml*QLA-BUe}JwYk|aWH7rzDZAk+uONdfE3Fhad#ZemVbQ!brK>=Pl6|hk zM=YZK2C{ohoXF3)CirNIfkowkjdg*-A>b47fcO<;kK(zk0}M)Knv*SL2M?qzh%X5y zI+4^QgY2MW9C;2M>gw7#f^ihpkM#DwbNlV_%g*Hoo_f5_WVh;-uve<QwR+Pm`PZjdC@=CQ*lbubWXQ$(zX3q2(soucghg%QEbI;)kvV!=t6-S$#(VN%b zF}Robllt6@bh$)HyOM<*E);~9NyI=R;3OH1e=~CoL@fJ$B z9{cb2r4&}Vs~VK%p`nWTrPXPrAYXY(L8^fJc?_*UY^7M4p2JG1O-ae(iV7?mO;1$V zwDpF9TW%_AE-zH2^Pw=B6-{AhrIzw7RaIlp#_v1V-Jo4Io7wiIsI9X!r7$%=#Z5KU z=Y&G+R4q0eM8Ldmc%}wv2_{ih|P?XG+ayblU0!v3vaf6yZ zMxu%Mo-vE55>zDE1oDdvz@vY0DlFxs+!45+{Guo0N>IH<>RhyC)@rd9&9zuXt7crW z$RUoe0|3j{dS+5F81pvy@jP_Rsmstc_)gUQJ*?x!8_~r_u0XdUOWLh>ql@96uDb7G zzW1F}w%IM%u)$)RQ(|y#*dXv@Ve3%YP#4uXls?#-+BSnXw<&MxL}_o|uP#@$Rr9&h zqDyrvfkY;Y@^g)qj&JUQx|$emADQ|>(!&nnE{EVZ3>XZM4w<^ZIQ{gWAf!aR&*mop z83@8dzW}~38`0a!(Ay~36Rn#^2KeJ?BzQT|d#mi4&LdZjXy$CWY+s>7)QGQc)MT*4 z2Ay8s0~!!X@}-Cea|5EdI8rPXLzi#mU7Jy1OK%^3@G(YrA1&T(xn9MxXKlgB6UAddZts`Vuz;`2wsM1OH1mwpfQ{#a?A zP>r8?#^mpS5~*@kxO)t7G7}`>b=GT^orEOG9TF712MfEMMv`JQ|E97ZQvE!-c zV;4m4%g*9trrFcma)m{?nP`aT2oVmo2Ixr9TxDNcnTzYjJpcw$_#uu(O0=8?aft}b~u$3A>ywP5NbSBIn4u%S!e zbCo{+8xwz=c>|C_rR@TlAO1Lt><1%tykwUO>4I%Uj1q+uk#o{&8`m zq)yUKSwfQyQDb~Da^7>0XEXZh&+*9sSGk=cU)iG$gWO$-{@Eb$ z$fl=HDKE(&dCEq7+}UAs+o_Mt=2LHm3Kqv28e)qJLOD}Ip{aL-J9ypoSu%gCpa)%M zGQBW&PRuv?*!{PfDy7y-Dgq0UrD`hLdR?J{Pm1H#;-L<(YW*nvgy3w|(Kc?1nOhf~z)9&Y_0Jcrw=!)LE)D zGtB%W-=}s?yC$uGzgW2X*!Jy>H{N)UmSVx?+SJvn8CE`Z>$!NAGU@YE^DpYotXtr9 z)p7I8b&KU9aej_RkYvr-EzU{yi2l-vw)`@FAT_d;EUvcNZ3K+r}@Y z_hXS+Z>0a;2EIZXWLBk6!!Q-5c+!#MSl43?UAsb~19YaJ1Bg%}p^r=jOjd|?AOu22 z_YseeI2Qy?A)E7qui{V2u4v}S#1wf+&X*; zigBp9b=*7maI@tVUSp_)$Io%+)&{jT^VQkKd+U+jE-%W$ZOd{?sP$H1l3 zgTf!SHH6LFd@Fhg-={ZR_@K|<8|du~OpL7Tm{%+9p=FcM>?Xii#?QxPc5H!tBw3JT zev|Z9jl&sf%7I;Bs6cGRs6i!$m2swsHKDnNejSn5(V&Y}wR!XAw>H6t_aod{Eio!v zfmrHN-Smwc8$W`U?u&h$ojzC`BgG#!;%{I+&X4XPSk4;)fbD0XBCfv zSGBjtUo_Wt-kX3^MGm8~9kRHPqnq9HckCIlZg}$IHzQtCgTg6OPioAmG|d_r2Vl|>yf(0K zb%wseoteu@XRVdi)W}-n)X*iOOGnV^Ia#abr7vHQzieU7nz_YGF983w81VVm0Rv%b zjYJce+F3&Fu`M=9 zAGUi$1FiUr_9>$7s0rGRS)7UZ)5?GX5?tNAE%ZtoXKPI)7!1~Z^;KOkxLG;9=cyS? zzAim5F}FzP_S6S_cArTW@vBQc!OCF7qzZU@WfeW%fGcK~EuN~Yx@0}n(mr!N*vnMF z1CIj6LFVuiJx1#1M<&b#JqBtAcC&y;jf22w2VoqEMiI{>nP?&bDbJu2*j+HJ%*an- zDjA;+s0P0ixCr$xzY3{Ba#W8036HcDt-7vD(VfcK1FESw#Uj@!+YB2bELE`!D(zJ+ zl}h{-;^c5+@D61^mTFCMkKSF=A=KLrh&^RPET6hO<6)CQG%@7TNG;M7R`551K;qVc z-cEWO9)8Q-S3Tmo!4~SV_Gncd?T4n@4x&{U8}yJ8WEZf-9-TcHs8XbtR0n(>89gUWd8UP{e*dY6vIdr`Z>4Ules7Z!_ z2swn82&;g8`$IZmJUI}sT2k~!wH-tb#Bl-dg)}TD%KHfOfx)2vfTwBOz@*p}R`lMYq8bil2E8uO1H|Nx*&A)~w4f;x4AM!Pa{lct9&rbi!mHwTcA&cj3=lVA-cEg}q zEXy_bE)$mdgOhyq{tDN`(#Ibclgw)w#2d`srDl2`F^y3}VK)gLh)G~#E1L00ctL*& z$T1c^j3V=-_JBOi7?4C%#!BEPiIpAjodn}19tU`fQc?}@uZ8%%+0&+-7#uV>sP%Vn zO?6YJ_KG!nPLtQJvuS!koH-`g(8~J!%P*V$^)HmMaO%_&ex4vD6(Lx`l$BjsDI3xb z7XDH;XHM4b)XZ1&Py-F&%M$yRy11F6`<9k>^Yx2Xs`|Q)O=qzDhMFa}WR+!)Tf>yb z5f_Qsnrby{Vv^Lad(1Pog^Ac1A@olDjgBLjoFthJ6iy(P=a{@kx+IhAHX6JWHzdJO zXU-!Jq1^)vD~g@d*JT~voLybD>_9?FNt|G%aX2?{ z*x0@o8CYc^s}($m?DOcn7R^|HOy(=3a%epxiA`Gc7`{q!SAxUF05{T23@sRF3FIPb z@zDhf@XB*J?kjqf_-S7(GA*;Od;fm#i4zUD;lv4deO-B9XO2dh&8nfO%uI=dnpOj@ zuo=JNeiWCT!#DqsZ$L(T$<*SaU_tq^V5~Dhmaqgm7fI}nuyj*#nshkbWHbU=Ok>># z!G|vei@?nED59 e~_IlRSyt;gW?mxN-*aNUlXpY_)>kc!nD+Fjj$(CCMdBcO+sg zz<4u2OB!SnU|LdQR0G)#+aS`3SscIVGjua}w!5}(-;ToY$M(35WL1x{i*!2Z^K0p#S(3%vjK~A$!Qlw{&@oiUFuTy+M?d0s|Sg zAgJjAdO1MP9|Ek9)Vmae|4+7KdK1$-=sniN#V93_;kXqTeAvnY56~`_%49g7&{QCA zAcjo+qVPP=Apv?6hmBNu{GUyyGIFkKqPp-up+#p_6JXw~>5Zp;DIV;p%k*4aJU`~$ zuH=RCs*u>L7Y2$#Mbp~q(!FcNiyNIcR^ zeK@#l*I?99G`&kDuU2(y?23*l7rPrXTY^-fH#~|^ zQVIjnoMxa6(b>t}KF!4X@o1gR27eX~erBGW{wHI^M)fqI7?6TsWyH;*MU2K1X%+-8 z|9s1S=(vd}E?Re^7L@&4>H5h$=%Um=w1~H0m-K56pJmsCG(DiVxo)xi>0CjRAQP2E zD;onIN4F$e26ecU(~8nA*Gp9rXVqlR(VNq2Vor%xWGdD)T;Qw6lP5Ws$CL>*9!@Uw znds5295r0nUnI+$G-xI3 ze=6<#b!<*@{f|3X;_^7`t+1V9suKp26ThMi^!gigK936(NVPCY0ccJ9Gn${qg-c1T zOv>oawtkIRH-brz*V{yjNzDp+2~ESh8qlfu%Sk_%TX36bElz(LPZso>E^7;wt9dfSSJz5UAbZv1V0ZD{dUvd{)~UmLlQcq= zMXt;&J>OV2Ft9LfuubQbHz>nek5sn<$EO`BJ2c!d|MAin=i-yQHOdmHYcWwDPhkH+KUNNFh^SeqTLc8BtJxScLX z%|)u}$kwg?V7XBr80rjm&v@(A>63z!h64sgI@c}Gl}Y)zyqF_fVjV5(0IHUpz7OJ} zGRXcDq=slNm~_I7V6cGfz(zM0N`>MV7VS?a{!D6gc%G)?sL?0sknt2GH$>Bu2r-Rb zB%(YW1t)?@d zMa4Fwo8kt3BXRj{C3p67(mFQ_u9%p{YZ@-z(7w5(Lfv6DmP2;WT(RbWYib2wK0}mV zCTO&(gIyzmYK@mAh1tzsQ9%ysF@^oEXxrYvH&H{tOsx!Bt<^F7U$-6taeTX_uI0!q z8vFRk)>yW7SnZp|Kp+2h#pYC$ce-89iF}bwHHFl zKt5#r482ncXvv2uW+c3#*Cma+5xQs;#GS4@7~Qi(F?>zFpSclD!jLCYH(M7hK;?_? zU$Eev8M&hE&n$m@$r4m7NcV|Fk60^=*<^9jxA-fI)S_$w&n(4IT26K1P+AW9cVgX= zwwjfZp7Qx4oY^av1j}>v3#)VdVzmY^sM8a`dmG)bBv#TJmX!G&TvYU`f0z?~@;-cn zs#upN66#W=LOP=hYWAXb4-gjFX<`}nU`Ll@Zd6`@8l5l z1SmmUkhry+u9hbgX6j%+J&l=H63mhKuzcdkk?QiK(qI_Y#)79vnt^6X#i%~f(Eu(a zDiVv&m?<;l-{*WWm2>qZT-qOUeE;z3)v&4Ki_U8=KT!Pgp?mPJ#c%AqtVvNHNKa3b z<~nm_R#lz4RCF7`dwdEB@Tu>=|9-n4UQ|I|WLMW~>h-Eg6`LCz%As0q6r9s2Hakz^4HY15zg+3}#8bFpAdEAqF3qcYOQP?=%Uz$=pD6z!RbwpaV`_ zvKEE&^KZ{j|GK_jUDL*>0`$?-jn6&z;Db*LW#+ZM_~@gJ_uO;Lms!|<DXW_7Vy((z8L5Nx{yRvd^TAwL;nI33|}YahN%kqBSQBFqy-QsNFfvFh)+;Y zQzC^-{vk*dZ+$H(w)ISF?J5x?{XnNxpff6jJ=mu!2Z#4ZlzA|E^1l+RgsOMy{5tnR z8m3!RDhta>mnni?zdF9js?yQY&QbwpKwUlu`QvFT)}j*p*~#cZs8{H{%~b^Ts8bTU5_}xG#uijuvgS6S z+Y-D-7;b!lEf74Z2H--H9eD6!7Gtdl#07)}rvNtcjNh>&q^`K_w%hQl1Bf-SXX@0r zhghKW_nW?HYWfBl;!}|H{r6Ak{TzW9N#xrNHsSllkX(-M!gn%(=; zcp(9IzEB?2@TsW5u)tu5dtvG3#*MEt(E2J@G&;vOY;Zs?hoQZ(RW*BouCoa=C0(?h zr?84$27IizqoKV{+%`~pug|wpS=JixMslN`TyHI}nf4cj(93pzqW+6?)H3_}fKJJ2 zW@OMJ;Xn&G+GD~==tVH~#BPK!nPy%EEPNJki#X;?ffIGvtMtc9Pd@n)65NuRbL>S} zq4MziII~eyZl7h3KJ&;U&!C*8dD$=KWGeA-i27AA67{Qu07!}1sSz5fOKy=s|7BJ~ z$RuNnBaD@fxfhRH8G)xM8;15yX4t93Ja0L{ovhl$wxQ zD>XxbQ5D6f@lC}UsZj!65=_WKrmus+J?oPM)ud&4)WaFqQAgv*@bnq~4Y4@|5^n{y zu4CDfC9$PT*Y{MaN=$-sp_h$$P%6c|Z zmPvBW`MN@-xLnyoV{u56fc(*%Q4KVZ89ZNj*?r9IP4|KQg2*4DPBbQtND4tjAP%(P7UHe_BSqZb!WxQOv> zAgf_X_Ei!T0Z20%jS%l1y4uF@VhiKJ5VX`L_ycB2SQogJevI00(4)Z5iGLQ_fYpb{*N@G*i?VuFzJgDoXMn%r7a0R$!US!^LkBylQN0I=%!(qF;B{x*Tq( z&7zA4lOxluFb-YYeU+`-VAoN~&i;E7E)aoCv*wOYP?yBTwU zG8|3zINt>{_R#(#gV~cxJD81u_zXHj($Y|XLsyVN?iHeFG8~VS%4C*oWV#;x?@>C9 zszRW1a%3L!IT4MI8>N?go=6M)6f%jK7$6dl@e_U~v2YqhLVdY{vMhj)b&?!jMIn{T zE-8g+=E8F2UiiCEa_Uo1qes(9B|=sK+gP2#^_xw_KygUW6;)*O)hIiqyvSCjPvNu6 zD@_e~X|c4NZXWYhNfjl4uUe!P6(XU7Vxz-U1CrqrL(h~wFr#Vq(X!`9V2!jU&kRLl zHWmlr1q-~x>$$F8WSsnFdIQg8=lb;S@OK69cSFEKD_@S6<CG0qb@qZP=ZvJ< zEw6wg4-HkwsjcO;P3Kmm)ehvBSmmiot+{~tYVTy0A|1Zk+ss|CDwA8DT9g|IEtneY zU-;2S3;Topi$VdI_?MYe4j}+|tW5qm0O+F-_JomokFojf^I?we3b;+iR#`z@&RFaM z+6MCI!1c-PE-X;%AW3w{z?i?^O>9pFXyfc1QS#&$0Ad_|X$$7W|KWolEQ8IPOk zzJ?y>{tbOGtMZMhndVIQ^ZP!VUarvBwk0p7NNpAl{%(Cs%zz*A`DQ|mH`&Q@FO6#w zoG#g0D^BR7#S<5muL<*Zl<2+5}8SX`r>_%L$|@K zCN<>M=srpS3Bg2{r6fy&0k$ARq{&busIN3t@?mc+yrnz~sjo;C48-F`G4Jr&*ZC`mFcn-ro4PYNJbA@xsF;VmrsX?wRfE zy&r6ku*-96v@AAWRkf~IAWBU`Ss5z1I!#fnD=bXoA}T9iS*=2U4Zi*M+plu*?fA%` zdkQk5A&E1bp7k33?m#^&%xZfW$^OovPJPT0rqE}UKpoigtV+=B1<*z8hX@QBGg(FOgdTtOI`lK=WEz8Kw%s)f5h%rCAfkX|%H(c)^O?rslS zd90qE#$T09iUrh6i6R&80sycM9mU^LS2>L4Uw?gc5qcmTlJOL^#m>4^wDw}hvibcZ zRb?rgeD7&mfk{FzgQnfR$T!>F?0gpB3zA!5W(`%2tC=K|6`^O6ND+aG=wOJP2}vMI zC*$J)xM0RD3+cF$&bSC!^vl`s9Lyd{j3|Qd2g5^B2IPAbR@f*btSRGPI08p%RiNES zC%g+w&>P%rTt-ox?6mj?sj0?5snM@{Bun5c%tEP!QoFP;y&-6IPJ*4WTk{Jh=M~K1 zlv(te#VOXj3U`^X$t;(0<8xKrz8k1}W!B=TA{AXY&oO6BASA;dmN=dFTjZ|tp_~P? z`NK0u2C{~S8iO95CrE8==&ow%p5GE|t+`^GCC!&vH#MiFo7=W#&kW-OK%2}7)u)fJ zUVz>@CO=H7#=la`$a$0sNd%@Dv7ptHe)0+)x} zG{MXh6b5gVMCHF{jAWG``b^C4=qeSUO_fF0%_=P{I{53sgINA8e7q*gw*7thCG;+u zoY`zM3B+sTIgQ&(g}o;a9{dDtXo)$4C51;{NE1}Cx&}+F>M87|$|5caE*tT~)&{4; zM)g2(9@1-kt{jfZxC$08;3rHby#aq+o?SFQmwMmq&*0>l>_?7RDz`-kFmCLSD9dyL zAH_ipfgc=Yz*K3)p9VsqO;zC*HOM(ggXQ#7Fe4#@u26td`btg$#TkPXWprLZ4$K5} zK|fxFe=Pj%(&5^02>P{aYiC^gTOt0TSO3&armN$TmzFy({%GSx%{8%^GanG|n>ux0 z(Svhm#%fxqnDoTGn*kHrJeUdv4vinw0%sWCjyW;(P zeEQbi$J^hk9n7*6X9W;NA#^FUaC6bgjz-B;v%?Z7Ep3gpOvYTw21Vv}mnK*h3tFpT z7~ns>f{GHgQYRK0R25Qbp|`{aW^@8I!4LG`$1(!_p&_^ud~uoL%qt+nQOD3-TEgX& z?qW2d2!D6^<@mdz_=@4$XmIl6U^IgB)VJ-~GSk$vY}<|c`)+*kU&T+|f5lC0p-5zS zI1&kTOx{@trB+u7Z$j@mEw!;udwnE4(LPu+VhL&6VbUhNAJUI}0Okns==#{R{NJSU zF6sBs*b4j$vW*}g;IuN$Y+%jd^2Q{FRxR)<@LuT{n0fNdmvm`dcC*YTGZpD|5`A5h zA{f-8f2sW@lhmeZ?2?M=P$uUkuwz0zw`IF)AO?_Tm3w6zUg z8Kj?6T4c5goldU~dKBJjFKRSP)Kx~cNn4;bl&Q?+&SI^s)GU*0s!dXBg-cYekQgg9 zRTljE+NZS<>9xZ{*GVJVr`IBb)NU--8P0rFU}z{ne_f%p!eS<)rlPvoRU)neTC%~e zJ_I#Dne^SdAg=^~AlZ8J``aW@#qYm%wp%~j>zFM%XNJ$9tsq@jK^kR2M1ain%md<; z%I}w2?dlSXSfv#y)G|-FGGJ0WrJAr-Xerf*v4^F(4YvsP$_~hj=fN8l`13f zwW8`Gog%{VL@Gl@eT8k;g(6mwEL^;lYB84Q;Fs$0OEC^VrD*r8fZg>8zK}H)Ux;$* z&?9>IFSW%sO+}HeveZ&xDp!~OT`#CMC}4@WK(4c7+A2(?x-wJ*FI4E^i(@Y=|4`4X zR_aQs4Pg5nY>Uh!QI(^w^}Yrdm4hprRnV=NuN+-f9;0Atx@D4FFD0wWWpEd0!UFJd z(phq-5rj+tAy5K;AXz(lb|CdgOACHr#-OREeIHeW6|j+>B|o(Wjcj~S?Nn~PAbbO= z{1|=|{H#jQUGIXef$?zgvp@?a8JlK#_~9U>L}lgD2nUT}kY!pZrS6gTFHw5qgwr3^ z->JX0v2o%aOI=rkOHyWg=i%r=mLlHv<~!lz$HVWuRrBo2@qbZ8uO6>?9Xc5QJw>J4 zu_3&Ueg~xf?l!P>%>0i$h)|np9{{eL)|5iHd^Y(j0HN?+$h)vIkQBTLq8&$ZyYVtQ zdWPf|iNB6^QJFCemEh?P)P*F1~>f#pq-Ey}_s<|IUai30yZgY}~_1AapLf`!ibX|@=o2;1pBYmh&Q>6bp zzyCXxRBAKnr4F^Fc8n>2=I)q%@~ag(DI#9zh*1Zgd|+R@4M~t`zE2-e8r3zW_5SNKOM# zDl&_gESrM6A`g%l(v6u|KL!6vl7@&C1mN@~Q-5jK;OAU=T#{k)mY3Aeigdz^jJKc> z?khZiHW+4fT_9W0*S}7(y1moNns17}aKT;L!X3s(c4-Gby$99*1cL^`-ZDErI^&(2 zks`P&@cQO{yWcf9HN_X-e zqs}L8)Exs-C(h>-5nqGs%3$Unm?6(Tf%ssFnUHi8M`L+lA(EILgm{Ei=?5)YGz@a~ z6R@hT#qX8fI^`Rb@n#^XAa#VRDe&R5-@1|#-QFlo%XRR;O<>RZ-JaoZlm-#M!G>mFOFdGIY@zcJ) zo?3x1(KSY(*%9FRV)zF=%$IOGgDoeOJ1{D1BYp(RptiJN*jxC$tub&(FqT*Jb_7;wGBIV)U~I^x*FOkv&Cr1&!d{QUTwJNj`Y+D zQN=7dw~ocigtg9{vesWLK&b)C>4n z^W~P?+VQ(Z1x1|H&Dlo9Rj03mzF6X`R0DOuib4=W4{)a6B*-Y;_&_)x zei61$o(xPOHQTjunXRH4uf~U2UD`gF5ZCnibCDkCeA>{0-RK$oNtH9a$ls7({NEOs z<9`?ReAU8DCZ(>N8>Xm>E-zX=Jv}EF|1J3Blfi5KZq?%JMH=1mEOMY&8 z^UeH7gqmQ(pBJ%1f^?c%+2Jf6Qq7#2cgt%j4(raH))!s~1AWw|uLb(J0iTf*?jbsW z(E~h!P@RJ=BDAG3Zf-^>3no~fWM{va{2bI16W@Me&zO_I&b5Y8R39`+NOW@(sCk(^V|cyd1ds(mOncM6uOdQkY;pd;~Ci^OQR*s zXL{HJx?(}CF4Yxm=xj*sZ1?4r2jPY}Y)eCj(LYjBmmx&!Q@GhV#l?b}dDO5zw}6+) z;YeP;R(JVv#dO7vetqW_`A~?uJcLj3azea3d=K*TVKWUMm5dAm8?b8?J9px5P4%zO z%h38C`uX5gOBQTGP_Fsy&5!Vg`Hop=;v3h)$V*4`vyD55E+~XE9tWN+BQrypE?e*? zz@Chk8)8V{f#B15xS4tiq4=dp|MADWN>w$@mC@{+%}qc2@ZNj)f$1727b?OghPe|P zY)Q7(Hs*xGFn{=i$sJ|4zLe2wzw55>2O+dD^i4KDRGf*gMeRkop#mY|j&V56XXHJ< z3GbN=8#;+SArU?-Mv_1vk`Ol{X>?*2DwUu{4jR1SZb(zwAC7S5L8)s~shN#S(O*q1 zyytpH(hlFpsjfgd@8?aLgwl^6%hBt3g;@c9u%sAEhTR%=l|SZhNsTreb4vaCoB)ff zilOg2XJoPt#y<*Gy>ZLw3Bt-iKpf(7VJlFeD0{|0aPGdQJ9%H`TBu{8j|KTbo)E7` z1AIY_oPmS^KR;fhA{EUtZ?J9#t4#sv!^dJa_Z&-vw@cbeXNFCPEG zIHlIygq~jz{GgYyR3GX<3#~`fvjw3H(T`(S6#9stYhMsrADBHmupS>ZwssiESVqtf z+S6M>FZn?~rk1+a4I%+bKlF{He(!mg_dLS`LZ z+k&or-O&x}?qgr99MPu-@s}?+3o;M2pbmV1lGQg@O{wym@--C}M+$x?ux?#ovR+(B@r9UnZ;;do*%F_5d~#caAJ0%M=Vy`Mn(e+mDQPegCSh@GV3W|6+JKl%_BS|t)`O6o?q zDTV?01o%iYV4KZ4BpRx&cB>}wVql%QJKXMCORM*R3}r!2 z52$z&PZ0fi7_g^gt$uNGA{n_NSaM1N3t&tLB$;Rn(X4nreiQ-{#9-z|Xx~LYlQjT! z=zjdl{r87p*@Ode8&Dc7K@ijWlCWhN(U%mLu%%UpsE|06A4M*GDtdSF^>4j}ADp^V zgQ$0?t3uIe2(QAIq06!g@pjY(ni3c^V`zk^N=40%9l`H-1;zN~P9=@eMIIluLE|l;e+#ei^)+eJCtmGn7VPQLbf{SEY=LtWI)?p?L-x&Zf%?0$& zgTIZ6>zNFmP{g#=GrfPX4Pr?;sIy0&&1pczldBWMPCAklT0%@+cVpF+~Whu#JH&>-}Xx6NeN2pj` zq&79!rpp%l^f`VuTV5B7NmSJJS7h1)cc#zRSzS8oJhjn?I(@#N%NJ0VWQ$;Ac7{w6 z@VRd4G6tkRTZw2&UQ4Z3Ybo`K49@ycMy@v}tEIY-?O~@14CyRCm)#h!q;QlHJO^D= z%n$O)KASp|+y$*HUdZCHd&TQ{`6Mf!_$W_&Ce~si*fgOyDJ$N+KA)x6H-> zT6Ji33(U$~ng8ZN)s=rS82)ml>Yi8gUo_4LS{f*B+mY#UMY#J!0Z)o%mN8vUYr$y1Sj{aF*ojPwz*^c@7vaZQxU0r3m zI#pS_%T+hIt3auj`1?|NSqtWeZ2k67U>dkCs<6UlaZAlc4~%jN9sQ*1B5z@SBp=RL z1$9*q!T((Wy{Hp}#y>2(9rvFTM+Any7)jA70Z<|NVuL}B7HDZnCC`zBnzr!~o zoQaD?%lq<5UCrY9phOu~7S)?=;WijMYin<(W@ct)rn2#yS@J5Y-6Q}u)8O+dJ3@vVv0loWC(Hk$=4&@e6g#zXfF=cR|!f$ppcIkZ3K zr0O8L^alREZteRa?+@0t(U=Zbo!}!}EzVZLO&VGl#X4<4CLzQ3Q z@EW9Ay~U-f_dWI*O>uaiDfIg!yh|`14e`Yh%fwTdc>mM;gW`NL6rPL>A@$7gpv)CN z7JT@B`G3Pp&i`JIOs`n9OuQVO5Dbp+7C^xJ5Q^5I%DDZ{-gR}Deqk72UxObC(`P86 zdtdc{Op^Uw5EPzY4u}v!@)6i&Y{8y2|BPKgd+aH(Nur^a%tEKV%x5o@g~WWf&gyLR zH? zfn&!4c!>|cgkV0<7Lp*0zxLL0fW03Tl8Ov&h610&FU_$p1b{r8l^VY*KfUeIBpKRcda+-jO>nBZwdUZb$-~1P zl78r0V6KfGZj;PVDgYE4s>%@oa{>DWAJl506RB{m=e)}C*EhDCk@orMnFtBL*h+p7 z6FP!J4;mAO3S}e8N6kLm$H|yYL8|xg%$f0f&Q1+y{U|l4FG|BmUz(AgMxiyaMR|*6 z8mA8C&gF6=71=i(I1rl|yZ`=|bIQ^2fTi%tKx3h0^|o!>;v;`fk({(JH&qpjeLNdA zEWOR)HLV)9Rk9wrdmD}F;uBZixKT}PfC%)`y|7!5MQU6~Z`S#Efl0}Y!8q1@f?`Qv zWH!g+=wL?1b+pyv!?YuKkWn$`X9~tMVS{pmu+&7cU>w@B$p?NlX-LGuh&UWB zQ-sB(4xQZ{Zl#SLOC7(w2mPh?xffnQDNjEgcrsp{G$9>LW`$pFbJ?UCtJSM&@;&k? zZTLJvR_>{9iEc`v@8~v`9qx$HvUJa99*}&jdohm$C;y8SqX(hWuRr#;azUe@1o0Yi zKmPVy_cUrq9KYdb{M3IUtr^XpxX_PQf@8k!oOd#6KgfGmoIVV7RE+JGPKXeBWT>qG ztvQzCJp-OfJ?}vhF5>sl&wW36#L&M#DXH#=>KZ3Srz;lTrC2yLBkS2Cscz{9iCf7n zKkKbfS*urvmIiRRGZLIw-4~iLmiH&p}yH%>zF)nsN{J3zO$G` zyJ@`be-4#4p}hF*+KX#_H6K_ObXj{^`h&huTmP-REt5K~;@><7ycs;J7hnsI_X4QR z!HX^m;y0}$msVVUiGJ=f?NT^5V{6Fdz6`oT4ysfTWDMc7G~@_I2Tnek9!$8DqcI0K z3FlQbV(rZ!0g8r#%mab~9&nZMBjTg+?mcx@Z;oS`~X~DirTRkQ{jC9_O zU;I;EMnA>+P*x{CsSo&!CztHV6>I!UyKAg9soD5ySfn*CD?Mmz4%B*7*#6Q>+W&>i ziJvbA-9qO3%7Dik{?xl8L%_hh1Kfv1*GYVUF8TyTM51tj8vrw5FvG?9%!^Qk!z+s3EJ5kuRtI8c*zDe_J>4jlsRd_8KDzV#3h7=5D0_- zMgix8YC3eN>EU?GpB{2gz@rZfxcDvnbIR6@hw4u?Ar_9$YZp;HKfy=*=082;`vq6t z%&QYvGsCGlh~q~OZQY7D#j~?p7(GjT^cSK2s*;vth@1Z>A04E2bSxXdD5a=C2%kXc z6SY598;j1uF>2v#Ui+Dn`y|R{pE}h@>Y3RvC+bVbKV-9RRH$!TDEr!VhglP@Hc&Mc zj*z|Le~?||38|$|614fz6sbD&*P$BYowH}}Gt>9bmD=3Bn7p|c5;ozUEX7qWB(H^10*1X4VcG%m@ykB=z!T2S$CT;^8ni8lFG1>f z{6L+xX4Je=4eRhjFqhuBF0MK|4@NZ{k-Qx$p zzn`|Szpp(b^P|R`Gt;^6i^OguVL)>%t*)VggRw`6udyD-|G4!E*~ram_1+ofSKNY6 z7%N6kA~}m)f|#_R5M?!e6-gJkHD-xc?lF2QC{`&7SSRsoG72Ivh0tG2y%oYgu72AM zV~+a!cc{bezpX^ME{9~)n*hq3EnXFghKHx8HPqL}^bXh524~YWM781{EgSczwTGG) zTl*Uzlp}k+4#BJ%rcNYtf}Y7*Cj35vfS%9orIAenOTju$nlxv4D@2!}&ruiNM?X-l z=QR<|{S()t;2n8wZ}SC`rH@w4=~$8V_(N=w^|eOy&8k)IC7A1OjDgF`AS35;5UJ1c zJ(4WY6OP$OAI^Is>M$n;Fyr5kXD}^ZETn#?68; zvXY8aFy>G=$0%|1e=v>n#^eKke*T00NFf|+XxTBPs_KeH6p>#uM?M?%FJFFS*)sRi zxZ%$Z$;yjgcdxI3 zQdAm;pQn;Z+La@me;eOO*|>CAI%(AEwl-Bsy$Y?*4G@bptZfWG@JYhzJ~_|3dbM{Y zIHCBJl63vnREsT8T+Yo9=pniG%p6BI%wXA5Z1)?2e8v4-N>)Leby!JX#BhK6u2aV$4HNkdhf3z^6tj@w*5vNeSvx9B8C^s6~DM z9o$87G5BAzW;uuPJ7-s8v|GuXyjG(@_u@9VPvT1w9MS<6C>!9W z4)h!@Jns46+qCyFo4Tr24h`h2IRaTWsyrD&F8Auy-=62#360J2n-n2dR!U=+f3Rr- z0B>7D>NpIf3kLD~6G_cxE|3H$L1=Ou?mF2?Ipiui{#Gt-vqeUtkBEwXbAwKoXfeELl?j9J3KRQa6b745>TY|JHV?NwV6-=4=?Jp8ujUm0P3aZmgA$tRJe6ly>DBw8E9y2k_3<0Spohhks zYLW+svk*C^PxSwceFt2V*ZM!_4IzXbAPF-efh0hH5JD2NcNigTktstIC$74xrD`2j zs~uLYR&U)_ZL3wQ-TT%qJM6k$cB!rP+Il)!wCCxe$r&UntVpYH=y zLSn+%NhG#L6Z253i2tvJp>}TA;M@2E5(E~Zl=J6F^UONZ*zMf8@zQ9#s0La#N?e6) zs4cJ~xGHfe2EE9p6H1-w$pv}3Vw*igEr;nEE4$h3FgmO*m(^hmyv`AJz65QP*Mhd< zVuyzoq_aYkZO_vf4N_HMi6y_%d34B&M{J1<$jc>t+=w3f|Eq=4NrS`XHmGex$L2#A zH+UrI&;vQ|TFDg_cjaJTt%Xu*b*JR(SiaS&E;5zWD;MP4h2m>b=It@U&YFVCrkp!# zq0Il&S}1!=9pZDtt&6LTNWkoz{(whs7*Xmpjj1*+c+%0+_; zZwGWQyu6e3HRNXztc`fusvZj*4$LIELJs>6eoXM@DgK+b2J;;^9p2XShdpNyPUs_Zw z%62QobJKF&a+#+n*PB(K&5329DVv4=ES|jCCaWsiY}*`o?0=KN_EA$5(aOI1)2AP3 zHd+sDMA9l(YGb3PA=Njgc2uIjCUD1=5TAH>$Sxy#t&zmoK%u4U3yGJK)Ii@<(i7=^ zwI)j}7ut3Qq9JMylhj0f$k|$|Z9iP)@Cb~!A&*c}I?SumJBHkwEHgeUDs~xldVl2@ z$;_jL)5o=OUwSoC>1(3~y1Na1o4Ysk^#xuHt;p3LUMX}K=&3Rfd3jN@!*AACD=VCC zg*Y?Z6!ZeVNOQeC-b{jDw`@4zy!4iVaLb+IQc5O0LpJnAF57m)vlT zRFv_@-+uez3v_J!b~M>%J8-HXc}z*03Qg__{KIDJH8$2+a&H?2Ci#sQMUL-iGdCI; zx%nvMyc>e{nwrjdhe7JdqyYd;`#(4!qXUo}SHemOO9fXpz4tIr;?^aWAFLfq_773{ z@flX%n5VGbgY161&tF2_zu1Ov z8NYjA;I5(BUF*_46!b`ZTT#*HSZo_RHaS0g&RB<9jqRW_G^G)`C%Vucu;=u^Eg1q!9_n2AMo`~8NFNDSap?s7Y_N( zkAXZeK!hzFyo}IA3(yHzbR|n7$&Di02Dvtgq+U-TL<$DukSMvZ7@=Q7kb+2j7Wrs! z72tQnnINC_e(`)mT5Flw-^JOn(|_~`r!U@EWYm`g_OJ?L6FK7epQExSc}0z#0kw+_Wx($S z9;NPYv-^DZw!kkV^3lXG=EH~0W6Vx>LQRFIKCa4YruF+Lz?Vky1&CLXj;xVLBAF1Q z!O%g6D+^LD@a=I%59 z@>vfB>739r6_yC}{2t6XKMe9~Wdst2Feb1}wGwhXN%1A|rxN0(^QwS1)4wP9y|6G0 z$ug6>DH|i2fDXO=-GDgD=E>_ub+OQtazSDJGp8Qudy7-^{G)C(@3|@ZWAh zUWHgr1yA*jnHdE3B=LPm9o!k_{Os1bjuno#9P)hI46frYt1ES^^Ddpow3?b8HGg_w z4i!;lD#>89|DmP1Rx=zu}OW6-m8P z@tzaUS7JxyL05a=#`Y0m0U^iimtaX%Z<#EQtuJqr>Xy!&p*7^S^{lgL^7$H@u`EfK zXKM|tP^+m~t*xzr*+c7c6;q@+0<&uUYRH--8RpG&kUw# zcx0I)BqEG+p5)Z_sRH=E#vB?3k*EZMDKuET1{6#F5k9xehx1 zstfpKMzc0iT?C79w3wRPdTWq-v<~MeJv1kwdH+$s6eMw8g2zT`&Qx^HEX+;9*hKIK zI6mw@9jt?QSD1wb{r~wtf`%n!0k_@a7oU9=V+sW>`)a-5ZFf~j%VqVbD-nv3*P@Bc z1Ah|a8qsNnGLhMsE_P<}4Y@j<*BY`AsKh1KSE}D~;9J+D+fI`H;V1F;v}wQ*Y8Lx^ z1|QxYB7xe5VyQhxRTe{jjr-8)D^5QW6Wj}NHM0Ma5OabQP9pRn0`tE-S)c?# z4UvR@#gPTs0JP8tW&>WrpejU^Bv{TN@qzZC<#;w4;VgMc6!>t6Jzi@dqE&6(Rg|dA zROe~SobpI6D%A8=Mm_mjWQDb&Ek>6|2P^m}FVKr}Po44y0?2(Ue#u_teYdUu>1d~#oVmTX6< z&wFT*tN3`jt1r93`j~eMKG)@4aPjZkWCck1{8PxJS!J`Ww%f^CM9^#THcJI`LhAp? zIq3pg0mXnMnh}L47(|Ajh~C788?>N>tp~0U)EZ>}d*xu&5d2TNUmUvqw%cCwEUfHE zOz_1d_q?Ynq>lIdSLH=T`q&!W2PqBx%}vGz_EULJAM*xDX>!kqmOH~ z;xBg}KK#NhR3%nWsmq+sWq53p@|FL(VzL(ZA^a&Cg{L42#WC^phaumbQnjymqt!r*JHVnF4f!3Rx zoQ&8Ja9LbpJ7u~>SNok`85RtFmCDlAeB*;NEfDSgE7M+wZXZC5$e>UOiWb6Q0KDzyN^1R_Idkxv@HB^C4G9T*Q8ZMyX`ERi zHNK-tB@)?k#Ur!Qt@5nm0z3)K@~u~d$;JnVsiss`_2O!{%Bll>1t{Z!c@DKN(N&C( zqDo_t&}R1(3avg5W?3v450@oZYo{>(L>ecxFh~;&PO2Dik~B0XFzo1!aZ(u*8L&oZ zwi>}GXEb8!&BzFd1{67p@L4E@5{C3Rauk7RhNaM;A;{E^CMTyo`10HrXU|6I5dyZQ z92=A|odxmkV&r`?gr52fHVjb~_^loK)NCllu@y?F2JDJTKxc<=RKpY5-#yKqK5e!w zIX#^kl1)>_kqdv8lT83r-;2)Wj!2}E2iJ|6{fHUA8bVU72$5TZuRv;-7uqb+BD2Mk z_N5q9#y{L#XE+s^6IH=;M5T;Tf1Z+_S(bT4Y{6;EfS$l#u&iLSG9K)duq;4QZK5#) z0g)L29TChH3GiJB!5N{CBpgjT>mE3k>}KoA95_agLy)cx{F-rYD0Cc}krP-O@bLp> zQn4qDD%F6^LX}u-__g`3zwUe;x1#xYaSfGH6PPx%j>9e7VOkw}vu@=fej+b$*27EW z9}pUfqy{M}GKfmcN~`f=>P3Z21}#y=^3=W~a0R}uUYv`@;*GgCwD?T+Vfr1*Gp^np z8Hv9`nOu&$?nH*WHr?NoUhBzp;UhjM=pwdnBE0xuiRxqcOG{hsu z4v21A6N2Ue79dJcnVIGjuoCczki5T|P2JRP08^7Tp@Ib+fZ@e}T#!=^_23{?LmgMp zu5sfWl)5l53(Xk^4dLfZDsTuKvP@YdbcfYwQz*=ij48|ZX!4=wvVMr0g^Y_>L8&c7 zxt3BbD~<)Vm1#;zlD@EnqM|sdNkwwLsY+65#p9?I7)#63dsrh=Goz8Pqhsw_g8{lD zjY-x{ZOw|}Mr5Xl0HGHA*Q5u|5eL2|Vc2-+WU~PF0G5^< zWmqyoy#z2c32asY0+B&((xL<2Gp|J10JRJL$5ry;e{BTW3?jmr?uS9|F8m!}zSJ@{ z&;GK9ia`fohbw#v2}Gf3DG5-3~2hoT32#^NeNEQ)9a}_ZRAF2 zNpXoP@sCqrge56PO)!Z%izW?aeS%LwO%6F6M#Q6Dp#T}D~FE!k9>ZcCIZ zOR`|S34eYVa5c4H3t9nlc}m#4u$5u=hOH0V9JZZab)ZBV`Sz;S5YWva{=3RY6c_qD z!2bkmftF-LKg-GPz$f5Wa^hhJrHR}iO%sORON)?}X(>rpOELBma345o%rRl!Q_Jjy zP^9xow=B0nU!2jdYa1)Ba@1?m+wk}QQy)SfI5ob!5`CV>7x==zKwaf7siJ>;tE3|I zo43?~4`RHjl@*5Qsr4~YC9#!lmguQ(XG!@LTrO~BF4AyuO_e&+ZWg)9;Q6Cr?-9<( zI(k%`B}`6M%ade$b(|n2x;Pm>|36hLl$opL6^XJ7Qo-q$tpgMp=BKja(0yHivcz*x z8UBJVFcs!os2CQq;Ez*N;0M+IM`v%y&-4_;zlT!ulS|Ta4#g8`4uqqCa0lo`7Lp}ifW&6z(l=1uE+GLtwf=guzyk2nO)v_ka zMSkqX|CwkufABx_lHIJ2gRwA%+mC@h7jwgI4_g9O4X_u&Vn{rMG=?Rt2ZX0$$j)Ki z#Li&~^1vBDtXzh9)BWIp#DPzNa!Z2{f&|TG4cBKm;97=Xap*(A)T~e+JV;-7rQ7|w z+hc4=7rKg#IvFP}HY$Q;t4beH9+R41lCIQ1F1Roaz;Pl|S5>V>wXC>|ETx(y74u?Q zbzGmRpoc%@?gb8ASzBhMwko>RvEW{5u7%qNFm?r}%YEI(Lc@fExh*!O?Guk@j>n_% zOx*+5wkhq}@n8bRN=oW9h560`YiYx%`rI75NMmtGbIm4`EH0L1Hc>LvuFym=QgQ}4u98e8G|};>x@E6sY5-<0O|I$J&6Dh>}l{t*`cd_ z5LGS+s6d}_#(Pf3)(E2@O9QZA0EKdHaD+Qei2LxC@V?T?BX+FOs8l`8cp+L}ht}i1 z{(0>c4=lF6k1w7+<<=nC!`rhoa&?qDoYh{xbylf7ueHZDXO3(Bl=||u4;B7>DlT=B z3v62@@Iiu|&h&s`s-GDzDoGKYU00=s&%;c@hG8T~tEA7!xVz~ksYLRFf}mDcFk zC1@+|s>5Aq>l@+SIXqj3J{}Ng0JP}7I&>eNYORkcXlr&&Tl9o4K4vOEEra8CoIUHPjJ5%Yp})5EOmNe#v zgh`QXW0gW;nHs-~R$kfx4eURK;N%)gQPNYXZJ;iC@&7??qt{ESayYn7*Iuh>1xyO> z1$Z^}s~7+7#{YyrW^$uw;7t_tSwG4;$s#pg z1l@vGGfB7%4kWM_TGsP)LO_P3OKO9F4zy4KT^HREacFO3r+oJ8g{bAOfdObEcl_tF zlm1(cJFCEWMtoIg#}d_|?!kRdhti!Ajq==Ic)ee^@lX6u?Guph`)BVcIf@daiY=bE z*FScPbJF9xVN3|d^c2K~bYQ=P5qu*sGhlCQk!AzjZc~6X~ zY8O^12Ir?@+YF$@nqdPyTZ0lC)7SKFk?-lBTyAx@*1f$v{?Fz2Kp^f1&*dV#kO|Yi(OMjExm0g*=vHEWiQ-1Q)1~CedA3CYlO|4T&hKEJ)A+KQH9x zkZ=dsRrHE7$vdcepsA@oGji2~QA&4D4?r#{DSm7P#bU?DBvQ9RuD9_epOFl%W-{E6W=)0U0vOjn;pBs=BOj+P)=le|B~Z zfq$dNy9auSs=#JZ(bZ>QoJ4>p2+sUfenr}IqP>1?0oaiCBQe?@dIL@9Z>{-YS|3%H zQKs~>e8N=j$(k>EMx}Ch+#8iSqOWfN6TzkU>-%vjnodJP+Y__V3x2Xzi zv&xK*I*v?lR5}ZLdJCM2mR|JUY4`s{r#Wr8u9y@gaG!>{0a$$rV8=ZYtb-s3#y6;g zU})(&@+OuF`VcC^X8PV_Djzt096f*LOsA2%{_&_PJ*1Q(5BeR?yr$HFdJGQxMZUmc zQn{0OD9io37cc+uN3y=*K*xvRjIqJX76l%7IB5h$4GtG6;=DoP5xt(*5AEYimntfb zJb|GW%qa7vE@Sl<$l@?>T3=sBJR$C4CruHQ8PBLgUs~y|v8B}AZg*f>a~_aG0=4aT z5B^meLFhVGfD}Lr%>Ij@Z}5Ir0qy02Dn#PjgQ%c|_~|&{1BK{G6r3uZp5Ff12W{WpuR0f$rVci{FH>r9J|+?C78R2TU^@G0@*|L_4NR!VCS~9QWfYB zH$x)H^;0UgjitQwk%Hj4e@0|lcB4*j zo4&8m^F0nMkwle8h1QwWwMD^6j0BGi*k8ogodiInd;q^B-dvDhq#k|P(Sv!CiuIeY z7W6fmjMqFB#d-uKq*SD`V-wg;UaMh1^vd|I$R`d*u>BP06;{kUfrGQAPA#m7*!56U zvyzaAozmZj_tfi_xt8n{w0M(#d-W-NL9B54Bu>PmF5{oI4KB10z@_3uE_i+L1={)d<1*eF@amg0ULb20Xv~3N-(ZLUF_=GHEPuEt}gUv zYF>mJ$)e)eT@|A$x~hsB&7z1ki?}9TU*9B@-rHPAIf{$XCM3h3Gmn4|B9(4dL^9Ig zr3BXq9^=phx%lVgXtz${iAzBFFnaH~JTxA!2Us=YTbEwm1+fx+Z_rw7O({``z7#)i3nlr@m)=>6CRa zyl}wuIsmq#5o|{h|Gtzku@+d2dL(#JMb(VR?_Z(a*rJ$ zTmM?D(fn254auX}28HNq19V}ms|rm|+itnuT!c#)4T z;i^63$Ik#5yWguigLO1cRj`g`cH5OYnkkV9PEC!ilBuJi7XRSJr==XHJBRQnt@{U> zM-j}yJx3-!~qkw1HRkT7t&Hcsq zxNLK4ZP~6-vMGEWxj=J?an|(*4`*=^aZ0W&RgJR}P*Kt}OcnfkfOTqUh1~lccYhz`Mb_&X0a9}qe zB%&Eo`vLajVH9@eOf9r>O$w|;Nf$2EUbuj_1MBx@lW9zfpjkiq+~L@6pEb)KSnY5; zZJ#s8j!uzdkQPq{o<-5(pQiJ@kVi|_l3;@omE)eyDfOxbgYqcxRc!4Ji=$?lWHeNC@=@zd(?Em@~K^e0@az5Z*0?m?9G~ zf>k6Q1@0 ze1TJ6;^rmM(&y3}@Ts)C6BF0Uo%S7+Ht^N~K@7k&BgEoFB?)qJMI58en35b0b7jGK zJOKQr9BN7EIyMCAA!F1sS)^C7&7d)Ho#sxcizI9kHp=i)7OmW~p2Odz=hc>*>bqNJ zX*Q0@^@&EZ>cm+*e5PmeWJ3ud`3X^D$4*5BDAM;_d9}Q$IxFy%y4PLe+;r#U;+~Dv zVV7}KYxUHu#VxyM7&iQc_tX7ll5#0$$!8wS=aT~=W+9>HGp}~hB8^g8T&CPxIJUj8 z1>e_tn|c;hIx#%;N-c<-<~+f@1l|gY1B{ylcCPSD`Xoc~$ITejY1EE)(hrtje>`(U z{R~psF{PuEyYESkQSyHEr?T?E<$1Kex%M!Z*i z`l7oVcVv!2KhgW?FcydQlh9-Y$l5; ztwoTA&wq>TQnmb`awJMhjI?3-L%QS9J#~oK5zNg8e$m`T%&Ik>(!2xP}!!%OOFTAS*%IG7}X9otC=J zb4N47oAH_+s_l4ewnOW*z^ltnm(TZ8AG2J;>f)W2qzs2?9Dr z(k`=b!)`1N0&pXg5Sk z6D^0mJ;s9^W4L8(rG5Tw|2F zxyc~T8O!nlH?H9M_uP*?=Kkt+*S(u@G5Y-2ZrjiQfjeaUEYPtZgm`KcXiyd!p@1mX zGSHERyKNXFndYdp&P4A6NHtjZt8Wsegr-&MiN4OxK6LyMy!OBc$)hLYoQb3PUp(=T zk0WN4tzNwu-Lw0F2PRr56};?5_iSFhIcOYc%;s%_ALlu`(}DDYm=Y zWfB0an`*4GSgMS@$?^I;Kl2`&Y_{7bWp_+~(H8@cc^u|J^glxw081jeZNk;#gJZ^~ z^}nlcGtsTktVkjQEwY2^3Ygf?SUZHlg|z6)4fxWqc}%dPoJVlam8s|=IwETWfhCI~ zzecgOD;`MOwT_#SpPA9Zvldgya^X~LP$$pqE6z4L(>TsKM#105pupysD?I0!{VB=V$^ z4AfbjBQqy(+l_9E#cixfj7tTeLgojcS2p+(i2pPf_BjKz(OiPu0`BE2zFdYoko{wj z(==neDLU}+4(JfQfbT;?}3}~Cr}@hx;>gI{8pW( zw5l4%<*nG4cId>8J!u?Mf|BbFr#3$0e$hE&hVw=D!41*;K042p1Gd5rkRu`8n`Ao( z3BCf+bVx=H4|Y}ouSB^aF~2LuF6jzKXJRqO71o5n)DXb}H?;H#4Otdw$Mesle?GPC z!tUR-2vTZD)5n(7E@zm z)p1u(;gSUXem2$4C6 zZa}9{*f+9CLk2!QZu!mZx`#gd>=n5D{`;pQgfAaC?@*|;S*K8Oeub+cv$4@PHD^M( z1Fwg~u>8UZV67$E_Vzv$!HU9f-0E23+Rf@AVDmLJMR0bJ6+29fK!Kv#7nMHF?x{M^GH($}G3CY2% zU~V9)$OnNGnRhg8O86ne6kPtoE5DSJU=L^yJPpvYoO<0*t}3@wb)m`Q%rdO&>gX`! zMl8QKinzQcqZG<-@RfRM)IP&P`khZx6&}yx#vqjs`znvIqPgJ}%GEw&wWhpAU1h+x zmDG&X=isLu%9hIV$8rtD`T|QK(xti4%V*vAKS}X!O^zF!VsiIc@3O|x@uMm`x`oqv z>36N8g^`(TvBZdb3kuM`BE^}pku?oJYAvUtLT&vJUBfe2LZ5Thgo7^V$z?ZVVKCm(&h^F+2TcSEbVKk ztIN=_1{XznrDU&Jly=d$!7&EJPtm5eP-PjZ+&g)-7JjsMX;uG%1=WKn?`Vev|Mu&z zR4eTDzoP_hU5-0B8mVBfKYI9KaLwI&2P9HX4CIYefI}-@dFZKy1=93t^x{F!&Ykq! z#1MBNcm!;)mc`(QsD-(~u!$=fuB`m1>W(|AKB`<9SSc7_>Di!A?!|LstZJgs@kfmu zncKiwfxdhu8LnquXot(y0@tOF?A2Qxf7R9f<=Eo4XRmB-UMcbaxl?N0y+fH~WoOmi%t!ixS_|50@NtF?E z2L<=cK7eHRy&!0-!VlMPO>iT9OcF=oG?$~2l$BnE(V63wmpfkb%FXU<@{Sr*I~@3l z;#}Q|(c9s9n@W%Oxq!Y)f_l@Bu}Mxn#j<&N9gD`=ic6GAeP9_>D90*BsPu|UR5{j- zkWtk!8)huq9sBr-+a8R$f6mJ7oE60klpbKn+G@;dS8K$fmptRrAC6A^eN6})l~cO z_-Y@ZiTsB)zQ0muIZ<@@+(Ax*Nk#ly>5aX;6Hrn|LxL!J;hjkn#&Rv{M8PWLroyA6 zg{k~p4W&utMsp*m_PFVqu9zm&ibnun+P9_eq5ghTU!SR;S~0FOosvZPHDY`+iAOwO z;8HGgf93UlC5iw$G*#tP@ZS(il~7s=XiL2up$Hf^Y1 zHqk_if_=%sV!47dL0A^76g}%r)j}OZ!jEhkmqcoia=D-HKxA4TEw|xgP{qJ`Fwb!&-W-k zjnb!z@;tdBjWoHjp~zs+*)&B~4ZPH9@m6n*Xn99v1`kbKfd7p)0Wf$R?T!5@CECfD zXnDjN`}(%oKbDsMID4D*HiKHMGRAUjyp+NsS%D=At)%WWj- zg$wfO5YT-boMgu5N%poBycbY?NLB)=2cqA7n(wyn?J0g>;N!*&a6tj@$kC7Xt2~$(l zy`8K|bw*k|!eLbLDbfraZSK9)wV|WK3~s2n4C00YpEPkpT{?Bkt#Nk_Bxkr)SQ8ufp2WKoMKZ> zY(ZwRLTySk$BI`Xe+5cYn2HVVDtTO{x?sRkfIgi+-#jB1U{k;{1idsx zh&f5u(G0ce(4j-P5uOeqkx1aCVjhYWTGG=+6e}t+RiG}&?bn#2@#WlaqimI1vofm% zBIN7kXQVZZZ%eUP$=Qe#cn@5Fb^~|Y{n0iJ?E<8-XC1s1F7vFwr%mIZN208vBy9y- zp)BI3fXM}pIvxIcf~Dg>XkUpDazyZm&Jp4H>Ch4}I=O_EOtqeN|CX8Q7+Flz0Y06G zKzw;efG;>;T`EI-;kwx{F_s`J0QNv@WgzTmhQO>0XgM_H0~;V5AsdyCZ*Gq4-6@GE6;zi%n$x-Wo@wU$j@!DdEe@k9QSUZ5<4O&V7HgL+x6}%BE`eO~ z=U7=V7si&X3eD&`ehrCD5=9oHnJ~&d1inCYhg9_-^8*G*?>m{D1X;VUj>)7_opFEQ zU2N18$dtOW#3(vj}0HEdn(B49Ec}D&?{3lAH4qO+e$p?&$ zT4P&EgEObRIi;Zrk9&7J{vP1_Qn$Zrn`oJM3vb+5%S4!8_T|@rmP?2D7^x@*DkdI* zBw%7U;GPlL9c-*j-UhW5U|588fyN!w?$BfV_qYAkwjZx-YitB5yEBSEY?ej zEG_~$6^OUl+yS0!Ao$;BTTO*RAYD3Vh^_RbD_Cj!shFlFLqgin)0d!309{6DmQgDhR`?M`XLJ*%Rb41<(Z#H~RI z$4v@Nu`b`JuNa|lyDN=~ifSGHlNFiCk&BjBe$R?#eNlmyRh(tVAbzG+*^EZUr*pp( zOGj2DXIKrnHdcK2!_)y{ZwX@DrP(2StHv>Mq$4t|Bv+(RXxjg~gdlMc`>W zRa^bcPV_*eBoYa~`39fmW#M<7Qef(lDSy?LbGU_C;lOAiCp$_&`{DONEYA*BNk5?k zel}#c(2)0`EO91Umk7Bpv~0TW7y#jDlISEp0Bfg9c0%M%i*>THj8GGp5b;NYFA;q@ zu$@{PDM(M3>Wlet@lnm3JcT|#8`&!x8m=r$&-bq+yk`Rk6aVqKo5UN6lL9tK;!6yA~AT5(u8tP+@J z;64JfAkj_*;bDZK5sCsTfqo`K3q|`}NRX3gHsmu`nXlA4IRgB9dd8Fx2;hP(eAx)Z zsX^RMe%7YIqM+M__kfRzKZ%m?`5OH3(nUl57Nbt1GU8KCr`|H&rnK4`8f@B9+Y`VW z{z{HF8&DBGVQ>r%s*ApAZYY_>#1 z8v$5*M5#?(npReR7hE1glBUe&b(t$o#^?x(v6=4`PV{;w3B1WIglBNV(jgCt)U7ZW zkA&yjiEcyoP)-nT`gF0=^k_sG;(v{l`LarRW>!Y123QX*k->?Klh>KZ)IejMj2%WuhMEY>8y|~ ztT$RK%wxuwpJCC=t;6dVr>7*ggTtU580&ukot^F%OAm z#zYSuaGD-qO|G|MXfZ$-Bcs|AQlW1_%pVp5{jG{!NhK&>bn)}crRPyuL8r4dZE}^_ zCo4CqMpoy#3oTOBMjRM@M09XW^_1r`-FluE7d2HW9opvHG#g)D@#Z~tXI4qE zqi>|Mb=-;LW1F4LV;pKlRHPdJ6_Y_cco9OB?hbgp0Uf_kB;_aMR*X;FXf~P*p4oXt zbZjRQ&d&~5za(0Il8QazRrk<(4-g9RxRP_ur;E?8S~0rFJQ(A=iNePQ@*x$}lwn}t z(SZRE)r5KIZafX$Z*0sta7*3nr*qyKnCzqEzn0kbI)f?jOoPu?C1c;UKC&^Tt7{yf zvgJ*g68MB#K}{PwcI-o+e~#a8!QaSoO!ae5{j{LT)H3+aJBGqMwL(i(o^k(`66e&( z-Fyy81lAxPyVGg~9w)r~EaW>R1AmBy+2w#-s0RCfUf4ZEI*^JYVxR)<7|AwdypLB4 zQIa=L^96eLG!e*&`FicW8-9++3Rr-l7#Oflk|P3HPUPs3`&S(&gpThjlc9H24XS@U zot{4fZ%Fr)7Nw}tq?{75I>YG~n>7Wh8{9*68BU#Aph}U^A9VTPgL#@8+zY&#ylM0a zR`&;M1_T0VbIWutPGR+sQ#n%?d;9QHNv-mw3De?*GGAa~s?{>8v4JYc}T=mqoGh7O3AQ_?p{L z3&qAQI=w2!Y&Pk2kmSSxef$9Ec($O-N(2whSXvu`)s5h=fEN*-1Un)TFpgECtOxUP zX#N&-w=tVX4l?~N6dj;lc0lDsvcujJmH|hcX!gvO(q({3+%Q zHI?Bkl$M6&0w9Gm4&( zNQ)4X%Op7k@0-#ZGRxztEo)5Cg$-foN{p#pOQJs>hiF5ANmVV2;y#( zFZcV+eq_GRc)s^>r_o__O2d^!%7j=d3$Os4h+A)c%G#i?H#ghMORV4r&bqu0;!`9K zhxkdD_>>5;Vk>}$FdhTY9f;R}OcfndSr>ve$s+J^Fm|q4Zpd7qSu<=K{SLMvNT4(s z)9i!L>phma>wR zByp~f8=F>AqAw}4C36g!cKT*s6*n!GzG;mOkAZza;5&F6bn8^W-?@3W8Bz{)O}80p zx}!?v&W!!@40pneN$nN2I@^*Up8`aSWa~pc%uLytk_*a6eiAR@=_ISvtZ-d27G!CDeTk>c$Ws*? zw92B)jQAvjJjE2jU3hDx#iAF>^UAmo_@iEhV9m*I9B_SO8Xy-wW3?J=j~cSrb~cB< z*M@x)#B*w2&Gywig6>=7^u%*y&`am7$z{_~MZnID2yEv>RgZ|-wjoBTQpI^9;;H^{ zH2x?2X>S>yCuxKg%e{Pz^*(ih)`f~;Pe}`T9SLi3=x`RXi5ZJv2tAogn0W-0;(sPK zeLl|Ru7H%^$=oGzBSasvN(1L2*=S-?nIk>Af)&n*h>aFP1#Wt$`usFB|NN&}$Rp`r zDq4Vdx)LbJCvSJTn)7f%c8u-m$P$Y?Cod5sEs{DwjfXQY0Y3XN$R{zNqADS7t|w6# zx%F^Myc%GLZ%1s=a15dY!%$GIAqHR-pw&EbQ*1 zTE5K{lnbT(b&ZXcJ&}d#vRpZ}`sL)@?SZq|8J_I)`gYbRlxBx&(bC@{<%xQJCl!ky z3VvZ`g6`jQYq$0kHIBzY;v&+#V-+gBukE2mK33K4n;ppzK ze-(EZvO1iBW)~W@b?eqO(fp@lQaPtbicMv57pVKF2rY2A)Xiiu&~nk_g(48LT= z9AMYzfl3G#1F0&s0is9?p%Cb98H~0PU69m2N=T73Nf#j@XGZ^~mB1m03|d2h!c2ym zBn-nK>>rFk+GL?scF5l^iVUMGH4B=| zPM4JA7b$Z6PBt}1|1yZ|z$80G&0VC|XQUjBVMlSL;v9~qxFjB`7Sd8#`8NFvFX(M> zooNg7_iqET0J8hY@IRzJoR00Y_=GI*v>7vI9EHb>8F>VI0)0wvJw9H}%WMvjL&6Pcr3v3t z(G{2D736ehfiJkf>V&VGrVsR7bMxI0v0v4Ur?s`|8aL5IKnWA_$_zomxDnCdLujPP zktp{WaVfsFpn$9obYiFJ#t!coy2*r^`sJ`P#Nq>DfyoluNrIC>6gNUFupVsMxC0s> z6u~EVuGVmaPA}4>SV(gv_!KiiR1FKcc9I6X!Fss$i(G)9)Rm9%#kD-CY0e{RSJEvy39~N z`c_ViMzVek%Nkh4W~0|{NQZbjC%Goso&L5~aeMp87+bQ&jy690un?%P(hJbKgcQ*m zs%0vbN|?%vPF86Wxl)Yv?MV-4A)uUw5r+c7ZY8IWK6!jtWx93| zAnp-5gVSmkET~0i$TLnuQ-2Puuv15zOW|?`s_ahEYXkmnc$oh3M#zaYg9bo4OGDjV z(lvjR>|!W?7;KZFf(_yehhM=K!+!u!#UYLIqx)?Rd)6x)Zsw2zwtcUg1d(vRjAnp$V#0yyw}#j=khIVd5%0L21Tc5O>Gz> z(@1=lzZ^O=&F1&}7yJEsNC{$xsereC$dbakfbR~fjez6p$@#qT`arjA;*2A_o2EUo zYLG8PA4w4B{B>{!_mH*mJDq+M?svQWfv9CWciL;%pR7!CwC~(`cg2ZH>JNNL^;PeW zf&1;$Bf&LovZGO}T#KS2okE>6HTfRbDm+VN8w|UAnVcmQrn~$OYa8Tyh~NjZr1U?g z5{lI64^x%V=XIz7KZdgK*Jw5r)~^LrNx|RwW_O>)7b7^$%HQt!%!SXp-6+ZR+1yDv zN4|~H`68#w}?w*33wZ>deC0-LGkwM4;gG_DR!dN3uEk^o3h zvtwGNuYY+0Ki}uGO|>j@xt3X`jNIiky1c!d6A}T4&+A^ z0HzxBJRrM7aub2JfM0@7VF-qUP#wK_z+j-2C9oaBjfvQSjijdu8#^?yp?Pc2=Ol{k zqmoY}4&sKVLKD>is?M2_%45Ce__63+)6Xa@g7O2h`9^#QXi!lVx%>IZs;>F-9ZBgf z4bK%GsrPkK&2#XFgHIChhn&2J)~F&Kk?CFi$NP*Uw%J6gCkF?0b5@*id>WJHwB$Pz z(tmcGn9z{8;hhMhamyB%Yc`FOLC!E^3m1VD1|5ybzYS$+66zrP65N|BQy`QIb!aqu z4W@3=YC54_y6-f!f6ro!Jo&lqZco>a?wwHg`tcE*@y*ViqxqRmeTp|Ss>%Q8qZ>B{ zyn1j)u{z3kJdO?=-sHjeWemSm_#TDJsj;my&at4fvZ&!R`;qR@sxME zfcWnTP%hyWB%S>lxB^&QE#YqDq!3|72Rm5#_zX(JXW)F&o#yc+YE3_GLH&vmp`o3r z0rr9F@c_E7=5?8|v;j3Od11~R%fN}o};$r zz!?k<7LqaY@(@o#axNuM*3TpU8M1Oz8j|3z@EY=rB-Ka~$YJHz1g6)x zpluiI5As1-5I_Z?DA%QT?RLTs*kS#^&ll3TtsFX+naDcWBQ}{oVPMRk<{|h3LP78y zDS^dAvqUM?sJ}L_xE5R_KcGHxi?V$Mm+R=!K!M#(eHeK3!i5XWI`4sX4%M2+2jyuV zd=DMcp(&L9B0437%maFj;a%hz#Z{xYKqV`p7XMO>f2l=M$jSNnF}R$8%{HhPE+g<~ z^jT&U=6P#YT;uKOeru5&BB< zJvG2T?_hC<_5&K>kZ=Nt-;+}&0Zx)c5C8zbLy<%3f`>VFj*yLyHQ{3t#H+>!(U>Uov!8kmzd}W#8LZgkT$Q476}p4U8iY#+$WMX7wC?_Q zM%zX{Xp<`lYs}B?zO_LS2h0)1mkc`OrlDM!La(R`0>(=4Xde0P*KSoI1#o^2I8@JjwXU>HF! z6{7A#rcQ7j;oQMUu5c>&4MT>gdvNfdx8HudcMt$aK0|9KE1F}MvF7m#;y$aw&-tGM zdPCx`;c}LH0!M@Sz!ZT@m@m@OU;GF2EXUiVAhiIo*qC}BG;(Nf;P(^|*gy?d=Y=cO&}NuS)C za%XS)v{!PLF34C))+7t!X~Xfnlr(M#P_htqg9Klb$a^w>2@f(e5|e}!c#G))!LUGh zAP}4+$cQM?NuYu}O~PP8K0!sXMq6vGoeOTyFZ5Mw{NYI-9AaVpmvvvDyl0=a9z*PB zvF+F~r{L><0DGl?mn1^uv_KDz4W`1+9tw-wknX37=K$UBFoF2{TfTH-+;4xL zI#u)e=jVQixox7nX`wWK%SdWZKwt-8j!1kIe@iqmByyn0OMh7P`=@$7b1z=({>(G! zfYDm8wyguQ)W{gkm-n;YVQGhWgAlZQps%Y3hrsA3=vKt%LoXo7I)u6(#_bO8hait) zyk74+@bFUhiOKl?;u1# z8^snVqCUoB9JVn_KJWHq;=T5T)E>NJ=f9)0mC)pCM@zM}W)x|-$Oeq2eNcCHC3Zk~ zTaXfnj!#Yriva6_`U40owBi7+DWckgegr!~d#!osol9_4!{dIf$2-;Tw#~mUV?pP* zg_-;ATv9`Q{lT64GUtw>+Gfo%4n8^Sz~EqDE%Fvv%L>Jd?v^>T`zHuor5;BY+KZdJ z93Hh1ze#LkvbImb*h0M^lL3DV#s^8-AONo&Bnhp7^d`nIj0u7gw6025@$#}yz!>m^ z&=?oARNzbbfv;IpC+U3MW0p(rJ8RuKuqF!QOOeeZ9!KlZ9DL`e-QC8~o4YrT9*x@# zUhgtTPL;Jf-6k^pH6fjUEk$_A%aGDlBN zG#q@Iy+DdStxG0aKp{A59 z$Lp?!wsD)Cd-awQ$i&da0J4Yfi56B3;yx5`EFE& zam6v0%k@uqxX=`n(yi8^ZBAQ`S61+K-GvKh&(?kNiHmwJK-tlcP{H&l{uh9e!^43R z&3D`?TsHIXl!bGX=HWZs_%cH7%`V8$*zMZPtZhDwcOxr=i5w4>Iiy7sc{N=6BAQiY zYmp=9h;elG|CzNekNL z@sOl08b5W~A+0e!Tkclc6H%U^#F;PnEKOF+7Yz(_?E!zG4KQpzzKXXEVcFb-!(EGI z6OXRKvbmbWQNsRvWh=*5&fAi?70)?7U%T*|OvK-&eGGq@H3VdHlTFdBoM`R8>&{88 z$*i5Wu z@I~c@tiq8Rypcu%{IKYuy{NZXUO?ho1#6n%Dr-F3-S0CO1R7DZymO2qStf8qgeOqr zO0_9~-b|4HRJU|-!G_|{vhWn(@`UCh1bj8HU1UL|Jksy&dZ`HD`^4A>`+%O(Fo{To z-LpIAUTtR?CNgoDWSm`E5gGrM#OWMW((3AYC=KU;P>h^}RG%MSUg)_-Ha>m?#S=8W zH|{$!(>`I(&MC^EP>c-gfn2g>EDz0V7(cTJ&Tl@WPk<5+Ysmxslc;+u zs+#((n)%Rv^j&A?roKLu=Jl3(FLv7cO!fA`L3_Qa&(=xM83(<$dcF8yUmq|SB4Z9g z?40Cgg>(#a7$_e%;fBHCUr|$Gq{AjabRt6OK<0XZ8Q9p*74L-vI?Fn0)F^pfs5|xp zXdHgvs~29Ved(n$_f7?*N+~# zhVx%Axs2J_m4MghWeJ^oW|HEZynZ{k0p{W*&p8IJz~rRBM|rraARliTNw^y)pV zgmAn@3w!1U`hA*o{_f?MYhHTkeBkpR z-+sI1t+#HnGv8eci3DTI1K#)oD|^^^5E74X$WA1Fb+CKLs%wazg|g`2bSQQRu704M zpz%R#S#UOJUJ3rxZ1m1alz;Lh{`e%kzA|frf7UDTGaie!B1_zw7Y53*y_xFw@ymlB z2#tCEz(s$aQTV|ie);V@i7UTo=EK|ef}iR49@Kk(x!+%o-|y+6P8He&F%LJ?Cc3H} z{Y|b^KHdp6TJ3y5(&%?o6bVfY+aqZj%Y_`Z7iqpjdfgDT;~{T09B-n|5YlH(H9XUY z;_7D&%?HRQhY1LP%VhHJGR~btWfLZVb>D$^p!Js)0Y2>xc>gl8;!yy246k+P0C$>t z7SBI-uA21rgeTm_dVo?FZ|XI67paT%dUz@>HWq3tZYwMdv|PM6rWh``^{1I+6&Yy! z6WP$-Bs2Iz*Qz{hQb|cviYvz)tWlar!IlJ5Wk}8;92RKjM{gO-T}aEf3uR?xj~d}Z z^HFt6ogYoOAhPF|vmBDt$O{*?XO*S47F)|Es6H=81rOfhpS6i!TDVqiYuXT2pNPlhLw2_pR`v(kO89^$WR8%4rNpU+843$@!x9Wo51jg+-Vt>z zkTK(f$!7||B{F*X{Hbid$7HuU(4GdVU(!!?)TH8{J#D7XfP_3%q0vQ|cOFVlzGF`^ z=fx9T)I?FJ2!EQ6vhlfeKI)3X*rYuC0DcdZlZS>cTIM*`dBcVl$8yiXW-?G9L%o0d z2(@P!^;}FCp5~!Vp6UuG%G%C+wSyAJadSyNgfgc`L+}ECCQMHo^dvxKzv>{ zicVBIJPDx%F#>W!IiC_U23cveHd0;0Qc|qfsgf#vfD` z0!ZCn_9On8X!_XRChDwJm!~Z|y?OI#X?ecZG=4n(`<#cr`Q}8&CYWM2%+cY-v)CMK z3eeY4sISc$q%ZU!lY3!i#nqw-0}0kaCLXx%S1H+M1IA>Jmkh$I|F(q*MSz5Ogb@>b zty5o|@e~@8tJV~m#3D zsdi8!sg#N8DjZ7M4v_s08tS*_w3Ul|GP7Cc5LNl`T~&ZnUQ5%R^?FTZnPQUDZk%Qg z7j@NzN7M9;Bdv0u+T&H(rGBRFDH(j4C%`Wt^T1eZnp8oUpaSFyoB|}yqD*iYXjd7r zMTqKSbROXl66B7v43N(tQG6j0#6gSx^Pf=YfT4;1JphI!QFq=TUwupSU4;kCr#|LC zi#^|jkd+!*ukagMIbn??{ZHZ*Pl%7qrdr56>@05MFz=Y)^-6E~8oxTG1Af_0BrLw? z(pcURFe%jfnPvkc_bzQ&JX!5_=@2c2v0E| zZ7M_xyP)EQ8~_uOC8|ZG2HsKS0Aj(P{{r(bl7E_%XAk^yR8_S=MjYqufT7cv!WjILBnFwK&qsDJNY!Y|dS|=tF6Nr>ILlvNF_D zpur#4qa!}OPlKz_v&Jx2uI1YFjw*LbS#pEf-ZlN!ETN}N>g6W)=1Aw_BZ|sEwaeKo z_nvR%91K2wVkL*UR;_-y_22t$nz*|j9n?9>SrVsmDy}Q zs?OL~S*bU!uN?i|cRyG6TP*tOZI%hY|4!|NV!Ru?UObnksU}_X9WRb3O%9~kZe6?J z#(6$Gq`E$hUn9!1bCNr&&5-4S%3z|$PJte~WH*bzb2LMxQax0wUriR0BLkC_sN47s z%>ok0Byyc6jDMTxEIu42VQaRX9x70osyGYzJ=VZrHKHAQ74enAw>_@7nkcz$e?HlOc8~W>df~ZAfvzf~klBCyPhmmVNHj_zgD6&yk zvC3neQ>o^v>gp@z3DT0n2))Fy*BqNm%ZaAy(kY<>3Oe_FGJ%5Zuf>|XK5cVf=gG3Bf zc%^Sb`#pQCSF&P0jZ!b->;40;CU|0-8qh7DkAas9p2zFZE&on@5j%EO1BVKJ@WJ)v z<;sfY@@Pc`e(KDbOJ8*k{^GGe>{4D}Rx(3^*-?;u|>Ll!)apQ0B z-=YS(d_1xqOj>b6>!ea@W?kL1Vda5td>(?*C3RC*+yxv8+CvF3zc(ST$BD-g;4G8i ze`KfKB)BaFP5ejhPvMJrb(wZ{s~!JtfvvtG*U!J%fS+g_)?*tQ+1~IiO;PEo($Z3Z zo8$|`sp!`UDY{KDYlT`TQze&vpRNgvwAO)(Pw{b1QX!QFN1y=I$?+3Y^ZchD ze$QH6eGF2|4C-W{u1=UwB|s;kau;f43=pe&ky8k_I1{7`5g!cQz^o#$-kH4*E=AKq zS|K4R7+ZjKLWE4Ljp=h`jmo&>A+$&$a6pKxbh*^)YJM>yE}>ltWkF=+w!$5^ikdYg z<;htT2TEPJ-tRFZ=cMCu2|kUk=1E02H=DgeyK>xGw5`g z02x&1olbLtZPspsv%kbux9a`1D33R0M6Vi6uNzxysBuLDG(B!?l8{#yaF&+achHB^ z{g9P$0pDeU9YuQkOF+Va<_8H1Vggu=O~2TfJ%e!Ns|4N(JsR7LhQ~baCU=!N&EXOC z(42}YYL?2|@_A=x5dY`cTdh{hlr}|ipiJ+KWD23|lJFS$Kb~d&k7}kGXdt(9StS~j zArG#GxMZTKm@z1SS`e{H$a2v~ovr0fPBc2RLYtH1=Wwzz%QfZoO8iu9+tLNT*!R?^ z(4u*pi}!C>{a5iL3+Eh$E!bQQj>@Xks-Uog=16LsPNND>~vk*HYbRSQnP=btupbKd>e z&D$YdJ7KgZVCf&_fB=@oRb$mdHO9Ux(g519;VplgGvt!i=r=gG_6H&}jjLy9{s81UX{dRr1k@}RuaFhIL{~6@og_xSUJ_0KPzaE& zoGWr)Vv}e2MgD-eCcI+B^_-+n(UM{6aMMuz*om3C>b#@?2v1&KcA4xeAaS#+!TM(s z@Ah#s5XRZOOlsoyb@>0vkiS7x)<%uIU>|Q@6u4l{vE0M2ao3f~Q_~Q~OXJV3NZ)@4 zFD!}SYeL_|2P3_*P}xd6a7JsByeTs-_?p{+XyO8xV+2nGDj8M*m?Xf^Uxho-ja%{U zx1UA-!bN+0K2Guf;=PAJAJ9y9fP|U4!%!F-L4z(=D4tQ361>nd5R35s+Q&}y-hNPa z|4n_H?i1F!a-YU82$13E$Rm>X@J#~1yU3FMiaP}8K-*OpPYs{!sdM#?aMTM*$|oxQ ziax{J?nO$!(q6ks;a5;+ueBRimh6LEDh(%{0W<~mp`hg%PnPXbAVCB^BPfYtyPStu z*19_5P~*n>@Nt;w7OXD1b(?e({yFQnFAC0!fR}o6bJ6VZ+}RHZURtx}jl$=rwEC;f zx~1X2UYU2cxQ9`Esull0Ya3j3tLvmqbOUw4UsmFt(qgyxoZ*PWZ?W0xEM>OdHP_;w z%V{eOc1-Gw!2VCPxv^E1IZO@R)pv&Wk+~-W&$0fPW){T*G~}z%*!FenUS6}ty(adx z&qobicg;&7vg|0-8qq^!V0l5rQx>;5*Z>=mY6B%9j8y+0YODa2+-Pz+##=%endmS0 zJgUWS2<~24I_E&S{?SFHHy;pMuDWh09X>p&PQU2(T$PMI?C;%b^j56z>fBJ_HEkV+ z{&vlM5Ix1(00ifc;8_jj!!dSw`bZU02xt8eWV{A<Ip^{vy=oYW~&MqS;gcN{)Yg#1F2)0 z`H`LYb7}?t;^&_oS6y(1&qoF?pp8C1LAU`V$EC@hYe&eNZ+d(O4LoSzKXv-@f7z{;OsYuvjlP5^GMInfoYZ% zN&4LUblzFvjuoXdAJ7_}Tp(F{u;^53YJ)l}2EUb!&mt{8>TIz8S*f5^q1Qr%=vlAb zVLKig9xmiL_ySwQ9J!}tR(<_!u}3~PR92FF{i2Y==CI@cd-82!CjP->A}WQk4@k`j z4SpbGbqQsWsL8-vJk-nB^TbXCRr){f?EtBrjgtA;_(N2NUwc-o2%0t947z%$VH^JO zx8EAzBCo6~Z}#1LuWyNak*Cd45N)m>mQRO0i`?kn*HDVAeM9t45|Pntbb`4`He)q7 zHbHQi8IxvUch|bRtmeu3QNt8)bMIWZfXqvlEKx+trf^3plo?onzQP5_f`5VXtixAS z`&q#{n=?YaN=H3&>1p(BElS{@4AoZnd@huGUscHyIs7Q+I76RA$ID6W1ro6Nb>e3h zKz0P=9UE~>IGI)()t* zWpFc=D-+yKD3}_7qqcw_9mCtpTWjl7?uw(czRfSAT_S%bqP~Jlx;mK+vRx9mFwkeB zWFjm;Y-$S$$6Zcq|6@nDHc_>J=CKF&t)zCvZ2y#$H|P|rZIT9&@#HmZnh!8`uUJdd zu>-zndqMZ8&i=f%HXlcNEujHje{osH0b4*gL>8CXuxNJf6tM&#^vhn$pwF0rnJlqE zrsSFzR0%P|S;L$GTYZZqKrg<+XSboMm=AgIH`FZr+*M^E3>PWqnDof(jBX7m37o9up3XM+nI^l8c3?Du_l#hy4$c z(cjgMUve2voM;(*pQz0W{LLtM zkr~~1WO`}n$dSjW5>=7f?bh3Iq+ZJPaH*fKL8e46KgjszB(`i|{H06KDXdWkaSrAa zxN8BK6Cxz>8g`Q)UH->DC*0WFU{wdh&QTSMYZtApXy)B{f37EbJhY@iW|#GIT4bWM zU#==0(QbP2Qhn1>dX3OUTHpYd1D0s3c)41D6yzijjmek>IO-#}%a}UgB5!R1K7xO3D+|IBJaM%DikUoRTapmPy5GfU{3V zC`T9SDj&Yc8#H>2)OmU)z1r!*yA0`1 z1_8P7p({)1m+RqG-Ov!inU+YDn(npX*KE$dfV_w9YDC@=IMtC;&!JkwjP~>3jwbA<)_Y%^v?*(%>JlHK&9$uA*`9J3^#v zx@CLO)Eyelu4&$)U|~Ia#@D0>sA9JWQMd`|i)QZ9=pO5)3(1dO^@YmD%K^>GK{XO*N+ zl{)UnKaIOJQ!b_VQ+3>Q?y^}_AU4`$im1m;JQ%T7-aV?0+8+*zpLnaqTFqF2GJTt4 zAaDkeGgcn#W$ryO{~Tf{B;9GXfgB&8c{LC^_`9UZjKnR8jYa63v=)=dJaEL-zYe)G*{Jfg2;i}!}$lLcA$tt*rH{_z#g zTJ3ntm@#7>_KJ(~#&Iw-&$E5I$5!Y~eCUY-Eh-p@eI_V(1Xv8m5f67;2m*k>?bl@uE4sJE&vWmR5w`HhL-} zlt&{eL3Z_yHhu8s^0`&_wU*bdH7;stR+Kbd$>3iJW2JwcYPA}x?*R(mH_C7yC zel;}0_0Ej!GE}Np`aLVuM(NnxPqI5bH>A5Go4c-mh`v9D&S2p_4Uwb6e0!WjSH6b(BK; z@Nkklxa4@A=v8_6al z!>0!M`b2;*Mh2RA+ighbkd=G@b6a@Gj;Q1mVWH3>?i^98@i?VFpc+lRD=KM?)Qu|{ zO8fCgR(Y9Cy@8|bNlM*$1r0kbibmlAe)61BB+aiVHFGK;>tr`q@EdA9$;h7d;lGtS zac6`+T9{l=m!#3CGt()7>h|(=kIFke-VqRuZ>dzc|BbT3s!?ae5&vTrdAL`3EG$%uGj(6^pq_gw2QyygO%=;O+ldv)ip$7mmg`~@d z5ZeI$eIgUfxxAN|@MEI1gi$vH6d_)O!SM0bFMtyWN3b^%hUQnqgLluKL&LcFDy_!B zsnFzPXKN`0f6`GNIP37J`!twphz+Wf*MDz%v;}7m?}*8LTznTE&kp+Zk*RldQi>OgS5$R zs;I54)Z0y0=Msh&9^sq;JA>V8GuY%4hD-xqARSs+B+_33@4)r|K|N3xM4V5E3|=Ne z7!e)URE#8H5{iicp#ahZjNArQ7w43?EziWXsh8cV6uqMc`S7#IcLJZ}Wg^GLAxeYU z=&ZH}+Ka5UN9A?m@f=#K%s6Yc6!Kj3pAsL_qTr?!IGyb};b7^2vD1^SI1yZNWV6ZDZCYz?Nxcuc6H6`H2q?Js6QB!Q)_;BdY z`V8dCBTjWDTwFz&%c0d-b(OZ*Lp2?W(XLyKHN%ZvkfBf5vWc2CD}&KdKV%${FY&S< z5b;a{3ppo<4uJtc;zXoFwH5)<5V<@^II98T$wEqj6d>BkudqhLRZW2jd-m)>J@9T1 z-kn=n8$d?NM+s9tI~OdrYMM|+i6qQ%iZgi!IS(8>c+mBEDDbbGs|pq>%R9&GHIqO1 zXoImbc*7$6c6uh2r9lt?iro`dCMmf|wMo1z#e@=3l~Lb|>!}aMUrVYGUx$^yiTd0M zW?~c(ox}nlM?)&Qq5TKG0~-eih(TV30H}az^1ZgtiyjZ7uklFKi4Qd%IDn=fJg5m{ zc{qIHqY$#$P|bI~6JK9-zv$KHpRexx7qnK4jTw!xjnBRE9Q@fxg|4+DQVT`)^f$&{ zPiPf6gH<&J@OPky8nm|+B89+GaF4Jd81!Wp2;;reOa%t%hGQ9vLEDMv&%qQ16>~W+ z#W{x*RRfu*3Azj82LTb;+#JRa9z;H*f{GEp1#Ay6`YN^-Ew*(Jb&Vy>#;Cjj@{1gY zrZ71yiF`5smb{TLHOkv9zM{OrT>*_--AHi)$;yWEAgy^GmhLIsPs|7`!RrRiVm>j4R6qzc;&*|4!&iUn+VZdw2g+nglbCp7>fi_pw z%8O(&ajE0ktEu!0Uq{ClPwv>BHl~ut<#1J@37wU>6qieJ3QLPk9-9(z?Hpd7Xc`zC z=cM8!%O2^Nk@7K&{Yh#p6EaQ~F2_A3fATk}&Byej3 z2+|<%^P$P*TG2I*vLt6)UM9Y2-MXyh%h6No*N1Ptbw_(vZu!>mdPR0=7hW7(?#q!| zJCX1$>i4VD?-nIsrnSht|0m(GT+dw9)kt=H(i+>j<9?Ng1M1m5S$Raw=Q zRK^4Q_ix+wIBq$zZ5xO+#T9AO2-p;lDJ$)Ey;?z+JLFYk42E6z$-#tYG; z#bdl1w$cmuNzM#43}{@1#)LFFQQ=pUyO?M>-8&+g6W8s0UT*E5OVJ}!A|C$D8hYWwhae1OBT+_Qw%cV|We*1mLmlwJb4 zR)~9N!Yrm&8JT*in^Fromu{H6J9fzOApkxAd^>Xrs7%p{2Q%6M{UWQWNxf8D~o@Ta6hbL!MUzYi&HqiyA; zaA~L9H&;H5+7i=U@j}GNvoxKv_{R(ICi_%S>-lPv6wt2C%TxgS*p#FSfp9`yd-XhnkNtzrKNMY_!v^-_lduX zpo8XN&P&u`Qol*+$iSc@SaQrk4SZlDZbWIR##DC)!)E*=nyrNY!r_KS0GPOFZ*J(4 zt^K&Z{^PZ>r6cPpX;n1P+DEqqg3Zd2Ax&jVr*c?_!{}{#Z|Ty%g}wgnAmfK9FWv(= z!(6Ddf}9~DVFLiU82De~YhcV$rt1aL+04~5>JyepMhY{ZC#=sO+wVdj-vwsEY`N8C zsx>#LDg%(X4A!+vqYdYC(RSRz{ow72Q}50=FaE6!??-cU&o@M+b9#I2=1^O+g?jGB zxpTME^&WSy6H}LwA_`)pz*ajb$d4&+cojG}SiN zfgc4?Jtbf*vHM9KG7NS^f+1w?njjyXhruho(it<>H^`B}<&IFv2{D31tOz_483W{;|MOS|sJCQB;`2$;+v(svd26LAZIjXyV+0 z^S^V@U*_I;#H*&Sc8xuXN*abi%~VrlT`3 z4!NoVjDJyazjp>2F#{)~B#}5wO>C5FP~nB&|9k)?OQ++x)0dVE-0!hP_>3)J4N@;m z?C+0_^ZD)P&j+nOPWGQS>+Ufadfb!@#dN_%JQUMYkWQc`m-oaFZK6E?!qSbgA`kSMtXL!lNiQ{jP&F^W& zccXENYOl#>3zk-UE&j@&J5(I0{!nSQXmi#|w?W$EuZr~bMb4!TUpHTs>`%@C8IYf} zeCtGsO72l;T{@E!h9ofjvhd=QoS7USa1O!z972l48MGUQ^GOh#1R`FchR60sky4u1 zoGV5*L}PoY;dYdSVV+K`p)L(_upBRS{f~tIf{^px9mnx0f`1SEcH(@Hv@r2?Ul&NH5MU=g8t+*m z)8&Tb5e)^`6Q2=hWq^{@L^lyN!>Dg|51C199Pd^V7orZgEv6RO^8w-mzwe3^<6pzm z<++V{;@c+c8)5$2Fm7^YmPmwO_qIEI9_0S+JNk=QXG##p6$w$!rV%1MK0x)9(@!E7VmLgGwa6!08FRZw3| ztPJ=8DQdlJZ1$kiYhl5E2ogXu%E-xR&P+oc&9N^~(!W0Em2|?~>;<=+zrv{OfjQdG zPQZ`p&=X2sx>kf6bgn5=&{Negj5-bZ`{`}D(&|5t$3`{RGt;w2km=b(Gr(M|{R3DA zDmZ)C5nL=e>%^u=Qpqy#CV;O5vd<_vpa;RzjPhChf^O&=UU%V6sPQ=sE&g|M#9;40 zt3MU({?CZ*Xab90a0kALrbjz^-0mKzEP#^?LC*dR#|oeEN&k4_=Go>ynIM~JMdFUd z?>z@xe&+wbTq@jh8@$kxpf)_rfFE9KO;36$G&(OkoS8cZ9538}c35V2u29@Gax&EM zjqXK}pMIi0dq#BI)Amxg$n2;oEphDv~thN?eIY7U8aB8F+hr`HOl5UF&T=;!f)vjCB z8qO@3H6!2&u9LqW3Z)m8ty=Zzkc&~o*Y-@a%;}8XD|vWCx3$3(ikRwadU_r#J~nYW zHQ^usIGqZ;NBwxL8?S1%1DXI&S0C@@hk(XYI)50Un{3KG}n-6seWh5Sxm!MKY1H?rp02*Kg$AdB!GY3|c7e^O| z*wujLLAZ@kVe2vrvl_GW=AH?K0PhUl_umMf7CzT<8uiqIMVkZ@5c9K3#ljv#3pIO# z`ub6v4V3O!PGxm2bqLnqV2{lPO28lg1Ap@6muT(Vn>W8b0Y3?Z@+!YVXD?Eu!#ssz z3o74re~qhh!#ckopBJa<*`DI(puakC?n3B$AU%7~v3|v~hZE0ZVgax@LgLJ!6XHPe zNG==K{lf)}M;-Y7&&0(aUfVO~jwJl|ADi8-_g0M_WAy5W_QSd$a|d~Vw>kB3 zRFfHCu>xMx;0_0%5EhP%SuY@vu|^9yPtl~ioR}t^5Ny%X3ff%wGsi_siXMvWDH8fcxqUZvs>1-DMe~Gm zc~z9!z~czgwUS_oE`;UDH2QtQ7Xb&8|_5D<1)eq-fN#17!IYr6oh?|@w z&U5IDdDSkDM4Fn4PC|9*?bVPBv42qz>MWb6o`eneC8eVIVfZh!7`Xa8&Bx5Mj@O#gbfG% z-K+f))jn<78^MX9S*_8Dh3R}pX~83rCvr-?qU_msTksdO!s@BOKkHzW0d5NNZMLNq zODjf~4b97!)|*7Kijie4IR#QxYhEBL8;OMF8l@TO^79I^&`$-qVtsOuZ?Y}QQz@az zrno>;E)1cXEb`M|1clhLV!v^48E$&Xi~t?t?*~HB zFVy7^)+-=%nxXLcp{kD17!Ug5UWa@p(T41P$kgg9t^|Qp1M3zv4Ui9@eKBPChgHPh zc&oz$&`pd4PlfPkoRRV_~$%0BsXWRl%|*0cuN4{BV51asMa@RB^<1hj|>Q z!7Z2N{;Yd>o$$NnU6Ju6XXXZNQFMD-GAU#7`IyN`R87gO3BFSC?CDB?H5GLYo4ZR< zS9?rs()zlVOS}$Zv+?3sAq4X{gYhhim|O(d2{Im0aDTkZc=sB^x1?wTY^6c_0PF5@ zf!u~P1r$C7)b{*H*obd#!x^?(feU0B*hGX{ql@q6BJVV`nSGhVAagS4i+O`+os>p_8e|N*xR55vJ`zqL z2LJ_#)aT=!cRR;VUxe(7o?Emi_PY3$$$)j9qSJ+JRZlzhjjC#>@&9D2vwkq0SoJ8|dii-zQyDB68*7ho(JgN;=<$?l@M8Qt*EEAR zNcbzR8Nt!=U`!7rxL~bugdYf75G&&kO9eA?>X@NJZ;epnV};`XJ3jvS z|A|+Q!{f(Mg}D0C`p{Vq;LA+>=%ds0#Lb&0(k{1N?|ysYM4;*9xLh(1oF%dDD@j%N zmAH{0iNc}?&jIm5KQTiEZ1@w9_2Rjucv$ZbO!*?-WeK?#*di$~_r<=8j!=(^ ze!X^tu5a_*YY#^5-Izb+ey#q%#KD}2-fD4_k6DveEc1=5H=5Edm2RU2e?+(1TZ2N` z);6WGce}i<@VaPlCO}nl0aNq^=)q|L9ZDn|M9Y|Z$hdSRkw^%OBqAvi3bJ6Z8J2K! z$iXwVks2gl{v|X=PPK&zoIv_jWdT487!*1=&YXqf_8wsbznWLo>91`XTU@K+%L?2@ zEx^DdsR<5iv`5+3wD&Bp&|AE%DMIM&c6lOvn@d@lH9eKi%S{ z%Vlru{o-LA;*Oh&Cp1X_zVgOlvcA&6cS{|*>^@_=2TNhTTdwu!X1Oc09zFiu6CU9j z&H2+E6HFa~*~DTx6FHSYN&vHXz>fwyNXEuez^nV?PC-^MH%;6XNU$(@^?@|#eaGO1 z_VR~Z{NJ!oTzLpqhyT~v}r70#b;pLs*7tfIr-60^Zr z2%2Ut^;zpUpCu>9iQdCATeduj7uQRnC@vXzFAeYuk3%1{m!VbSO%c=(QrlGr=y@%0 zXT;+pj#ON-k)b^Uh5~%k0^5SE#gWe#fkuQH0A?{P$}%ULm4I|ITq^}YXJ5rOFgqIg zZbH9g1G-rp{)~k_OTeB@ZFajut%#Rd6cT542hF7o3gmKkIwCX`uBw_1`I5)8 zhP)_;qp@*{cdXHFH=3)wRXDq)uWWjom-c7-0`mkRXMWuc!$zsw0k|T8xuuKqXweWB zSvm!A1Q!a&bl;*yUwyS`(F^zB-C=a^t#jtQ zefjlud57!kGqRve`Q0)d8bz&ae7*5an15(OzquNp#I{RX)1th7XIfQ-Kf2%VCpd>? za91xuOfg|M2_ZAw1rv4WLN9Opeuxd1u;WN=o{%5+bD`P}L?c`Z$Q~O&mHeTc4w0xW zA;N(JNqj!=Qgu1vMv6I$d0qik8chXcSnOo)XF1pw)_N#D0#eIFA?h zp%p!j7L>*pNYXhTo;+GB|I}X75~##4ppE9HwxM~m$MxPM9NQX#!FVc@wLIzEIgf`? zaA;A^_Ro^KW>v~6`WlivJi%F6Dc^pY>*d^ICv`B%;+uGD(DK}=rt->3+O28aTr;mz zktLpwKULLKlmlo|i$$L6Ev_<%-8nKXN-NVqqbslgqkoPAFG~l>EH_wHQ1qJzHx3{R z3Za74FIT#KnB7j`90mg8#0ZHWE(f@S96$6P0g@afL&?KY*zTP>n=@k?H=NZuNmL(5 zxtu(n%1&y`78;c{qsw3~Z>kX(3L?mI_u-6yUe{cL+NN`7&*jX0J}b=CpI(Tj|8=Gl)|Jq@xX>)TGX-j)Y`S*ph7PGTs?nk zILm63;T55`-a-p`(KjFPJji|Igwf_Ss!=3L3TMzA#ifs*J2#RHztkADSZ!tJ3oN5`Ng;ekfj)U&j z09CNjB_a=rf1)QRk+APBlY$&L0uqWRPB333WTYG^woov6*Mz6Q(gD%ojMN8>PuvGa zW8i5hOW|k}r>HM1--xB+>rG+YpeaSutVqx!dJKsc4KJk6eShTJMtphk}zE+EV zy*c_e8RJCxXl+&oogwR?{ZZ&ofHedGV`n!L=itK)ONj@H;=56j+CRp=1c45D8z%mV zU|AeCIGY3A^&9XU^5D175gxCZ$Ai(x+mrc7iIq){!bc&VbCmitRvJa?ySwcj8|iW_ zr$S9@RFK*GMWu=T(%XyfjGd#c)Mi+V5Y}=JV3M=;Vjfsbm-UrHHwFCXfGZUbuQHAf zctfoDK!Mkb-yC>uh~PKFcfpkd$53Gis@1 z%cPtIv&zS<0BWb9=I%7ya{_-%3ekTZlXHW*47gyDPbZbiB@lB{GHNAWU0J|k?wTZK z_$p*2xaVB{&Bu;4G|VP1)LfF*B(@g~r#uRITcAyb8Usz*V0G+=mr<(AQ-?ozle!p_ zc{!z@+=Fl2@$t@`Rasi}6b`m)VVP*d*(XJhzm}2r?9rSPvG*iTZIR#mW+~x$`r@-d z52iR>LdJ~=t0xvXFo2ZI>m*n)aS;a_fp}C|4v2iR8!!;zB1l&FW_Gd1@}1FQZas;p zXQUS9YvdAjxjHL@D&IBTC{R7o&~OZKZmEB-2^BV+=24~b6@P)lij2Bbd`E4w+?Z9w zO-9M7MdBi4S#{QL&k)1jVv1MMIPD3PF?TNh;e^%%lM=vEQo@;&ylFz#5P1%nHmG9# zGwBi@Cu2wu$$Y`6A%P5aQK~=CD}D~9GfiaXGi{$;JBm{hGom+R9|5H*wsxND+|=2L z{yB5zO#C7K>?A|a{;$bdih#!-=P2W634)NQi~*u$s*TAzoepg*zDeSP9rw$2ge-HUW{3#8F{Heq2zZ zfqEs#vXH?Op!ng+b5L`H>Wck@p2mU1Lyh`*!(83`9nvK&+q5(9)NGvkMiVMU-{PEY zy}cW|x@y{SHr?BA=^tP5(@*77J8dmvp?R4HOMw+MT)Y?ZBLokP&&Dhg9#&!jtT2pw zQpCuD>Vmkigsg}{uyp~vIP#BLb{V!eH+3DX+!sb^JKEp*`P{jt@4v^L3((*0yU()+ zU+_J6pKtH|coy3HziM&lXMc<6h`&{VjszR_i#x zfwtnwz~HOgcBji%YcVvKJvz$3$<8m_>&;QQRJqw1+~gE~VX`2_l`G+MHFyU|eG|;Z zc|3m3X}~8WFG+S4-x&$OS;!ml`QVMg(z$G(wtrtz%CRq_s1h$mt6I=aP|9e&@K4Sv z{KS(>0KzeV3=_f>?g+N2s3qHUL?5g|;HLCu3mp@2-%MGP&%ccGvT>~~O+khCEljhet5ZC(wp22`+y zV9-CF$~ky?^=fqQV@G)v71WTIIO%V`To^K?*QHeJ?9(OBO&W=+4&a#wzw~fwV_d3o z3qIItU4xnr;MB0p2gOGh@wb*X|LXf5%U?6?YpI4;Q|lMYlG9L1npj$b4!+==;+#j~ zpEV%Qj>P#O3!*$e65%01Ss)fL-pGwWewe@*5pX|9@qmv6Hvv`U(EZF|o5U^$!Xqy1 z_Y@}L(XdSwL0417 zl!DX`YimKqxB)-)jd&a+jj1hwI~q{N3^POEmWUWoZiIKi&Ii;JV#G5#jtFYT2c*ET zSE<*)(6WUKshZ)A`hs-)fA|9D$%cmKWp&-wY4dE{inO5lxLk;)w0>pQd;yINDLT{vJQNe@2i;V4!A$L;=kr_~ZB#AcNu|bjEXG zN)ii%U~k6FOt=*=HJSYK_G4Z$(gi>r(+aJRM82DoJkP@7)XmCDP1@IB=_SZC^R>uN1d zld5B~Sg#7yaf2SCLfSK<)CMJ026wx;uAl@j0VTCk4rn&ao9T*2 z3W(VSvr$IelDi>ZJt+%-H?|m!903S5_%<-5IUya;sh)6cru@6_xWzTDng)IC+4&|Xz2m=?rdPAyv||g%cg<1sUy8>m!unvJqG)hB|QO{fWS|zFKw%4 z8!d9I3|=3DjLGa$%@&gq3ytBnWsK$Zb96LVjK>TSM|jFQ!_>YkWU@rZQaZ#*PR@sn zXX!9gcqm{nb{kfW(e{kas}u=}`M^K}Hdvw4xDgDk#*&HSPzhf2{yTL}>x#Ge;^Yp= z@TquW)lO}7wMdkbg4FfYZ}`g**GV_@m5z@#+5Im3lQKIaT~`4rg+C+$btZ4b=LsgV zSfui7fa4f>4#Y~tAt^a0(;hDcSPU@RDqiqowQb)3uP~BtLiJGk3(xx-VE*1eJ}<6p z4;rIGgX7h+4yq?~&CfjfJijc6to!i1egCQlNuG{k%a-{U9^SX_8(h~_Pq*twc-t*b z>$@B9D>)LMrNGZ6)7)9Rjnp0S*(m~-?6!ml#!wQWCg3)>9+sQpI+Ex~aF#$8<^Urh zA9@X2$mQME<5uUB5ot|2kTU#nL8yxCv5{Hu}y~*ZWzf+WPuH8<(`Fk%LKoPL@`1M zTtkw}=P@Pd5<@r!`K%=7UMd(|;sNc7;OyfjAlq9U*RV`E3h)u|Ig@vQGe}s8NwBG#iIGV4 zpTvfz4jnpUu65)-(13WdV#;;)$dM0XzkPJe zYWeZU_un5TPs2N!(1THFoxTV4e1GuZIWPlu$9~@mudg_!SO)sq>7*UB+wXVNj@Svl zu1$s#&aeIdBf#i2Wz_p3>!`ew)EDt^^;(N)H5)&7AfH`zH zc-R%QFXnz2pBJifV3&|vRIC~YFLY}8DH#5??9}q*=f?dFnSV{4v;hfPCQN97QXzS4 z64Vy_Sl@dn^nGtVN?$i2ZnwV$_8fk2{rdH>efy}pEp@`o34nL9-hCZSU*}$rUj$1Y zZ(Qx}Pa*t~%<%LXj+@yFK`tqTO1By!bN^(&0CyCSYBsRR1|kSh;+!BG*bxC{w%QZNg_!e@6#hKr%(TgpVzfG!a6h`JxJLn zMP~_Cj~=-wQ&Vnnn97IOH)-v05pWXtoazV+@548{-6*nHE1+nKmpjJ!Ot9AJRLl^&$`OZ0W=ERQe+n09ah~HV_ zLVIhfv(*+ne6sF_8^|5VHF;J_8HpARqa78~bN-+7ZIG`}P{rIc?HH;CUUIUqUy>xUmk zzyBVkKgY|3{vu&gQQBLmAa*^HeenhP{zp4^dUnM6y&QQ=LhsszX7VTK5ki!(d=*Su zF_%_TFUQN?m+;ip-L7oKjB<=$lm%!M`A)e-7i9yDGg2_VU8LXMz z6lj`(xD0U}z$PH2ZC02fLo9p+l?ICOJ@Tb zGhL8(IP_b6VMAKJeMDS(eBa#cZoi`R!*&FN+K4Hu=MhY^r z5JX18P+)!wwH-ivk6t)%z)_{Z8zd!Q8vH{nJq#ru2T>RPID(vonUORBx)*PTuMeVI z4wdQ7<3+@eZNV^7jT#4?z#~S)eswzS9+%7Qa0Q+Azv?AvMe4uWok5qk#uah)_d5v> z@u4PUA46Yk-bVudzL#hv1T_duD?RLnapf4MVXHuhQwIzKB9W|@Svx7MX1>8jJY?YW z!H=njCv^4?ucN3KCQpmokpJx?qaOJ--{5Zf65Yv+A6mrZZt$>@`zG8(wQak7iF(C- zGW@G*3i@jdqYA6TYkb+TsdBsqd5Uv9-Sg&kdvc2L3mWS4CzdREVw2v6Z>%u~?e^NB zCG0DgxBsmY>RBL%QwK4c*9OIC6hqXIzi9?E8z}rju&YEwgF|#J+y=XHHiDI)%eWMb z19!o_aUp3+sx{!#OrD%c3=p${0wW)$^u!;{{xFq{zrS<7V*Vb{eCgE3!J}hrq{d%S zgl_Rj@;H%iK1sbeUy8=&HjEz4<52_-zG9Y zHS?p7U=I50bz^MC5wiWY4dWc6U=PV)(>@2eZ`%OBNgxt9l0iX%1u~tKAWPUihhxkawpe^65v39D33Q)b(8x(Qx%Y!7p} zeCUgK1+YI@|Ah6W^h6e2eyhZ@V)g+N6Sl-~Z`@fSn`A)w;Fih0Nz(zS75J_A<-YU7 z5BOg*se|>R-02Zq8<|!ptQQwGMwT98!d;b3S%Wf7m-;F!L8v7)(zWldi z$9{8EX4>7*RUXUq`4+gwpnUxG7#HY>RW|zzd5L1_oGGdOAOTL@{KBSDXGXqavt>6$Zvnmr> zsLr&+&a|AhDvOo`7nNn#WEm>!+BAB%R&O32?lw8ZUa6%cpsGs(WY4O?2G4lKe7|qJ zw5PT@UtA&+=|onJE*lD=i|TB)iB_xG7OS0_UdSK%JMPixsDrsq-z{X^?}K%%8QrZp zVHB|Ii#7g&)vJY0Q-Rg)XrGyuTSnj1q?OjHO?r84iOM;wLMq&%F9MjLHLJ#nBLLl*kHglBmqh3lTj@5sT+JuE6RgqxGMM*()gs^a*IJq-Rs6tL??Rah& z^&`#-Eh)}VQKu%M;X^K_RW!Nsi{~};N5+ktKR*KggxbJ=I>7}E+!?kj4$&9#FOh7S(3=|4+Cj3a9$8GV>Mt2XmD~m-~%M+=~5hm z>1rKJOiV;A9+^nkC~-%Csrpl`o(wOlzfPg?Y9NC087hf=Hu+UVW%0xO3?%unL~mBP zjLty2(5*RCQY#tDacd>1PZ}%pX9RQ|Hz>9@{1Wl#f;M@bUi_eDYHxWTdql^FwRd-{ zYrd(i?LWYBV`zgiRiUCiE}Ko}cZbcP^0L3*Mwh~%yL8!&?`b7we8}En80T^lzvyOT zJ^X^a$>WMWX$y2)hmkW%0sDF%;DeB9qpan|&bw1F8Z^O?0=71cDG4E;6A4VlKtV$~ zh!7O-KnK!EjCUulQk-ze9Bp7m5*TKvipV66y*%T3ex^PnHnWF$A@x#tRkSa~o6qe) z8*eZc`&08y%ku)d7I~Y#dZ=lX#aNJ^X(-@GLpM!IhT&ZL4cDX4GQ?f+enAEAfpv!t zeR1G`XFq;+@?>W}Zb;7W#@}#Uq^oi}ef_Rfy1ov7vZFuZXzb{0Fttuze7Xwif%&mb zTVz>&DhZ*N{WH8?I1j>SFEDZ{i9w=B^lh1-N)GA?Kq-O^0oDW&ov;yjh}HyoWq|=m z1Ooun`@FX_Q+KJ3iRO)595XVXiuWz74=b(%a9N+0kei1s;?!EV` zd+xa>dT)#-%7~Jpw2}GJhht+8hyMGBNHQGpqqt!bRa0%Z)IiP!MxItmVpxiTpS{#Z;1Pem5(5F^yq)0lrkYG+O(wGmzXt4Z z@Tkh+P#uLRKe2gjP{;D>W%9Cg$l^ck?J`M8G-tfSg|UPa05*&%2*F73^eqV!GOm+| zMNDo~%>+PLQOX=qCSu3@T&9&0$Kfl?4yn>bD7P@HVN_ubu9}2K)EMhqYw(xhVTv1i zO0xsPP>(dJij&T9q-5jo98RSxC^?zUbCi0jMTORxxdKBHYWz7}>#%1EC#Z$F4!MNy zSf+q~)aDsC{pQSlH*a|~FNFEBIjqVj zo;Y*fEQ7@5FJr*O>&%3iT;k#aZ;{di(nbWjor#WxJ3eUa0X&{VVyGTiUsa`YZcmD9>%uik}HUlB_rV*IZCpSz`U!eooPXQyR|oQ3jQ zR~mt;5EqL1DVgH-n$ApninZ)`iX1{zbKX#^-zW!d)@(8zF&c*&jf@<&L9F~Oh;y($ zS}s&7k(s09^oAf(EdB@67X<93a(yAl9HQTehsN4?sxPT-~vHr>MIX|Ep*Hym_d6{`}alx~1yu5TZsWX9XN1N(JEkj7iGwjTn6`6&{Vn z;;4RX61BqZc7HM0*8Mg#e%-q9p_+iHDm-rg{{48Xef(xJX}wI{`2Uo>2Vj$R{y)y= z$><(wnxt*gk)}!7j5f_^n2WT$D`($dmNOIx6{tWrRR$QBtQQxOCa0R>SI5JV6a z_r^UB&vV=%r^o5}Rqx2-|NVKMbP4zU{(pgVq=A0Md%WJe6B60stIXocDf)@tR+qlG z)!EX(*e=-bcmnp%$By)@=oFJ9&nT}(dUaYNv55L`IVXF52xH)zP2U2P!!{BQ_QM)^rfJ$(5ek-AsOy=vLmlG zW8JhV)7GgK3hHpNqRgU`wTVm9Cb9#Bq-*wE>VVt*=|1CzbJV9i-Cwu%dKNw5ZuG!} z&k)=}dxt9jwg(=#&6x|0mWtg2tvSKT)P8z{z>^5_Q7*9d0!_-`j7?GyKlC<0%7erL z#Q4VWUE+B5gcZhyH@|K6tD`(MpKb3Ab$4K%Aap6Bai zu8-n83!gJPicb&BK5cMVE<(JWfZ3HNS!Y;Iu#g~9#zZwEg+%asF{%RUhu{uISj<8M zunuUU26P<}j>OR&3yg&tY8iDOtEFgSC_o1P@n)$t{36=(oUN*2l`qIoBuvyX$U0qB zj+~jB-qRVrxF>V}8#%1hxr=p0sw}RPK<$GWlO{wb>WaeOkefnf#XZYJc>?<;a)*zU zEUm3snn_9r{c!gNIHQ9sJA4&~tBmA;2yq@GmgRr}#+(_`9y+2ChZfs+4TjAGuLY>I z59)GMcAvr>oq%Nb96G{gO{ufFs&i&}wN0}UT*MUj^$+ZJmYUk+LGMo;pRw_LoLcXC zA9=D%YaF)nfSPn@W$oS3A<>};`eCF&?B7RB%5vVwxxPrs)YJX9=}I?A(L?D)$AiFglF!;am`SNIr0M?;N56%}Z9^4%AF{eDdh2b_s zpe_j+E|WyNsVOy3iai_Ma{d0NESXBuo$KKwU75dhIk(PXQu)m*i>fEbq0DE0zu?ic zCcBSN7w?0!?y1k%^i*7i3!k-)SUO8zIq#J&OU288rogV(gTLk^tPkrgTxVvY=MiCq zj9p7mBs_`)h872XC2w zn%f5S1GTUA;Dw_A)TosT2K)Ha&N&xtNLjoPJSjBYJOX`>)i~+^x(9ca1;P<3O*qnP ziij{A!D7%JoIaB~fe8k_9s~98=5V;kfJ682BZggv4q)_Ki9J=CZ^gMa-yO~p6gA!< zTUGNB;&v@&q3kc?r!Gb@A5GYjeQ$?7mWO&$KNvTO_2wk(rv1o^SO}ahX~?#|r<~X!~1A{7sP7z|V+%?zzL8eJI1Vd1IxX-tujNJGYEFjS2I-M?Xr5 z>z>X+d4GxN-3ZkoWez3r9P+$p0@B&BSkO`65E>qtR@GRxMYugKBNo}tY)S(9^SE&t2E8VW#3 zCaRvoXGK6=_es`4m@mtM2qff#@}wZchtdUraBzY*Faqj?$y*lcD^?e!kp_tPYRXd6 zI5+>!BL!+yh$gt*+m=$ok`lC}*H1S8@DTjJDZjtKdY1SP{J&E0rGezdN*9O?Vy%o1 zjShcfQH%+Y|IDUM>rvOkJo%@;y@USs-q+!G-wWjCXUvyYqY`9tI@ipk>WIB=ceu-4 z7C^VSiyL+$7UuC3$Xof4wxtB13vr!a=^uXI@b3WmKXOwh7ESnL)0xi=4BUKvw(S8=rX;OPJPBpq znjqQ52?XwodN9VwjbkB5e2(HIC1r{&w!S9z4z!*fpCpxLX@W$#HaV3a!|h^ELR+ba zQ4{s96o&NjsgeL%MXDy=jlgxfZmM2{Sl{bh2I`xfxLDrOWChn`cjV;6#i64G^N|bX zyQdug=8=iU_;_Djs%Q1(gSFJ#)Ir!Y8}922%oWCaPN8ExG;Q!f1i|J(1ks)=W&kAP z#2StyMq$FF3269m&h+$bj;kX3pDM`|->z|(HbFzzQGuX%;}Ib#wbcEBxf7yy&U3 z&-u%32M#$=LjM3H2@i3Hw;rt+;tG7u380%lp!q@pnFTn{1EU{NY9fw9GolU~tF$Ww z8eZUL%HWpAH-Noj-~#&NVL!EP8}Wq|aoCCR;xwT(YgYWL`SoqAyLX39MDxY5*K7aw zUDeM&g}0%(Px9oKKMv$7#q*_FH1Q*@uEZ?Pgp90=^7C)>+f*wBaKN#Huyco2;eT8uj&_26H(Z2v zQ0veT0|y#ixF$3aEgk2p{S|C;d&RQDVsRHtWX-q5_ zx%`7%A~=P5wXbhAa;;BRKAxXC?)Q(9o$W-_>0=2Rb&4>av5_XrURBaoht{a=c74wlKLUV4a|Vh@ka=b2?!V8p#-`K`Esv(Qg|+9_Bc*dL*`U~cwmUo46|3B}ZPSwthN)kE zM&pVUpg%mH0QadgN2Dg4Gh^03-Z)=GK;%s^Ok|Mu&)gAHUpKPNb2DZT0gun&i%I?D zT$DiLtO%C4?wqC#$1xXU`Lg;dRov+ma*s1x1993ZcvN-B*)W1`O ztI<#N+I{z;RK#Am(ET~}?n^Rl%BX|Kdi4c}BjbE3KBHIZvj^4%Ej6U6u!;qVI`aMS zE`~4XTz@|i_hb02AK!VW`qHKA;Rg}_v(KtO{WLtAS@pF^LgM}QohXB4dK4Addz!@968;=!qEX-g6og0&E)cg7ncr>TS$vE`x67$XAu5BP*{ zkU8jk)JNTopVV8x-ATGqhrvh`6;!w^Dl2amYLI5dQg>H<8oZoy{c+^D9XKJfbYz$} z&(=#V146%J!rZLs?VQg3tiF!x58#Ns#{VkOja$f284Yq)%ncjD=X{X$MkHP@9+FVl znZT4p&^g>RBEW0LlmXPujf!w9Lq(8*g3TiukCi|(kg@Cmbc1$Q{y-8$d~8m3wl%Xd zN+5~7{uuK9qZT3RTwdXAcc}_&tuoL!>H(CK?5>W2AQuwWjNmu(iHxv9&qCvT6@5TM;Iw0y}+%Fr5-+v za}W@V-o5+V-MhDQAeW{IkS9;}=%dVbz9CG%e;qi&FIxX<%tsH@9TseLcncf~b6(;G z|5sPhJNF^ZWTdZZZ*Tv%wghE4ovZq&%C=$Fhk2ycj;Zd377~BL>8SfC|CamlK3vR;sM5B>mBnKm6Zd};B8BL@ovIcWdcMTz$M9K3}GaWWyJ2jhKb#9NA>pt<&9rr^Df-SFG>zl zFIMI#j{D`Zj0Muuw^mzfHlb48qHbLmqF(eOzq55z_904!iQ3Vgo5{ybUHehwTO>%~O_zLrh ziw!_ZK5P#L!Uc`_95*LPee#*b*&^nv^GkD@-#mtT!v&UVv zZKpFzmc|Yd$%%;)(nn=jV5XsEcm3&4)pr!JOwU|2=jolIhd1EqR+ zZfPj>En14QA3-KS$}d`r~mY{d3{k5xwd z#gfL2hx3QCgvKCn)XWUfAy%R@D6q#fl5qk^XLOuuq`L@MjdTEIn9qnJfdC0pW5TQY z`@gmt^DJ_zi^k9=4lMW?btS}7_t~XEb}Xuu7#3g6&=^g|5~r(PzkIyRE3Rhw(B|Rfk`~&Dyb|A??olP>?&Vg0KHBNkD4i~=8|&R-g`JHioN^EV6}0)x`FKSl+8JF zY@!aDjHDLLpFOE$wD8A%qLY9vhV02?sC|G;W}5z_j0T6ASt&3d4&M$r<3WMbBnQ+8 zZ^GP22XbkpH@su?3#y?W$4}~o{{DZWD^ypI5Z1|SGwN6&0hH{2QX4SVR29zxeK4Ic zhOWOj289sS!C<*Rd{h?gZfL74p>wBTv{GD6g@X^5bdx0fd50qPc5a zl>*U2Il_QYeBcD$)AN+IDqA{o58fR+KEC%}$9=?u_#*baoe(PXgyMo$=MFo(N}7qL z5;e7W)bWFiP6E5(6{uxodPB&;lN!Jl9X>^#2o4^b(#Qbn3B$orgail7$7R{@wh`tT z+U3YL(0Bj-x8Hx7O6loA=c}T_)HM!g-yONDA8dX&{X+TMUq!z}*@#A;%vCgz7_Z2R zhYr$Xu1Wr@3t6nommdWGNUwD6zX@?mD_5scT9)<*1(O?!I*#c-->~Dp8O61VpB{2OlpqFvyfH8{;8zMQK z!yT)m%h;lvs&XbIl7Q1h`Lp@QpEAH*vUz%f;x>VIT89bM+YY- zNY?eLT%5!$u}9Zw);5^*nK?O|NZNsm;(BISP1*+P1gb{G&VngZ-u&L11tS{ca^Ivh znX&2>F%?d$Foi%-v1#HoBCF@_3+tvnx%s77vC(#p`pjGA+Fh#ADdoS_4>@reT!rn# z*FYyTeLQi7I#`QvDj@Y(aF^J_gJY&5I*kZyFj^5~U4W14#``6%<%_8Ab26Gj=$q>B zV1NHBcckaK{#pB@FD>uRmDFjfbgU8cc1QoD8C1L)t)^~OF9iYUoYqZtb&+$MoYba| zKPDcgrTr+W$Kcy1pf?gf!e7Zip-^)}O9;3?jBQ~ChCxBM+-C$FeW^^ihGwgXF2=$G zE)nk%BZ{FaLnutd=z|+|rneWBW1kRy-j`qTNpZU{BNZJ;;E@hl0riA8H9hSJ<53<& zzB`lU4^1?A(NEOg#B_92T%L25*Y-cF`U>JAx{BoEHh#2qG~eZb0{gg&zb6wJK?pWNpv z)kVl52rWI9Cx?kqotA35z1mWrk_h-c;rE9|*(Vtg2hW2{VJHR}ql=jhfG3yU91g=q zjRNpDk{%?-cT;=tlX`J*5IWOS|4xYcm8uP%Op5-R+H-h!v$kbFvMIMsS53eE3v%88 zA)d2-Iv#-bx3rW`g#0NzvXEq1F2zCrG0DSM+S}hKtu)n`SC!j>r9R>Vniwl5pm{@a z0E{VifjwyjWHr>;1$QdLZuQa0c)@TY86*J=<&g>C0)bjVq72b2 z`cs*X)emW$xLrB(q>lCWu0*;8Kzl7tX9x+Z>gw9g$H^es!j4$bW-})%SYTq4P8GTg z!~BXP*g*3^3uKLTTG!adSR1oL8qA8*vubPp-KK_Jiwz5?A1)Tu_N1_zN1 zRbxrVJfW#X=b=%Th3>6ETIxMS9NXBNH{%}hlFY70GPg~#RZm9R-L0+Lnwl&V9;2_S zrg`Y9W_=qZTPRMc)9x)VE37s;b&(onEdQQhIfiw02F_@s*KZop)*uOKunxikSPj-W zqR=oSMbJj%O$;MOxQkKf(zD>%{`DaJ_{G19Cx335Lr|5JBYMtDhZqM@%@Zkc0X_#6 z2Cio*ccdlx5`;T}!*=dGMYRFQm-Y4@?C&q1MXX(T_nMjBrF+2p_B20FOufWtZ$Kl? zY?D03m3Xwj#%C#w)s$=`?Z(Ca(?RItz6JI!W-r~d+^YbR( z61Q-2USm(<fh6*AIv11cr)dhB!N?0cRPfCVWNwuC5iUW$& zd6JAuLBi%VTe zrABh~?e3h#+a-70nsE2iiB67~lgddGIIus()%plN|_B|Ea!C9gITdX~o54KdaFu&P={;*j(5!6>Yy3zBq>dhVf0Oj{Stbp~L}H56T#x z)N4IG%V`+ApF}^q{5c-Qc+`=S7EL``<%!rYM9Lc5^Hr~t6cr4bgVYZIkLj==T@-kk z`l~Y=*a0#c??Fqcw}&qhc7bDoXIV)R`6s69E@AZu1Oi+U6j?ICJuK!hoEQZwKrJzl z3M9vn9|qn9cPIrp2_pQN@au11d7B77P#F*(?f#WjPUT3H=nH6%agzFtmxfZR-VTT} zvjcC3L{e#U;bL_1?|cDDnOI0v4GvN^TylW~cj_{o&VG_q=23fGt|B${l~VbbRAhew zK1n3*;9Qr>sF)m_gJU*Hzn_lSjuDS8*e!J2fYvO-YLv!4z?9(OfGsZBvVQJH(XXPGyhpmY$FG?ZHo#sTflWeke*z=88IYq+m# zfe6!f7dk=UOxO`S58T}tE{1o%`YIuDseUkop8%BjZB`DEg2TAJYVon|qT+m0LD50v zMvHjtDsKG7Nb6k^X46$U>@i-lB94eIQkSa~xCL)^T%-l>t+UZ4oi|vUGB|nC9im>p zuTVP=d}5y^Eu#J>SFQSw)vC^av`!S?F?sCbvj=#KvYNuum2wMDenYu_{=r zi_{!G`DO9~%9UuY?m&5vUzX*p09kly@`#bQ^dCtF4N$}~%InnIa9 z!rR!Nf_<~N`>Yy!nQ4oHmS@-!VrYtC4}A29k#02M8*X9|fp4gpdgxn;_;QMnngFqZ zQ^D}n;Ju-HsZ7Ebe&A4wr~>^6&hG=)yODW$vhv7LhP*zCjJ&Y|E8l+O)Efe#R1oza z@kRgwje&kEud@nZ{js3q+L&yjNR}WNHT0OINKPQ#LxpZ5HAYVX<3`fbu_uMuWJJXS z0x|(ezyVE$aduZDSx(GA62BCo+HYWb+z*rY$&XC0o^>o^kTF^(q1+V-lC_HirgCwi z<~FT6CT8nnA-^B0Q7?~|^Y2@dv$6Ffl*o9Px7z|@vBGld6!k@?qpz`|a}^av#O-bB zVJ|awIxjO$DN^PrjnlToi-p+@4df}uz<}e_(&zLV>VwK22hBH3ZVod~jHwzE1Kxo; z#38H$Mm@BiX1qwKkbrZ56dL9RM}#prqiOj-3lCh6imfIZw+jIBMPMr}C&oy0p$Jlv zh=aT72+;1`Xa*}ThTY#5PDAQ}kqjiXJm5KKv0edQmi)^nt_8r(i$T5@%1gzsT8RR4tsnO za0!ms0@B50*e1v>qqQ?!_gM27Uo*76gVh5e;2qEhFrwLLzvGx!AxHyy&fK@?o{0<4 z$?(0zUnyZ)Hu`5R6$;rx>B7A75W1xnt$uvZ?dD!ZOPSBsCtXM`*+6}?Y?eh^pi=mY zd{XJoN}|X@QrA4xzWMW4TCK`l>Z(@zN}1fz>Zv%0l*rK7=pZe%mBnuVuAS9>L$Dca zR0~w%>+|p1>Z{O1Kd{j`g}zg)FW!OPYf$k37IgvOdpoXTrnLpu%40W-wI9=Joenf% z0Vj{>OPb8#2%^9+1@Ma7tl&U49S_FHm@!h}XE#?4%c4`EF~GNyTt+DbD?urIW;CER zd)wO3Zb#9TBI@x+spdytcp>!Si)0%yDO^-yL!#(Zm>ocJbLvWEw|mjdGS7rM*{rU% zb?F0cQmejY_G~05DzN5fLotZzxIPnfKwesKx8|v`kS9x}I9^hsD%Wbu&%|j3wPv-p zUNIQMNz`y^vl4~v+?F!4O({t#7pmmqa=s`pKLhkD&b@q>KCfu-pbMd9Sq>8a-iVyQ zf{=#&fc_!Stx(cNKoaD-DseRfv=ai%5CzROpsHm!(~A}sIL~-kXJR}H1Vx*TOb7@Y z1Oobhq!V92($eKW^gIp5P#AiNwmiV1fH%+tS#lVv)OVrU;Z7 z9oz}KJlRrlzqA+0=JB%cNs?#!OvO>jvV3c?HYW+%s39+r4$0O9X%%wwzfx1Rz@VAtvbucLrn8}Hev=;MINP#rX|$BOOILHn+*D3(tf0t}z!lGy zIV|G5`1O(t{Z5rlWpg*DYt4CVv7?*5s}w$w@g;620A302A!6Z!igZ$iK(p0S{n* zObYl0p)nyX_wjuKoQ({vW8qRs+IAcM1P2XrY_!vT2r1HPk-jX}7;S%Q+BCv$*Qjk; zT)=Qqn(=0)=v9<1%qo+W6kAiJWyPgNJ7hk#R>2(7b})f)>fT%o<>e21N?e6{n?@u5 z@sKb_i(V|w$b2Gz0`qE{TdS#y3#b^m!h8R=(LK_uEU9q^&tuHqk+y zsYiDVLCF=f3XK-OMs3xVS6~09(;4{t-)k)pHK8%VqhR}+;XDM;C2IzQ31IUWr-Kq3 zqRSzqj3p#3zUiYGcpJ}lWI@{tuuWgF$PqHQ<)<5c0^nio;pEeVoMo87bnn|Nk` z`lP?R`}?l0Vl%PwP*kyR>eTrt`Rdi`Z@)!x1D%~>0Z+(=_CqkNGa*qf&+E~4#jjkF z**iV{5HbBt9-xHt04c#y1)*ni`;Zr#+GVlSo84}6Q*^vJi)Z1)ber83H866_T2tXR zQ-K(6c6v5PU8qV9$|d~`9_)G6=AxKW50+UY&xJD zU~M=84277FurquB%u~uYjd+M~SOlC0@Kz8Mr63eWK8kKsm}q}mqNB4A#{V4UCqXsV zh1X8Oa`pogG&AL!w(cI(B!!SBIh8q@rnQ>hj5GUSIV5=~0Wjl5d-oFk@!c%o)Vb zH#pZhz&{T|j1>1I5P&Rn>aP(K#Tr|V=(PtQocMs0C4c!NN46ToISShC zHnrLC<_mSslDhHojolRZ-LP=pfuf!HkQ&k5Twc|5=1fD4esZ_H?)v@f&d0j^b_wF! z?W9Ffpq*~JEy-2t4%%sXd>rcB8UJ`b$e+36Rs$lzU<0!Z4LJT66CBbh>A5GkaFm`; z1erBNMW+b(uYJ;rjutCtVMpK*Xg>KdceP`4TeL zr|^7&m=#ywe3R#oy5K9$cO{9V_zC5y?h<2FyQsx4OuE-v7+>T|*XES7)R{>fR{^_H zF*qnCxjW~_7n|?mPARl%blU5G856ynsn%PdZFY~{?zGrRoggl)OswjFeJOI@iwP zBqyp>Y5_O#EcT~C%mb$QK&J{EgQFYh!8aV>X>5*SS0OG$ z0-XYPF-)!WsOyNv;o$}zqv+j)MJ!Hm1Iv^#PX(!TD0*0{6Kgk7Pt2YB^j&uiRy5z8 zk9+PRCA7*4pY7}4&h34p;g$_5-hR4k2Yrh)%Mu{(t7aPzTMQbA&7R&umBv+dx?PH3o< z!ZU!2z7z`kq@r}qJ|dYTl7`>Xuwq#0*`?Wq96m>rZmi_R1Y?pWCZj}lPI{?SLkKxJ za#OBMCJ~td&7UHC(2?Mu-Opt`)?3|oGHd=2^ThQ5^Khgh3q$EM=FG88SrgspM5fv= z{8CGqPDH)f((fYKDNxkqx9f_kuJU86_{AiOE@1Q6WsUsC$^rW@sk$jSaRWi zCoL(3&meV}k05)1r)ZbM*k3?Al#}; zi&SY@f=q)rFIN`|*{8Leyn#&*Sj^hGD!?9Q=m~V3#ilWv7;x-394v?Kd80xNxYPvh z0#2G4f47aeSWB(WueY|a1~c-LsJ_^KldohB@nh9gXZLvG8IR|S8{wJ#bwR!lNCEw62v zFGAUi2&eb{`@Nm*?X{+=c5wYH@EAkO-v)jsphv@D$O%wFE&#|=w!Rd4^BYZ&a}x!b zcuHD1K^hJOl*axR%<%BbiC5}!#C#ryUCH7k#%E_`8C50uwydgH3AJi}aaHqVlV@60 zbvys(Uh3(Gf*dw0ws2}oG&`!UZM;+*#p19zg-yi!;gYgc7O~Ddy(!pX^fbdP`#CNh ztj~KttPjsddLGu71ab(v2mop0)QSk@!S`b}KeVi$E`{GmiQj%({p_=p_%5wwQqbUP zt8&%}K4_<|+!adkdWmuFS6*>1^v)RHSXUfqgsilw)}q>_?|JtCZ<*kCUZnH5akmjX zWeCE#;G&W$>9h_W3<4+gOlNf_bsMJNV9fzF&A>K18MN5PGddx+i2&V6T??VZRn)ck zn1WnYv7$IG1=kR<6Jn(4cB7%(Z04sRsuR^ca~y5h8tC_EJg>OX#h=}j%Rzl15sJCd z`~-)QjI!8#nX;HTl#r-WtBE;I=gS^X_~Agp#cRJG#EJS?elz!ZmZlFd%=tH`5RMSE z85C3j+JGJ>z}!GOfFjCIS3hQ|?dUL6O|Pk+DnPMw(C*dMb&c_Mx8bhZl23zZo{piU z{)SLXX`qSfL4)q%sugdo?b}sX=~fz6FIuzp`sb`}`#M+)WJkg|;@)%|m?Z*{6_8G# zHUG<EMscB~?OhPZtTOQB;`bFj|g^MCaAw`R=I*2qtp|u@MXL=k^0A)Ao?FKMIh?* z=WT|{gDCwAp2?$4o!jXh=&ZLCs%v4jQ!5HXYu*Cd#IZI^o0$KBA7GNf&FCL64O7rd zyA^qcpI55O$J>pi&QWKUcz5Wfmp%{ATNxzQdj}dP))x8#P|`YdF4wQJ;wk9zTMn!e ziSZqVx-0|SD$FiIU^zxa0(sopZQ6#7A*=t6kI1K(+yjEN>1ogLc64PkrOa|GBc@)ys zFpLJU4Qg++LyBI%LJ6=A`&QsMOZe5uclHQccBg-;TkS@i<*X3vSC3m&Uzu&DjuLEL ztyfxE&=j0m)E}_dl|T$zTikD8C$dYO(?!H9!|ZzDUx1*`x||-5vna1rQ>t_cRWGf$ z^K|mZ`?>-aU-KkV@1EYXjQZ^jRcNvM&kvN`g4%f5Yx* z(L>*fQXo&nC6DY#s~vhHA_A`wrI^c)r?x(8b@`<-s8lCn5;A3(qL8H`&+OnRn}`ziqDCtf^>qp(p(>4HYAUEAK-^O>IOeI1bG4?%Cs=KB2)!$e<*d zGp-2M^I@bO8CRr{!?NuLB><7iQ3c5O_)B>(i)f6D!g>bl){Xut zE+8@mTHTU$q^>sho_$VdhT@0kconq-ckj-)JXvCL49T;mrlKD$tK(V6KO9A0zklg! zMy}t}bDd<46*R-2I5C8mBvX@@g`9l{f_wN^<8(BiU_JLHT}OfAuF$3pQxbH_iYPCT zb`c{KOFiHSTJ{Zf!mLAe)TaSW;6oq5rT+CJJgOl(y}}hdi{@8KE8}@+1Ez$qYFI%L z%b#$a_gp2up4_MoKTI@v<}QoZ;HU|fX}DiAuIPsrolG2TsQCarA`1c^(8!z-yQQFo zrNFT_m3&`Sq3e5-^+rD1&xwnd3o9lScCr_)DO@y-lZm>hy+7PU6wZhC+Hbd&5gtYOP+k(P$YF+k1ch*-q3hTo^uXCyyLC@)gcL z&+^{V7;G#gT~INN#rMj07&*v--oPhW57G1cWOz~{gH9Qg53!Na(bJ*fZKg<+9ry}E z%g7TX`!?dGz+Z2hRWP_he!DVMR!anRiiDE|?HlrzwtYzaPtEmrYoM9&v!S1Ae+t1! z_#C7rNx!SAwXD6`xZRQk=4W);Ms2UZoa}O;{ylqI798kaySDql0-SGw>F@yHE!;CE z0W>Y18(su?a`-HPgR#ANb9lvxRC{8SjZrs#7oqo}+|QvGd^(zN;V4?O#oz1JxGy@< z{_HudE@5^oH4A;7MNLBXX|-U+U9i4}T8Eiu2usz%T*O2TvDO(bZBP*{cEEoihwy!W z0yb9~ojD69ieP;s#|RWks}108_zU_k(%|Ig7tVV2%WPNXWP(&@#chU)qgItSo@XkV zN6s~&SWlJ7YY6WEVr?{y!8*hlcldl`0i-7*t zU!lD~uk9WTbLI}Kb4;%cc6b^1o#rw?EkLGl&x{)o?weMHLk2qS`?wMI)6ko^^vf^R zI1d(P=Uv~Do##>IZZFL7No5QE_Q3~K=Av9f70g^V4y*AG+<*I<`!KoJ<+1ZCLpA>7 z$_m$B62*IGkDqANn=7apsIy{NfyYGX7T17}_;c`t4vZmzDCu}ItXqKP6K>E4JBSRZ zpv|u_lr1$y(VCDcKScWvP)h=rscWn@>e}V-w>!|91J`!!fcEV#1*o+V!dAvpGg)go zG?OYb_BUA{z)CpuP$L&nc7;gyr#5vEg{vf>NIqt7kY19q|lVfGG#W2rZh)y4|>eq z3;6i_Acmr?H1cqpr0&xG>ebdJQZ-`*dk*|Q=81zYp+Tou; zXR~pi@TkXc$u;ZqRjFlFCVR%S?yK{wP>ma^r`_oJh8$mR535C*8ApBNX|V=vRnwEx zPrV!$`^Xs-_r`k!0j+nCin#iRWe zEnM%L;#50{Z@l4;oKCmHQH8i6@E#Hy>oobx+(?qQvJ>1WmVtpIvu44ZzhS9}A!{Z% z3*G%!bkT`>eLKUQ6%)$T6U19=&WRQESQla${ytsbIJ6t4#t|-yftXk}kJ(8CrJ8`` z!ER?vh)7_H{)TZYjV64!e_~=%`maJRwaQkMXO&Xp$IAFkQ{IJsSpw?3SsI98qhd+n ztdE5%bAh3>+*VaQH<(9C0>~}Oi0`;vNjzorv}9A8vMU35ZuI`}W+N(K{*+q>NtS2l z9*!#U!9AqE#^zDCTDo24{u2iyg^q&*lQA%7dI~>I(>BytfW?6`*dTumX09;Z?nIcY zBew}Em8stmMf`35O%q?LBK{nnLHNT@ZVRAO)D8?_p;_OKTD0T(UqD=4zNNol?h5J3 zf)KE9Pnta8gmTilyk*TFpjKq3o-29#;T0U+fy`R0 znoO2io2>ZmB+#?%4aiBtk;fuHvp#xOWyHtAT*Htv5O{Lz3$%v;-!1sP#&YWz!D~Gd zx_7DDS!l9{?A`e@Z0lKb9`xN>FsCw9Ij3Nef88UY@T0_e=m0fZ1}|whw67=fG|L7G z28fTFn@M{>=Wv`mJ-x-;(Myt3C!3q6o;cgtRMOT-HaAoK4o84|I3knxlmFwGQrPEv ztfZ!+Y!a41BmM{>Z8_bU|RoVr?PwW`%K#c3UQ?rd`*U1PgwVORN#jmyaHiVl(rWY>5Uz6c(Dk@bl9YmA7iyK3(qB1MBe0ZmO zsP1m({r5Y&(Vhuq>D3eK-03x)?bU)BysvbSEw8XN5xZ9aC>!#wz_)c1d4ju{fkXks zNE7Ce{X*X*>@5+oB8l#hTg7Be3{{^oiSS@z;A0q$qwBA4pO5(MWUwT^bX}>8-4ff? zH82nw9Go^yUd18}p=5_8b@tujudY=V8DQKAD(2yJ_&Y12bt91oO=8`WwVTvJR z6suRRx>y_{oxNgr#(>ugnib~_;JMP+#})%xgiqU|uyrYnDTRpFFn;EY$Wh#+K*k%k zm?OR!fKnKDFxm1%?U&S}XLs%D@}iXTIn#6FOpkKIpyfD z<>e01KfbwYV z7tw%#{xLtopBpNcM$G<*<2SMi^c8BS9vpgB@2^Hi>J1cgV$0OLzWc%W7qTrN;16q>9PGR4tW}c8`UwS}L+H*Z7^I{9}8(0}YK1uw91Ee`wYso+c-u zYwAEiU~Upb0Wpp)pJu^poXBa@{$#kMKi&q^)P<;%A#~;4Lx&DgGarOU9bpZZE|Qj7 zO9^#|ni-Url@4D6`gFmut5?6BzJCTh%+t|9lC*ngH#)sDs31&C&6oNefU!q8$vESL zkh6RWbQTA2HJ%TNGn9aLL|i`b1wL|`k8qTeL7_N+O5-oUT0>lgKjVKQm(i|d>=^|Q zM=Cx4>Hku1Wx{zAOkJj^7+H)bv*bZ(aWGGwzI?oOha)Y=Q6qOpCH}B!_wG%byc38c zXtq68pBmc}_@C_S6jpt=PQ8ihTQTtiVx3bRP_#(J$O*Rx3!fv-PH!wc!-z`kMQ^8iWQ_2*JnD3t_aMbU2}(+s6i6#S3C!_FjD)E zr+r8vg06=S8*ZSEI@~J-1PX0t!6tF!+yKbMfWzs4QP+6fX1Zl z-F&mebFKHZwo>o3wzlqUZMC*io1yjP!(WSd&n70nygAq!+(H$*;t6y3v3<#jRp?q3 zPq_d3;<0;2|AyI7F4ue~{RoGBKb2YwJ;V<+@SxtC4j^}`(^Gi%tlj8jMcw2KxOC6P z&uBU7fSl!CsP@TynqT&CD=V78=EO zyPlg;+1YJ(6h1w}%GE=g6WNh-rRAQ&IKI|}!tf&|7HAUJOU%qT3Gglb0{t0(%{-Y)1>+rLBXjo{f56x1*rG*9vt-GE z?bOT#<6lN^lp9ZFfehx?BEiqw!~YorD^9Ijw|jR*07aK>H=&rd_uaRC{llI@z1`iI zIr9;9Lb}N_J?6=aoKT^&mdFT&LZ9k%)L*2Pwp_o*3 zs9*wbBWq2fCfQBc_dlAH+1Dhx`yvQReY}St_MHyfS=^)=VU*k-zLn`_gt7WWut~On zj~&Y-5_A*3L%1qBP(i1b;Dg3M2Irl?UE)sBIIRJ$6vXQ272*tf*v(g0t`NCb+T9kF zlbg=IewE#S7xhsUnt!DRl^r_CLPt?U{LWWVS7vk+(86iu zpG4CeGvbS*wQ(+X(gx@{v$^EgiWs-aD@t_!T0;E@F?;B=U2thdTy!F6Rc8Izhs9uV zKs9&|QXm~HJR!}+K+lA_VK0nc_^%tda;5gll}B%~3*yVs%5 zwJG?Ab+hRn`Phbtru)iwVeY{s0D_&5eN;f_C8LB|#6=Yu)_}dpBQh>RG62o6L4}zO zduc{+C>#U48SkHvJi4f@ZPBB(Tcgt1W#6VK_EA?gQyS{)6)kfd7OJViEBW)&y-)vH z;%!*0QTdD76cZY{-($<0BstfrPz#?;y%8eHL(~ZfEj=J5GY8p|v$Nt?7!58WJ^DYy zR!e!g#S?xoEtvFr-kmQv=X&n2`N%~o zfX-aRJfMf1`qRJz5|Cxk;0EI}P%NWKeI!wewrdQD2*Hp_)=+K&q=-Xm0n}K9KyjwrcGc*>|su3Uch}!?lj1*!%JaFZ=d$NJO~r9LV&a1$@gv#PcdF%UQ=akY z(!W{(Ee-BGv>#2{-;64u(|y7;TTjT=v0%Sld)sn7wDI)LkjkSx-PHA7OX0RTz4#`-V?27s-|4JOkD`9~k*yJ~Z?A4yv*(#oBF@>jL6i9a3BIZCGa_^xe-qK#F7w-Qa7)b$=A24QT%rfp;zceOI$v1@?YPv z-QndPe~fQ$U$>&gP^!@fwAI>q>J6++idufqS@ztLMHkJ^htO?rZ+jy4saIg<9*U8K*X^oH)lgvo*YNef|XQ;}50Oht|%jSC$#_{pw21EY*sA zevhAUhF?#1^Pmsxgh`Y1ZJpHTUDNcFr+vGf8*NWkSwxBVlREvkJ?89`!qUWK%Mboz$_vHLvDI5zSxEdfC z2xUX-Y8;rwQEi}pI${e*0lrC$LQ{Js-9`^Dpm3PYYf-HE2!Wn z>r*&FW?7@A3)7; zFHfk6(j^4)$_pk-XAL@K+?{Lrh9EH?k|?6n1iAv{ypon4?TWt8BU8xvpQpQUX@_FTt4d+n2_%Y;A;CK`x8yGy2KMpbgMrTm~J{}fg zH;4l;@aQHAL@Go?J{)>d;;q_=Q9y&P<}G)$7|Kiqm4#KBxtjH?ec^k%&~xtLe2RxK zHv#jfB<~}E`RCO_WAy`TXV?xN3V*`1dB=Hv_tQP~BycI7c`+>=D2L8#;Yrw9QBm_rYC!b7;kkq@I6$Lu6eIhpYc#iVFo)UhSNMHE6+|v&CJz{<3sM z=8|PIcL5iJh)PL*h|GMZ1Z{u@Z1X+Taa1cyyPwKMcP*Z7JG>wGn>|hg>pc&%qd0)+ z(s0i%jOk=t@YpMqG}H&?h1&;shWk{(aw8u==h8d^wk(Ejpd{!Iu!S)h+8C8^(S1*( z@wx;vQStI7iptSk+%K~4ZW|v}?nF9jsras*?@=1G2SI|wSQs(Y$${K2HrhZVdoYe)Hn8Y;SDh(waa0>7Q4n?`OBI&C?v1 zAw?Vwj02C|np;%ioh&UiX##2&zC0p3a$&-_hv#od&=)RQ;yRx0`MKYvy?@%&eOlMd zpFHWuyK1Fp9r8KN(BpT*;wkh661052K>H>_`0jvHxuVhi&I#H$qxVJU$c(13(ejLD z8!VrJQRuy+ONYIIm~VdNre;cH4J>D7Tx={0oeoVqE59^jKM_N?)Hh1-!QNJJZsLND z(5#T6Z4H|GeQI*|)Fo@G1u^dESankk%x98AlhB1*;}noYd~+G@I%v56LWX4B9A%-s z3=)rU%{Y@=VFdnnz%GGXMoa}Jv*HgIF=l7tbw%#q??=NUV-25s3xLb3~RcyNBn{k50Y7SP{$F7oo0E z4?RP`e>Cjs!IZ>U&)D?~D}_%qN{qOIB0vA%aT!`EcyLjktI(StD*E%JcDd`Wd}pHY zA7%3^lCr*ZP?s*Hys}X;L2olQXg^xLPTFw7bX)khQBozZsx)6QBuso{W=*cS(5i4v zXi}F*Zz&ZC#s42;-vQWGb^Y!8G;K+?wq#3|wIyp?Teh}rS+Xt18BUxyd+!7i60*nu z5;DjlKo%i{9YWZvK-jZTD9{!tlrl;Se6&yqEfBqY=e{R-B!Pb=o@3dPdH38ierMk1 zO%sH2eeBM^)Th+*)CG6M-!o%HOS9qfWbb1bHBkEISgP$B)7WmZ0qra67@|T6>wX&I z2a<}ZuQHJHE$Vr@PK^vn!*zws#?@BL?Sb7O1PU1jrjNqor_eR_OP&7*>imxP$ZH62{5G=7Y5DYlo zPH_!UP_~;JOqBve#GRS(w#i4*$)=Q#Se$7qY~Hpo*8-9k@|gOrHBL*CIkaNMw9aFP zGdI(6B^KUiT)4e>#N9P2lUYQbn!Z)MZ{hWBuS---5WH%G)p-1-xSUsMYA}xuWRm_& zuzuyXdI;g;`UXt5p|g!0R9+mSaYNH`ze+aTcKM3~j)^Cr6qB3=Uyje5b*@Mr+AfL3 zeuN>%cYWS@ph1C$9JfFA$}0tO)0KKcR~~V^;1`%&BDjJ4k)C!O_79tOjQK$|tcIw8 znxc^degNfCt{MBsR4k^-wL@h5FR^ivX)V_zTl?ap z2wysS(7vu7tEEi~J8!zBtd?NuSbyT$@8_smeh$@#1M{}2^?^Pt_qLsHGD>l3SS?^V zoQuM3@;FvW<=Yt437G~Fbonu0))8FaE$q=ZHP&ICo}tBF8<+?&G7}u4z~p@W9|j-2 zPu|ygF}sTV(B47JB#S!;Zt=fe=!&sp!=p8sqis!-B4h$>2RH5ZBblvL3@`L8Dy zv!_Hc4k<$aQZ>f~!t2SUHun8)L$!Ak8K$lj0Wxb zJ(|2ogGRP4pSM+hZ2gU7);8I=XsIE=-nBtu%gvc2?d6AvfGB5J7|BCPVD|c`{o?r4 zXrU0D8lNs^%c79}Ht~5#)VTUaGL}-uLM?7p*mzk$rZGmRVz?t{e`OY;vXv;B;KCMv_wuYp#lM&R^Ro%Q|#kzG}YuBz= zVT+^q*^1^J$e8JaB-PRjS(V?A4;=r)xX`F)Pof1yL$3|SHP+aPBfXKiEilh^E&w1l zh3TIwVK`jf*hs-fej}vF;p2dxfO|ojsg1)f zxQw_17xkYx0T1+J5vhvP;mj8p41FT+W;O})#+YrUcFBr>4^)&8O?tU%)>gzJfBgFE zV)2$9aTotI2}kZty$+>4XnppnY&Pr5l2_-T7(W(uX(|`%$pG5Dc6R6SLzJEsTYX%6 zQZDF*dk#k?Q#*da zP#Rve4zG zBOkXwI&(Jlb>3xbL`!xQf50Ebe2p>tolqNt^DcDndl$AjzsAqtkYgVQdT%jqqKD8Z zSmoj#YM~TY1B8dYHlT51yS!!Ot}j_j(8I)|PkdkrQop+emBcoN>x>|5#{F}yLbt6D8)N=Rsw+L+JmY}6Qlm=c?SWXH&^#~Z-OfLB z#DBtT+*C=np>>pJmN`Ig{rK_k7r$bebM@9MC%4SF+S#~ZWXqV@7G=^GNl!?n7EOtD zJEmo?o!&kfwcVpp^!;(>G<}|?`lL7&O9wfhLE9h7oKbsR@;oSWR+{7i$QtlJ zti2R*kx3PpXamFCfOJ6PGN)X?|3$B$Ysf|Tnh(+Q#g_!HJz2%*VsefL1kvt>=xJFb zqh#a>LRjN+y0c-4#W7v=;-|8=zv4-^-wRTT8Ta!ST{A#PiSonTYY1tuDLc57eFODyB>}Yws%2CgQ6+yu2t4B+0rOy znqF+1C8_jm>L+iuT2Ys&brESr*Kb%f5Ur;3op@fo9e^g!x#X4Q&ZJu#vo19LQ@3K-OzX*V%~ zH61t_53YY(184sh@plDORlFhOfWBb!r0d^$>z+T^5rIOPU64Wk?KmrR{?s_WBe$Wj zg1t&dhS8Pah}?QOvj^Bn)ELR-GGSrWjj%Q*)jR)th|AT$49C$G^Fd2s;|0NTO3VRm zm#rYIl#&rF{dmVqYo`@M2n->vQ7BLOqjL@bi8z4Jsf@3zoK~j-Dd@ka?j&a(f99F| zDek@{R!4MXKEB9&Y2?T$OAjZBp3RWYU%$CF-28J$t41=mP|ah)VQ_3#O?ACW>2BDv zIN=%H?Sdw)U6F|s<}@syIdzM1?fB8e(XN)3u0$?J%Hw@Hf2i%lKTht7_l$`r*<9U` zBQx7-ba4T%>qL`z$+Xrp0+wb1$JpqQ$~hb)Y4||<$OpRK?(Vti^tS$-J?0tN6^Oao zz#+#oMQFcua4u-9A_HfD%)&DgF~x8V89ovmSFD<_VZ?YH0~re4{h9{)MF*DlUui=_ zOgVNef9xxG9z%Tchc8H5{tNPZNAv6pIkKlQbBvD~+jQ+j#V>fTZSjOR6ZNHIO(_?; z5tmnl#*Q7kE=?XqQ`4bp!F_->F5ttqbaxjSeH$g4=j?TPoN)FC?YHjV1%4~nSZ`_= z5pyI8t?I>_>epks(SGY2jLs4!#JR>Epcw8V!s5dKvawm1ujqAJ6hJD<{$lpRego*E z^L-;)cqkUc>K!s!AEEfTT+b9VnLPH{^Z<(YU1!)j>iEt%_J!NIR~=LGoy-DxtgGIx zL@LcNT`m3wj%&@4w#4j|W9xD_v~TA2OD?|YlGaK+ zgZwBML`J!)HJ&6p&k38&ocX(5`@9?aXY9cC7we2S8Th;n4wYlYy;C4oxPyWLk$HSz zF8)f{WL%~SdKj!Pu34wm@Iaw3KQdQkC>nK;inMEF(gXh$cZ#K7ivT^$!i7ecughOc0*ELbG z5bGJ7ySoKuoHbErkKj`~py37}H0Vc4HbSNKLsDkI?f(_mI6y@KXgC6&pdktE8$aDm zSnu63sbTtF*-_=>!*!b{_n~d%it@F3bh|Trj+b167(GA#{PD-A22P)bi5uj9qmgbr zHx}xYlPzvb!5elA%#FP*yUQ7( zJV%QIag8+ex%XD|S4_kF59|#WIJA&?rhQ+mJIhlM%Z111=v-RYO0Z~vF)oD!6!4Os z&O%2+h)z^Pev2>i;md+umtR+V!?o&eYkecPhG4XV*%OETH?5!U_Q$gw-f6Z)zMXeX z53^4`FG)>!1ikk*NAL=HTgP^O$A=Oo4$&DY_TJQ9X<~LU9&#xI$^J%TOpz z3DSj4E#oTDZjH8O6?vx38n<+;?c~)tOh%WaM#AC} zM3!r8w`Ssw=K2NB(d~}(ld*PBw5j;&zeyAN zGs(+nG;w~DfE{QiPPC^4oe3$o*xWr+HNW?xxh@I8WD=-~U9YI;&2Y1s45lf+yeXLQ zM)mp`)3h@PUgkGC$|rzSDIKR7^a(VA#Av~|NuvA&^09bFv_0A$k)g0iupd|va=bW( z|5rv2NaFC?Z&SrZcq%*&Xuyb5u=+Tjh}AOofXlVt__Pi{fVi(7huv@}!-p%sp<{{) zNxKOATWYA|1$7j7#L$)jwh??vDDT4H(T?hoR8H(_sC`vZ>wo&`r*TitQM4Vtz>BBJ z2b$K$J2*VVmTHgYkDy8?!QgS~Wg(|4(PHJE0>_FsT#pBGb7lnH`BO)7ED^ek-_gjn zoKg}8HE@0`nMf^5rBF{I(Ue#U&jh)i`azdx>2`rcnXEICUo^eK^fW~j_3TQfRI78P z{;Alg1QkCFe}gi+J+oj+s_9XNu=tGB3nQO-7s3X(4>D4*reY(|wM02ww~HwX&XqwH zCupOO4+R?161VF0)5kSB$fFDk&QH-%@ppCGnGq5i%}&$M`+y=w}{JD z$y7YE#Vp{X%c23BfE8s3lBhZC!Ej^Z#kR$2GCMqE9_r|bhRGMZ0`*FZs50WUXs685 z%mIGJvALU}kG%~v2p_D;6_|s82Q|n9GHs9|DnEx6WjSHTf-^#ZcOfQ?k&yG)`ZzpZ9og6gI! z8|xbh4LZcE;xS{QM15S97}YeRwT3_8edk}h?L0R5aHUn;ERQsbUlJ>I%k~95sl}nzA7*-IAVziX*oBw$L7rp5MA^z&;k9?kIHrgk(py)r zp5A%eZRssM7DV@2_@e!Fa!2y&tB-qIVo6hdeD$iy>!kOrUyG>?`Wn}%<9WAk==P0J z6AH048-ThOjGqAED6K-{9Ew{dfS2(EY}gI>Fnpx~3qWA}?;w%sa2iyJQkw*yguf5E zN){vzAyaXVsj;sxh7n?DhEuHu)%RR_^suV`M)}?!wl7i4-_>w*JNJp_S+)sTxUKu#F^6#~lLRvGm<613RODv*#|S zX|#u;k*k%wE*ASV*lY`1qV{k&=pt{9#lDLBlnGY#l15FssS9Rrz!M($pO#j?Ght6T zL%Nvdjs=eT-9oTy#G{f2z^Ub!BzEm+TH{ppc{@d{dKn%MJ;xFyo^2=ik1lB?ug`xJ*JiHs zHuY_I`Q?jS-3ZYHo$8*$HG4H0&n_h}WGtH)& zgtW!4N{ID#ua*Fgv_|2PfcG=}UXQn_$^Vd2-K=D)7xYvaS+fmf3~g9F9fzm)vblh@ z$~;Qfi3x$Gv5L!psz5TxmQps+E;=0Ty+&{*|zQ0 z11+hhC+ok%j60!+?`~j+88wQ^VG@sd*L2{j$|s&@_t`t9$PP~V?IQ;c+;vxH9x1{H zB1pOS_S>($_JIzUFO{8GfAND3zQx@;&{gpVSCf~R9kpTRt(%^zGII1GDHPzH!@sR0 z+wFcW>XpZMpYX$iHrAPqCHy$7= zQG~>h#U<2eW1*NUpp8AN``?K?-~V;K|M|!}#8rR4`R2c0OWsU=@PYqzB$La@uU_|m zK-E{@4YhMA=-t3wTKKQxgo;8Am=E+ep5=!}`GJb3Dx0uOU|o#7aVD+7m2QGM_qYj5-?Tx(~iJ#MF${6q!?*+fMT)Wz?I z^$IGouwH7hCHPMjs#P<}hX{jPg>@qathC_LE627650)#_gwgqxtfgLA&*2daZ}Bb` zpV%X)b%y;Htw%e@MorSMnQTC%b@q{lh9Lv&pD3K z*;Z&$9J(H04eF+cMj{PVzyU<&TrL{AUg7|GF;SpbGn&6~3GwpnZ@gg}uZ7kptxLo_ zL%ya(%s-IQZAR%J3k_K)BH;W*CB3Gejn?S0#I`Y3=&Y-;?mRRu*|sQgg3l^*5iC^1 zp|}m!L{vm!*31b?{-I0ceBSv5`DcJV8`9}ci9hV`|0wmNdZ2rKZNp2~scETjf+4EP1NKjrP&ZVq zZ6#;pIxKwkteASa^NCp_HVn#JvP2NkxK?RB5hP|02om|X3Gx2;YIN7;dC`5Z#q?!S zqnA9jO<{wU7<}Kxv&R`XK+LX^ii6_~pzd8Vum=#5h5H2)LzP5Qe!l$3QUO>LBxbUg8!)>^jjE7>+xo#<*oPgj$NUHS68T&}({8!60ctTa_70yan8 z#MKhe*&BPnt_l)8ol(hT!Gx^4xnMDOb+uf%d+NnvdB$27j`22J!RR91;Z!#mwa%qz z1QC)Y7?!DGcJUSS)~!2#leP03%noS^CQRpAM~sefwcPwzVP#Z2CQKHXQrC9`YYC=j{9iJqC7FCIn4dtoJ3+ybW9~XhM3`4 z+&_H9*^5;1sX3cL&##;iMQ@gf25V%)S$g9`gI%Qbb&Ok8jdyaLO{ z-uu8AyuV~r5aj|v#oB;591L%v5M8!ba^m}{n#XUL7;da3uOlC2dKQe1=aY&1e&3j| zPj!y2zWM44D&gYRq^mzPk~qX<)zs(>x_CO0&FQ-Z22&={7*}$$p4Q%`-Y4T@;;9y* z&Qm*Yy4$X-=R&{Wg2jqOqqsFDzd>R>GI59Ld{s^MYc@}H^+_Aujbb4S4?i{+Zo1wD z(}0<*hB3&KOS{uZf6+P(I57-}f8GJQ5XZpVsTrTZ5m2B<<3;S>VQ>v!!9~YH1(A?n zWe^B+!299rAbY${%r9O?EH4y_rwfIT$nW#dk&k-95trHc3%v0Z`N4D0FZ$7r5@U?( zAfI^1YJI4C!Bt&zSSxQY#L|b?Uw1xdJUyrDss)5~fGJpj-%e6%qvL7R`VcILKF1TM zHekjTZGSPA#q13lolXc+CKzjiUl0Y$0Q;kRVd{tWKVN)t2wBN@(eLM&duq2Z$d5bF z6DY~B))Yq-<|z4fv#yYq;9OY_YAzm2w685KvTBLv#u)i|_WJinTUl|_8^;Nu?Fji- zH1QQS5fx8}4iWprBJG&+BH0x-*uOhr|LQ8V6}XC^i^Ar=aNDqVbb}k6x55(wphJ&V z0~jv>NdhIu9^eT!1HcNB!KJP^X9=SH7lF>}&MnhS>ran^1E|IwvaKHF9F2}5C5(-* ze)buTa)0o_h(G)RpE&;Ehemq2#63gS)3s6oij92T9tt}G@A-mZzn}bVuy1D5T$D=n z$8(9^csLyIP2}R}{qnj2DZ;rv#~^1#*E`E`L|OvOhvRq9B?dvffxBkWV4WBM>t&-> z4m(ksPT4q$$D!#g82V+CQ7Wnj%F%%T?mxq0{lq^L+|pL6$j>S{C|<3$xyD^W%*`9> z1V1pV@*%3i`vn%w6i7< zvnEx|A743bvUJuY;lwGH-uVb6ld*7fvtFebw5nnOVQFY?4kLS+&A_hMA^!6Wr5|yB zy$q_)U>p)vlO&@vg`ojPLjfFs2Qm6(<^hn1MG80%|06ARv18wn1^#oXC=tJ;=C)8y zjyFhfk(c~k`MR54X7SOzS6!v#tEO)_SFco0>D;yr?L9(_%R9q))3V0ZGU8MoiV~|W z7Hh9HrYGgE8MU40)m_z%KG9$N{@H;*lYeJv&E(Fga6*d*w2ow4%MdATo~i3->0|IA zY{^Y#J(1YTQK5007ciX;e7K6lzTtp7X_$pBB6m%da%wSFs|MV03)tjNDw}~Pz2LdK z7Qi5Q4$zp2KCseIlvwhsfr@xuh5~aC<$O|=8=#P&j~i4GM1_ER=u8Iup3>JiQvvht z;FlKoy{H7psl9>E;o{o>e)@171Z9;dG=rPUWEit5lbtGNan0WFs~RNgVvJR8o)07a zzQUKh;_O-Y4~;<6Itd29N~=zU{SRizue#8*vw7mLIpK6nG;|5cdQbShV18%AA?bZoCxr` zls>WvMxAwjB~R*V>o{yi@$zGyx6pcs=Ts*~bhXIFEB7s_4FfR*Xz`hU-g#KMWee0s zd{3+*zlVSSn(V-l$c-~Oa7GM!>5E*xPtb{n3$5zsuxr`qq^?nw=kwu^!6@5B+*TWf z!dr$|Bp;#4M(?iSa-?;m!{emhyL-r2zx$-BF|6S?G`U<&wm+Ey{y>{l8Pyp=b@g!k zI)S9+AAvs1yKdYyYpr%s^`uFdPX!d8zEz@QU4@Q{n>(TQumBnGao``~Xzy^U4zekN zJOoez&)ERBm4W4fis~Vp3ThBWhhTI;nI;(+n-D&$7r&x*;n!GH5!ctNI4q*L;fVh& z3*vSXqa;^UoLyY$+VB!Q9zYKu3B=24sw~>Bbm9-aFLfcwS%N(KzyppwSq}LFepBB7 zSBhg4SLUiyqq?IsSKcGB^Oyv|=htMFu`RwTZrYJ6?nYOU`>T1Jt88O!HW(-8X}FiA z)tVv43jAsEB5}jjS9|O*2v(q*V6!=F$mRFzJg&VxJ$nUgcBRcj`y6kA&*2Bz$CJw| zAOlWyHA57HmPH-i^$|t?Sl-;-ya@Tu+(O;mnMXHwWt;_%C;Kntt|9;Uw=D6+nl){G zlF$BL^9}g!4#4@(GPJ<+4WLWl>ZMRf%1ov9liyUm^gRD_%ty=$%h@Lwk5l)ShW>V_p&52> z66${7OdJ+<(eW#sE9X!tMjTkc7u@*pJN6H~<58&o0pX(SPz{s(8rhlT@0IN;rH&_J za0sH4!QgRKa-U<2(+2G-_cI^f$K3CleBUoF3LO=tTdnfFhK%8Wxz%#mFXl4U!m!1~ z3pS@zI&KvnpbswU&5Bm#0dZQohs9=}zvjCcA5d$?vml^rV%VB->}Lq^!AYlddnp7A zOQkjsDve;vaMp;hl*V(QVXN*RvIJs>Q7=6%+;o|H>GGP{DqV0!FlS1jgxNOa$)f-x0xuKUW6>(pC zI?icjTzu>Y?@O$^qtcpf(>-eD_*no8a9Rl-CGN~x9`vQd2K1|C5Z$ytXe?VS4p z9aIMQ9MC!-DucmCD90LlmqQ88;F8yNzS;BX8S-mF@sPf~dOfjBSYJ8(UWXEQ_tvei zE?M&G(zZ781U+cUj_;QPvwQD{-p$mI`UVTtC63c(3PwpOmg^Z{A~9wQT3Y~QhmeD! znyZJ1Fy!MYt%|D~Xena*iHUX{dC+Kl_$PP}EvHYPCRK#1wlP8BK?45kwgbBY(w1yLX zeTnu!f;`Ew+5@#(o{+&Js`w4M25SNih&=2t37AO0uB&m>Q+x7T#wp0X;Q0MGD zXHQD)P!x+`$$(YElOA2nC@D!eW`2}2#(wEp?u@0b`dlsfR!*nO*AZRc75__a*91rntb~UNM~UF!T1cvb7}v$0dN_vF`@Q?#A(xVGkgY<6^)T z06qXLFbGs}VH7dhT2J0qZ#Ya;7ypf~`+hVw>_->(poqlx8TBs%=VolA?IQcP{lQBs5J%79$-8`t%*MO9E?$EO}LVc0y~sT51g7nBjDa(v!3v@jxx_5NQP)2ABeeUMP);OL9481VRdt zx^mSvxM8@i3~5}7s(pv~BgQn!+N9T@)#PUKo$RILtCvp8sQ8&`#3ja%q(F(dBgoB# zQ!>$~OL@N7=AGr!+c_vccUCj`9Td0Tu$*!ujk{s2qu-+{%52 zc_YSHok9gI?ut5r_31`k7iJ`Sqo+%Fmaqbw_LKnQ25!T~a%K zJXa8Ig!Z_dxu|FA8o6AZ*qPefkyKxt&s|)f)GY%^fIY)l<4wr@GXcY-0SC^&r{w|_ zbaK`J=zxu*g%`jwXd~Po<(DXk%Zkxn2teZtPpiQ^iUi%^}#6eR3G`qj%k@G zJ0Mc1T0bW5>Rvy>wP>k z5KNH)XH!}bYy@aa8RZH}s2##H1mT;&IeZH;evXm8b;E}L{&&NMS9g%dJJJ5jSFL(0 zs3#wGSy!dKT{%1X6xtgY-#bNfQGdrYOJ8em@jJxVMz*8LJ!tZt1|Q-P+cM9zKaoBz69);cH)G{4f6EyF>Pj_@lf|icVHab1{R9ye(U+wRvZ0ThVvq z4Kf9~U*)#@`xvd{UqiaN=3{lrO+&X4RgWCm(p~&KU<(qv2e*^F%d+!wtr@f*+7>jHJl<%0{P`%1i2V7WGdokSqH*FwjK>(Z0h|c4w+1N!UeloJp>#QhBtRn! zP2gyO!6)c2?8j0TX()0m*`v8Ji@a5OfVM;_O;x&@m~bdt{5E^&oBr&$Y;XQ8e&uPR z^=t*N5;1G7>{jHiNg=^H`+Ia|V1aj_;;XlR{`u{%7C$6kg;UP)brS70I@0NY zihS5!$Al5PGHTzO&OQb;T3X;~d?Et&-<{Aw2pvFFH4(+dv~Hz>+mvD{`|J2$6GmY0 z26~_i*3Kd7SYD`2p^n?7w0Mw6EMAO^iynXcjpDbbpL%Lx7TueLIrF*2i;GuY3XA@j zGQRh=Nll&gM1rjJn3E#G*4_N^ofZ^ZaBF{bRx&v&+K)EC@VW&z&xOaFd% zvTqbrb)c2qkpzF|VL`S+m=fbtQxE*|4HM1vgOuI-u+0iSs{1k@jb$>|sf5{-5w5KT(U1OKRIb z`J{@XS~|$zb`+?Vt2$!80*&tzt1UpgNR9fU;5l>`d}f?6lhZk{H`P__GbfiQ3mx%w!(;X4*tSx=)kQZ|G8p=PlgWqfhx>BfTn9oU< z7vO2S5ML~rO`^Y3u0^BQHjZ&EA?EnZ)pz+5&6ktUcB=KCzux6c`L{CclAg|Nkp$N= z%c?dJoau$88~z{}+mA6$M}6 zCm=*%(q!Ykp|R2|PlkB+DH^gWt=*4Ch2pbSSwK_Tr)$jcqi}@0h&WheF(#rDzWhVu z1>ShJ^J2-IdCNo2^j*Ex{%F>7HN2euGq}MIWx?ZOz#P{*;htKck55|xRq}+Xw#<>vDy*YQC{!DE5udR`?QZ3j8WK-um1knFLR+t%h8u1E~DT1F^WaMt_yv<(JoSxS%Q6Vv$~_Mt>j=xKY&M+nA^}nbX#|tjpc$ zaW$=p)|gE6ODG0nLOlt+<|+!2V#^5H5&RTv->J1>#flk}LIre1I^cDJnu9x>dCsE* zv8vr$OMaApXKmY^!r~u&vsQBU5@Yz{zvix-yGwiQvfY1HKY8Whk?u$Tmo=XePn-4j z=KOp;d21+Fygilj`4gA-h3qMJzSEg9#TOqWKSUq>AM3?4W*?{aIE*K74wnf)I0M6R zDI5gW&nSWH0jm73?u_9aFpyI7FJ-OSB1ce)# zUcS<~@)6&)y$jr(8!Ue1h4+_G4z5F3Cp&w(m7C$ZpL*d|vN$Sm5ZTwgoeoDHTDTw? za$T7h#=PfkES9w=K-PSK2V50NsCvXB2FtU%vHJx+9Ck(NrGRA|wi=G zRXnZ`W|fL)^QWy%iRw&u+9HWHx1RK6)mQXCAIjD(>_?-Q?x;4K(utUKe5fa-a5k-t z*1+qKQq~<=L{o^uPeJ6ZjOU;#pd^)QqyU!8oA?TA}3pQMW;HvZQV@f^_=M z)V3+@hK)ysis0hKsck8A6{TjHb0fq$8?9bKjXtG}Ry)`deX1q=0($B| z9Rm1-5I%%v8j(zgbA6Nsq7f?|u|9mOhA!y20_y8ReFdy;$kXJV_$%UdAzqR3KP*KT zB$|7AiZ2FJcieHudk5ih!~eAq7R3BtgguE+cE%1`9ZqW;E>#zn7X;geT@0wj0?!KU zPH9<_f?#=aRWigrQDe;6gpD55Cuh9?P6yG@wzlg*UBRQ!`O+Mcw-X8miF ztHYK@a`Z=c@|F=b4u7kCxqORjT7xgJH6yeKT3H9-WsW?PS-m<#esIN_x-DyFw{AKn z-Lt-x@^SBnHN-&gzlTv%XM4HzN(*BMa>&Z7^CZ5QK zPNqolSSvaXK<;z|xlq@nl|r>4+#D8+SUlzF%{JPoC4Xef}FDx zDm+1YBqewO%mWNFoP*96b{4E~h=)U&=(2zCMW-X8xwf@a_X9{fSA^7eI@np6IqPjl zw^7nA5+cF<3Sqla5ecG8XPUZ0ONp62YYogw{Yy8gZ=TW_>w;;3ZD?%VKjNw|*qDOfMv{J$91yBd% zYBgzh+kuU$N+EOjCCRc)LzyT16uAp z&aA;sKke24vH^`ladas)f_{F#I2x2il?XA*m@0#2V+0~pAk~v9VVlH|^tL5B-!JUh zL+*Tx*jHRQV%f40kD>WTkG=y6!(hpjG~GDYvXI!K&!nA7-hT{>5o4q?@tHO zi|L6IVGRgk7I#6;FjfIo$Pj6v7;|uUpiGP22E3SI>b;csp!_@lW4N~y+i7Z?Y}p=A zA8w?#r>0An6UdQWgxJ`Txzp|nT)tzN6VhmV_$hA&4mM;04RFjpL*Y&(g*vhKh4*rR z0A-0imo~6y3L2sv9+eoT5JI ziTi185Wvtx5LVaAb=5Apc;9c(wc`EP!MfoLujIH)A3tf!+nXJ}y4o(2ES}5wytH7Z z^H?zBja96qPCSKPPb1{?u}P2pt|lxPk^7ZzpnCWek5U3M?<~RJOE7IEfQ&)L=&+`P@*>IEHE?Z zb0|!|xq5tWbD>ADdmp2~_=?G|(P&k!r9I?F_+wQPuc|ivNwPp({jWyYcAJH+%f;5ADw2qXSnQUKTf1!USd_ z;NP0&8*TLa`vCT^Dx_zhD*2DNe?3G^?*g8tCwEzZ#fLjh0K*B~c;UwLod7;SV3C5| znBS?~Vp-@ZEdYJHfJr;i!+G*Ae;Vp-WVk$H?l5no`1sf*?(Qp0PNg7uA@}jjDDtZi z45qs;(%Xw}8+0`!A~AX9zinW0JkPy)aVF&1)m;;BIM2BN#%ENBfgfIG1Oa2HDcwB; zUz~@8&a*%qpHxBBQ7Skg1*_D4fXk_*I)ks=sHBaiO_cF;_6{hLU;q+o-S6!tc33r{c2rX`(AzDw>mn|jotdf~ z+uk&Hz`40E0n%o*GVNHVxP_of#Ss zO18HQ$p*E1sWb{3W#AytAfV-;0M!~gB|w*D9buom{>IuG)FJpwQBC}_C@!?n8i1QA z!I0XTQ^;JLi_HJ|5BUYLn*8EF{~_)VHyN^in@^}p*bIgQ$w@kiBaQ*l2i=yik+GJR zrQtcv&2yldg2EX0!xX5Y^sGi5|j<^Dh&JhMg zbe`8b+&OtnEpAijJ1IZw1k2W@YH)iqsIc{~{3+QzXw{))X!oS~?kU}95l5yHFp`iD z=W813W7^k~Alp77KGbW0Luq0oDff%FSeeU@N|1~4&8CsXA|a^}&N^RVtq+`;PzJfku;eJBWGIuDY^qVv{+Q zir2d5QM+pFrFPYH<>Xeo%Vu-gTPI&hsdt+0nW@B?0=bPcvU9ata3mVr5e*|y~ri9ZNnCCCul6P=e`mk>A)n$c~GRNJbe=LUFWL%tHyIx8m%C35B0* zJ?SxwLdqf}Z-7%V;jpdG{aOF+Nnn)V1mE9cyy*`31^_5}(&BKM-Ex@c@{LsUoh&@=_^k18cNqyxxokhup;8f31qOY#kYif79g`i)3$63Zo04x7;l zXYAFO%to25QJOJcVJH8jJZ)IeO&mGJFCL-^Rdc6EoKuNo-Y8lcnWzNBj70Ys^M=Z# z7aHC&nU(3ZKS?qne88%Po)At;x>+g3FBwYP&WD{D<63;4=wbz*SVqw)<2L035qZ9#5~yla=r2p`wCnjtp@Z(?>`8F6mmMi24)z6gVSUK z6gXEF@GM}85@5;kgd#j*1V@b-hOFx%Q(kD0=6DIaXmobvwqwcyZqk|nyoO2 z*{@ORx z8LKzu4mSBbNd3O3TEt|dzG`NQ?@UMp8{#*|Suln`tx>-Jm#J%nb*5lCBLY9S!zdf= z$+&&>diXAu%|SmsSdIqpfv`^p6PzH{ycoD`2+Cp5SO6!Osj_-6R7eG(C=3ne35U)X zQw&JoAjPOk(!u-#hRR@gae9``Ar9r5QeI>2L5UpYWlwziK3Cs5qFB7-nt#EGs+D|5 zh~!u-fk54$j_OU}Si^{I`_;GYuTkkU8RK^*MnIxnGvZXLOQZRaWjAY zM?8Oyreh7@i#DJmwM1GDaX-j_hjb2Y2B?7mj$k^2Fk8C_%$Xi-I8C{7ku`dmZb?Siy z6{k9##8F_eVDVk_eOJ8W>#sZFT_hjN6OL`*SY#`FR|)8mp5n!l1BhhFO%xCW2MDUa zV2x%AoJMEHy`?nw40HDf^bIBkOhN&L10TR&75I=BIn`E$ohh8r82DS~zKcj*mL@-M z46W@T-)%$&v09jxhU_c$J@EtYqw8Zv@&$w>)f^kYuF2aR0QSHXO6&4fb;x!U21g|WC;;Q35+=gPh`KO>Iv)qp zQe8$35YneM4^8Iia$2+Y-cE<>cT%TrB+45UoX>kc=!A^a9gDE5YK(GjF_csSKmR9moec0PuovAzik|LzN-pV>yx9CN;#zR0=d zc*Pw9{%U_Y7J&n)s=79RiachT*3&qem^jTmqyM_5>!vs-TkS;5o32XOi_h8rdCxuZ z+c#d=F$F)hGuGE4iv%K(mQT}>a3n?U@h@8A-B6Z2+6Tp0s6fXRORFsDk3ls;wdLW$ zeG2@RM_s~(0&S?QT4`%(T|~<$!X6F)eR4j&&Q>h({R2)%W>3vo3b84p?%c%RZtKmrOKmMqS*kjkVz@H+lpLS6iVk`9Y49{tFL;a*UgW#Sd%He5p7ADAaKlrwcY{!1ZfKE+F^$Q!VK{7`8!qt0X6~|p%lO%7sz043HDXtB6%g;kyc~eVWM$IiznZg~3{gf%tKc>>BB=uT|2k8tP6*e$c>n#$BhOJlqosWiXvFNkdSwY{kcEt( z=DF0QNvV5k6ltmCsxgfao~w4Os7Adhk_q$H&!l?bQ2{(q#v_>TC4l5I6;n$-0G9Cc zut{J5n?PS5o^?pkZb*iKt-pZgqeh!jH2s`tD1MAD^iavnvJ9w0^zL4l8Ne92|P zhILhS4c`_hpwX`6@+!?bOJ!qYlem_}Ax;j(9D;uGc@%ZF0LZ{RgKKcwfM>9L7^%n< zP=$(7f}2d~LU?_CeshSfpjHiUF4+cX->5_Pkt0SB-6SHy-J~3SNy@)1xrKK?ic<~p z2`6}!d_A0lF;_-xZnUMV80u;FI;hp-i`&EsRm9 zG8Xk65?!-YCcTzZOXQ@A)`18B7xW_^hClw1A!jivQMT65TR2NpIU2+rT93)4eXYMg z+_$^`n!Y~ri`4q{sT`VNF{>e8ynWJc>4Ivcd^y6tBMO%P#b{ z&cg*$-rdU>Vb=)=)D-4=Ybi}{jEW>y@{O*pQ2WKHs7mCLmkCia7RIPd*^mm8xA&R= zDhQ00gO^gp95cydV{8x;6Iv*~!Dr}UOhCs7Oc1HZGq;A=h4ZRk26|8~fCftCYUKbp ztx$;oQsHyq=xbfs>OUosW+j@mJBn^AkbmnW<7I?!BbAznLqvPgHHDF$M5r@5rD<*K z+B-VeEna+l@#5&>*+cUUBbtkcj7DOzZfMe?Ki!v{G(Rw<8Q&sRFLVyjh;FRA@ zv~;?jd>{QlR-qqIQ9%p86x<8Qv#IY@ROdA{T}^Q$c56ao)>ND&w|BLp6WwH0cYKuM zy?bDy)fyO5W^T6`RCg+>bF$hfD2(f^nk@OB{D$ssLP2SSmQ1?{qSO(Ke3UWb^qVxc zksT?shCHOxA&4xegB_`CG-j)-g?BVZ+q|If>R?_H_NnL|FDXp7E};QDoD#xg1_@{Y za7!0#L?#{1YnOsobf#Cu@!??BH3Zq85uEhGa`uJWc1<96Dy9Dqic&mm$)JDDZi zPn~eb7=GFiC|(@&hweC5=$e`EKqCBAdX7i{5N;_8!!e1p^*6t{`R1pdDm?ex^vtcN zPNn3+mOzFvk-?VAB9TbA1xEFv1%|Y{htXruRK24a*HCBXNf|H%8`UN6O*AEwO$oGj zsL1rS7zc&L*c>1~4@M?Uf)bUwKyxNy?oY$yhiHpTOfY$BqaJ-ro=NMODJD<<1UcSb z!yy#aE-jSt;usOm`91=E6bq(-LqRnN5RDVhH5>!3?0}R=ph97whO#V7IG#a$ui(JH zbQ}$fB_j6_MAGwg3hOfATTgk--9q2A$$ov z8Z3Al?Zv{s5EU7u;JNw^{{{G~9}$V-Gk;!>+Sb2x*=1xTX!JeEX=185i=fo!)}%Z7 z7Kc>TO^Gcd-Y;InBo$vOJ*2=%%^MBt2QPJub8j?V;d7u9?e$Ph#vRNceDOHlP zoNQ-_1h2YxQTfgfHa=qi%ybRhZa`yxfsqISRthzLF#3l-@D>xkBe9g*Vg4w|DM}#+ z1rvYh_)rF*bfSyk!fAz7!1UuG;69*0lF67S^eYF5?nP`pnes(Ml{e7EM?%6t9&ik) zzhq`s8GNqY^#N`X=;<4!(gz(iQ3vz@WS`#ByybNE_nR=3DacZ7D&dy*`OPD)`=p3n zVRl!7F-V6622AS1{JbL7!;|u0h&h*nfEhxNz)MZb&(HI!--}j4nZvG4REx!2R+{DA zot161Pmi0RI?CHu>K|vS!5gcZJDz{Oqq!>96spYR+OyLgI=@hI#5+ykEh`0#Bb4^e*9hB?~k9XMz@EHGQZQh{LR`bRw~kF((V)fW%xQ}xa7$hZEZ82ED7hX zr<9kB+%|`BS<-3xP~Oxre~fC?gK47D&@A9J9^{nnhulFlfsq(r8ai%BwGI)mWM;_) zlp@pkC1>S}{2C+=%mWP)=w~!N7-a_ZxTKy0@-zNeB8~~X2hUg%d896$FR+zw%k zzcDncX0f{Siqrd#*H4=U-N$`jKk>wCugN$H&RCP%3A$07fke?FShKZ$tcK3+eZR35+0!?bHGk8L`ry~Ku%gm0UOagN52)U2vJ)J@CgKmp8{@yY&+1J z3a?AcnVCmL*dyzW-<9GCHPX^rO>y2bq_K6nAVz2`T5qJ{xeB)>WbYx#gC9Kk#D{Nv zk)KQLt1cNcwokTm+T2?dTRVNGqU+X}rm`?3so}Usd5e`^wYySP znP)P&%GWe_+nRjCC%$~Dv)M}x!|cZKUb3%%?DuBs#E1_shlt&9$mF#_4>DvI74 zCl9V2jBr5bvKF0`BD#zDO13YO0t9s;eZcs+iBK{f(PN&YH)*Ht`GL4OBp0v_aBGd@ zg2?$O{0K7Qcj)`vY@6BN#%^{Ns;U0qEp#{?@KvPH`9iuZk}X^-gZApIrG+_OO%B=? z=nDisOJ)}Efj|I_Ixo2H4Y=WJ$r=klk;qhZ7aeBbGQLCFJ)Yk=N;tM%JgQbayh&YM zqNoJA5gV}&=EE>LO$QUEXp~1#8W=4H^Y|!St-&Bdn?2S zh^uQF0{6n(D*d5DP&;42EYaxYXHU3Y70a(p}+=&6}SsT zlVAv9Rzd5PQ(fvjd_=Cfmn6th45o4XbZu#IMW&J?fTD01MJCWI>%3m4*O3^)fuGhq z{l~SL)3#+7{CsB3=^X7AG_4%nZm_8;KL|b&flWw3{0^6um0nz+=9x{-tXwW1@lzDp z3Z)DB!r$ZT)2Nk~D%bQ{iz_QlWnPjefbHo}k4kbjpv4AuA(4)CBVe&Edafu9AJoLO z!BRc?1zEqM27(e}kPJd{62{`f94H-3Iji7-fV8my($VGu{0e9;hND3a$N^|dPzz)e zuIH&yb(R!z3NIZ!ibouUZ?LYDxkK=nevX9~q!d~jgty+h1aF2mkJ-)ihQG~AZoO65 z0OL-cJWBN#icDHaF9^eiB6A`BH4?ch7W>-iv^b~2m-Cu)lMC>BZw%54ZEaq6Ma&yP z9BvxEE)jR$3vp)>S0i-?IZ*Qj(*sH8Sdti$Bwk<~XMk?WC_7VkAd_EA29x@WJSNDb zc6>tV``=IASEOdu2=l|mb~Mpmm?cJ=uYNH7eet4K6?^ATX`r6oyLHN$r3_)RW2(B0 zOeB9&lwPalR1}t=g+Q9&_$by}neBZjc&exfRypLS=gTnfEKp zv}&KxpI-utQeQ4IQjgHYad<=NsvLiQzO+W5Es#5ktp>Z@U@eC69t1}e{(cDd6W0OS zO2+7>4g-Y2KvlUKCLV$8kU(9MP9!P~+`t6fnO`&3@LY!*Jf)=Z1HzI{CK8&UMU$le z;6Hc={fFocy*htedL{yAE}dOd?8HAN1NP+cw!CY`zlgF6GY&QHB5&|Gz2%^~cv*;5 zr>RL*Aj5O%nN|4O^n7&s)s9VhYsNQKh1j|LFJZ*5*<-EMRm|&=S^_o|KE1fYy`k09 zMlDfi$yBD)>;is~_TOb?FuKlM*8fVN#OGJR`ZMzLy0Y@|bJHYxyWg9xPz6;cd{nIR zN6fHBX-vC@qfg1>dMPw|oGdhwFU)bN)XGVB+3J?4ptK33lK25nfP6|J;@>@NHa+!@ z!RVwYgTVrHnC4;}1*C!86})$F`RPET8xzTCKJf+p`7Z%C`YPGZ>#bK~IGRM!zsT;kZneP{108{9I0?5F^~Z#i-vEcl1_X+Clg$ku)>f_Gw@X4c9#AFZq&`+eDlqh z1o4u4ExO(-*Ja=rAKgDP zx3Us%@_KER&=3~J-?M};dJ*MGnkq`6${k!x{3%{W?KYj~c=n%)XgHNHWRBR=`(f4= zu?Z=3<{$^U@R)vah8`faBwz@0K|m5c(4^!;TvAS!Ttm*(6D3V3sD5HG8NZbv*7H14 zFe?LZNeq=?B~wwv-G>$rVq8#JPI_g5c8xTxhhk-C%$c7bnfu}2WWs7Zoh*(&tmzBi z8)T=mi8BE0R@|HA;*lLG;!Poc4tJb$lX-Vey4~V;E^(0jv+Q_!c3+23a`-@6SjesC z3i67Kjs3qgPGK7?>N@i8QG9BFExWjIt*)qEQ(XV5BR7XF&51?vQw{q(?mFLeRw~Of zc6M5>%5PM=igd0}R+`IT@vX3BmlvCxyV4*-oo#cO)UJjMPG)(kxk$;uyC8Knx0IhY zdQMj(=*wcLKRN~YEs0vnAv(R5MsW-d0pEy0F2vBv>50^5X~*~pKsm_d!s-}!Cn=O* z!c*|)NrMCQraja_XEF%WfV)L&PB7^3gqD8#wf@-C=6q4T#^fN&&z|m7DIZWugsrxS z-B_@Xlf#28Iga)2`+Iu$0d=Lf82`!|?kciJO0Kimrj)mp?FjpP91(}~;|QR;IhbD~ zkfFlE8B)_jqI`dL`n>&Rja40r+0F53xf8+xDzh@RQDZYb8#__Gyt?|U;4N#9SC{37 z?B!~8T2LJE<7b1V$hrE9+zHXD86WPmvhG}7P+42NdEFeIHN8=J8 z9B?~CL`V>dgiHtA-y}aXt}6o#K@pP}6hlm4abS5mI^_TcX5K;nd}y~f$Kb5!t(fPrdEKE64?eh|%Hg%U9lrZ}JU8Ia4u=Vq(u2%pjM0+AzYZgt>4TtrM~^n$edZ{>`|h~0wNo5KE^>E!}Rr6%IAbu1QXln}emQ0hXNSqiPoU5dXe^NorYK%P5IRab^y zt@JtE&JVmkZ+Z3dZ3|8FHzfQVlFucX9WwQY#If3kZ2{gTG7b<)OcEVLS&%ws!m}3x z1%tWrGD-tr4mb_8nEJ?bJLidFNnkSY$>ASnRmJ0YPCS0gEw_9N_gl_<#%N?#yr@o? zjkL$pibNo__>wpd#%4^et`x+skr#|xI1=vnEkB}>!zYQAvwdc?(tbUM_zrgmjroujta zQAaJMwY0+*OwU#aIu%;8CiFmBR#=)ouZ6BXE}0-g z#|tDo6&Wh4tg$t|)VF0>G0)4(8Qw5@v#~6lujbkF{9q*hCLwv3RM6!Q)4BF^h+ib9 zKbv49-DtpVQ{aSX#)cJVi~|LSMSMsi5Acu(awn9%99}0=@<~-aAQFV@nL9b|WRELg zJhFBby=^zE4ze>+IW-EY)o4*uPj{SI)A7z`)Vk@_&6{!2(xqR2y>#jFbI;=h6E3T% ztWxisKmPzeREsu_DyvC>-WvQ$sk;DmQXM6^+59|tim0r}RgCk!Cjx=1$qmhO-3VVU z)H#U8iCCGd*zMZuauuPSFOS=tqAm=zKt)RsXq5tU{O<-@)qxHc0Tp4ng*u48O*N>eO6Sk3tmg&&e34Hx!G5;Z_t~~ ze>X{VWo0f|sm^B8mHzUfQvdl&zVgCyz1^-a?<~uMd>`=@n7%zG9+Uz4cOFm^G%rd1 zGJR>#-jQUV0kd`1WD&Ck_W>wN1GqsPm<-h>J$C|6&T4G{51?;=tkjYNZ-5w{j-vzh z`0Bm8cHOe6vAR6quk&^5=lc&mdhp<#ciOo*4jbK}3HU(F#3PN5ak4ly@%Sig8dXhLcb)Q$IQsMN44>={0$v?bR6pE;w#ZPPsP zgUXQ^{u+lZ5kaCuk-~CeP31JNcUomljUmGqh`O1WWq$up_4S}lHLxS;cmfk-&~xI* zW|fO9DOBO#BHkr+; z8-#^Agr+LQGTEN=G_a|H5gAbs7Sn?6gcHCS>p?^EO&^aY0Qg?W?P z&8i|}vAj&)!m1HUxGU1i0;+6qj|rL{(A{!TZMM9|>MM~+XNpp4d6_ro7kFzO-hAbx zEZL0%vIk;XEGYO`6~#g8w?PhXu^`*dxaJ~vxd#s3Q8V(kI7(_UuJ$G?{~6#i6I z2(=shTx~^bxzm(iTBy{j)x|pdgc7g5u~ezcb8cwT5tCTBbW?Xp-R---GY?iYCbg)% zxU5KI(UgbTc3+7ufAo|Bcd^~33pACvl*Jl7v_^nj6obAY=gWq(C2{37klS#&#LV*B zvl^B0P~{NYHDL&-qy|r^hjes=Wo7) zA%D;ZwltyV?Zu@MrL073)(5O~p6zbdOW-@EBoNB-VbD|unIt;b2+lGf5}*JJR0m1C zCFaorIhhzU(C2)u!)O>f|F7*)ik<=+S=}Del{Zt~)o?BFn>hUq~ zr=LOr{0wt9v$#@)H{vst+T_`M2=~Ho^Ku{|e|=7B&Ak?xeBxYfEsA9*1>e=8tCYq< zIn2;_&}@g6s($d#z3nbrS!I}C$aj@k>G+x}7&x13&&e}69oIXo@RiTe>2$(0SjU~3 zDw9djYR5Cu3`oUW zgS|reVD=>kmC!*j8txB;W@tefN(TC2U<&QQ*Xiog;0O}z94z+oxgM9%?8vu!#^!pg z%A7w#!<|@LVewCoa0TT$qgr2B?iownbx|Rrf0p**dV_55UYsJ@~erxW~#Ci z*+K$jAkhc4`yd87n#EZ+;=`-|YyN6|{ra!W|6L93r0eVP&5$FHHdFsw(H0%+Mt6lD zJmA~+FkXSyKD^I&;K48yT&+j(#cPzS7IRmw%3rb?)FNm@vg`f<_MZK)V$e)7;*S24bfgPH_f_60b5>Ykw)A+L zodvbE=EmabWox(AZm>`3QPhkw27Rdq(Qj;FhDxQh&q3qMl)2*Ps0>e6aU`T%O#M?l zWo5>qDGTNcmMzK&&EBgEY{Ttn-sYaFeYb^({Pn-$s(a+RfXi*PPG1&z7XS7{SA{So zmJ&xsWW8&iW2UdpzwzPZbv_T*nF*eLDVar$06Wu(ds5`atWMAkdAW?qWeCE0{@eu$ zPcQKdcSy$6T89_Uwr;$>_V2->+<@x!GPve4w5}Sq`RqDpheB6q-p$3ukKj(!x3#xw z?-AxA#PfPHmd{+&D_GJ8XF`Fkx(9k$J>c6_LL{ij2~$q!W2e<3Odg&)I*CH z{gg*HkOSs|pQrQCjM=3zduBzU3l)gn>t|H$xiv&I_HUB;b2FEA z&+UUF=zk=fE`}ul?^NN{ImU34KF7^U$M04xE#K3KuTcn6GbgKO@S^o2b%rz{BJxXQ z=!1j|L8l3s9n8}+3_~XD0>EQxOBk3)hymw!u1qDpm?XeU45k|_LuhxQChKm|rVV9F zmWg`v^KIkCs+{Rg;eb%}O{=W63`a{wIO37TdajzRg)q%W&F6>_rp!0rEWeLzf_U+O z#cBvXRijf~l@A>(gTzX|^Qp|kn>XH^`SPDe^GaWS#?Om!;cUruz7E$}2oe+pT>-`S zNS>7rNQta40u}|mki2)Yo{auqUf{*1IY3}ZW42M*UC zfZWuEQZs(AFM2| zy5l;;UK)C-Qa2-x`)HX>sLeB(GnR;#cK0sgFMz6NqI(E`l3f%Wh&__sfKVX81O!=- zUzErxU`OVFE)c)7$_ONt0DHigkdfX|2TLc)_M*wNUG=W+xBK5%G)H6?SEW^#H5q1= zZP;G@k*_G%lXtQ#D?p`EuQno4|1&8{NyXUk{tf?6kos3_cxRq$OmMgkMznw_qCJdc zK-KlfpBv&m_}acEB*R~wZot>pqjm6+OKlg@IHV{wp`xlmt8Io~`U9_=Pk5U*EDw5x zpMsg#guW#1OZH#FL{o_KY8>E5K^GIW^81kk5vWKTAODiKPp>>nC1s*wJ?KG(8*)I$y|RJ@QPS zj-NgKmkH>L=sFnv``4`>FVI%*o(EIJ-o*y=s=g|!i^gih`cO3jG;Y55P2D#z(&$a1RHr(FRlcD~Ca09f@7hI|kuX)1MPQ>!m>ton#n@ zryjl;uc-YH5}*_C_aEYWMpRp3MUFQw06p(o>`_;3+#9Z0N?^jU$$17@aO+#xxL+0d212?Om2 zByCI_RRkAIwN|0j=hm+Mc5-{RL+Yy`u%~qGrkYm+YPnDGgjN{L&{EReHr5D-&T|%HvLTwKFT|8?^#^R|97V}mu?0+04EeiG2o-<#w z#`Nb$jnwo2%q4{rut5Iz9#%e_1KG289)>$RHkWeI*aikJ0w03FfYZ(8k$4z!6wY2? z;#Z_!fSGp|JEhGk9XYBayk+0`qIet7GMpdD=-U9A~ zI1RCvPtrD?^o4rAssVV99AzS-1QJIU@%*u^f%@(d_?~7;@MXH}#|C^){D@Ti zD!!-Z5(?b#9C|YvZK@l*k>{~Xt3>dU7<+S)RRYh*M0+EAb~i{J-Q`W1mlBCUT2(M! z>;*QTaj0p>3h;rH+|hS&^uJAK-XG+-7EM17Wus^2@5t@C%FdFlA(YzI1o zI~^20$6Fl=SEJ~G1+|NA`g33Hf&=&<45VuR^2@}vyv+*Hx;+h$i;tP%nzWk|I$Xwh z4UB_C!pM*~1#~Tjbv(3kx#02!^BwvPMW6*A?%&3IFXgoipRewFqGVjnOu=0bL50b) z^)KsdanZ%W4LGykU3HarAr^QV;yt4+0n4d%__K_>kS#mHPN6>N?8I&PoyhP9D2H}$ zf$uc5>}bFOrvkzu=mzR+7_W&(n=W#Fu($*u82vK2B#)jKH{eTwnjs;IbG_iR#tsCF zcBaZlD#x|twOpg@t}hs=RbMr(ux%oh%j4@Sb)kY1k>0FrXkinB~izaVY z{x>~b5G<^j(Of^$9#H$=#K+gXr#u7Wp3W%WTZ50kYY6!2!u8aboXl2^oGSGiZtZ=jsx^0V-J)y5k-`#JsG}*|x#Wv4 zmUM=jIzk4g!4GYmaQbSX%d_D3^B^BK7W4_6JHSyHS)rClXPu37f_Sx_8=*(f}E-XQV82;NBpkJAA4 z;ADaY*cqml7l?Byg#_VdfC``qk^!j%L1V@YV`O*>^I22Kb8J~$K2JwNIIzMG?5HQ4vs zY;7xeJxvj?ScW8uVQ}SHLRR7EnRwA)bP~F040vsj zk0WuU=b)B^)R8dW1et41qDjEXpsMLBB|4i-RUDLagHQvLI8Q7d91?jA){WE?r)zOn z?Ptv|qt0IZt1e)yqCC)Jh_SKF6LL>Ob3N_VzB+7~<1KgO8wZ7+h{O66IIOZ#>aTBX z-~Prd*eeoQ7Qx@fbbzW-lt>!E+a_OKuwl+OhQ%v%tI>6#Rg3iXov_z!aOi1(W&?KZ zDcUCi%s)&6eo1H;Ou0^0%U+7*86?S}F$F~1Sdr$1dB7omB;pTM_OA!p@Z^?V=q0=-TmWZHc>H$O%dk6_NO_d5 z*(aw)>o$g8>3H+GtjioBKy2Uy`p!sm!hI*UkwtILq<;)Ji~iS028!9}!7oI!dm<^b zoz=>cctx-Pcu|-?z|BlBg0*&c{G<3-X*P&96dj-%cqKK`yJp>)a$`lq#6H6{OQa!9 zj*`cP2qTNj77FANof=@-HrdKMp2=`P0I-UeATI*GAkNpb5k`X*(qyp)?U;5!WSbNO!X9h z#sUOmNyob56*oh^G56AGx$tvjd;mmwR?Un z4Pp!+lS!Xe2)hd#VS_z%I1u|Q&0@hfu$xk{O-xMJJ`d`(VnV^Bo}Wakl1k{0!-Uiq zE0#UI54BurK6vd6M2^0N7>#ZA7fG~deFsWWCY%)@U_juu!HC9&dgQHN>a zir9;lg?a9Rqa_lb%#4a3o}kA6{m*~U$sCmg!_@PbnSMH$Kt-$*Gfs zG~~T3LYhlc3a*?p27E18F)fW4ZZ0?jpw%8 z?xiY2H%!qrj>k(cE+vFFj)4Ak0YW7xg=`Yh07gwn39-MV(u!OzTq=;@T(1;j0fckN zcba>o7hw;01I^%##Z zG|yL`&nlt)lUHv<){$rau^t*!n4I57P+OAxJ6-Ly9I7<5Fr>3r;NFWe z4(Y8p2yxCN-!R*N+J{X7?V503N%`mCa&rzuKS9O@yL;g8)BHnt=z<|`w9{-5aI1$q>~YS-|DM>~-Ds~Wt~h}oTJ=#@ibc5h*s)LWU+!P2 zUHgRWk(|C)luslRrsNkW?wW^-8GT?IfY6c4GoUci5835(gt6a z>&%pHjoX)PEeX^I11u5yUbEfqvU)v1m(^5P>M{CVcDwmrwulu7)(4EG`PQob7wizr zA$sS9M4X#Q6+<0nr(I}RHJN!vV!~vBAlTz`v=GTo<-zn3TGHTm2ow<5pi3$lI*8&( zfMj~a7wrzVO~0eN`;O_;L)}NnGyF1?9$sBfWj5efyStGUUk$G_CfM8-HLY%@o0A!= zyr+yZ|MvLw_`?q$!tBVQgPD5jUaR%<7=3eAS6BDHTEE_eX5!r@YDP8wtRBU}GuPQh zj>oG|$J&|E{WpbCEq?g41d>~ex_Vdg>){r(;+K%!+6V(`lk)a5E11wb(qT|FK<5EK zc2k+N`8ff*jdj-adBh zZKPVZY}uLTh$^Bf0ITmBfBJY?%wTvTx7b-^DRX+l1EYhT$KEYv6muu1I@k;-R_~yn&Yk; z->B_NhnIq1Auev3Tw7tOD6cm7JcXIVD;o>&yZ4#fR+fcl0!o|-QSkj>=l%G2XhGlH z%_yt8lf*%Z9)E4X)+Lb+sAUohC3cPmFQCwwxB)x?dJZrRU0_TwAc!OpI64V_NxOzV zM2qo8avy&j_fD~wpSd>PI&)_I@%q)PTmOY}@PBi+bjT+hG@5UlET6I~@0-DTd@uq; z*N+}uIbvlb@<^y>5i5koM0_o9^F{FOA-`jcI4th+`zA}mnPcomqQ$!|s+54QQWLVr z#9T-N~FivUWH{N(-|33lh^}u43y@TK%;!x!{ zxABLA2m2ozgaWCxX1Mi#@1ACJ+Cw3`({|>}G==<+?@7_HJ>O?a#IGt4;RqgS&QqnNALVqJjLkf9O zwhL*or1RqFn7aPMo8Er=rVlGZq1Wv8Ny-241VQdTQUnQmGlMcsAdsK?Z)+Z4A@tQ{ zKxEQ~0y;Yxs{<~gyHZG3l@V(BmknFZXl$aH=qhT`%}0aB1RD{6M1opi^IR}>WdJY} z%LaE?GY(G%MR=G-6WX_6g(`>^X5Idb?bcJxa$o)a6?6atR=1z$)+N9 zI-bnHYnW736Pt5NRxGJOwsbMKoSj8&-&FIrIkDKhO9F4|4HMk9oBF?HrHuU`5U~4t z1M_`8{Dx$LW&dz4Uxn%z4Bp~1c}(~-^V=~qR5hpMXQq~L3b?%}ZbnMe`lsz0H<+^Tmy|d;I=1}y-v@RcQVlc>iuBbh(K08{-0(%k9y2d zKYOt~w|xC{>zoyC+oM|@&wPfCHuX>5Gs`yX5IS9Q^SrV?bXv1%YoW%HimyXG8Bt!g zefErUxn;^!+w@MSZT&j?(Y??Lkw0aLW!a2R9n0sGF94mw9_9evc!^a85p80z4;hg<;_@DLKKMG!C1UQaZJj z&*qJoFkGF>V{zD=(y`QA{mzOk77U){$Vxlg{n_f4@p-c*mZ@jXQ~!Af1hk~RYs7iE zd^{EH#s@{~cJXhRuyD0-`Bmg>D&cINhuo=&sobE?28=`EaOhwbZDP;v=e)=v`8%3@ zoB{!UlAO}lLMvzCY^$!gw_)!Q7PNd%-nQqO^lH4kbw+7V z`%BL0)1A;TLe9+y=k`9FTUKI%GQCj%To@W6(8YP=TY~M#+3<>7%$0#Dq=RjVYjPzR zkBM8e-sGwL4bT3Woo$bI&TGi)e;`<_2=Z9n4To55+#GJ)ZsO%~OUnY~VZER_;2AaT zdLcfcO@Xmu{|qSjAwJ5BrDowDe)gzioHQ8W^`=4t-`^7;O0;ODP@T#JL$Xs4;s`W? zl}-LsQ%dtx<;-VH)X!`hJ=)OXn#-CF2_U>%A8q!;D!&gJ zvVjfS8g5~YPtQ4@3r5V|CB!diQp2fQ)EME*!gA_{ZQG*#pSPB9syJc`m9wm1>z{J| z^q6Sjsx);f2Z|uJrGz*V{rN1gXAiJ|lfGmFZ_7dfDXw97{Q-zSbLdIoWD7KXRZQLu zRH%BOZo!#Jl9EOAm0$KXQ|izNU&x2w3TCn=7uP{6O&gn^o{^Iy8?l^P?9P&B@$h@L zpdl;cN+^I{EnL1efAfQ)ii~|PrdYg>{CsbxLnw#|8j&1{H?|el)Lk(tfEGG9|EJ;n zQ=z7T)P4+uf+7O)h!99Q=bZK>#hp2B>aYLme_`0~e}``RJ%c$sn|J;ZGlEWYIEsb@ z(tv`xzkgOVO6`h9Z@Us!ZsyILmjbi$66Z>InPgGQ$ac1KW%n|;6;Q??_WbYur9KXAWIYa2K32>E|ao z!WOuC0(`_IgU*A?O4Lf6JxU*$mI#7O>=syNMw9~(ej)QEhq7J?c7B(gK0b(VS(dut z>3~}PYV&IaJ~fOa73QV7taT+5)U__erKZRKOpPxZWlC7G3U5Y1wI3|m4PyK}!{C8n zTBct{EvpX9*@>>k2UdMLSJc^!X3m}4zoNwmDotd(U9-IFs`hGp51N_EQVEh~&ABO@ zFlq~?%AGUk5u+BuI$EQdxLfC?Yz2Ro@B+bHBzBuUpv76`lA>~nh6Qm%aL?ebW&yy4 z`z53THgC|>IM;|%A@%o?_x~n-{mit&V0HdV^o?}f1j&^CUcXTh;8Sh!J*<&1G&^L1 zp(R#h!0F>=W^n7=o|f)wh4`H1Tm^kWp?P=z0fQbEzO zB|=RK7f(aGK#}XSy1M+Zr(?_n<(%mPRd&kU=>-S2@@=##-@XMErp%emgFQ4L2l~Xd z+vqMoGCdA(%Gul(50=NW=m<3NPf6eGRv+PK>xqZrlloZ%{m#r?ie?EE)X2dk7v#Zz{OJ>W}5v?5G z{GangN-J16hOo)lcECO~o9y00*ksdnVC!i%0jG=ub1+D+Mj1?MG6FImNvd#|qESK{ zP^blx^k&rW-(NrCp7zp)hLN`E(?u407B@_~GBPtX z1^q92RZ=g-ZHZsYs!Pu?HkhR15}=P)nHH$@j_ll!hQCmy1_YXCd=g+EdsFGz9u1}8 zVY)-(o#=}4JuuBmA&5Rd(4IjxWcF?lrss2jlK>X7vkY}Be1*!9la#$PEYc~x1&6lq zD{;xXUEGb=BaL8MFQ3N0++q1Zo40{B42CBgL?8=KE}WJJf&d2ehU*d(VEDvE1_UJs z|Hv35%uFw2^N`A?$gWex3Woayl#dc1LW3G*x}`cv1D-1E@-}y^m*5|08lYmDN4{02 zG$<>wC$NI2Vl}3i85i97Q$-+%e|U&OqS~H2UlhLac!4Q3Ek(ymUcEs&dT#RS(<)}n zEZDb`UypO>tJiY3_X<|uonZn7i;XgY5<*)fk3AxOwEy#h$G52uyiRiU9J)s7C8$l$ zfannE03kIw4kj=S(G8N}lF;k{)B)jw$%{~U&*cGyn4eNf>H0&Op&PbxsV2mSmdm3> zoBS)Z!+x*!7S~W|>=SphSrr*!OS~l5IbDa@!J?cXtj|K-M7-3zScNesz1-+`dol{* zUQf&P-4c9COQ19I1F#6nsIk#@KPzKX6#GB7zJ_kY?`OX7m?YIDvZPe8sedAA%CFxF zvv(r5c>Wq8H(ksjYKZt0=9KwkeFoY1R^_6}a_8K+s)IZDby!JDRSR#*q7+gZ3N#}6 z_buQZ*tVFID=;lg>NuZ*b#(G{*jxl%;Y^DYsG!84D5!irN3<@(YEw_}Df0xh`4*vG zE6mIYrdSLW6XkoWT10mo6+-jTzg`!Q9f?wL;H(O2<6hc;hl2vCUyh!gx`oUCXLQb; zBkq@MpZ)d6_)d9|ze(#)kx;L)Gt6O0+U9w&^Ayj;oG#ivjpk09lQJ)XRo(&mq(bC^ z(K=wKnOub?lLa`Flr7PHZUfn(Wa^X%poEz8L`2|^yiOL18@gdOP-Q^1P65_l%zqCmvn0f8_^fXJmL})tiNnHcYJZ z7~}*!pifiDmOO@W6Ng3fF$u^s2b?@wcnt@e=J?;OXs3%75!?RpeV656T2_))%m1%96J#E-_@ z4nfrjM@#L2il*V7acGyFZFN=N@nvhcsVUt0$xV5+72M*~mhSR7Qw8Zxs;F&BktSEr z|65v!C(i&M4dlFn=3^b?SK8@5i*r8aS@s26N;+go**8SP=_wWTToA(ArPSbsie#KS z3oH!BM0S9l%i7d?L$Y*d^(|lUowa4A_~FA{umZ5lEJQSC^tOdCNE+ndVBl!54UgM9^c;ohF_z2FaCZl-dR(@WlbHBfi!6JPdGMF zzqh4(mju71BO-u`JzRxbUiSU>-^1okxLHNrbCCP)yZcLmL9{GQnL+rUpb6Tkkr+Eh zC48FhdBmrQsX&lgHM7!ldn2z|nm(YQb zE`j*P1zdq%!M`9rxz{rfc+($fz&9JIU#=fY-BC-&kFOlR8@|TlXD_As&@{Yf2#rVf z_ubCA4bGRTsUg`n51ly}=4?IA4nvvsUgXEZaSP*$l$T9KIFO*}ZZcIZ4P7Ohri^%d{ckTKF za;6Qt`d{{|7RHzn9=q^MQR3hvKlP1a0osCp6l^j>V->f-MntiJI(=+&IO88)5 zb^2A*d{LeNUwwsqj(**^@nlcW$+^(fdDmzIT|bH5xpEc$WrOk9Q*G!wZG@u;euqkC0Q?c+1Jkj!KYG?6Q68|#Tt;azNV(W|C=kiYKp=q(cG{4 zcLk}t!W-Zg?jIGTvak4JCzD-y$?JU^;?g{NA|gTRpy3A2or0GIuL&K>5x z{H>uaJhCAoll}NMyD&52t@c!|J8bvk$NqLj*ROV>yYWaT^_*(so%t4Xk)Vn~2kw*H zyCGFRssAX{75{(FT?6|GUSqj|1IUd1M6?a;HKdbd44d<4VlW}5gx?FMnmEHWo(Ccg zt@nl&g`;CV_#3Vy?9Se?EpNxag#Y}T^h4-nR>?Mu8|5=-OeJJe8p(|N~p9h6h9Wz4i7g_S>lPa9KJ~0sPxXbPGl+wte;Tn zi-hV&hc(>Gv=}PE>UG@hAQ_|&?iBD0i4AlxQ8%CsDWGAD9HAL;0w@w!qJcfkjc1ck zE_n^qf|m&caTY-XEzhGA6PrV!AS=U^sSP?#ebV?J46(1;{I>DoKRv!3;!Ogb;B3H2Roc^|f-vp{0Vf_ED|mgt zmNI#}DAO~9Aa_Tq*cj$Imnuo`Xh^a^$tg36!H``4N*+JC!YGo0vi0BFhVHBxn9uO^ zi!0687aGgxeiyibQK}(Dd83GWTcU_FL3*(fanI%9s|4N9; zrIjvl78CQ9BGB|#0F|x{G#ILizX;b`qmI6B8~^*?zyH1QlTRq#6)Q|MQZsL*V*OPG z3)kgtz-ywgSQxs6BWN7HEph7H~_<;h}KRR^mDS?@j0la_>iac5*px4Hj6m3oB-5c0_Q7Ak6B zyFEq{ocCM(IcYJgr@8BzlmvP_?#mLGK56_KTRX#fLNDM*={>JW^MW>Elw$veDpK*6 z_;i+R9c)zu9LdrMl5y!u-sBD@EAxhO(}W=Y(;z)dtPq{_b|f{9CYb;wDV(80g9CLc zh>4%p`9kgE+%Puf`{1;3a}+D)w60goZfbk{%oB@s)Lw=Ar+HTHiLi5v^fpC2N00ZR+KLgt!~zA!Q;Bw5i)xCOzLLPPvu zgb5O$qosnlQnVRPQY`rzq~sj)uaEn8p+)Arbv1V+ArnJFnO$8wCt69Txa;0KkjYcK#3e-s8 z;fmcNn4tpEF;o?e-Vw!feIQph(;m@D+pZ@E&-!}fd5a09i6=@cjDgYa79MpbT6Llaw zdv<@<`|qQVuUM}T3`SyzPl22;vq_k}T4bgbNkTxxWT0p{p#$lWYfff70_iY@fo#AC z=YfwTi=6LuFi^qUqbnwj zC~sPybEIqfgZXz%YG-c zMorr-N@OQcfK<@PS)Rq=@M`n)<&HkA4F}uXgCWnDi8o3&w~W~&J2Y`P`bcc4nlMwd zer}rPeBjZt$d_sq(5WsOc|e^(02k5uiQ!yGb@hS%WopG7AVXvpJrloVGC5=hE|*7E zcoKL_S?PoA(kou?Nx;D0o*Ggyd?Y+2k8UuI#Ywp_H>aE%DR&y;BV zT0H@Jf`{Xu%Yp$5{`us;MZuAlh$mvx+vo2~*Xe`HN5@=M(Aa`^Ivi*wm`Aplld^a& zck?2i(9F416(X+^n-hs1CRg|9W|JN}b_`GO!l&&jCG%CcvY-%6sZ<2ku-YS8vMeD7AC_g6ojzTiErrwZak-q(+^H`3I$Pq z;TpvH*rCItV(0~9j%~)Qv>e!ik_;eC?L3>0p16QyB=XdP^t{BGefQ5^c=FKhgoU<4i!U;ro%HPe#?q z1D!j>opW0wBdaE~i<-t)eILcQqcN*@)?33X<|+kzB{xZ$p&$_?2$PU#NiTl`ZR^P_ zl~bVGVPXdKf9E7;#|(JbN#7B6G7uwnMTU(2Tl8BTebuyf{n{uuJg0 zZ(XJ_!z7@XnHZ77syZ~cw(roPzS_BmlJjq_$flK$m?9MVaA}P5Ix7GeCnpgh22e<6 z*~yv(1{M40sc1A$a2dZE6i`y9oNv+?Ji~ARhZ$u&pyol3F|&&qZxfg+Azt|uGKocI z9a2<=MfsI%V+E_0Dspr3>ofaLCnbiR%Z*vRWyPfinTN{`5|+tNw+CqHq3cpX7pVpQi&5lh;5XO?|+vTE~eC_ec9vkU#HAm*5Vm^ z-QE8i(KR*ciV7<<<)+9j2PdtT-@h{035zX=O}qtq4LlIR(EzQP9b`$Q%}{!_jPT^i;bpD7 zEbDzo-mY|6AGrZPnVVwW$}^RCvUO=NenDPFW&Zy_2AAH^Kw^N5A4__x+K0iM-=Y0A zI=*pX`vbgv=-9>u?i?n!|VN%SD%n7LKansowlxVS)@!DNkItKgT@tr$NexzJ4eFA(G2@zTy#3>5ZGtWdR0zxY%&9Xv9CTyFjIJ_u_hR+_J&8Zb z)C+Jo+Jz6%f3j}f0pWp-p#3$!-$v^?Ht4#ftyF`MGNKFsjb=u|V~_wLMMn?^VtzNk zrGr941eL&V6R3@TNG4Shk)e;#H8WaUuL9Lqn2V?87J~A_w|g}bssNu-67F$Y~OSa%asm*8;M%b(kD`Y8yDv{VjWnLy?4s9LiLM||zJi0FSByBeZ zFu}n~_wJKjj3i5#!Jv#}TLXt=jCo||0m&xQpr5Y6fh3!c(nyJCczGr?fogBm7#_&c zQrowSjaHcJq?G3I(%9?<4p$^Hm<%Jl6}9%FbkAH*oG<()&v0M;b-2X`ahEG7f1_&6 z0f+1Nr}`i9$)V!`YTksf)PV2x`eZWF7QvRes?iO`Rd=N-)j@{~Utbb<>ZylG!Sxjt z#F6|fiAUZ6@|v8pQb>0)k$OM^VUr;?9eF-5M1(+FddLpLfJ20*&R2K|%4Ij8lQ7S3 z3;_mkkKor)esL3;Akn1Z+Z)i2dd6vDaVK6h8NF44-y592qSXKXH~tcqn6^DWe|~=( zw4L!~V;-f7F*M~;qlgw0=Ko<<`kX`-gIkmNyFqy@5?&ylGE@XI*=C4fCxHI>{BtqI z&(ML@1Os44;a$)AisXmoqV9V1=Bw!nlwOZ_HP`{aP8qoR3yO?)ND@WHiS!-Cf9fe* z^zp}lG-ge5d&rm%rysXLI(~U7E1!SPm0wt79K~8X7CDfRXKL*U<|-Jlg`jQ92kNmH z7YJmChM(}js2LJVARS+1mW~wIgGN`7_@g1odEWKVYKZ|S=s7fno4%E+v|Bx+xg)Il zLVh!q#;R3hbfou9(%haq>!2?yt26w}FBAJ%sNip@UCWT*_4w}GgA?N;`e2R`od_Np z)k7%nGa8p9aBF*E-Rjk)DUp=u9KKb^8b5s1W47?vH@*=2hkIN66L|r%PntH(-`?aK zxpLQzSq(fn=bZfTh47vU>uucz2!vocz_9#*_yiYb2A4x^12gGsHbk(Arh@f0Luj8% zbB`pU@PX7s$rk`HgnxqrFM;r96Dk9aDV&XydMajkS)r=M&-+Rhfh%LNn{$kHmb}xC zr$0DGrH$zet~Hj$ti^bLjW`X3s!UCj#+l}fUHU-g^;0Y2f-JY)TstjuYxQKiBO8qo zubwBoQZ}TV8@m(>4s&%O?WbMU^4c!h!V&V81(FndUSvs&C*~h(?^0Lg)aNOMIr_SB zks{hxAaNj4Yd~;E33T@aA@>Nig+qX{q4|#pH-~0hVlCxEJY&&u5}M|u*OzES1JUaw zxAX@bhjf$)D{Adg_weENh-LN=&yL~#hbvPu!KM1;a|*IQ=Lf?s&TZ7!q0rl{Q>AmK zOqe2V9Wlf+yzY27#N9DRux{n?(4aUf>4i#8VoUg*^k_k-KtX>nTLP-D2;&aKG-$wa zX}*O)ozG%VJdU2eaYUojG$!JlV(fG7xjXig&usJ-ee6~R)s_9Pl8U^+2H*k}xD6}- zUDlaUfvS*`)q`IPUAxIR;voJ4$=1y9uUHpCmH4^SijH-%zKOkkqLuU0Nrm2dw%|gI z2qj8`H6jx;dkAV8$P64aowFm`?r1OkY!DUd-C<7>1fb9Q1kjAZxCFo_gjX(B*^%JJ zBsxok81MVfE4c8PH{Wc+_jI?!yZewKp03xXv%nMJax*gWmD!{8c$Tj~PH}4S=4!`f z@F1i0s855Pet&1Msi~iB+;_v>k6BQdywmY@76`nR}q)|?kM?W#;2 zoZh@R3l1neKJB}nVv*T~B6|C%4bU0cNi~cyeGDXJ5%2TDVTb2O?wQam5#e)y>>$2_ zk|@TvMP23mOuvNRYztPlO_!zRR#NFd*5Z!ZADZ7sQ+j{W1&XU!9&LWgw`h9h@USm- z=514|qNF(Bawya65wAn*phdYMzL6C-7Pin>mj8dOy$4{M)zv=k`)bQevZf_l!?G+{ zmMzP+_8y+HypuRiY-c!oClJUYAp^1?5CTa^2zwR?9}ozmd{Ej#S)mjt1zO4|lrl>x zP#V4YpL^d|j-3I?_y4_)JS17M?mhR6=bZB#-ljF84HryXY1ld!-953QdLo)UN``oG zg8oOA3{jmpY+1I+yp1Xe6RlL(Zn0~~&L%Q`lH zQ8qr)(K)=aFvFxYeseMX`7~3d{N~sKUEHv?{h<|=RwIA*BGHP$HLra4^|V-ewK1-n zPhAp=JtkScDQ~o6g~?uc$7eeZT_uXr6(pg7<8z!F{2$O$xc|+SJ%486fMWJ>8I~Em zQqa#lKJSCqiQItCg2{FeaT={QI&(w{@dGR!ilTq{z5-=_ZyR3y}yDcxQuCHB`~}c*r`Jk zd~*Z+{eii@<>!}1oHvss4w?00YVL4cG=+F^(8U7AO2s!?3>ZLSMFg{ZFf_t~>=*Lp z@w#Q*i1SPgL4DRz^i=*k^h*L{qkpGdzj(kO@=c!MrLT82mX^eg8uuL<@64z*7#{^1(NMxsTJn^ zBMjs17PZswrMz!+P{U317guCX+=Uv?t!AU1BsExS1*-qAhr8*!+-~@0B1Fy@!+(Ut zOqfS<8oYZ<4hirAhzWcLJTKXk#)=5`olenLxU_ZDog$UKr&zr##|g0ooPq0O!Qjz& zD0X17x+GMl2pH56xnXkV`Jh%sRT%2<+yuE&NH1t{^10I)qt-jl;`I&hD4;)NFdJ1= zC=JWd5&Fkt^fQhTbipyij}4~fBLfo_NhkM9rQLJU19*f2XepSeu>bf!&^)n0%0`#m zNO0>oyLZ!0=sT<;maa~)YQ1RFm^H$E4$+)BIoVDJ@^*MEw1AcP&n*MCZ)EK_%sG?m zs5*~=ozui9dZOUirPhvnhsV!tU6jl!2KVfFn^G9MJgv@wx{f`2dbC9$eNmf65s|68 z6l31s^XI-U&7*5cNoIt%6y@h4z${AZZw}9h4mQXKTbgD{C&nS9f!GnxaCr@U1duSO zo^A!n+LW^`2jDM~3&3XuVn|T!S#6E0#450Co#AfAivl?u|7=_=bk=8&bt1-Uu+vH; zWO<76nkVhPK&kXE$Skj_F0Ip>bwi-^OXSw4J*_1Z;<1V5PCwKx+Wns5 z{6{k~qtjex(YIVwF}JDd+nBm8T=Eri8@m0el1ZS{&C^n$%-r#=2NYQl-y}Zjn=rK% zIVYIfiY@i6p=QLbEps}<@%ZFMo4(d)Xsz;>HwI$GZN6AvJifHAQX4n8T}FSYBT4Ub zmRGxcvDiS;Zgtp7=LdYX3;m77{mJ$jvDlVjPg%So(P;J?lbz`8@y-gAW}NQOj4#K4 zeZ>8?xF;~5&130ERnI)w$1JW}PnH*Z#n}A=zlMyGAM1?pEI8Rfy1TJfA(~}WUyQRU z*(i*$^Pqxp!8NCc-sf#l?_JljZm+swa$h9UXYBo=_xirRjGUa1XP9K(cN}AG9=ET# zx4E~~BY+<8ogAFdiH*tk1Ve$oX?wHih@P+zYt`OQMN>^TTJ3ZLS=4fzi zkLydtP`7}iiJ7o=*hoOT1gsXPUXHoo#~uR^bVA^R?eCa^b16e7c?QIi)wbi~Fm(Kj zFPfY0u4@;3NB>Ci_gr4KZh!lp;+tz+7>+lnQgRn@l$8O5qgD{Y@fQ0hV|&(Be&z42^orI` zJLtX6MsZS5SkrYKntajo&o^J_;JEI8$W`WCb>3O4SO2tc-=F3jzqa?o3q(ClYpT!_ zvDiJa&n3x@*^4JoQ~qxmDqLHqgLzXgvz&;y2OhKHz)8flq}aOr+_5@&ER76nBFG-d zB3OCswBWOeUjzLeO`~tZx0eG@WB8M2iT;c|gW_C7?QDM~4Hf2pc^&1^-=>cv3Yu1c z9XdFIunT)KnmqHt$yOFxMS;cr=&~;dA`|G<{n3pZ^VNcVaDvJ}E-)V?u4^&pEX%nl z2L{Xm7HKR~z%&lL`6@;b#yN%CIS;dbGMg36 z%A5e!mEqrH;xF9iH-;1tmJpYFjCG6{eV5w_bwh(SO+G5}!3zUCA`?HyiBQS{zwgcn@;!{Zc z8?un&`$Mr#BdyZo9iT%SH-7u=#*I`UJgFZyME|CXUP{5J&Rp)r&0e8Q&9C?UA%zZX zTCrkddN^Eq&o=i}H=`C#rfTmp+rnF+6Z)Dh=8OKCG$n>==zGy^u4O%oG?x!|&y`I` z#Hky7xB2b}1YWXq4OSZDf){@$j_@fyn&fcu@}=C;3O%|l;JYEKi4peN5W6o8y_ku=6QCfxkM11(e6)wlJ?Qo*7LJpy#!)2Y-GPaHnX zz}n|t9E~f1K8)>4Zli~vd$rGBGqbr=mQa^@x(+A*#<^r$@`e~pKM;`|%Q09B99!Vo zjJOYHIWPwU%RM6RiK%VG=L{4P>n5=87F$6ua5#NpahnS$CQl4-5*$I67LOC5h(c$6 z{S3ZC_8^XT9;gdjFKJlWbX~OZV)rG+Xmc=8CK_Hj6s_r=QrgqS4VKoKQfBM&K?QwR zLhFe(poe&cdaI!-ABY+{1TwW;swvFR<8n$9UTdQ*^D0x6Gy^=c&H_zEPgWoDV3vj} zFmVu~x%U_=5|E0)58oJ6)J- z{YG+VS?Ln#9xJds%wTe1pLSeL(Kp8oc& zqHM$m=*hr{0O)p@T;d;KUuv@4`j~Icq+newvKiy_9N8-nNwCA@18*3+=;xMbV4M-o z#f@K-RQl>0{ISNqx((f?CT$0&MO{)b=jxjKR=tdt!$Iw%Z`>8utE${(0a;au&mH-R zl&h3}gQby>3qvA~n0`7Y>}m0LS51x1ZS*dE^l-m}7vaerE0$09F50#+HZwFFJ0TgI zq3mrex3uOltN^23(WmDefE9q`9DwR+_H+TbwitK9dHI*Y=VkKp*=`}wZ*I(VP8yqSW&u5beH;$}{hTEvl76A3k-{P3gxZ@@Qh{ zj*o!v-=3!5O__AX+OcNi)P`}KqaWKaPVL$3q1Vp4bMa!dO|pD>q9?XFGJCe#th;!A z%;}_~RaIz;LK@?rVm8j9e;n&UTtC?X_#Di207g$>W;KJY02*dcVNxD>w~(A6EW99m zqwk+E)lg6qLWHh@GukJ@tkGGPjU`ZHAymNQ+0r>`{lGwf{+Ir3j?ZA$ z+#^s_t0TtFTy+sYPnh5-HL_;cz{;vC`zwU>cWse;K^h|9OAs{A6UPon$$r9QG3>Nkzwv9sD)s$7I0k7 zbhfeISU;N3IJLt$t2|E?Nj9*^L23FSe4D2c?QA*1_%P3E93HRR*A!1xuj$h#OJkIe z{vuqdzF(=ith>5-dC5Mb2%YazC5r-Vau@4f*- zu{aN^;x1ZK*KUbu36ULAox`tW?TZ_2D~HY*u$y=MHPx0`qoD)PG>S=%2z4x!lq5$vdbql!uDE`YQdONs~Oi^!B{M1R6XKD?#m_ zH0cNpWLGf`cgs3;fsH$Ik!WOugV0)>pk``dUkB`~6sj_Nh%MiYI0rzfOs1@ZBd5`dN}^Oti-!^XT*m$drn zseuYrki+jCg|ALat!>GrkCWUQ3u#d|4u&>{cNLjprNu8k2DRBS@FFRP)*G#f3+ij? z3JZ};|E^(VRZVrplG({j0Z&gKFH6Ov)8g?>6PoK2o~{mGsIDW0+9j*j{(J(?NxQ~& z6frULjgSY4fsd6B9eQL^4y+7@Q%LCNGBUX1sBnS-Ct)$ByMmCAVTET9EF8;#c4mr% zJg#vbs|sgRARPsTELq{EUbAWF&&o^hc{%+&t)nj+2Sqs%w;gf&)z;g5B|g0u#qwqR zJ?Sf2oJC?N&2B&(l!dUK3~7l0XrEDxa z>!!hZiB=TYbs5Iz0E;-SIN)T+tS;{%SK`43e~h&zmP|`bU;6(0OQ(l<2e5y`=)p%w z{yRHi2+taZx~Oap90z^@c&Abp_ryAG>@a+(Asf|^7XSmkPS z#1Y`@8-Uz$>SmcFXi{>~xAY_mJ*n~L*LxDtL|hUNmE;FS=#z!?q80d}e?{@7tEprp zk};8^g-qhc%-XhrPlje0*!LS$@OL}7$#F+faD z(TJ=!#P~qW0X=KHL#qAYB^U_?7l6}1KSPN*&JcjgW+H}2(y7)Z%1ag*RPplCWTmo2 zW$dRHbI^@+Kd?h?3C$W_UwretrF%;@4<%!vr8RnWZed6)jwusD!C4_Q7ZsVHR)5GG z(m5QhyBGL%r58>Vxq9ZW(_4QESt|)OMBIn2!eU>YlmjL$B7WynW8_x`EbHtn5i=+_ zG6aGdkX4V#t#AP?UTy|%m10&&7S3ST_bk?DY$qzE=(+|*W362q@1g}%H+?*>5EZu2 z!_B`h%%}IAbG-&@Q&i|XTD*Dl<|i(_^wD+eXfgWk>3F;`n3-X>Q^OHY+po^6RD1ALM3Z%PRZ2xR+kMK&L|p5o{Qn{hA?L<B z{2Egk+B&Z<kU#Ks(crj1G1GFCNLmbDvJ1S4bP=A}P-GKKC*<{i+=NZkDV!~C% zL&j?-g`PRGkQONhZ?RK^b=;{{$=Tp%G>T!Q%LA$u`ke2^gF}{lP~zj*6@|P;RejJ= z9Mol2`E`oeVT(MdblKJacSUAX6eMQ=T(r0>u@dWGtiSM*^Re<|kcgg+Ij z2#0AQ(WE{Bgf>fXPXNw&;CaGX{Nc1=x9xv%V*i91@I=TM@@=HQ+g z`p?XnGrdDYP10FY5hoIvJUJ4fuih{%GQ5G#TsSYXWSLuhn(aNCye*z5Tutyo%!k}S zaDR-9fj7-mAbS|ppMgh5-8WF{SX%HAg=0n_GR7#tGhoTa5~!0UgVoHsCm@J;&B)#0 z+p%!l7&SLmr*RAoqV@b-V=isLZT8zv%k&m;&4p^?2(s>yRR0rO zx-_=GMB{gOmmLm9D~l??MKq|=8lc4ciB5fNyK#JtxtQmG?}NMi$g*S6WIr%s#-3ZE z->_%Q4iN+*DR8J=XBa+siu7i~#WRQ4$R93K&TBf1R+F}j1L&c~2lG_+I#(d#n_%l% zt16Th)p|@-<{rvzRu*zc9xr}wrcgY%yZAs~UQy#DAvFG-bF3`{Vu)EI72aTPuqQ-+ z5Nu4EgEdXHTe~2)&f8NY4c{}VKgJ95^Z}!GQD>xkVX3;$8}_D@>Y6gec|mDQ7YG*M z92cxFuA#{41U0EjEr%-cC1ipVjwxNZk`Pb*!s&G|QcMCXJMc@uJ^{-=2svr}zbyXuKAcO9 zPDD7p19=k~g}ksvF>#vQz*mSPh=Tjl>Fj-afnshn`qJddXsTq@n)9o;6B9q-*r+_$ zeKf;$8=SCU~wW!}+e&?~S)i#Na^LupC%09pk%$rwS~M*p`{FUsbQrq0yoUSO$3Hq-s3}j~$pI;8md79k=N~EhIQ{ zWG#Vxin`>TcYgC5dPAU0vAJZ?mS@nhOE#9(gzbsyp3-wFyJp?^J9}Fz``S#st=7J_ zAyh%X-MT`P-(H}&j{f?tYmRN%ELptZ`DSOr5lDEwfu?;%{yA4)GcG-PC*kn8gY-A# z%K-faH7Dp4HaO`Ynb;Hit|j9e04VH#6Q3jASS@l zg#*oVmsBJSNEImOkN)pF@r4WZ@sin`L2a>+UIe^6ueZE?A_wJkEVJr;{u)1hNvhG+ zk)(H@pISus;c1=j&d$!oZu*Ejva!pIizF=@B5ss&M|yj$T4TL4!=384#e2~==dB6x z8OFE=Gsjy9mc9ts60(&}uuKZ0+l^qsAG?(zbL zV8rx{Paz73(OZLiUwe%{GVMSWqW(zjO0={jZj#29(l1W3!mNsd>VMJO(NfXRl>Use z(=zpTEQbCHu@#t`av{lylU@KEguCj&IcI@%YkSf|r6Rvy9Q1RV&g zcy_rvxp3nG%zvPx7vt2cr)f!vKNaQgS(%&X;G|l^Q7Q!Z!+$^3*VWe7)Ydk{BnE3| zXNgNQmD5rqd^kMOH910e`YM(FpG=eeK!VQW9-LF7Mu5xS6KOOpjUOy1h??_bNO)J0 ze(7obqo@XTMs5oFs;mKvyV4+u3Z#L^npQI)y#6}y(4+u*H9p2im!C$Ln{%CcOr{Fx0{({<5CMj>O zag-}4d%afI-zm zkFWRj{^ou(^go>o6%FQiBR3JPHR<~o>0B<4t06St4YX~tgldGPf}qRR78jU{OZ&S^ zL`FXUowtNRo-)_m=rq=SI|&*^F>ZH1=Z`SIGTZO2gm{4ETYz37qZDM_MQ(5)80lsB z6p6HFQx$-%;14k4V~8!X{m(ey9p{uXFYsLwSw6)58#mtgPSg@JHysZ-3?Uu*RoGG$ z;S_SWwm*_0QiC(qhYv~}UXG;3FC0U%)Nj4-BB3+p8X ziJlEwB!^U=o26v<4G0`$F~&qTqjvm^t!QLr&g2+KPZpnoPy;%zWE@hKea{}%B=QTC zUfa_u+H%sRbQSy0mPCUhak)I^s$Zilj~h!{9QwH4eBs0U_5}t_l49B<+V1;$13r*y1A5qNlF&niVQF-g%eed3^G zuqpm}g8n)`**$OZK(P@W@mr>&9d%RI>M^eopZEiR-~@2h8~9CYb2jE|g;fRZ0KlCR zPO)^n*NMAFz)K>K3Zr@%hrEn?i70)Q@e%Lz-aNzIk>FUCvDCTfl#bI zFlXm@zcjWs@8T(TM@6N~<&FgHb;H4CK@mdkuJ&1y4Qua9{qmQ$-15*vshe)vwJY=a z`J&O(fYV2DDc_2KnSSAxtT}*TusaxQ z1;q?Mfl?s)8iqZO9t4D4imYNjMK!Q4*@_R~f`am5S%K85YM}(sH9_|@|EmL##D$`~ zhf*IjU67l5phyPPWmV7<1{vV#XGH;aNFlq4(^p7HPyp@K!OJg4I!RZb&N};o0^s55 zxc#G%k&o4G7fnIw4P6}$SJM<)QLpm@Eu5f)|C6D=sD&;W8~U?;Mpj4Q35^(8VYLJk zI}#ZLErG{nVeFOo6DLnR0Fm$jS&PwCJG=TIPi9_GfQQnPH6N!gs9yJwqDfQ~sjI1K zFw&1DO5(Xvb1b!YZ*-;#X|Fj1r$2MzeAGzTFK^0~));EErpllh26vsRJDQza?-L~h zU9&@zTRJl@J&ww9R}amuLhBaB{wYbeO`FpbI6rNonYUHc;_(DRPWw=cm6OZKe0qu= z$t8Fd@`N^16E@I8GwUBi#n?^sYWQ^1jzuFEb|oaAheM7q0HTk#f6Bd>TPo}cI5{;Q>y{Qu zHO;zk`=86`be|{an}ix76Jnuc=0m1l{%2Vg7`Pn9a==6mJeq@cw@r-M3uT6h{d%a( z5d7m4QG`p$chbj)1V3gm~ap7?s3^vV%IwlHzCu4hN%a z$T1;u4r`BJ#&lAL!?PK`gjsI%0j3GXw-m*puU>#u3+|mi|I#^e`bdQSZ?3G~$SIKD zzJ9~K^6d+TyuKNfG;!gSl`Y7?jMnmgL(~ID=cp%p|04 ztlwKV2M7p_-N!l;>{lbi2b(#N=z55f zVIe^2l0^f{hwCEX3#57KVWEkR!8om=3ITeBlNed0ffpPU2Sy&S16~E+vgwJj(w$Y= z+4W}9WSrE&`|kVkzWXFM+;GFE2M<1$u79u85C$^E3i-coNL5#-Zb% z7pG+6bo$@P+n=NsJ#{BNZv^F!+%+;nUquP&d$l5(rl!!}>O3{=9RG*2qYa70=!)8* zv@@M~?7Y2@Uni6FTOTE3vE)boW%#2145_zcLe({~*nYpB7v%{OL-rXhch+`HaSoub z&dc4Hh&d6avv|<6WAc=^UcHa$#36AwmU1ldu(Ei;{@DFFeNb5l(=a3o{|pwmv7vV>tuV0}W8v z+JSXsx=gSRW+HN?-H`FHNxuX}N?=79`OiAwMozZukdH_2;-m&CLgaf!yP`OxMDYmq z*-&$XFw_=tM4Claxm#D%&0UF59p5z&bqP&;`pXXbS>w)Gm9wdaHCxMfT%7sG#cPw> zFTbh2%AZCTb)n6V9=avDZZ-YILoS^>qW#}Mf_(j+Ba#R>P7YV5(VJD%g8Xi;onK$$ zv^lGV6{4Pgdsh?R!!IA|wB%L_MNd8XzkXM|J{f8WxC4#UR{v8^`Q!ATcmCKLx*b_i z{ltmUICI}K2DzhFsdtBE8#X{I3-kRoQ}Vb)bwWo)2}fGI3df5gQn!AL6NYH9n4MmT zai{G$z=nlJD}@0HC%PDWBsk{5pxihMhj)SX^B6NYuKV4SjfQ{)kqp0sm%*LmI5nNs z@@z=TR)pea4l+EBY2~0&i<%ygin_QmB%;4)4_T)SZ_uk(L-A4xy_@kqI@-2zA_hsg z!7i29DkJq?p3xTwbdPKn)880#L%N~uDsC@tEI);%KT z->9vvblWRk&GdIJZBpw+cXGIr{OU^k40}hBTP-W*i785-aM==8Bt?I&FBRweXj4_K zx2YBtnw>!FEVqt#O={HhdqbL%j$!SxnL_{6W%`3;k^qp`?Ye4)V8Nhh@gsFwk4>g1 zvJ@3@C0wVt&}ydlqIv3kceB6TU1f8G=`}-_17}uiU{z&I&x3W81i()3rO!mry;U?Gz3+R0_zJaUbAr237Moy|51xcm+Y%L12 zVXRa0ekYZ8Y;TuCBiBfY0Z2*9N1} zV6D5QVD(zDsC;a#=h#kVAfW|H=N4L*b!AxJP?X~Yo%36cpY$VP)I<-qb4$*SoU7ps zFmWRBTR_4=WCJ+x=Vxm%@RGv9p60GF#Xh5Y3F|51pWty)St>qPy@zZG`F$h22r1Qo zPb!m~uYh~mGc~?14#nHJ{5F0oN6^d_IC;WWu6S39FKFYUJ6qI`i}EWJ*H#TUn*>s1 z3~MLGmYLVJq}FKXCK^ig54i^0-GXv4{l9o(B$CeQ^@`mRqm7TE)D9@VXqFe&cttX~ zuBW;wPk>bP^8yL-2!sv~pI?tcRAs2$RDR2L*Xr%4N}q}BUtw8sGsV&0yw0$LvML%H zU>svf^=5Ugx>i%8wkMWKWZWroZ}0Y8wKce_r`i~-bU7>HI;(%kM&DrVn@}mReF z`bO`1cR1#2$=3J14*n^LU=B+>>NK9QbBS@> z8Ap;wHdGQ+cD(KOz{laObq^z6U7?u3KovkOO*{KG^wlzYMiyX^D4?Ib0#{z zb;M?^FP2%=`E{aPn}Cz8)@mM8nuQ$3+`8N{Yb*b@n}h`wrl2#akt+&=lID1I;}UDQ z_UPUGU}E9T+qb9It-GGr?ekUpy#SUaCO6Pe!jA5xAK&&keVJ71F;T+ttt5So1*vx7 z`YS~vjUppV)f;U&$$WScHDAJ6yN$bjBX#S(HIa*!v@9#RVfN+J5!Ju0?PzMKunm;P z#d7pyWLbFLyzsI)^Nj;TIw&R(`aP$5G**xUBfzCOm*-po{i5JAk=je}pK!ew ztg=aI!T1@j1kQFQc;~RQBri~qFS+IBVu=0{6U2}>b>wNavX^po( z`)ucvPu_m}Q?21ZW!=8h&zPX0U{ZTsb8o&Y?<|MMZidSWwS~|yC4(!k$XcbNUpe(KagAbUU5%qgR4zK} zdASYtB*4bQOg?=@&MNF_;ph!VY~7k`N-+!0>1{J*fZu^^cb!|I$EswS~Hrf)t z=HRfgV12Ez!Q{B3&JMxN@wc*p^3M~Uqfe5_=V74W8-&E%QnvID>vnCQ(K;paL^v5~ zjHJ_>BO9NHG|xv{X=}nZtM$2Or?k4=$UN-Qy9Z3=;ci_T#j>IEIg*?+J{QixzYbgv zm?JHp;1H&ql>}ENs4`R_!0O`~Ct@^kF3N?uL-7P%>}cT_gQy=yd4cc~T?2-r0$2^t zs-7_FX@tC0g=HM61`g*KJ;#EZdaY!8k+KrkJ3ZqBq<>#Fvh*23cXf>z<3w_vRlu1jcTqgu&UpxNJo%ng;r`Si*{+1ZQxsGPR$&=7sk zoH>DMzsu(paideX{`YaI-+hal%Laz(v$Z5-%1()6%9L1V`?`m3y)rUyPSc{2>!)9e zRngV$$p&GO8y%$|us5tc;+^?(C4DTuk7EvIZUGxJLqLIjR6-LEm>h(46*yAHrA@5- zLpVY916%~qDEK7c8;+r~_ZY{NpNxenP66VWg-0KxC~iBwyh&5gcp|4Tw^xELp|5!< zs1PI0pZ`oB-z6z(EtXuTmbd1qxBLhLctrH~jVft#Vd09*9olo5j=>Z_RoPJy{iPk< zF7=p~`aG5N?%_GN79Zumn4JV1E zv&R6}3sqR)EP;5QYWyMh!krn=9TGi zc?JguFX^m_HPTB)7fNW#_ z8Jp7HQY519w%gI(DL=kf$BRqDTGaz!bT7|B1=TI)=qT5qDexW494sYlmk@448t z63w1F(KcyTrh1$$2vl3$gzKw$bmy{MUw)np=BUvVCQR+v(Ydv!r!5)j_0rKeFSqQn zw`96#bu{6w4Aw+^F=L&$N*9ZHeRalUAYI>5R`t%cQNuqRvqC}NKx4mqQX?fBXAAIf zk+afzO%P03EyBIL3{Lt4oCVBFRY0O;jFg(8mM~je3?2-8;FcAfh+!Mkfm}IT07CZ5 zj8zpW<%Z`%CkIpb#dJ&($}iX&C;>UYZ9$K|_+m@T<&gPn*a{c@208$GiGGa?vzw0e zd{ch0_=Oi*HBM6#S5&M|Q30Fa7D+?Bv6NPh-vfqk?W{%g92tFY=AWFI*G$+xVS)?) zqrX;a^TRH`0~=d8z0Z)xf!69Bs4r92XX8~vUxZO z_)Po~_z^0=!^E+54$qIm9LUi^3vdkwR5%9sA-BaK)N(elLd*c%l{E*%zA|=}El9+s zg4kVhSjNyNoC8b^jWZHx=s~EB;^Y^Un@v?U=6wF7+_fu9XU@#Ml1jcPrTKuXdaP5Y zE=An;-|zVAUlE!!apD~MqL2e6pRTyNA9W)cJ_XZ9I z;_I79Y8=*+S#b=N8hK!W1#rXgDE>-Hyun^$e25)$i?M;ikX|%_g;W2hxN!fnuvD@eSy_7WMre9zA^wZI2=mlsYy{Cf` zcF-GLHD#_cRPNR_xEfmNJ#=E+8v7uree;&iEw?MUMZ65{qx>9x>*%=5U-{L=aKEgr z^U_=FL_e#?l1+2r$k6 zd)$H>cxqmH{=BXvjMt+-ri4_%skPA3)bg+3!N?UCiB4;Q2OVE^;uojj4#gnxn340^ zvmg%yelVXK{6H)BO}c-?-}{U%$aCU z+WB=2eO;~l*-}(`CLqE$v2R4Veqs9}OldX1Bt?f_uE)xed!3XO06Xo|@U1 zw79)OtN75ht`%3KDn-TxAl{POvmjo?2$vad&z0BJ{z+RVd+$tGL`$t%8P@sq>R^Gw zQmvzZZ=Kv(sWJ*5Kbjln`x2Gynrf%!DUG|j+6`Zv)tdIQay`%hD`IZJR?xdmbclCvZ^V;ocwtH2rohz=M~K}9?zoLs;v3oJ3LEaZ_* z3dV&Z~>e3BV1EA;x5XoHLK`fHI)m*iO>SBwOm?fGjS!n(lVFHQ6MXGx|+Kd zD!J7N%K*)n7amDvT4&M^j)M0u1G4CI(|^v*PqwlGteU*?8x(o z#an8SHkJBfWuaYDlr4Ry+yzEx8t`r(pE%0Q-^q;&E99)x+t}D zpYhJWu&IH@v!w>sNa_EMsdYe#3(>*V)S9XL{`4pM(n#OhZ>ynvCPt!Freh>_$41Zi56%?scXhj&NdV){;Qu0wo^bl_vagFDKff)ct`sWkiXM=cN2~_5T_%4dPok)y-!93YSt`2w z3=d^~B(c=TwMZ_Km*hX9vGPm!I#g>=I-yJRSu=sq0#7Zewn3 zEZit?DuJv}tdx6DaYMI`{xWRk zENQcfl@%_fw?Uv6m^+x?AwTnEg?wjR?TF-Ne^Z_-b5qQ3`pJuW0`M@p|NJGA!Jcj- zwH!?CJ~I;*d&AfVW=_7#hy@V0w*UymVj^%4$O40j;-Ye_Fu~?yAtR0x7;AE}vl(py zDPe$#HAZI+{ICeS!0%!U)cG*j&W*(Ln;v)(64ZNvK9N-A9sl)72+AjEwoms=Ng_c9 z%55yP&%Fu>p5HdZFz-s$7R}I|%QJDFhai{;3;1AS;RCe&^k-zCOB=0X@>`r@lD8;QWpe)%FVf4=suAMolmstV2JB+J;x|7S&|(|NZY+>7iW9O9dHJW3~d_h2V@_lxIzGb2a?X{QKml9L+XOz+38R^Q0AEg7utZ=vT=|MEqe7b!Q- zd>I)9<+pTQCssykV|5GbT18SMYBRRv%aQR{x$-!@OVAVCo*v!!}WkjmuRy$!B9 zCuiq&j?Gi$w$>0|_Ex}JF|L7gX*kn>BM6A^h=zfk04RIRMle1pn{XjC^sw3>|72ND zQ7lmY#8xN$q-Gh5*Mj5ch8!Gz#q7)CRuFtQ`9!r^8&rC9Lz%YJ{VAGC-J#BLakiQ=j~fv+ov>^UU%69!@O#ha5N{vUAoXY16PDAL$hAMZZ#p9}^zx8Lh%GK9J%vZ|_cAf}rjsVjFTgJm#it5Q)BGL{By zHm#++JXlf|Dq=9%{lKFWfc?Wgp-lZM!zMid?3JYB7L-sne843F5R9CG`u)sWe;oXQ zqZ`m!j7JXNVQ7U1rzvYln0k68dOSwe(-+J}xwCGYJ)3?VT}bc1w>OyT)aI7Ue|Ewa zgM1({{T&i_9Y6kl=F9g#q<2tU{j5DjJBw!AP`q(svXd&>vl`uf`|U0uGYSUjx17#e z=h5>jP-Qy4DVMLV&R6AfWu9<4uXcMIDoPuzK4UE!q;IVPTOi2MfN%IZa6IvdUue!w zCBc;3Oic{CCQP&f`rJ(p4}jg^v5jV%S(OEMF#%3C&|z2f)Z8;BY{iKRqL|1hu;chQ zPg-hlML9%qkzG)tuY_i?2NjeT%$PV4w+KW__$9QhNLp1+{kg#ptrf>-L6Xf>8LIZE z#X+0L=&Gwwq#}7x@S6BXAI??U%fdBn8ksULBxw#*yLvqy=f3Z9o1^fG z79kZ&uIAKNQ9O_gj)aDXLnG5}+Hqm<(1uA@sh+-I?!)STUL5wbn^zaL86+PJwEctj($L$Am7i`L?L1&K; zrCbjeioz$_;ww=il-KcN<}2!xmtS5RN54(3J$CHFJM+xt`BZ}9<-+jtq5KzK_gkn98lGsdh}Qnc{HNOL}K&VP0-`caT0- z9=Fw7zW&-$Z}XH%c)&)a(I^BQvBTr?`(2&|rux?WfHd^v2A$fDd34tf3~m*kV|Q>i zPxKt?JK_CcdV{OLcVe+aTu+~EIwgs0cCP>jVATnLve>f)`yo5kU#&vSkz&;iw&%pM zv$lrp4Ze%mjdR-^yobODcJDTFAvg2&D}hm_E{W=@Q$Ty)TKgY)$)qVrH6davuWyFC ztJ3<2MbbnM`xTmMYko6QPV`oq_yzntv}Jm2$FvL0*Y$6Gsp!__iH>}=Cuo^d$q{CY z(oQ2iUN8Rdm^wA8(CM7+gzH)ME1k*<=H=TgE;Gfa9;s_Fn&s41dVhtrp{~MasWZ9s z)haj_K>!IV|h^YikQ!Tzu%6zneV(M8l=wY*SciFte?Y5ADiwA1L2g;jKrSTL4k zEX(^BCABt%(Dj3v+79IWPtMceA>a)nsaVE6gX6`xxPYZ$rxt=@azMyoIAtTU$Ac(E z?54rV!o|$sEi)vy5bd(R&YB$jieyYA^E8YX5k4X)Y-9FXLCU6}PaoI1vF+od#~I;@ zf8tXx2b}t4S>Y2BRUV$p4c|UkB%RIQ{_^gfnJWUu+@R>UV!5ABtqJueI6@TQ2)kSM zaie7tZ@|V?3#uz4E?=HD;t#C}HbdFxmtw<4dU6+V+g0|B>@Lm=9w+6%=cMd68gygVDPKvKr1=b$~} z7`IkEW3pdh%I%z{xnR1ic4SEj3iK!e=y!?LS5JUkz4OMaM8jp$3Luiaywp)Il(+@? za(KK}tiBEkRWuqyo`lOQG{mOr;<_R01)O}x?0z&US97&dsGFR2CpBWowQfLrMyFI)xLg1tF6WTVxyn@c8D!&otjg3iez zj%r{cS_Cx7+FO>r{A59ZjEESLViSqF&R{(=gJZ4S@iJ; z*6AFm`Dd)9_soVDT`|t)YKWCao3Y)bpFERIy?u=FqxK2Q%Iku44y)5@(AJhatrcCX zg~p0r5ZVe`f z9%3x`;M`5GINsHjIoj2AoL+&hc-Y?;*${0nl)zl*$IumMDShN~davJ)=6#M*jUOzT zQnm9*S*vpUnl=J_`e8PhVOxWJ^8vZfua`wE4VFAnsYHXRoG z$`UWae-Eg>Zv7r z*U#U+J)M5N?nF-cUoHLH%PV#bS#?_ahvue%(La+fLgJl=4h_VisT{fgGx84S%jY-K zuOwbs9=BgNF!kE1c!8uJZTtkelfRwXW7u?9WVa`No1|a(B*6JBndOMVYsYZ!6hmCS z2%-S!PbS3}prCQW6zgledf35%6(oNsyhj{mFg3UUeq#k}m@=$&vq zPdn4)@-Lg??rW~msf`g&Nux;c(&moGI*wm}4qWhkFt|J%u8*S0TEqJ;*ZU>#G~;m-#QY z$0t=K{8IE{iqliksoe;}O{=7ra^%g4dOx%j)vWw;qu=MKpS$vjO>M)D#>j)qYL-0L znD90D7VkR#1!q#m0fTarJgJSk;+~Zqvm6sWzs7S$nsPRCZlR_?WWsn?IUd*yTx*G$ zc#Uu}F!9zkY0lI%ef)96ef)9y!N(teu^Ii5u550^BuMy{L*?|td%p_ayARY`PGgE)!Ij5Nn<=_02UWNV4o+c=3vFQsF`Nz%lESD%#FK{@3O^VAe(r}< zS>`Xul`Ep(^R#iwGq2o*ZoL2dyY9-|A}mW%PtzH30V<`BTjtuJhqOsIwQYYbePr9i zLi$H^!Q{`&yaQ6 ziAhuCm#r3Gel3Th2I=2-bs;nT4wBQKQx%_n8eEJoS{oUTCFt+>9;|m6Vzp(mxV&6Z zy)bbNHIj&pMCQQX8i(GeH(?G{7C)%Z3E|xSn1wZh6ma0YV+p{H9f^gA`oP+4R5RdN zHw+4NQ<@XcJboD6|8UNU!-remJTO3gL;se$X6cJBe)ie3&vv~0@<0B8j2#zUSh`?@ zYJTY@-z0ox-VV-_jy2(YMikU2e42>^ErMq1pLE1;aOHX1b1@S)C-z)2wip0H-`?<$IvbG5WdkL zqwDz;{d-t@`f)A?t)MqzmI^m5Nk7Wtp&EMVChCKXu9LbNC!L$<=1{0MG&`g#JbF}D z7!nx;^m=q@k)GZh3Lz&wFJh-C5Dh?RT!1BPVFSo`5SSTBRG4>>vF7pgx#w7_DOkS;F#< zKQJ8}HW&E)QZ9Gw2%1dai3+PSpJUc;^j+o-*a&@1->RGw^kuOQbYBN8?wIURJ^vuR z4XvTyMirgx0YRG}&Uq|opl3F&Zf-_jzV%i`x+!MR({~wxAVixVcQnPIoYglIU$7sQ z;MZI`M*g#VfjR4NpYr(qAZG#I2J>-pD?A`pKrzp}2_r73X6l9*douR(_``8=c18(W z>PmzMxn1ruBbA9#AJIoUfL0m*`-RJtD04rbuSyi>Z&H>Yzz;^5oEOG%f$f8?&{EgfEtK1e522-H@?W zi>E!JqwY*|8Zyt`gKmG|zxUij7yKQrTjFV7f+OL*@HDqt8MLR%0wW{ZxurGQNhq#R z3jdx$YZ0>Qt>Qusw}s2g7nCSmRaFBms*bDn$!|KS>#Q_XiX`k~r3#nbKG3Z0*mfg4 z#!*>MN`2-9pRd9DWyyrzQb+(wctObz-BzQYeSVl)7&wXx#8vJXa({u-;OrAADj|Z`HG> zCCSJb)?GN0#QJ8VmXc94AEPeMta>-^_IvqA?r>VdbMN$D_N2rdT$Ey9|cF}a*9 z;Q}*j1@t6%rc5C?N*_T-k0Q>IBXpWlXa0_F8;}|%Hmd1+4)m6wIad92+Jcml(!HG< z-+OOUn$z>@d+%+eFV_jse}6M`t+KqSJY75)b?C}+Kkj-fRTEUMok9H~fG>J$ZEbb+ zHp`&JLeHvKl@x30>%Do}4=irWJ@>$;4~%@T-x|-;xjh;XAig~Qzytd(S196EuvM@= zu5t2^<((*lN_RYOYK%M(?K#fLA!muCU`BJcqmC;RDPv!aQ91%8uJ6JE#e5!J!K^D! zy+~#k@6Wt9Ru(e1TJoY|8)}K<>HIwYVCqgPX_du&wvs|eZNwEQ$xp?@lP}zvtMc1R zJX(2upQ}kC+e74S%YIydeHVREYE+P@=%}Ea7?~rSJHH~oYhk`b%A?DpYmR4`XwrxdAuOrjb*F=bl9z+!%D}M`#7#6~& zoPL<1wC_||W7HVP9B}?J>qy*N=3ucfIuqVu73XGF4X-X3uT#|AsW{W9X5*X!K#e{y zMj*vly-`0L|8H8BipL{eIVbW}E!w>AT1>S~4X8L2=nnMIs^(A}3ez5Zom=3}uc=IH zZHt4Y#b2Yfr8UNG6w)d{15#@)^>*yuquhV1uG3m(%`ITGov1_!n(*uoQP;QPi}qVA zwH9>u(WA%j3AXFoW874;u%n5e-_lyx=`_ZhO)XSQtg(cr#*~#VC}AuV2zZJjrMOtD%P)jJ^5X@DXXE6ds#6{!`xgX1`Cg8C z%>Jn$`>4+`K~)`Q2pIsTxKY23=n8zeK|kPV9P^jMkA%aV?57NL1Jg>0l>lfBCX^-L zf}84MTva_m3suanvymM(-dW88U*$||6r*b)9pD+WZ{PLa*xRdr81-C$FO-H2{MYr( zy|>-g{>US}&DXE<`C1=tg&s?vtkkEwNSIeI;a`)dsa8nDh`s?G+_Mp`L$ZqUsv63a zD{~g+t1F9y)K%^H%De{6HP1Pn&jjxeE)NFL@KaCG6KkGx`4=wqyPm5V@nJ;RH}b7$ z@l@&b=`;HTOIw1@&ir7=G!O0Z1>NwmZbLQ4&TpD5igZ%Nu*Qh34fVpB=0GwXRwnCm zLEteivIGAGJ~)riv%6q)+V%7!sExkz%i`L`D(mCUvgZGfwD*8-vd$mJ`+1(M?wO=* z(llwB(Im}mk~Ym~M$@M0q611PqwKv4hz!|7WGI4&AOa#HF2r*o;^y4vc}~uGdMfI9 zj_-LM`S5>#o+s&m>fP`4Z%G@T=V|--yg%NJO@Xn7lAN&S2ca)E*p)DX4vMDx z0W=(VV40xN65Eo=#3C*r@M^lzPDlffFYwEP!nz{mONOjSuJqIX1Z~^k*4N&rd_s5sX+LsJHB+U9N!~#?hLMBh` z__q4umTPY>vQ^-tHk10MG3eigHf@-$D$e6S)^t3J+Zjo7J6%R|TEHvlv2!!CNKDDvRVb{7=VHhgksUr=34Nv3wXlF`|BxlU3 zYMW(jAR{H1nHp;LZSXe)asu^vJ%Nn+djAF=HCmku+XoJzX8M@wAr7I3?i_4(0(hAe zYMQl7iT5#EP9z<~SA|L$m586hj6s&RNqOY|0u1UTpK6@61^s!3^6a=S-ihPfib9n1 zPG(>%CHTYr=>~m{FwLLqD=5SzbCxZmolQLGvCe{{!yt&%Uj+{I!>H-0^n166H4nFo=cJ}`JIe9D4 z4;d-fZpz|pLQB0P+)cjXK(0Ad<;p4!`I_7#y!h8AT!&O6lc9H7W>tD7{;S_)_M}DJ zV=Fu@S$@E7A>jEdP}@!X5oGcnGZC9d1FO$fLdTOwfbAP$I!lK8&*)xP+KAdv)i zMfm;@Hpk$?cl)<;D_(r@*|qcrwC0&-nqPY9)Tu|TKfrvcoal>TZHZ#EcGT1~?yfy_ zAKF^Bptv|JS9K_55utj@qbE+Fhv!PnP+gavhW4A$ zTRu3xs9&zj)R|1W^x|@V)cvMgrtxTctJPYMI#ylZ;~c-qsUVTk*sG?Z0Knf`1EcQq$ zDjUNYY3|JQW|Nrf;R=M7WS*Ck)?DL&hB=vvs?2m>AQG*y5EybGK5-m+x7NjRX!L)_ zAV!rbhNKk0A;kE^7<`N43v-!IFfHyTiz~ofO{tTTp<4ixZo$tWFWz}UD5)!w{k1eZ znp^lb%t`g)XC6uwMGKQpmg?*Dn%Ek2lYjyUF2uK2G{RPc)aSM~U!>NK?|_ic4(KC# zC*D2hr~Iv-R*uI{<)h>dN(z>@t->o;W|kVQ@^nS1x5DwhK^(RP=4KdhJ{D$GOoCFj+9ltz3k zTp%ye34d2aR1--Oc6&7;^dmkX6r)oTlfI&h4&jfTis|aZh51y&h!NGzu`ld8$6n3$ zb@Eb!PwRytPK6R<8u$041uIl?a>Efc5}zn5ed0McgcSaBYk7EbiG<)27y7E+3p82B zz%Cy&q4l5(L2WxI$wFd?Gi-)ovphabP;*2(?z|Hp%X`*?o%2QVGA3mtU?G zrPtM#W~RE8cDI(xbEFpA(^JhJO-OD8UqC6~?kf;mWn~`8!7P9rOf~q0yNO%}q$3Uz zF%f4ZqlwAKgbOqfF~MbK(h3&(1?V82xF(FWpWb%cBs38p zB(GhluoY#+UPiy-w#Ei(ee4i#N@=Ry>eA{{>eYfeC%3O}WmF=rk>$DCit~fnipcC~ z(>QiCj))iM>vykPS7yZPola9FdXaeY@k0E=G;oH`ttm+vv&wC=^aQd%xk(STfO6CB z%B~CMwX|e-+X%Ya8ZrPcsW_jjPa^Y>iFQ8VFNTdXxRVeY!$?g448h!iI115l0C@*7 zHO};!E zd^Z1Q5Q?MHR?@paC+(=(5j?wgD2by=W?+@KjDUQJ(%-qdBo|F*^dw|?THvT1V~tqUi( zy3vBNIn#90&%pc93-F#S9knSCb3y>LmOJ=8Vkc?w8D7NwoqLSmG+s2pYFZi&33f3*2>u^5St`H}qT7nS`O7%-FKfnzwAC9= zEY6vCANA31-NCZ6t7~p}hh9_g&J8uIUvu3s)uR&P^Y{YS*WToBvNpWYTLM#Zk*NkR zHweLd4=GSKV}*93-sy1~`9tm`Gj}#Hcc_KI*(IAALZOCDC9{LN#nZ}Ec_J>1-RfN| z?4Bs#%Za_D1fFsqt$~bHJ4`BKtb;+Jqj=5~!*You`8RH{1x186lNakiA?a7Z)fIe2 zzYa#J9!9Bhf8Ip8Gf$Snx_o9+TG|L zITywfdRp)+Ws{w~3;cV6D^~{h_-|QWUlFXTZ}(OC+UvlEsJ;9G#0ygZ$Jxww7FSvr z%@cS5eFaVs4T-O2@#RWf8hj6dNPzZY<)K#$=jcY~Yb|@Vvi$8J6f@$bJUUt%D zA3h1VQN#HVvYTzT&ALjL(8@nuzF!GQxeF?c4GcPLM#wEF{FTRW&^8b!;GMx!)1U37#M?|9enfK zgl~PmB>AT?9!>R>5+AyruFXh86IxcE?TDvcgsC2 zp!#n;(u*%oor)gf<$Pz=S+y>M4?iW!NGX@%QP3gg?m{J>8F(!Pl*Fhh- z8b!dN$F|zx{@zW>YUnfL$I~TUEvA-HwKKE_-S42Ct!U?|jDlrTOmpWMPqe}e?cP@0 zi*65mIjX8GIJU%(u9x{Ldgv}gfk2Zn@2&_c~Xlp;~Jn z{xadQMvy~)pbg-&Zb=%Sz_FnymSD6%am*()<^`Q&5Dq3DNNB?f5IPK~uTBJ^L#s~Z zUo+`FkV3vtlw0pE5UhDD|J;o+4$|TmQB{j2x^3v4l=u&%)jCAmcJfZ$#HA=VehgAY zD)D)w!SA7xF|}?(r4Qd>5Ym2{mwnBINOfdx9m;Zr!BU+*#nFFf33I1`eO{%=&rA1a zit>uWP$YI=wJ+>~tN>z56avpV4|r4rn52TbIk53rdIBah%)Z5TBxK`%geTFE1`MV> zWL6QHBa8_2vHpCAIH({{n&3q63klb zbYwYSC`+Z@Fj!1xs}4Ait^lUD@^dPj1}Gu1JRG}s>Qq-Rx*Phc8@Lx*6hXB2FJISb zfp?YW((oiNH}PcuZ^+C_Hp%gg-anp)A6lwRgZvxd-AagUz0LIeB)w+Hlo7CKa~Y2p zX<$Aej)!zNhvXb$vXSwNtV#>mL>?yIl3}0^w-{U_%}_K$k#hZ+GxgW)+gHDB+v?T3 zcGd6OxBd)TrMFf&w6E%|E{oyXlDVz-+%uu0W5V496-CV`D9+|Jv@7PeZkK1}-LNFo zw?ioGztM=$q=RT)d(D(7HSKs;yKmPnU;Dc~J-3c&D;_yg4qsb)zIAy!W8UTo6Pjax z_Q*i?Cl~IjHIs{y{M6dX8`e#&&BQ5*J9Q*K%ys!8=*go3`Xkd4Q z-+;RCcy#;=ip!<{I`7)qMV+cPy>XPTyZEo=B{9A=h4yo}Ql-IDJa4=xyD4}EIoGsk$$8=WvXNEKU#=Q+)+UKlgsJVGNOm1wc^<+tO z9U<;>_oswMspY`o3P$X5bQ{8NM4&fM(UhtiTXIoGGtv|$S2dQ5i|qSU>MCwW_0ubL z>Pk6kC`@+OE8+5IQkR@uuF|QiuUcDx<*n>jEREf{Hn=6a32y{EGDuh#`?TBo8BAnze=65>+JWK);R=fq-gtHC$i zEy9D7li0Xw-XM4vFq6y(F9ukVEEDkWFfH1+AeQ2`&rltY$SENkH~|qKXSi?%0CP}! z83sh+tBKZo362a=JU(26r{GyqmyTY$1Rss?!kwgVCVubkzU*bksMiVvpL^=0;clS^ z?aVIRclz`v_^DH?O4pqcJzBWzHR+k9_=!)Rcp}<7foiu5ewP0>)%HE}JMJRC4;_L$ z4D(p{G;c3QI)%w(mFIIakBF28r9$EQhcu7=xV)mmX>nKAI4$}HW3|rftf(mehYF(C z{ZAF7s^|jdXYs-chX3YYz7zb3nm7!Jbv!E$y*LD!79?uc%at3)uDGU1FpwmQlgJdj zXMjbnfsAKjEr~0jZ8JzMB#*K$BE#U9!4Fc$pI|;>*ZNANZplMs*}gno!?fwCWpWoX zS5%qGP~)cXhG1`1?SpsS_28xHIq8pNrl}vk=bncVwLLBK?njQn$9ZgSEL56hT9gtD zF0ZY1gsC@jmhH$|w`l9S)XiJ*tZJn{BON)OdEZmvIQyWV3=Q({n6lj6Xs;#GO`<4` zzb#d`gLe3Np8<_EmRXi(hyYFq@&F$OI5{9&4&uuYks$GMFPHSCxrw=dp@cqmDN|8ITJluL6s6qT7$UTRErR62yY9Gc7JXzQLUk%#M- zfMqyihJVkx+w^M|1>2&{&S`#-r?7rak{Z?z{q^8K>)65D*0G=#iOntF!hnwWVH`pO=P3siG!%QDjuX2WRn2w1ng`wSMzW;J(Gx zG;oOUj+0BC;c8TNK9oem z=HOi6bX8(5^GeiJ@=B=3-W*+vpG2YCUZ_iL3iT zsydcIvge*93qJo(9=<4eD1zUkk?xebOhz39s316O=CC3r(^$T-1tCEaul#8 zy{xpQo_fJ2|1J~iBzYR8T)@dQNksWxeS_2I^!e1*a%CjwbgHFJyF2!2uBkfBnd(fo zCz~kB&MmczQq4K`9H-Ekr^-*xHl>U6rD+-9BO`Ga?d1oU^W*^5=#xxwDD@l7R~_g8 zd;n@B6PEhyn}(4eqZ7?o-Q3=l|JBR51+BoJB3bLds*J9#^-%GAThpJ>`&fEhxbx+05jpPpppf(_Wc6o#pVFkZ? zc);3ud~$dM_lp=;vl85VLIrjHlO8XAI!*HU3*j_4B+0nRi!Y30;gcsi1U5rEw08Yzu#)M ztD3?tyHV<_bm5-H4SF;S-wcDPqJ(b3U{@WcE`$A$L~6`oiLBLbL~O%iunz`(g0CV> z_u#&C5!$FQaAnnnbXRgN|Bi-(kwZ<$Da@qK1cUzi*oOuMqEL_{$VG3)ex_2H*Q?Y* zFZ@k%whx03UISWX5#-811`C&f5B`#hSQY&?2;&0<2EoQ;5wST2H0yy?0h>n~iY;~m>V4OYLo zp{iFkzjDt>bmNVO4mIpYM|yi_%!nS(sEgP%~_L&WWw-xF%zsHi=C`ZU=Sm6Q*;2xL!M z#=8Gs_kzS3eCWx_@gTwo6U>n4LxY(iBn5KO8D>N6ZrjxxIuoVoRDncfEicm=v{@O{ zNzMb?IX9M##$huYnsD4%sWtNVQkj z6cs~LVk$XZu9V*?suk_a4(9CO@y5mel&3aJlNR2a#l~xCav~+k4-Ek2O@9x3;;hEv-6a-QHOFVIx{zfvI=i z!AFx*Ole;9wLkg->b(`;v-)TrQd&1Rv_)$*whhZx?7j3EJt4Sj*N)ha0qAcik*o6%JGL{W}S6 zau|9$3q2_ajMAXab^tjGQ0pl7nJrnEc`qQYEgbE9iIr>Wnvm{*chjuslXY`D4ZLgV+5yLe=|Cs!ZJqAWWj zII2uf%^s^-!26-AC5AvNxiQZC$Zq#Wi#J0=YnoI<(;xO0>6r{!ZQ4@p)5c<{H!1 ztQAk68Ps!;PUK2TTK;{*?orE$D3gj{Pl!o>c_d>|qY zvz097gF*qRdA4}7lf1NG_{PxH z0{#;|0z;pGQ2RfLoD?$Kcpe58zq^Mcw7AhnhUlmJP|@qJN6=)v5pBG56y)Yx$bfIB zbMWo({jI)FKc#YmUx);57%c6msloFW+v*^>tONqW;Kjx#eZCG?qubr+qUQS`{!jSH ziy*(*nq5*WL8AXA@WMm=5jlI3?@UUhm{J@<8&~fDK^Znf%0wq28q?JV2RROE)$ZNV zn?K(D(akrASlQVMLQ~UmTW}#0UimMT%Gew zEetsuGEIT>RqJGNX_(U?9yKwK{TeT4h^LnTQ-EqDI5{5SdZapu$q^7H9B<^H)u%69 zxNz8n-CUh=dyWnZ|k zCsg8@Y{ieGJ(btAFD=|Lsj(L_^*xlu^?F`%HDt*O;aqQ8pmp={2Oh`F@+J6PpL<2+ z>c{<#1v-t)Y4UU$x@yLIeAN&1;(Jh4F_r4z%13&G6KiT#clb1c@(yjGFIOG}e@ztp zn4|`oj`!dq_$mXaK*k`Ut^zg%1U5)03pPr8y6k_*8^SIah6vhz9I08=6^-6`CunXJJ~Fr zZ4k#;Cj%Dd2LN+vMvb%yrAS6unR$-HvBLJu-ZFdk>}5RyX{Hj@m768O;#ysJc6-6> z*=wE4TKui&{ms`n*Ot~qf&o#%%`< zR~IZAWtup%aKX9)oiSSw9BmovHwow(#F@J?b=hQYR(tF)N=sL1RDXP`Kv=*Pq$O*h zO2t-T&B>&YNwR8#WGjO^ga@97ykC}Imn79d6!L0FvLGaWc)%!PKiI$vPtXOLP&1bp z`7$tRov^$?VrE`BVRPSo6~TQCU$o%6^uClZFWcC#8;xG}^2>EgOtk%;Qx!7({^9j7 z%KzRix4bv)(!miQEl6$}(Wiq}XZ{oZi@@F{&S=^fU+=B%0zRzLRUvXZCmQfl9wSgu8@W((F zfY4Yw3qIQOXU#%pGnGo=A44lU7?i10>J3Fz6)HNNF4emYc0n=UVXSVOxgj^*ol~GQ z6nSb?Fo-8{&!vNVTe7pgs=}HybUBGv&Y3*j)~7ujT+BnagqPRXFDKY?Yy*QD_&{H( zo}Z81r%JNo*n>Z(D|JC<1t$YyYod?q0iEj@P3Et%I#(HJU3Mn2uoPw& z_T$f$x|a%iN3kIV;E{}CnG4VZyHiATO_KK$PcMd}f)gM{M%-7M5G-+@`S9abuZJdI znUOm2+@PVVmy`bMP*s3`FTfin zj`gc~$y% zxmG+%NE^DF@nOhnbo{|OIc}(=>Cq! zE1PO%I`!vf^t{8NbCs979&vqZ!)0)}Obj4)x493B9M zK^|jkA7RV|>*^k0mJ2^DXUauty=Qc0L6OR3uxKnLO1VyDEitRuuNZ2H(`^->N zfJ*|1j4T0E6apwA0!&nJqJO|3G1jruKVI2M07`f?f$t`U*`j4rr`|nvYW=_QFH(Ck zh-F(p&qb)2DL+QB$gEk^ys4e6w6(H=xFJ7WDlHX&6y}uIjLQ%sX~f-mbawU_WzJjT+@|fgT9^cD{Q5{rFe2*_53@q1230jq1c5K4GdrB~#nX zA)nbPm#$hbf$VPJo7T&B&<`^@IDr$%Ic9ZEHFOP4BHmz@dI3ga*tvrMjCn)yzX?1D zql6A@2!e!hNd`Q1uo`M3r0xZ?gq6#Hh2&wN>TCx}MdxuPd3}M;KMfxf(HQb=n~Ax4 z*V9j*(4!yWKj7z4PDAb#+BL7N73GZ(Zq=1g zUdJ|-OMs7i4_ktQx!$9;U@G;L4R3`~?LXGQD726#JJ|>3SP5S0%}()w4y$qpg*-1p zi1PbCr{NtB)w}U893oc)Ajgk^94GpSAU^A=@CqCP5ddt9CZ-txhiDqA|806CNyh*Y z%|a`#v&XY5!I!KSGZ@86Zd519x?Y@PJ_sM@L5hFyn=>MhG$3=O8fHY!8=EE3Nc(Ya zL(>jjmUtHbQD*dH0-Mmxh7pY|?5s$%YA629A&~c*ElVEu)r`?z`m7({%3yM2XLw}? zGgXp}@81D5=LT4@9f|V5o@;{{wUZztV-;W%AP~?PW4&?{ctp4qYq1U{Kh|eGKz=B$ z04JhHT%r;IauO#ut3DH4q=8c58@yOeo6UK#Q(4nc*7UolO^e+?DAPgH5H3SFiIAqO zQWjJM9KQL}IMNIys$@y?_44v^P>CDF;n6Zqn59lppjidebLQfQn`^W_Z@ITTwt3d9 z*U$Q^stj3l({fs_vs%&N?c~GS`f~j!9ybTi+HRxDQvKws1vHoJ{ zm2eKFq{>U=`)_dM6f`I6^t#M+bXTC#;PpCv3hDf73YSxRqqw!I%2!pB%Bw8Otmg2W zsu(|eD%6kd1%0OiU`^zMl8Hq50M4^O-`OxAC4lfijuJ7!fP~l{ASHn9liVq|1y~Eh zm3U4`Y$Fj^@gV4FYiIn|kc0(rPOw0h5i(y%Yb8)(2?`G&tx(MLgmO3s%a6P^ArT;5 zdPW2bzP!CCj%2A#h_vNJ$>?7QHPMh`B9m0vO*^Vl0H19|jrcTq zgM9dD^17Z8IiXpF8IJp#9#h++J;PN-apU9WM6efOQQE_G_wDHL`BCd2_sYN(~d zTclFcx2fse8GE*aG~XmHy(TJ)T!s5J9R4hs9t~R=BFE_MgHni z=p?*)d%;aN6*j0ODnSNC*K>HexfRw59WMiMH{Ea(YH4%2Bi^lLx69FisfWgo$7e_S z$N9Hzg)bxBQ~l$;&CLh=_=JCMrM9GPHb(@J^+^(&+aV3+@RRw)g>qiGp*$l43AHtI z{cxV67wJZhTH*H8t^qlU<7%QI@rNDk-&#@ zuf6ckqQVKY<%)n3HA2~T^qJRR|N86ZSF$n!f}AIgaWds4l36b3#`M!K@PSm%oH_H> zTW8KhpV#Y6o^jPTPRy1^gOa*`4?fQ_Re{jx&IlsT;%$EPLa@`_?e3`_IAV~mWWMb_ z=&{K5DNKXDvW1Xw3|emD+{hM%q&SpE{38%LQ>cH3+!6*GaeT7I0)yFbka2r04g>-c z1m{ahFJ8PDJO0&IRA!U%xs-HUc2R9RQjB;pL8PRwJgImjy}&*|s=DkNwX9R>jdp|0;x)Sr+BA`_TvK4$Fsin!b$M%UWNLE041iQ2b*JP^^iDR|jnom32V#(& z(4+4rkgX~b1w+spe{ie=cyz)bWdaFcq(bU`ze|Ks_R*_NJhWQfn!kmb3^Nn)(<#(_ z8_Y}Z4n3|~)F+0~TxcN=$F995yIzoUc%8BDP~8dIU1^O?hXRZcsl4ed;kB==Skk$u z!)u+@7AvC*&9PgZn{m#T1+*+2xb;QCbTgkYw<+lNb)k1Y=aATqd&& zP6jB6aY-_nFeVi(4n;=!JX-Le~A=XMP~U} zt{0{|=Hw>xp2!&89q8;x-*LF zVKEYs9;jRdH{QTz_+AP`YdqZMLt+ZVsoH)Qwfn{!Z={-EgRVdZuB1fL&UF-v1bfpR z9wj*QP^mfx&ESiLyfg~c(TdSE^2E|pR=@YlMsI~Qi!9l2>fCZ`$Mg4)O{g=i*L?W& z*_c_Co|b>Qj(<66TnU8zNIY^0*W;o3kWb*Z{NG{S|-`uaSxVqZ{WPzJ=lN;*|A zR5?@cdy4MrnkSt)fjecIY|3PIJz9Vz$)#X%!4A2(gWx$lHb75DMnVl*DBucfSKW_} z-FfGon?!=USzK_40T(#lQ)p82s8QNZ=X`pG9jeL>l!n?X!!7`%S9&!Lj3U@f9o)Gy z6#FPqQ>M7K_?DXrZ-Yg%`1>NnblEjSZqEP)5Eu?*fFw?z3nB!nNeEYER(=$1yZ-v? z>rlSf6hG}9=}xawO6_?o_8Q9i{`=-0BHaNe#=OwQ%E+WTM-lVb{g3gK~TkyYSrw@JZZv)ru0UD1aWgA<_#Me}C0-7?>zw z9nZ$sQA{+S0hkPbiU_PbV%NltzU&jjo}7<*_=V<+7e7H4&m@*|1;H|qL63&8A3YU9 zsj$MI37!+U{3*U3HB|hO?hyT4hGd=sD({SGH*YigtSG?CHDvRHG&d_lU#2q_;LoakQ+lfKNc5kY8537aHZPxlP_}i-MBI+D z#3pGwhtT-ubSI(lI2MXtj5^h`rnxR- zI|7Da)3?JN1K>ju?E7Vi4-(uo4CSqf&9UO0K}3*s|HDQPqP1(*tU<*g|D1)@*!ktJ zzqbDJ%ZI`1rmxK3w!H6t$u0By@F*IaWAdVlZ7d-r~vtFI1vL%G@cf^?36=CnX%Ms``5rpMjt zX;gx+k0l|FC_$eqQ?1_OLiF)?H{ll$!WEGOQ+yY`1Sw=34noPiLeeu(5NrrY#9YX| z=b9%`N3hBlLUUrOIQgDFx5C=_BG3zusiQv(dt^IevbGuQF$;8(0zgX=2_wC08M|u; z?jb-<8eSLHx)xFI$L3Mt*yC%_TiDP{Ezpc8pMsXj&s^fWB0eJmxp4;nFvzUX+aTLOXVZ zM$~@rSzStfisi(Cd*6gu+?5Ow)^7*7_7LOS=R-aPNHu3%s;OYjEZ+s*3-7r@5d-wT zeyN56Xy>K1cQ&1DMXmS&JePVw+h&-8xNPLrtY$}L)bG72Y(jK+4u0~zQ z%Xs4nPPHUtjv9Sa7M8|}Q98Y@Z0k+|)lBoiD!g4hp{a^1RSZvt({kRrFIVcWNUP=0 zU!klNj6cngY=4yi(+o4LXxm67QWStJxMD6pbK;Y z!Uz;gVr*OuS>W-E_Q1HJ*@}Fd@QcKdEcAE$rqcM=r!?Bwf2cEYPy_D%t(7i%bIw?| z*n*eg2Wi_9gARX%_O^b}+39LS7LPwIODTT~&x#*_`w*@7jTxuSHz@^P#PQVnMnjtu zR!$#>o^foi3O&NK3)T2oqn^rjnTRZN_^X{+V*)<1nvc>35>+_a&! z)e@e$-6J%>RC$kDgEzt+{9J*^b~761qVyGNQ-#OsEHgT-b>;OckF27Y?4tncEuW3^ zbUhR4@0Vm;u+|2#hkuev2Kabg{Qvsh0*Q^=Zd48>?D2 zH*RQY!IkxE_oDak^>Ku;ovDW&Sj@T}f^|61=%hwu+rS{bq{5P1*F zV!CILu|QV>6%?#j@aIUb3w=d7CoS z!bcUnu%xc8GK`Lq1ki&%NJX3A~tXV@R!FxUa+~9?0iQvSo;KmiRE$o z(SoExU%5us5JBHW(brHK3lL(M+(||xzE9O%+IQ87pPn)BL_xEfX|QT7)MRYWbFX zWUf+eaxH}pJeYfIXR5d<_S}y@&H$F3VL1KV5?%CU@-d_ zkWGXWig~PiJeSeP;Yf)4Ctj2^ydHIc>RYsE5t7%mXhOQ51C5rDec8{=U>am$-2BBC zv2970SxI3ytcS+y<{U^8zR2%(19T7;2k`0dazu7Vl~l} zXlDKAXgecUNym|X$P-H|!N7$;ugoVH6ku)-Vu%U&--)(DvT8lbZ&Nm;3D6;^fd&dC zuNJ+bp+szn%gh_noxTB$oY-FYwZo630$MyAJX3p-`rEE`VtjOnHAZ9&fiuy&S)V{L z@HW!pe8_4Cv+2aDfVB{}6Uj*fz0WCTL=Cxk1TC09e}4Fq*dz;aoY^A5V%Ab9rOdBo z3L85&8ef<&dv333%5;1`RoSm;Uu`O)7XtyMI`%qxblY0r;CqSOdNwP4@qoD+YIDtcqmz|+0X$ZN^74AYAWc#Ds_fTn8VR~jp3bZBCIjY+=(UdfFoSRlCl~|hT z*wz@KY{q&WO4-G)z?vlt;|C!hAav9Jn3HrFltbfFRJm%{{pPmifbW`Xo zUgAeQJe_F5`iGuaZRmL6UNkFKHcCV2T>>)=-i+trW`jOl15r%UHJA0IG44x38eGz$ z0N%vws}SS}5mk9Ww`5otdj(vu!>G`Hq`)7M*Oy*{CQ?ql6Oc#vqM{T!$SIE5`IE~P z<3?(-OY0pzUnDOus>!!((}xCur^4vrW#Arkztk&jqobli7-UlSsK?{<;MI=k`($Xs z<|n@N7YC^S#6*hJ;CcQ(N25P^xhh%2Q1gUFDlF|sm6Z@ z7Qv7Qfk?Z9oRJ0m&G$jS9HNsHGIjN2q626iKx{=!BI;nL37ZB5c_eTbybh2+A!Kq% z#fwInl>yWF_NAv&D^u zqJ%^}-_X_B)O!^XZK)Z#&95)vYUO@Nan*;6rtoUNUuE5RjTVxub81_>o}49{iR@y1 zWoPLU1{Qv(Lm299Nfd>UoVQ^NR7SJmvwnHNbYeR(*be#C1fd!IBEJ83BfQe_9lBYZ z?%5`eL`htq{R%?TWoleAXUES?NtaKjtIM;n-|egMc+oTdW__(Wv01F+en1*!)SrGK zSfR)zq-i+Cs0zmk1gzQB#}5X{c<~^9UYS-+otVC}Xv@5R7hQLaXdT%rt4H4#_brj^ z`M73BD)$uG8W49-nH<;c68wbmC^48oL^F6*hrtP|vlivNx_L7WP>U8USU^258B4e2 z3I%v}gwo3KbQF$>{v%}kez4`fRGYiFa6v0{(>vvUd+c~Q2}FSW3v$z;euAl_kcD*A z44-e~U|su3Mkiur#Y1!zoENbJpnjNSjSBNXS0e*o8C8PFIvZ3JF{Uhkm<1EA#Hvq3 zrZB>gl_j`i9}jb>aNy`tBR~z6Vf~~w&XVapiebI)#|FS^h8kRNgbkIrt@7x0tA$+GMI^@-P_bvAZ%3FnWmss~<7^q7~SFE^2$ zgqHO%8DS7D6D5W~XSj2Vw?0WY1L84I;+Q7bo`^Qxf@VygJ{|3U^(8F*QD~I3aqKc7 ze>UqAJZ>rvn@mvSJ=3X;Dk}E&tzO;ur?k3Ocf^;vbqC$=Gu-r5dq)~M&bYsmbq1oH z-2riJcW-UaxU7~jwO@ru=fL%Qnk>QV7KLh{cQ>P3K0rUp^ml>z!r;|yCY^F}Axul~ zmCf)brw)=OZh#EoSp>7WP-u^aI7tTr`eIS;@7_HO((|hWfoLF@ocGSdoPgclWU=n5 zD_f9nDjk8ssfEd3MbS!_mt!c;NrpgvMp}_f>Ml`NdSuNv?3Nzgmt3SPk{B$xaFd^& zUM!PcaT9TRd)>XrFI{k*EJt0y^V5@7Wi0GT5kz9s{c<1*fvEiv%3MHE^05Nw;+2~P zm1YzTmU+vzvWRzd;B!d2!l*6lOpWJRyE%4RAVA zNisn3arr&G)q@84ml(PvGk@ZXU^FpNB7 zI0r)tHV|VZk_rD{#6hAR0TW^$DiN7IC*+};)v1X_3Mml-USjyU48)97A)@_c!8Fy{ zTe)Ey6KBN_8}O^w5A3Tmn=v(jmfE3>kyuuxJE zjffDxfa{K^Q@KvA*xXx%9}E@~Z6;s83q5Sp)KsPw(#XLTYU-6ag{>`O<}qh8ksE}^ zoP>ND(kU+mCa0^R25AO^IlMR-lEh?a!Elw?Pnb?FVI)AB@u9WE$xnh$Ja#CpkpcnJ z4`X1$i~wb_Y__85)22(dLMa zVFl@6%Zo~CaNavERb1rrYyC^{d#@N~d~{!CCO%^_SBa(kWR9p>VPN%q_}G6$YZb#$Mk(y=JzlWnemRWOxT;m^vP*rj)vgU;iN zJs+XPJSz4uRZCHL(Ie%u>_MsOz0?!$)j#+>Pivf*zM;g{@P4&Sf|Ar1{IcD}Cc!;Y>Mf z0i=ou^pLZV*TUkxH3_8mf5rL%C6hQ%2w@;tJ{wR0O)R0$F&vsn%VOfTzk$=VGvAtQ zP0iv>tNmV#m+wBL)HT*gB;IOmwIFZL4t}A;pjoqZ)v6|_+5SyT#ap1FH%mWI(Tg^R z4qu;L*bx!kc0^Phs!R`2oNW(;&IJ}N0yh%lM`C0Db<@FV38&lib0 z&FqnAF0A)!=sRd%P0pNnJA{m9Y04Geq#CL{_HBbR=r`OM1;arYLEtybqu_rm|zVpm)RiR!Ail+_a>ot^F^>YHiUIp^z(x zFHo~$H&0`N!RFoQUhoOklsYS$f_B@?{d}p`KeNfM3{%k3`tblnq7rBQA|2?DnUMYa zh!#a$gy3uvLf$^3mvR$6#3UxAOUPtQG8Gg|`VQj*ApzNhEEoU|fC1zq>sq9HPn|k- z=|T9wZ!@07JB-Pvq7OzdK{v0Q=ytQ%>9&;PFJlE(c^4O_T!9^^W5ZL+mbo@;a4pj^ zXCEug($9S3jlWZSyZ!C$hTKxC#orzKds`XT=ers!5K8o zkD^GLm;TkR8B2{`WhgS^#r9%&Stde-dmq{=pbPRIlVOq!N%8B_SwMj66WU$0Z zoE`CQB^-?iSQg8;;45SOlNbpD6o%9pbXOC99ndu4cna1#00#0Ej>X5rCUdRxZ?y(f z*tjLww!%H#U`qPm=X{bmReAb~r)n>hB}~7@yGIfX3nIn5O!JOC!Nz0Ksb;o{Xva z_w31OrnAoeeDYr>PC$+u(QD}{7|psRq}fq9Kf1qI+?Xjvb@+YnL&(s4Z_IRswu?Sr zQXUD~mbfAC^oO|e8oS~C`-5(&7agsv$kNzx&rHMW)nBlh#bEAEWHa#*yb87tkD84Qi1m$ zx3zeD-tKO%r?RVcy0_GZkD!}8a>Iusz>`hzU=-Mef22kIJUtikhbxH>C1D|wZkxc? znX0a8Kz%63xl#!O(-$1Npt_JmY>@_Ndq`rL#@TQG)vjIp(@$&HzOoYkfx2(7b>~O> z*MWy=T37i`>XqpB${Fp`bJkAooF(iIManB*sH=0@M*0y;sbHx&A1!AfDX9e zs<&gr2(Ncxv{LTV)|;e0QE70Ll-Rv_5KDNB4m16|=Ku$Xg$`LhxNZTZ;q(&eR}3yd z4Gb~b2x72NUYfPyfQvEg4y@b+LnC$woV>ze7lZ8*hYd8uBf_12Y;sYJIY4>kMJaew zt}I%rlJ$6+(ArkC;u2m}9Z2D!1&w&7zByzLy*+b!Mjbz8(R5`dbXkZ|^p1u4SvRt=|1$5@qbQ{sK-P-Y2IWa6{F zVlI@yIg~+CCdtswamMy#^}A9=uT4mI5)vN(Cgh*kNscSc$beya0SHSHzhZK+z+fRD zW{3vBpMf?{fDbz0Eb^$@sAy5X;L@e&OSWKjoi+A}kRclWM1i5IAn$WZR*2H0h#UK= zK^e_cg=OkYO9h9-nTd|~dH}EJ(t}=;RgN|V*00CQm(DDix8x(1H?S5Nu*71SeB8VD zp}g*HKfYAE@ksiZ39+xyEe+K>uXUB=#`nIT>FY&&MkSCN0+}NNQXm&L%WOECN&5yg zV5FPF4p1SoO&Iql3Ws+-vTntfPo6#;Z1igpEPPB)A7Y88C@S z^DCl#5AVN0{i+u#5|-ljx6Lt z+wnr-Ez8rPb?id4{U*eV?LbB6&!5tiJ4EF}C4R(Ur8FOZ|NVRK^=}_vni13-tU}zJz9y^b-UXkk%84?&qALqLcb!$GHnOhKXWh@vym#` z^x4qvX?RKn4=LaZVfU<)9o`u!VD1WGLXCw72JWfjsn*cM4b+Hu^vhLNZwi|HEhsd@ zt&BBZrS2v-RYfamqqc^s1yNU{t*+V9K=YF+aCR3(@sh}W8R=pDs>Gcte7B`GY%0Q^ zgbdA|0Dy=sX8BCvH@j7CJ#rM*KYEqYhx*zlWsZxCo+Mr{v2|)@Pqb%(n3tZ#v81{1 zL})7gZfUuoxh-*L0shGhbB(?DC6m@=23Qgw=(CW2k*M7zy@yC|Zjh)0nj$ETB!-sI z7R4|a4nPN#LQK8*%-sPLA{r!M6GTsk=O)y>NB()&&qt2@eAiu&JwUX^k2z@cpHs%{ zCY|}eZ8#E(fqlOXWnH>-SN%WmuZTAu|1cDhM5r+wwuQstr@}YJ6-TLGp!eryGql!vTSP-LG5z&uMEK^Bk_Wt&uoOF`qCIkLC5+>#h$<`oM%Y>oAb{RXE z=mpsXt5{h#OazrXq*Z_wFwEg(djZ93AlO}f&R*))4J zZJH)6P|7TYQudxQ3X~zTm&jD{L7C;|^74P)_nUM; z?|ygxl%yePoA3L)&-;wev$(u0PE9bf!$5=Shu{Vw#TzI7Zp?8hYBg+zs$V#Y<*~dJ zu|}&=SE!-1-mJbw9HfZsu;h5?#QqR-!VLQ`V&( zSfEg+Q#x=ls%6G%LuwMkkTwAYS6;VCV&jb|h74WMu64&|ZP}a!ow~R_M~{MTiO3Ny zM^OQJ0UUiI9Ki>|2tk(sszb}XNue>EtpSY%0ccnQ_|{a<5@8Ew137i%7kaR9Pa4o@Rxs{Ry-6xd<#F+oXAL6>UroKGvS$s@%zFo)GJcVtt8~kLF7V@=O&attXzq!YK9i*q+j07A!v}jIO``E((3ssNpBzDP*`to zQIE`WN*o!|cv-2lj?jmTJ-q=iv~<0|NPWH&V}cu6 zt&HevE=4(CPr*U3x4CgkW<<0U2P>%tR%q<__Ctq`A3uB6|Mb%b4%~hBg$sN3_zxA& zYHtrIi3RqoEipAUdXc+g?wJzntoYK>we#OZ?<}}S3(YiYl=)r#O))7mF&MOO8)R#> zj~;Drg;B08_Mp{b*=TPOaXDV|WcHfic;~D;Jf5Y~ocAoPGrA2fzopRMR)@di$k}U? z5iKqR{NW(j>|8z_iPez`_Wl_fz(BN00(c=C86ev=KN%<)3EPtIw}UMtluxJy0*J6t zpAZ%2j|0du93LU~Nh2Hm8({?HNI!Z;R&t=FqJBGI4!;>JXJp0w5pZT~U@y~%?@!J| z^D`=n)PBZRkVA@ks6_69G~{}mS*!NST9^l*m9;zcF+1X{p`z^mVBOA&Je`bNeb-~N!q;5Fd2rL;mBA|>xO(~?kX;OeWhJ6^i zTsn>t*yNUzGk^w1A3?kD4dlK-)0wNTlO<%L!6S_LLkpBI&6_)St~WGNT^Eyp&fv<# zILK9gMx2C(S*DI(le)j_u4C!@W(_iFAVf|ggwUh(d#s$zXk~YI zH)=!UN#8+SW<*0L=lL3Vo>OOK4X)X`yU$6lLe$RQ|#U%_;SvYJ#JW6a-NqxYP84G&8K zrH+;)SdwBD6?m<`+2Sv5b+o#zbDla4<+m<=uZ(#a&JEGgT(6c)f^|?04FZMqu9Ef$ z5I)7~29y!PFp>oro)HcWXZ;YMi{q#q)GKBZ5Yq`Y(%+mml;4vY+Drrpnr$)ItyORI z7Zi*ozjj-qB(@B7=bAj`pnT-UTw9YdW@&f!l=0V?zb{>tS8OZbWiX`^Cz?8OOS#Rm zg9?xZ1tUhPYH!>oDzb8o8YFh(SBs?f7-ltICvP(OitVMR=KYYCX46Y^Gu&!pO^r35 z_;SQAcm(X1-WaY0ba!7Ah{SMV=xr}=a4ryy%80?@r;RK)*A;{gn6-LR*m+w?lpbUY z@h(8jaQ*;eEK2`}JR3iFi}in}|IrNPIK(s|{*?6mQ+^Bs&=T;bXw;lmRb`vYwAEy0 zC*f}m`^rbpL`R^AE25GPdOWs<&}LweTk>TY{pfvmpR>8yS?}04S~1$LELyg#EZP~J z?yEc4YOZ{2ikrIr zt!$J)N&P-q!gG5i{+5Jvzd>%dTAM4IR^*nITg?0}NVI|s!QRvW4jy{ip-dS!N+ECv zRkj1;bk$quxm|di0|}Vz!X%AZdH{D&DA^V>QrL6QtN;jJNfpmCM6IizHo_M zSF|PoH+_A5edvzc=`+?CtT8%>{EdM+xhJ3wv91mJ*4u z5kSx64Y-r%#5C!nqu}-H&CH3=vtCdPPc!P!6>>j{?rA~yJRSOhd8s~>QqL~`9WLr( z-VTSi3*tgo1~Vny-M@BsKVDo6bBlg3IiSy4aWVd8`}W@+FD?%J?9SzzA-PIA7jy;b ziE=DlqeUjzWI{}D8gM#6u}GR(q&ZhI+mkIt@(tlCIZKn12_&AWqwRils-Eo!a5bV! zxdG3~1G7CN(;tLJX2|FB;a1;A%rxjDgYwWL>6*ekRavPzFR)y+BA6gd$c$#u3()AN zR-U9P&rew_NC0G7X%r{&V&ixvq2EY+Y)!0KFhf*f$&~(65_L1`=1uc@H0Z{*vNCoy zetoo}1~R?lLN$jsjkOe)7V3*K?Xr?;QTm*RMA`(0s4UK-NXRWNNhsevseMNJ(b>&e z7F8np{KgkVC6}H$x56~!@(DDC%LOMrnID6G7XBW;m>?)wPy^zCJ|$5k`>?M+D30ts zh|hdzkaWvNlWu%a{tJ^(!b3R(e3%SC&JB^mR**bYhuS6-`TU@;4&>`LvzpXS{Dhp8{ zNJlvAl_`n@!8eb((2CNQ61WwY;-?A=OAArq@8#dB(^(ylpP1gxY|zA|7N(V_BN5Aw zlgH$jCzbv2kw13Y+TVZt`q~nM$|RBSnzB>W)P6kzJ*!FodD8QX_=PTF%cC$Q$l>o3 zUlPNips)Z%R^h!cj0yq-NCy2*NrXHsS_gI-L4K~r%gBA)^Pz(jHFyCf@A0>9*bsOg zav#S11v>Nmkhx`i+L#AQ%MXu{j^B}uAG*a$M7vsBYX&cOyI%+kiO_kQ6Ag1)p_TPe zs~aD6+VsPcUCEs`TPJ)Qrhk_(M;{=HAO{>~@(%C@mlIM7UC>Dsby7dO1Co!aO%BJO z9wU$fuxOS(r@ibW78(~5Cy7#Aj1{yjJR!=MSoH%FgA0i3n%C>Yjk2{`ma`fL& zTyxR-;~9rm4qkCMq0UK@@Ow)KyBg-q47dj4xq!jP$dDhOtItohs+w&EwZV~Q z=+L%lYGfvBv8B3dkmq)ZN@OXKNynkag6jj22z9T+z>)=9r5Aq(e}_1_gc*oeM+w$L zLJGe1{*Sy(sSLD=(6cXM35hpA&cXsYB9FT{>67#1a;0YC-GX9K@}h~%pw7%i!<#2$ z4sxzT3AND^f`ewz=V|rk`swSEW{geR@WBJO2p=Y0`Y`?~31$65b_pL!L_?s^go+>B zB&kU+8Wdnt`F5Rmesi_S-PR0^+{$3W=F3UuAx$k-`h5L{n(`)_L*po^OT(YtE`X5R z*qLRQrJ0xII%$punJsV<&YPQJo??*XRZ$T2>ZKZKPstUeu*9GT8*X5E4Am@fLII`$ z6oQhL(3s9rCwhv?A+TY%XaNOffV`ajrSKdyU$0phBlPoPU0xJZ~OtzZ*1uHHL9eN=* zNnAAlV1=!1s3N{HMi4*R60vXI1Z-0Ts2=IYPzDttq!t2vCo=S!^Lh#;LO5&mxN%yK zJVg;W2HXeWEn?09**Ne9L>CLxCVi=ds@rQqX}Z@wFKXB|u4?L`43D~;T|HJe_mup= zgZv@0Dl)wpSVY_@M!sRBcI5*l7GB@{ku%usJTkl^}zOz{u zJSP-Y1UHqO7-5F4+%d^RCrSpR+0>buTsK?2%s*|U!!go1Xb|?#nKM@6YLkw5o|9kw zfEd!d{20{1_F}$7w~-t#=#UDUjmRH~@D>BEk2O3{-WTN}&MqWF8@Y5vK>2`nU?9>X z8V1#Yn4tI22OCW&VW`o!f4^`4SMaqzbd_?~4!%uU;jsnCjD#>k<}Wl9^zIJZFNlqUDHmqG7yx=#mK zd4D8$Ant(uCM2M41eH8+g!Ec6&jAD#WezHedIV6{0 zpxzE#6gr|Aw?wbk+N%r|L!J7m2dqs^R5@E@SHt#z7-9(7 zkV`%TP~Zhoi~HFGM3N*!-)23@rw|Ac5ye0l;Dmhr0K5>v`REzyX==nHnP=3~qzaO7 zA^aWq%LxdqED0&PBX`b3_$(n;SOH#2U13gOm0|Wy2vA`$&={UpeixZ;C%)lf=H=QHmOSD<_=C=tUQF6%+QyyKCK|*?~uFH44n~l==B~l-jNVj8M-7J z@$P|_RH->xp$8oE-Y6`5gGiq~V8)i=^F*?EOHP*AD&oZ#Lar_3oF`Y6o(FGxI^G#%qJvkP?mQ%cDX}5!f=4J1p(K_F7etp@GE#3G%GHGM#5AxEdz`S8vj;)x2CN}nn_H$ScO4BSGWHLfW_6Y;(xcHWd`52SD6Ye)v)%0m}! z4UDdBelN?@lo=S8*;JeD#%KJH-$QBkD9ooKJz}|jyqxbsG$4sj%mXP8`isnx0T&)P z30(ECw5R=H`v^88HPnGeA^Q#7F>q)H@Z%-4kvlj&B!&Yd<4D}M7cXT_=BY_Xz>Yi# zMOX0MIcccQa6Tt=ngSso9c-B7dkC|haWI;1Xn)>RGebk)BSunQWY=1K;wh(!J%elc z2lw$Da&KaF317wtNj|r8mYv>0n+vOTXjWL-6_I!F)l1dY_~HJ{7?NjCdvJTr+;k{%Kfy9$c18LAZk{5)7l=_9*o5gTX!3Qka8Q_662*2B+9;F2t(? zRIwRNvzB~WaUaZ)j!w^r4G)sG<@6sU?P^NtoY4BX)v7n63tBDyp`ctRx4~s!Cm|z!$^$TdGZHeP!__WlUCOVp^+ms7f^$8shKcMnS=puXnN_T3{Ogd)(3T7Kd>nC=2K5Gwb|l#6H{{EnLYc6Ob!{W%_w?OTK4g!G^cfQJ@jCa$yExaD2`#Eab8L)uyuK5c`^)pX*0RY zO=Y1){f{@&=b8&@OW_#Xi_N7_zvWy4J=#C5vXq-FC=fozuRAmvk|U|FaEvj3JVcrz zXQd@X;%@JNY$WzeBIHAk z0B-;g9q^=jvU|EdB~XZa93UP^eEHsSbwm%5X89XX`|F7XEKFC*U(&LQaxfiq7!Rt#>gce#Ej=BjS5t{noI0OdVP(qMZuHh0I^E4QUv2@ zRw)w59=LPpoe#){55j*MxoN=yRJ?Fuj~?;aY_?!Xu1Xlc4$1N71%(Y`r*0(Ava1>< zXoh)5xiwXzTq8XtvT#~BXWWgbpSW@3#QN%5O_hHFq$AK+!UN!=bNEIQoV->2=mRVV z36v0~rRm;bK}P@!au(qzTnmxP={70FP@F-B4+CiK> zgPM2{qWcYM4+im0smn7u@QDCMB4;6oR3qP7n5AWe0+^ebno*=+CFwD-LR2B1kw(*y z`XuN2<20A~sU?3vNzE{0t}ISCy(L*%8Z$^XIW;?3QX=s6&=hM@vMbvi#kltLe1BQT z`4#*s9{X@XF534(O}$Q^2|dgCQ%7d723G8HJu;*kKOU(Ni&)Nhk#k86%<;4jA8t?0 zis$Fm#E8~<9fMBt&{|h?iPb+Le!*}Ar!~cbF z*vTD+q|ondpSlb^Ej|L|5q=QtLr~Bh{5;^P59c;BDwN>AB%igv@m3q?far%EM+KYYU(@v5dkz zx#;e@gTdeld7`hbZm=YDYd#=zOA(F3#CiccL-prQ2!6n(PK)PIR6; zGv8#rXHCbN#3$FOUD>;nKW%ClY15<^+0ah~;$3H72^i}yUO1$w@_Ox%K;;GBHsj_I z_5)TA@ePt$Sp*re7KjB62G4GC)Xb>)pndKG{X=t}2#^iD$C-IyN)bZ#!FnOnDg5?8 z&seZ*j1YY#Ka`dSZRoYBWXd=g-hjH$ErBx+8xuxD>GJ_M5=2D!&k)xKJ>+MG;BU;8 zP-_3|2&KHzq{;}`hL6qmTB;f|+Od!7tYaQcLoxK?^BK3hw0`c{ww`A=E=Cnw7jTFs zJtxmi^~OZ=7@<%rz~jv3Y?~=Z?}W$S_IVz9vOnju<bpT z#e0inwH1kPql^NXCNuvrMV2-*zp>Bri??z`MMj(eD$72Sq?^l&jIty^!ZM)8%`0GI zaC2jcXV4tZcbiOSb$|s09sIPBwiywnh)9ksXut>{OMs3ZIE)+zYE03c2cwnd91Hlw zjxfN1G)m=kYq`fX2s`x+kbrt6eivihy}Q(OW*Id5g#o8Sh74hTZ_ECjwN7nHwpGuV zVSe;c-|mK^N2^OJaxGS2Q8Z*)FuYh%S~?ax%1ln%nP{n7BAO#pxe9XTR~TLTiW|#6 zPAy7t^9rR&{8p+!nenw)igb`5c)lpS388D!N~FQdN2EzylI$**e;5>z4H@DbHZ5CM z?NqLl#pF$hEiJD~P35!MX$wcm$9IpOCz>=hdTM8K$Be`|qccX&WL@FPU;vuloT2wT zbBWln@zkEX0{9V^e@kpwt|u&+lT{5!_GBGf=U7oH6YWdxwsP~c#O*)+H8o`=E?EjF7oi# zUTCNIx7Dj_q0_A@Pp?^EsE*_JMmHA zXu`Eb$a6}7E2{}xa^&T3Q4Pue1U=kSS)&0tApjo-ev62H0BK154)81d3RMDOtFoN9F7lv%J^UXI(lN|%4f3fn3Yt|kKaE%Grk}JzkT20`~`<<59N-Y zl<{)_wew`v-w$HZWGK*C$m98EY-+%}wP^pPnQ3wSE zt8Ekn>-d8jqBGeS|MRaV_@Is-tc7L32OC*3JwXUvC^O*9fvt(a+(cxy6O}z+G(b-m ziQ)~W5wIS>U(rOQ#c!bDAy+fY!xIU%h2&?k_tGWikyH5fOKuH2&UK2&PhOM{{{H)6 z?1ki8(7!K+qbKH4Pe^A3z(`VhqQ_tn!{?EN^j)YBf3$b+ms_{48#1bS&csUZ^z7^z zUO7GyKv(~{cW=MXoPe?pefsGI{CbDQ@&2k6@4E{l7ZFRZ;c1r3(jpg?tS zJ;3XIu17*`M*8_;B4R*W0*}-0+(16!kb@--U>ZbOfKKFhL6}IkA3i*C`6rSz1MC`U3}<*Q6f=oq;- zp@J+)lOzo-X$l=fG56s$4}5N5Ig_#-Hr^iKe|8fmdhzCVWUyBrc0P-cT=-Z)3RK?r?+p5jd?GnL@)*?OE-s=M^AuN%6H zZv&d2K@H8Qfmy2DzP&KDDW+27;;{?nc{~fJL!Ui7>8!_d);)W+oA5OoReAF)#B%j; zYD}amhl>UnrCfmt2tZ(CrcYd?$IK??6xh_%^CK>@3b>3o$2{^n(M@o@%$32ZA11|= zWkJbbrP`^gOAw9r*Ol8|7(&*HMn#*Ru0?OfA@DAMP97XbH5B30fM)Eq`TDZGkL3 zB{o;$=CR8rxZNv<$EG;&XU^?;d9F^STby~=IU9Offqu5!JP&zD4mihs^8#na`7gNgtSfV4qFnQfuV=o*&IWnK*#n2Ms*FC_A* z=zTm74Zra#q<+ssn_JOlQlA97wFN(o>d!pP&NRx?FL>Dw@9Z`w48oW*A34$a9XmAT zpBCPg6)#ipm?*Wupf(wep?pJ44Uj&Dt!9|q9Pz4EV!KwZhXDaK#wZju9eO5q0aghT z5O7C&eOwuG#IGCSwezULQ z2Pa8^b3%F(@T(5|veRrSL_4Zz#9B)V@_YYs52fHUB_L=(Un;m98t{#Qswn2Y&v=I) z-;uUzGxWUt72NiJAwK>Sn!Ns{mxB0d$;8%j|BzWMvhHz}%PY{%)H07MX|iqMLfbqy z9@gc$c5V3l0&`9aLKVdYU9gXhFcWbz+dHSelJ>+08AyyPh$Yb47>FTIq>KoSy?c0}drfp22eTOe1HONTCYugfES5?W{sqEa$@n`-MxaHP2)VL_?k#F} z!4MO(0GdohC8`{`qLNCJsS;Y=BbZ135X4IgNjGQ!QeXja1_?62-Njl~E6x{_G0QMB zl!ai4zUR(@fS|UGk+{Tg3RSLzNi)T5c6P@$cJoH|LbNw}w&>MpKl9G-c(2A^W;br) zZQIW7|2n~iPd&3VZ`HFIU*;})OZLp1$xcR>TI5h9cDmQOwjvS!5!vC(LqiqlVhKKeeThh)8R0)3L#AEe(^uQ|j`h?mco)3A7UbT5r$#`s~=VUuW6t@vmP&<5KICDMO}B3pMLWr#L-&%4K}-wy8IbYxvIrH(k=G_e zb1@P|f)}J|kQ>Yxgv=N%TDdniFE=hF$sSu-q#u@gU{Emj*YlMAVyem^{E-_;&^}b%sm!3mAY-_7hmJ!+4-(P`6fHsx7ocaHrkbD zaLL5m+?(+;3}3)7Z?Z{hS5o{ID0kvT6+k`y>#%o3#;fUM9sth-WI`RCQU`SHT|pQ` z2nS=yDo9Zr$Oxb@Sq7pZN2iM;zYM@Mr(tM;~1fQzD+!JZ!|2 zT!B=u_VA1flg4AlC(#29Ed_~N%Ux!xa&?YVHIfY|azq!tZDof0h7H4chtS|T7W|D) zhX&2D%~VI{2U@3&Yj*L(eB;bVDzzHlFqi9&k*Z|Z+%bi%L-6x-78=Y(u)9Wp)|P>N zbD8C4*Hu7Y1tVkvLkt1TPEG>$u9R{X2Q$J}^+P>iKVjhnvn07T|B*<9FMus1TISj+ zxYe(!fA!sW>&NBGYpOK)S6|D}WLNSuF-g(z&Z<=xKKf|*1Ka99@@+qOa5m&cO=@mw z9-liEviDHQng^hJ4m8feTmHm#%gN7DsCA@U&Y%+3!AmTf`8L`{+Uva5pFky9@j##! zpKHj-5p@=5GZ@p42BI(xynrON6HNv1#Q!HPQ177wXM$sRAR<{j;NKh-=X zh;e%H_06H1N0{8tP7cCHpb^gSb!OvCTOaP{Hn+KU5Hvz!phoW~%)GGxE=Xo(5b%Ta zz5?CHmDF>txH$YGTsN^fVG#sRfszO)Cx7g*+9|rt4xcFHkBOf=Ui|c=(bkGaYt<~@ zAZbH<{u5t***JIZvSp2z2NgMRT4*$s(--vmX{>}JH=Iw< zCa@)3l4%%Tplc;^6sFStH7BoKmz9S+>YO_k0z zasORSJ9a$sNE80Lvnu=2o|50R8@y^qO_^w4-K?^m#s*Q$Wv1F|X-k&i*Jm<0GiO?69OWKR8cddvZ?essXWL{MD$g}7d8*7*Jh(JVlU-Wv z9A?vv=r+x?_~qHvzH#x2O!ExOOw&-yrcFSBT&VXtL-FevZmLUUN+8>}y)PtHhy6>! zm%VbA%+ev9RYQ1u!J502i^^UR1O{2_-NNowza}I$CB&h@ot;I4Gwx#VOe{^hjvyzv z(`NKrU0910o1bqgZ#dNLlpwRpCNSsY$DH^ZI!h2Vg9Klt{7LZj-@zPO9(X#6s3wxJ zAU49Ml3EuawUiCJom9@zYXqY)l2)TnCVf+c+)PZN-WXX1OhBMN3VE5Z82Tqv_n$by z>TMIvT~F5xt9Kac*kt}!@9?U#twoKhnpMjSa7?lfxuI{M)vo2ctnzGLm1aT=-!Bxb z&TB2LD;-l+nf{8oyuhMDT}dbrU(2Yx|B~kl{x;*}tLbr;WNn;>$9@%xyM8rEHV^-k zUkgdAEBJ{uF2A$MH-3gZSP?Po{(gOzzZ(3vb!YhT~6dC-RFIB?10;o$3oh z57JGNaL4}#HNeB`?cz&1%+m869_n`BwbyJmHc#ou&Ei!f^E^t6J#MBp%K|a)phzsN zuT@x7YHKO_+pqWni*gc`(C2j`+p12@%!o(ti@bF;&DJ?jHld{{z#Kq~?PuysoqPWS zF=PTDMp2GuZ1$KvFx~Cpx26}sc(=^P{Rs!5ykBA)uhCKwuw7U_l`=bKLeU zgvIfvS-EP@5Ogo4ER`{Yhb~eXNbnQ~@xn=#BcDA3rSw44aDgZ`BxmV%#;(t0Ge>r|Uq;@#a(OXCm zJ|@JTA!~gW)+&J5tPb*7p#wEULEy5rbUXiR!N4bJUA^`gm@&P1Uwn|3LhcAK9d~ZT z$2{0N;DSwzxzAG3O>MO3#; z$JI>U;&?BGicWqHGZPKLG4pvMIopYf3NPZ#A%>J;m^TYB*t_vBd8T{yIezw@G zu8OU8xN{XSZHC#)@r8iW>ICHr(lLQx@PH!{TsfH-pj1PWErZND-B9BKMaIy1JVf2eIFVzYw#6(7bSq{U-(4_^JniMQIj>4=0IzxL~#83a~&ZC zJ^%H8`O9bAI(bn^eRRZdQk(q0=?Eo7q(A^b7#?IF$)+HnaoAEPHZqWkPOL2Cm}2jl zGkODPPCKV9Cdcpt{FqI4%AcbI+-+{Y9mrM@$tZH3rm`2>9C{U3{WLd(?)mQcz^TX9Z3H{vu*HrStLE z*Nz-aFD@*O@i1t}jD52-2~|Uexfd;RLsJUN#&x;)r_V)c<66;ZMPNuS91xPnN9+os zM@dHnGGW>YHF%Ky+*6(LzwrRI#<*$IVxo#TVK~Z%HU~mO-g~dFU9p%_=iUmYiem$y zPNNsSr=MgSuUq8SjkirI{Ta^$JHuR>W|081;PZmA>DYmx0dapKUwH7m>#FABacU2$sjhaVGXAcK}&pvr2GM_ zOpaVV_T}#s(W|DU-Epr#iC<{1PxX#Vof}9SGzVKcox=)B9F7LP$~nbf3>Du=MApUv z?JiUKL8eD@b?(3?|3%9k0%=eKw6C`WC`ULQzL(&J0Su6^!G71ORqxs|vvWlo1I9IP zYJ4k_b%sax2N?f>XYEDCGE+f0Hzqh2#GIE}C#!{DS@hs98T$3W)kCB{@f7z^G`z}c50%Xo}2`bC+CBl^-0+~;y z1ji>2BQ_hM9cQ-^zMJ$PIj)~Y-^XPE*dQW~KxpeDp$zJjll%(mivopdID^P3V(Q(s ze*Fd@f<8WhUuIMR5wbFQK!stH3X^kkQjbE+QZKuhv1M$h-EE&S&xMPkZeH&UG7+CW z0b)0w0I!igyj<U#ClO9JloweMIo1%y)bBic6uosslb6>hx1ya^`6oJrocJOnm0iSl)sz&Oik`ZGY({{_`vdrOpR}qF<^g0lQI#~AZ?;$R9gdt#UQr3B6js2v+~R_=#C0==K;xQj zG4S2jsG_2vz?)fKo+b(@Ro6&jj@N61d+4pkJ4?|td{1c!N7MhBk*!|*B?O&G z9uJ}G803hDRhnRDvU&+q-|Ply*fig=%Y-n41c?>BAQ)U+w|dYFh+HN`!0 zU^JBjGZZK<^#m0J=XPev2LHY3$CfnNKD10s4*OFEV}%VbA{m(mTaD9MV>47kvCteV z+;C=?enJ>^oXN-k8b}cE@h3fkAkk{8Aj#bJax2ltgoZCu8UjuSxlnVX_C_55s}w9Q zsS=b6nSvaq7*LHGV_{2`!`WcS2@Nv}gd`0X;KxYw4U)%9P1;D_HqE4>8oM862eB)z zrQq!w@E?>BD=(K%hz%`VwTjUqHuNwOe(=GMn-j%#@v@C6$#wB5>wdU$MN}94TwPU> zJ24ZG5>u+DS{rOjAMKMS?sqBTs%#l$xixHQRwCcv;0-EXx-_qrzh^<5%D!DNvAnvn zvMhA|zffK?iuAf~Kz}`Ax4X=Cr=mcVUac&Rkrz4b=6h?Jow>Ef3|V{f?v_d@h_5gV zw#Ubq6XS-IW$>;1Xo)sP;D{D9I`uq(B|g_8igW6%r5Zzt4o~@CRUFunk-g+_RwW=- zM8=q+#)5@46*8fzj3K=s(?Ehi<`F@Rxm^VRgTqeAjv?Z`!LGv(O30m5+Wk+PL&OUl z5D8ce$Uu_I(d7G|%q`K?cK+Z+6{BiBdEOYP!ns);+VM`yS3|e8wBWS=g4Ae4FnHlQ zwH9_aycr0fdiS7OnI&M+pkJ*G?F)Crl!xMf{L$%rlHBl(|BZq#HvH(O`7L0P!eG*#;SN5_kF*tXboG+;`Vq3$YaHS^Q&<#yd@sguVg^M&!MJhdimp!DV36cmfUP7P--f5z=;mVi?w zp#k>vIoJyPNnT#Zrzg3z=E9slY0aX>!+)HVBTWd~oFrE)@8)T+yJO&)5GsRuGU*B- z&!d;gRRvt008Iq@5&aAE$vw#I#z%F-w=bxewR!R3yr=Lr`=R|?MEJ%HVOtTCvSy8C zi4%LrH#SYybTmO@zKTz_;fs=Nr(WughR%bL&nCPggqozD&nEV1zfa^^zeg^p=kw8P z3wPz6#NRnj_k1c+HbZsaIsLG^=2T2Z->q0-SrB@u5gI(awibUH`Do^ov14)b$U6T7 z4Rq>&&sIb4lXrT04Uq|-&9p}uhy*cksuE-Zsr)1i$m+G4La<3dRL~By@X%ju5Sv9p zA4oMV2omaLaIrCxywyuoB00EBr9$INr%(TFE>eF5H@soitlz$b(34NjsC}%mE)b|Y zO_~jBPB`YAK8;>@Tr(!C(=SO0sQ+DvQrNB!BcKxv|yH-?EQ2F^ekk zx541LB}*)`p(VkeEU~er=8C6ECfOR{W}8&-*N5kl zlavCuQ;0NGnnrTfZ9*gZwnmG;$S?a9{}T!QKQ0r-$kJ^#%hHzSX-eo9A!2e$^Ukz1 z#3rNRMHVCvgwCecbToMu73NhYX7Unve5O%nGU=RW;fC)w+s$bb9?R!5y!gbzA{E-3 zsqk!kHX$R=t~23#OP{i)kvCBcFFm0$7kX|aK&DXRtG%Tfvsv*diGz~0KYDyJCoP>noK%YQMiXLS`-y=yUS_zN?_#%g| zg;{+BHYIfv1XzWJ0uVrkWY9ln<=mMfKRWV2TN_^NTTx$+p|#lxpU+T_um1Y$!L-Et zpp&w>t!Oaw^L1XLUY(kdT7|ag67juD-9Fcn!A0Ka*mD_K%e*%jCLyjsuE@mTZp^tndmQ!uiRE?abCD^;iQM$7P#mw6!QKV`UsRUG0;5C zUM_Pod_G%Kd+wZ$d8`R;udmt_lPh=BXq@;1^}ERlVn|3pLSA}ORY7sIR&UG55ympH z@wxfA=n08ts?7$m|C*co*`ur)C|(LQCe9}fDgpJtmjcxc>KUqHLCBMLK;qL^$vbFM zUEQn{zt8IMB<-jlCTtW=Kv#Ue(M<>I#`woDXG2drM|at)^b`Gz5Zh}Pp*!&UJG|(5 zc%7s>k{20W=ymu|$Yc8&a&#?l#vz}E2I@igb4M5~DhYe+?H2rD%iC|aprRIZ%15$5 zeCy%H<&QlN`C~@-U0@|8)Cj{AYBH=i41t1WM)sWi8Dc09^kY1;0j2%uU>0}^nX)W-VPu`;O(~q_|?GMXdk|ZO~FSY z?R$o5aQ+f@o)SiajX;N)cgeggXFJ?Jb-VX_o@~eil@nKR%tJpv2R{E8OJ)c|?gnI& z0g9<4B^O|>f;_xs<#6_U(lg;_6aq#tq06vhGUgZC#-zjx)uxT3Z1f3TC=lb6DK z0y(S$(u5EMqPkQ9QTL}DWE5l~`&PJ4{-1>4w#p~OY+s-PP zubh7W(4kJK4Gq2FmPjW$+uEEHr4sk!ZT8B&ZDaOU*vmIUdH@6Y;E%%$SHicI19QDt zE6k@O)q$BIYmVg6a+e8LCS{Mk5x_47-gqN`EP*Xfo)v$H-_sWia!gctQ%X_p;m{J) z*o+!S{q;ehm3uhc=yrw5UE`*7jZt(z;;oqath>A0J^zRe(rI{68n6-1K%TESDwkFw z4|o#6q^9^B3E3JEJkVMU0UzW6d+d_{{vz0=hf6~I+l;_!2p=?KrTJRJ_`CD zCO&~KDCS~5lGJ~*i=-fk@DDfz&>5NmOGt>`f9IV>aqFVho~F&|!uUJ&xt)JY!-+R%|O zF4Yy#qP<)|2aD?m5;QQf_eUfOASU#1eA-Igl%at!^1|q7Hpuc)lk{a%+FFBS$5fT4 zz$n+Bf}yN_%>N~b{|lkRMIs3c=_@Jm>ioi3b%jBiDU3#tDwUF)r^rHI;9V8y`^ZTg zLSzyj@-olUd{@$!$OJJnm@hhzT;=LhxF8}3c`4{W1Gg%^miSaT zH9Kq4#cZ>3MqW;3QnoOOfnmjsJb^6T>nWeLs%+hKPwh~%w}!b?yA*D_y`PHO{SXXAhnCXX8x!T>E8JGQ+Yw?H+;I>&TVG z^2z@SoXi(UIdyKpi;9CbMC?6FrH@%hGA zUu{I5#+T5x(7y!e>0DoZa52-pNQ3Z3+1f?Adlo|q!nS7S4_2ZgtRvy}jnk}s;6ZDw zJ9g5}8TY%a&A&bD>;hU^;EZ#+GL2Lh3?!LJ!yh4ygxyvoQ_l3GN*i*1s) zMnNZWu%f}z)JnwR@8Nl2WRNz87*o|Lq}mlMQn;kv`2+pl0?AF&p5aBxv*bT$Lq2m# zo>Y2w9&=KXqrB+4E4NN8V>C8lh*XCTtPIu&& z${2i%k-zH0FAx8{`gFsgDtU=vj?(B=AM@|mC>e=qoIGI$ZZUUAGp94Cu-llX$ldpd zhi~VXE}S&dG4G^SA(F}uoU8+fRK0ZODA&R#Cd(~py3MK-d(QZZB#|Ypa(l6qo;%IW zXF(qrAuFHsqlu!;G(iP{c?}!_#x~r0%^65OyiK=K=4ST(3%{&D$)ANnm-e%|!*9J+ zGF-8Vy)&mG1&Obc?YnxFY@ZH4f?5&(;v7f&9@hc8{ebJYqsZ8=??%tlMb_9Cn8bDN(ct#sVa#^`QPFIr|pk# ze$cQ9TMRo!wWE9d+jT>kL8UnfjY{Slx5eW1y1`?^lWcz9s&%6Kb`73VJ*Mf@%<2V4 znxMhO7dYo$(r;SEREJ*i765;%Kn@UEmeR==^t!@{rvn>lJ&Ct4Q6?hKpiH5c-r(#; ztS1u7H5e}y)tf3}57bSq*lbmP`DFkV1mF>WQpF~`5%!hni*gjDC3yug@dAX9vZlOb+>|}D413-YTHLL0b3<1=QK9W={Ds$E zw?#X_SYwomiNIr3wdgziPqzZXIikGh@TkH>@~S9lbbLBzQ#?d%3LaG7sbG3n6e9Hj z%7J)=ZW3r$dQL#q_FXGI@2D82(bJ!1OdN!>22ITP^fcbfit`$@)A^Ii z^F{c@W()$eZp4UxIf(J&AnbF;z0*B9tx~Dgd8Xfs@7*=52u?<#dKA8n!1DmU(!=a( z!dEPyWTlX)N9$1rv^d~oQwK8aXF$x7$0zm&V8VZ6qC>x+pTIQ3XQ+YJ5D3j+OWTJB z8{Exby`*zguUo2@Sz%Pq(O~G8VD3pqV)w(%PRx*GC*sZBl(BGnY@*g!K6kw~+n(#f zM@vi5Fj`Z0l*(@ot0tZCh|dP9BAYw_^&)vO#1&Gr-)8JOvzod!0FkPs}{HUiB6olG~M1KY?*affWMj-Wpmi58JhA4m|0 zNiiJ!MDLznZ$dBPji?BJ$h`0_cpHuHzDqoh{E&%VIJUSY<1XHv;*uoqV5olmt^F)I z=q4>bDKCa5qdT2$ynIX9(3YZJ7q!2!jbY%L!ogfyRAOx}9hyD16 zn^8q;b$y*63on-0(CY*xrb-eM1)-z$L!D?jzGS(4xy`xmIA6~>LLj8#W$*pGoH#;> zhAC&(?f_a5`-SXT8RaR^xs*n?`DFl)QwmY;2Vzm)f(<2D4RjTG8JqBTefNm@5Sto@ zOe}n3EL66YOX8Yir08#$1@6 zitsw+beIl$i@ylhMOcY!9$XbMNhEMpv<&NszSjeeTA!M%W>Sik^*Q>Y=Q{8KJRPoN z=X_^Z7Z`DbE+*JF!b4&}qk%31oiaLj6I51$zCfFHtl4@++MCS^zl$ue}z) z7Xz<>U5F~C;YIluccyLnP^0@~OWMwh`FPPZ$n^ZfGpqEjt64=)&v7LL-W`F;wAVl%e0l-Ut92dikv)vmRUX0$GG?{HES0xLW&_Ck@jU`#=)U+weJI4CyBT86q=ooDG zPxPP?I~h4aq95e_ zZD&(Dl|kcdrc(<+CzKzEP8yWj-ik}mM4zT<*Kjw!4;qNTsZpU$ zsB3?$a?A`hWT63mN9q8{9sweiMnM4u42^&gcNliP#mE8s2iPTyxpM((kW91`zMvUOFC9RIs^ZU$RZ{5 zn>|MPTLhWakaG+U2Gt`2X;A<}QxkaMup;y@>VZokfsUBR%)GbX_M^%5H~!Jf>^Af! zFE$}7C%tSW>nN6`C$1K?j;Ia+Mz#)s}JXIUaK+%TEIAY1*|s=AW6 zXm@nwxfjm;wXTjle$P@9<^fBuVb6W7 z@ctCifrScJsmj$NP|FVt)yRcW)qrk3I0{FNMRWQIkKZtV9r4KV(~{r6b?HaR#V0lm zDMp%pEhM0m#72|17G*gdaC5@(!@sjyTfI7|C9~e0YmsVA=HgJu>0Cwz^TA~U9n~Ng zPqGH!Ubto|iD75^qUI5?7`7z`ZRq4l{5}kYIg8R8Lu(t+J>vA! z!^G(j;2C%YLQWJ91;*t7CWdp|lf;1EIajnIj4Z`;{GY3g&F6pJ$%we}|t`VYej1dWJ4tEn`YHK%JVdXw(mJEy59uAY-2l?Zr%J4EMWx`Aj*dM zs7_Z}CrH327@n7j=i&Lnky^__zdBJ~qw!YP#wv5-?E&ZVEpKLJdvjH#6}Dj$)bW{C zjo0EH>8*D!-SJi~bCnu1HE_e`y z#O?C$E+>u{lHA(OI>wF~Ym3XAG)>+$qixOx`Cnd5BsvzNJAi|pf%8u6ff9%r5KQLZ zI?{CG5C@dOnS$b0N&zm_ls$Hf3w{0k`Rm|7gDkz$3^m5;W^CEmp&P#qeO9q$wq_Rd zL4Ox|;iHc(Bo6fZb~tQx_JarUD-#x1E}izdVctUB0`9Co+~Y@Q!L>rwH1&IE+numK zK`%&>578HiVIW2%9T|`qJ&o((eh|OOl#N-zj$W_n5L9;ras4wEiv*endokU;0ZSN>p9 zruGGtxGW?POt2h%{xdGyFwxO;wE5$Y{b+9B#y@*4fCg6d=Xv&^&Sz~~SJ>53ZH!5< zn)4?wj25}x{#$%E1bs-di!rT4QWeWkZ+Sd3QV2 zJ|5}ZDGB?&EaV%US50z+Cm{?w1o`0%Gc6|Fb) z^MaudJ+nn9iNpev#L@(CgCF)G@pydMh>qcnHB+XncCJ0iuOv`Wn;W9z(3#=m(8_$` z3s+A+ziD@vhmVHwAkvAWfJ7`QB19ToN0M^I|CXsi)pC5zAwm1lFE~2L>}X+sYbw&`jHoNfMgW<} zbdwPicrud?%|PG|N9_MG_8#y}mTUhw_mif3?~$ZQvsasD@6mLnY1*`w2DaVc+-nPe@9WC;jBU?`wXq z1*-JSnN864>>!;UrPIm5&s#S!2RcvBo$DUh6StG->TdrPSNOZhR)`6rj=YoQ81fHv*50K{V`>f`w)hlbB>ue_50xnlwT>yQwA{tz6Urhz4bKFgDFp9LbW{|}D^vt;2+xjUR}e7^Yq;;iJ*&&asg5onTgiYPAG z$S1vLvzA{*g#U}Ta_fnjniF-mWF!RByfx)Hce3;s`125JH)DmN1Y*K1aLOjG02TKO znl*6al%R4B43jZIZLpzXo?8*jSE%akvi!DsenJH>N@Myy0*PrcLM=ooIxCPnxsM4jl_7f6>*}_fV zmZer*o@BQ8O2x^kq|m_p0Ntu;YuO;i5ABMSY$h|1DV@>|iWK&}0`?vKbL1(IwKkSb zESwI<%8IcR1vU(V-N&>JR;7R2F|~MEm)jZeH&%ti%!?m3(|vpNWQ>Gf=UnJ%W!*3=MR?VYgM{BZ*KPWOSmkqY@e z`H&@z9_*koUz7->0i8J!svGmWVG<$G#js2Jez?3^yg5);cE!_Ahhg?s#t6G8QIkVc zn4OKP4lLn^VaFyiV74{xdpUbLef7}k0CbT1j9H07Da4AWSZTI~+y)wA5|pC_`S4w( zFzfLI*m+XmxrT8Owv!F3p9+UPB@5(_j>tGg`v~gO{}S~W42oyRlL)w;ODq3AG9C&Q*eqy;*|#h#(j$QwF3=0z}X0J8TSH7opdwckFH&d~o7E!32N!8nQUdzrq)-K2hW**mw{ZL)p=(Z|_z7nNIt5Dp>={sQ4^J{#b zcXvPY4ExM6;sqgFXUW6kp`R<}P> zHD#U_6LS*4Kf0ThrI=q~M*Tjfkr7V?93)KS1@@G|^ete6MWe*%=wQ)9xAwJ~YkDL8 zdD=_7N1tt;miW%8+?I>S{TaSz{b}W#-fnFVn8S#g>tTr-FLlHNGhyT>rOQYGI5;koao>x`e&8 z55?awlel^8Zw3Y&=eB{6A;8P!B$E%x5Z?tEBFIg6jO$w7` zQTiz3?TGLaa`KEOlhvWmNxCa_|Gx5#>(amFd7-0Tsa#)PTArLn*xZ|N7-b~=@rm{8 zpXj8g-R^UI=sldB1#P2CCFMsJY_A9iW`b(Fwjeu$q$W#6xE>p<=ROvb&_Oh@e(d#d zxCG=Z#hp72=z=ZB2r!FPAmw1{+0gIIyMSB`;a86$EdIu0;+=0+8{fM^{MZ}VzwA^~ zT2V`##nIsGs@_WuTNX*0GYe<+R(1Akm`@>aU0)vnFzEUEz$3Hnt`5j{jPKYf3sm1d z>ybeHjj2@@W4*~;-Rm~bUtt~CkZP{1>9h6t{J18rA1C7bsO^AyfO*;Y5azJJd2n{i zkV}muQvir99LNRu^3ar&O(Z{dFKfn}Inzq=TL-P13tDrM>tWtz$GTuJ_T`0hHZSbX zi8QW?V~6OMdSU1PDpCsw>x|;gvb~fbKMN%dGAfr8g%$)*JM`{L^=Tm;!>;>Q<4|3;U%ur*gm9;RO|eOY|*i~c2-!Yqta zr&{Rg!bN@h_TIcNeoAObV7?3hy#xYHaHDy?+C@ISExEGNx6xBgoO3FNeVeDoY|7+B83vZ8vA?P0%K)4=4GKngR1)f z@O|Dl+014qd0bOx_UkWkY+%fWdA*^F?iW8c`*%_nBDr7oT&&24=31<)b0johz1?ab zksb+c`Wfab^ohuwia?XR!`;v*3pU06l~R+yER4`Uf7>wCH|-+t!w-9d7a0lb1MQoJ zE>hKnE)wvngT?Zyfm5+I17bl%arAjCX9%LHXf&}BhvNdo{aC%lSvRnXxhxjc-&0Yz8*eL*~>=)d&Ul3K5t5dRg35^K}8HvJto0^#xq_LJ3d*pGL^9%i7 z*_prRpRUde@REPG`&VX{uS+d0|D#>vch-xWi&D~36cS~MT3wx6!cT%V>LFk1akl3< z*OLS%fwA0yS?Gf`VG>v#oX4Q>9Ca=znOOgDXafp3wEcnKV^6T{Pn)0x>eXlV0g`eP zJ$&UqBp=@#z4>FwKdyw47B~GK*~dZf%&hu#m<01qTU#3eE~k%seM zSmN`Nx_VYw;MpVrws9Bm4$gbvzIPE|mzZS=Uk9`pdpaXsZs--te*IA=g}pDi@4AM` zgxTcqa5GzDtD`(cbnclm>teUGuH(Ml+}LVnt?jFZ21{-1WXld2R;bE&VxN`1PK;K} zZHRT^kh(<3+qs+fG^=Mh3{uNx^!-(^6!0$SDo26{RQ5#k4Teq8?Vo1!=UyZqyw^g*%} zq`%V{3bF3hai`B+5SS#IP-hB+N?IIyXG|B)oFTRaHiUdFH^SHha$}1xv;nIw^sL{- zPJe1UTIc{b+&`JxOFaCAeFkD;0bBq$Kquxc*I z14;w-9lS$P5&K^xz~TFuZ@(p;Z@;DV^ywB-+yc+^>;q)a`5lnP4;gKA7g+?I%w2RF zuZC{JZ%G!xYhCc(Y(V&)tK=-a%F4>vW{|#ikIQ+&>T+36I9(n)e&@t-8o;HV0-hP< zfNWkeyoP)n|8lsqc;|#KE^qV_P0TCDk01XN9>>El95rXvZMUt0 zlpLr&h|&e{V<*1wJg2%p{q%VPNv%}Lx|b+Ebit7M8zpE4?J2A12}D7lb)oX%Py@n zSnMmCb(Nxo3YSXbNy8AswB(Gb`3o-3E3pEy3G`OU=8zl5m4bdW zL+=r+&)^gwE6s5EtSn<+gAGY4L`8DJZXqF#fTe~UD0Tz6Bj%2r+%hTH)=_x*{F%m} zJU~{C-*)h!oR6M)?u(oke_q`|_mwp{?1{A7FG+4K_@u&5-hpl zEkc?``i6Xt_=_C1v$W2}fviZQO$PwKd6@56ftglTU?g=hd+-`gqlVPrYB%^%I zqN-V|3`e8nW;!KGr;wYOcZY}n-fEq?rrKl)ngYg2^^VyGarm#^QPXdkT;q!m|0P4X zJM<^R8F>GPojI5$z?!5e?ooEIk_L_$+yM6cU^%EK5phdy73K9)uLT+7244pA!coSgvnV1Y zY30GUV=F8{G_(JaUnn7grP;&-R>)%=%?QL9eoH)Z0&e6GlR{EraQkIA8Up1`&32E3 z{x?i|8^~^GpfaE7E(Jj7DO#Axfh;AsR9KxU_oS5S60?AKAJK6-G}J7 zZp=f;()Mpf8JPq!@+QErhGUytZ>TYSNlu}TjBmo%#zSFg2xC*+1gpVN*~lR0K2`U4 zZEc-;a<6LkBIiJ$-_1Npf55;=3s!mj&UDk_prSp{O6qF$pIEYAyzNi)XW!< zcRzn;%jaK-)mF$O3(?O*pMM@Af>7*1avO1^U-ux)Qh0a$bA`9rrtIFMc;MhY^pBhu zcX!TDRCyZ%CkvljPv0e1Y<#It=M#x@h<;UKMMG~-qu7{6Zt=@xm6d)J4qK(3oRpBK z!DP3D9cqiGUfWU{$TQ^UCX^`jR*T)#;HiT$WR@nehK#de5!dFThy{aLXK{FIEJ$n= z@C5551>`AOgAXQi`}wQ4Gr5=v^$zAk5nbeQvb`ndYyr0vs$b!nuRA-px3{}!4`A81 zks3dsFP(m{jOcIAUV7=XlVVH3`$w892b+hhrQo8mh#JFNW5qniA)Jlr^6^fWaW>(K z+`*3p8!zGieaYx*!2)~AYt=TdSw;HF>=knujijli0$hZU#M?vGvTu6KYIxIm!JEuS z!%Wo+{h*$I;HoE@H4Vr1zemR*9!{>bsy$ZEPad_kqV8`)7c?HbcB~6?rwz6XH@*eX6^L_O;30nY72F_dc$OT*|6F}$ zTkBV3nIuqlF>jJYm`2~PsSyO+${I%e=eX~AYu3~Eo5`}TTDNiD7uXym~Yl32YBhzU>Zq-lUQm8ok#Q?hxx9It*;p7 zJY=RZ^z=v^2>W*ML87vS(;DVS9b}frcEICQbRF-ahiYofe)1yN?O?eB z&&3{Jzy9&|^A3lFe!RkmiBHKO>u(3y=z!C}d{8;$Y*hpD0C^#pw}o~AO1UuwBfIe| zyJ6ZS$iTeORu~F@P-W~}>>q(&ne|gb^u6qq#@~Cw(dpzgpo^cd=v;Yo>~c-_czu&> za<6)Jo4`Hb>34>&>S@X=fx^qB3wLD~>RRa?5miCnjVnX-DlK^iYJ0ah+Ov}augbJq z8N-Lb03>^1Sn8O~4#L5kDvlTnx5!WyA7W5 z61wid0kokwe;Vo0g!3ezEFMO!a3%$?7Md6F2O1t0&iLRI!ytfa9c!n^XFq`Zd>8o1 zKWy00dPVq$$mN&Ql~*uR>AmpUU6-CK{S!dcKTFRs`#+D+A0wZC9wC_#ay}TOH~VZ~ z`PrH5KL46Ece!o8-jHv?+}B>4JHZ!Xj&VRAf=qCh(An$HgV5KIlkpks8G@H0gw$s) zUIyHRni=n`c8;$MRydUP3bq$43?5)f!9}B89CU_&T$yX`xZ{pkf^c2LI)QooCum>x zJJHg2TiKpyFp3QN6VkIvQ$%Jg-qEKcCGfkAe%E~VY%|G)XY)@^CwZ}9YhzA!4q;iNQuMf^l#Ep`!&J5#9z8{Vp{elL(?*gj)%LEPgrQe?d&v_m zG_}RsUi9ug5MWz?@p2|*gyBzatE`C9bFEt;GA9kowd$UU0g0MkT~R^G3X5u>|5DWb zV4wzWtmOjV9Q#iW>f$u?>hge`5aUBLg1{VCwrp{z921LUVM*~m3La!Oxa0yUhjIka zL0Ix&@!U|LVFTu)lC^TJfQkJrF+WlM{wcw^Ptyx-+HK-DFib{jg(&E?1zT%G`3Vg^ zN$nK|RqLj~WYtZyJXOiesHpYTUCLWVPI#X0=sJV$bw zK$4lAkVuk}^YinT8$~se0V5Gsq2y`ySJBTh)Ysqchul>-N9<3GvVYhQF95G@2H0h= z3L7xmV1GI6HwTy%*k=}YV?g7fk1{eD0~G|2Du^1Oc5ZLR^dMksQlYU8maCDScik1a z>vy={wPVLtVGcc+m;C_QoRy!S{I4RTg?{@>xlS5n8k6#q;JT*&eqag8Yi5_axi|o0Eb`uq_~kxmuv%Sr{RRpQ9{>85r@cL4bv4G1@NR zPL}9d=H?7=meE-jXEh>6{E1i=bl9Y9? zVPgs6pf8aL^k^J)1VeWZaU}Qv2`0d8IlqikF6bSgzoSuQ_Wk{o;5 z-QDe8W4`AevjallT;A}_FkcMo{2>u;ENxCeY2YL=sG)|@9#BGoL8_sA%DArzYk<5x zjC77b?a}(-_Jh@-xP0cdks%;DE6O9~&B}kJ7rs>T`XS|Iy%C|_>9XcM*w8EA*7O)} z8hvlm7UA`m3BrnUB|`c2e12Yz(P+ZqWp5hpGF_?t;(P-0ozDU{Ul3x9*C~}{r8P{k zf)o^%*!p%=*vqV@96b!9FgxWobC27-Qed<@1a(CzDaqw!Vt%EnG9!}&0=M73&gN0I z28uvNyCMGa6sw1dz@pG&9RnhRW94^XS|Z#ra|M2)48%L;pRzvHC`3nb*JqzG0?3dB zZGw5Sxy@ffoZmuUX(4MN5#2(Lf_zqhd|pbo))<=Vb@X|%+uYSWr~IP+fnDXB#)rst zJ6;Vq;KpWL?d%V1WS*kuC(d%O_0l=gpu-XIdS^FPDQZ-~fHt5oLFfo|jvVCmE3lqK z(5XG+mW^A(awHsG9A5&Og+m<@yf}#)E1p@yH2wo|jkv$aIw*)wuwr~rRH1DFz#5VU zrcJS(JmAm3hz6`!1>)g6XeLrAxHey5CHMRg`Nag;w9I^gNo($B8a2hDVrIV3?iN*v z?EdlN4%lF3kx}oXC!Y~tb!kiJ@>66*))y^Z!i7C`4aT~TsDb`D zjcsxPtuE|Vw?-2-I8C*I7GYP*7a4%!wUc-Mp*VSJ(GQ|uJDDW4G32zp(mAug=d*y` zBGgv+G-h*ERV9?qyPT}T4|t?rqqx-LkhvWdBA-MjwCDqb1eds%Hg44fv}}43zh!f^u zmbxdEKku+1lFn>4JoJ#ki`F(>5rpqA{qqRqdzx9ai}T>yu{ztvo>e?|4w8Sy%$?(7 zpp_qYCD?O?Xc^q$s9=rUsSf*n;O&8Uct6x$GNaXKt@ArgkYD%lcacBGMSlG?LdHet zm89eQ3`!q}s*QewZil8Cp8KhpylQH2)>ivEac!(^!wCQ*q|5_)0UVCeSviP4c9~$RCMI!u z0aAO|o>>sfMZuz!`M`!}4S57R5kwrzhULvlO}u<=a$<3!tYm3Q_6)gLpIwj=y9hck z<)^oTkRIqS5zCqi3!IX2BafG!T3+h08vB|{`jT(oUr2aaul@S#ud!#~=~w2%5t>t# zn^KzOBBZ|aba7%bFEKs)44EgFq)1EYHElHs>5?*`wmMaztjsG+OinG6oL_UNrY`jN zcl!213B`c5?{%-k>2!Ee2!I4N1Ga&5g4k#oWQ}5eAlSeE`?A3M1^J403+TdOD&Vr^ zhPj`$f4R(-J(t3bC;2V{<=EeS7a^&U*k)4nS`+Ug=<6bj2&eHTAvU^gF&AcZiiwAOk`h=?_gNU_d|W_USE%YDp0+5DxK8O zRNV;33|KP`h}}QP^TV1j-vFo{y+-uhFW^X60A!QF>jW}whO`08A@G5r8a~h)Y{yOV z*N&T{ADSC~NKVJ*L>~R;KO;mQ`QU>`V{ME+)+#2-8#4>8_+I$cj?$u~w~OvuM*qQ^ zNgpqCc;z;19x z4D80Rbi&=?4RwxSO+J9}*bMtbu1yYz0GR3rPowHEQ9l;NuYf*gY^yI82ZvTtD_$4W zGM4--{z>xSO(jnToh8ANCwv+~K(v#rIDId9@Zr+RvRWQqu_NFtsVR9pV3h@>%qLhr z6TvdEuAlt=*a^VGAzQHuLNCu-gofhHd(#i@Ets=BZ!Kx{`;T!iv)5GNdk3yA*m_Og zZnP8ZtWRSE8j!NM9pu??J%L7+2Vk49BoKrMjeznm0Q+#X+#cL5pcM{X=MZ#|8Xyd< zx(7BoV43V%+TR7nJ12erVS9f0c#cx4<4M&k6tQh zCG<^4hi%ZG!LvqvhSCa!!Vnw8qbKY~F*=8RkEJjy`-KU)bB{?D?^e z(16XX$}Kg>ytQ#} zM3@eUcKd-|Oe(9AW8_t=r?qUknYwU{f*_*!gXg+-5`7uyIKDKqH)b$BNof zR@-243Rg_~X2kFDwh>-NQKKO3Zdp~msp4^OtGmAO{9ZD3(PPZH;~NvQd9p^;6n=+N zno)IeB=+@^K?q|>-;5Idq;7r7gx*=@qO9{&nIw8@fSDhNRdmb{&*))hOirCUF{QsR zf5znONmG=abIJE^_nzL~s~A2B!Gsw4XMIV@ekX8ixZeDv<|uA{Ff zrjW)Afl5Dq2I;BE&&^A@;vw+|y9o&`-z!?&HxovOH3_m{IL||?>34JJM{v0-L!i_} z`$)SlFDEZ$>;01VE{Dq(?G|3t-OD60czHSf`#Xcc9W&!)jr6(Oj8H+H-Q2!*f_q>q zKbJqf)>-A{=kuBAE6019n&6UWkK!d+&21|ux@T^IOZw}b)$XB7I6M!M5}_9_(A4u# zgNJkea-b%(1bjt!W8`252|zF$Hink)Sek^h>sjOrSPR(;HVK_d_P)iWZvQtccil>YH-UJ;*3ab-F5@ zNTd_LA}VtLJhUvz+!zSAwuS?BaO+;u;}_=B-_u3^mdPHR9rUdIa$dgB-?N0}8!pDd z;W+|`yQwfwhAlxtBVla70GR@mA1o#hSA_5%MuS0!#2HCKN?VzB>LyltlB^mj6JvAP zu>5J->nivj@W9ZHeG#x$wAIpp>x)3MnJ{}4Wgp_ogXX9(J^=z`0g$$cjCD?2#;KC8 z$@cC{=cpWu41`}a3FrUC5MgwoEnjDK z(Js4Af!2zP36 z@eiUO)xc255)yoGAZ2vi{{752Xg6mad4$KwrbCAgwag=Gu{~MrEaq9Og(+tuC&HxQ zf&F^3OD7|9TA4&lU_8~{PG0cgiczKg9BA=vv|kyJL&L^eUYa=c#ix(_*S@iO%QF+~ z?e|>qHW;f(L%C&$!3lsGDtw;R0NfOgMq**B``{4RK>}cVBb{2=X~NvXhU6(myV+&2&NfG-tmcM2 zknClinR0&9l=pU$o*i%O+}SPC$iJ%8U4Mc_gyUKA50k53nKQ*xnx7{Rsd)K8k>ukvS$`=?=AU}Nr;`t z2YGmW@Vs)tJMUnT3p_)~T5Nz7E3;}5f6tvan--8Y{_5U+ zw3p$9k?dZg_CoJQID0MF z*iS=Ga-1}PvDpwJ2{v|7AW}>@(C|f)B&kpU8Au8NIz)kkoH|6%tWR8yY#ZMM*pcB( zIjG3R55OHiz!5tB5qz9=Op#BtZ+lCz|6bza(Knzq`1`7KJ{C+c5+rQegB=zsom>Qsrt<+j@14A7sg z%7B*1sL<)p`l_lL8+`~T^-r#=YHwX^E0s!=(xPf_S4M8W&8sgL*rW#YZ;rY;hskEJ zyIgjI4T>v}W^j-0g*_V7Qx#n92q^$m0Up@Y9O6eXN&-m%7dpIa?1mw0Lr95>B5=FG zM%UQw7-Kh!n7v1i9Qn^Nygl&OO@it1>nD{!k_ zLbcn*>TZwiN&Lm>Ji|-o83XVp{oS@$=o9gsS4sm?*a-ga#bx+g7pQ(svv(@11ym&lji=rJl7Q=dqQ;W zssf?sgaUBKUl4r!MSjXtAX>d4#%x}5D3Dg^Gw*0IL4j?zp3I0gcQ(*DDx4dpA``vg zHg}zc#h851)WYxXuJzJSZ@!t-PF%e)DAV*zp0g~rjd|2R0Q4<`9N-7Q4jb&}Uj!Hv zM2!gsLlqb^K^y@!9M^k`RR*vQ)*Zc|FBH^abM&B4qA>{!0hXo0G8#L^z!P&*UqZr7 z26_($k3Tx}?*j+kn=)UvX!6gWetPI46->2#sYnsk_{~#gjRmrt+H{vvwaB#lRq5+j zSc>UA7Oka;T$MuK3LoN9p6Tub2gp%fzW$8wZD?sgb88%CmycQK^Svq+dOK=djpELF zy>V^9#J>7Kr@|+TP8=}x-eYwvxNC}s_o@$5VSkwn)z4Tb^BDM7`Jf*JfFH^MZK`B@ zszNLg%;mq(HI#31ijtkaf^!bA!UXc6B!y`2@L;WIX~+46q{3ck%|p+YJ@(jtcud<3`|mG!=k1q&EO_F`(ukbg_nFd-mYG}m z*(9A#tEHD8K5Rhq^8=01#2A(INMMK48MIVny0f9bmODeL(n~pchIRkk?A{`vU=L)d zv$K1_pR|mn=<|SV(X<(1U4lFVJ_f=@6M*y3(da2G;;^+M_Wx*tmW{ML-#$c}_E(xX z3zKY$|0Q>x`#J;N!p5@7xI=)%I)c%K2J1vI@q6FPd3DYaf*%;JfnJ` z>uHDw!;!(NE>LBFm0?u_FeqCrYQjZgaAzbgj3RyzAS9!)!%;ol4wDM!)lEt0R+OgD z^CTfcpY*mnd=5t2-Tev#^dXRn$T6*kRyFS(-#sHxd*99<-U!S5o|lvbfS4v$m$gny zpFdC%onAPFoC?wjz6wAS(vYS5Ag=S_mj@1wU?@V)%ed zWMDl*bf8c^VeU(O&yq}lAj5Ivt3$L6n>t9|_zp`0Z~^-oNDyEhmR`sojwNLL0@84N z!$iZ3b;>=e7HgCV8x$FTH?(clt!Y2P%wnmgIQKBX1OexgknRkrw)IS2Q@(vBy=eYU zVRs;}&a5$&D=i9>(x5HBGcusLv4szxf@u&;_4G+SKLjRsnWpsW)CgKB=O zwQ)v(De>!cy5fY~gtDD80$>^UcGOwi&Q`Uu)$NfhvTZ7fra-I{szgeyq0Ve+o5Q5~ z8yX;63+PGx=g}eG4Py&Rz!OY3^_rz8VD_;h&|J`!;|Oj~;?F=`!@F#Q-is{I#m1?> zCBH#Ke0=;1K&GLt%drP)Dr^DsJLx6C()9I30>7wegG}rdDj$gjm|I;^2ppeDRsFQKo`^F`FJEIG z+LAM86zguvofx9;gt{|}DopCjgsGV@Wh)S|?fHhZOEh#mlO$2~#@=JbUm5iT^YUPX z?H@ctKr1JI$Zdw$#}Z+g-IUP6JP{D<8)xYa2CloWVP@2)sglVJ8oj)-y2HG_mWUME zhU$q6>3xn;jms*RIaaz{K`B9{FHT#Ub4Zn*bXM7qSoJBunGP@~^{BM0GVOng6XSY_iRl&-Vl`Qmt^>iv&VrQB_8er_at!T3feTlVi!zn(Llu zHY-alqPwO)m?}@+Lq7AN_sOnyV^fE)BXol>+E&!sf8x?@CsQj;{?Ar~JT7-rGsGrC zQ}%kQC7%J*8w9AAIB67GNWQjYXUguSIorr@mt@adp0$qSH49*t_s4w=C3FpoNBa<+ z9L!#^fYKcnr*SHQO+p_GUPsEoy+SrfVY@>_3J_f$Y61&gjLR`BPx~6qOE)18M2F?`_06y~}-y+GvnOF#!Aw#j}UcgCDP%tbBjm!;( z-GUg9a#TWF9{de5`|xslHhpo=6uIh&2o3!Pv^JHLVmLIyLkzW@qg9@!RlJK2~3k$ zBFxQRb3&>&D}7PWnpN%aO{nu{=g^Pjaw5yg_Sa4Dd6YgTjWt}@df(FpO< z4~@o319``1bXOfZROL3ZC1oE~RlV?w(Kj&Q!@9a;zyy!M?3}^elRWdE6RNQ zf)Izl&{AMYnCbiGbThNj-wX>pk z5}a)z#BaG;%aS3hyK~&SaR*ULz#(2B4!O82&U@k7RAN3y5}TmN(zq>A$(mSThJn!J z%#1uvfN};KyoxPcpyw54e8p?^Ijf8-(jM#G(HVfTF9X_McPClm@;Qrgc@fz>iBO*{ zNXlZ82&AtTtLwssnl_cnK7K;g^w2}?j({^7ySTQ{P+NINTWxi13+b*YG}Po|>3Eq; zLRO|iChwAmGSvk+1^i^fI0S_rg)oOKuapJSOW=YG<>(7MnWfAxL$!*pm96X7Ogcc4 zQ;W+=j$Nh6;*nH-L58%rBxOothIzcc*{e$3(PS~WYWf#0lPsT4cctHOanS-&;%U*h zxV!Kdbya?{L|diFPG`z|zke!CPfJz^6)EsFY8$+fg*ywYTXY6(&Zu`&HGZIDoN;&u z^bkSp5apB){HD%vh>2kKEC3^*r7#T%L zOc7Fpgv@-lmwrw%RRz0Y8XN>Ko+ROtjD1@YW*R^F1pSInKB;NXKKNc{K0xB%TzrRM z$pAgrFm;9C&RNiz?DJb9%y~sq*-WNKAkB!~cwYm#oIcKMNK91I|CHqw7114La*rDL=)Ln<5gpTh;DzbN2*?)LqrFQ>UYSq~&xY8q*olLua462JJ!(V5zUL zwoV$0iBAVh7&ZX-5<`z%X-5%A989}lVF6Z9#Ww{M8=6cpH?U&*or z?pIv<4+`~NAAG1n4sN^Qyv4(>&HZg?`ig`N?aO-?=X>r6RdL zO`p~oCi7)!pTl|NhMl+hIur8vfp^4JTG>Bu zO82R})$V+;tgF*?C!-A1D*a3n1B&~f(1D$_jr;T9#Fa@Zr!x+)h_YOB+iZG&Vmdty zl^+r|zRv@GKf>bbc|axe$L4XwlhH%Mg<~ofYzN2zsFuSHGoY|JPZUL7+-hWrh}Gqw z4~Gn-#KAshL;a4Jmq#YD-WycpJ}0+U)`v5oote{_?u0IIyn8$C@^aqz^FPlQl>3x2 zqo_PsTsr9>Q&(Fr3??N1UO*?wXDpA*pP+Ee5ldG5Z~F zOBG4FL1~^-{l`t#=zZI$ccn&MTJ5g#=2UClYfObVm{(qrS}Jrerfcl-+vfE5_usB^ zl`L&+f*>a5_8o%S;z9i&hS?*!aec5~KsrTn9XHgS1n6UkLb&t>v~xfKAh!Uq3|1## zNyE^N4(=>$G^b?H-59?anOQe1!$fpx%ojH&<3EHwS&2lm_vDxlW~8II&{s z_Tn^|8&Ej#xln&TG_*gQO@K3-IZX=rBBX%JZyW3{kOT$+4_@OVp@3NcEQOmkxOQMO z;7Cvsf6b~GE2D;4wHR*Cu7q0%|3^-&UqA2st@GBeFOqxut+nZC%rp4!nQd*Kx z)Krpwx5Qj;D}T(_;_b4ZMrZykTXj?%A>+4i4_x{p_e5GDkuI>^l*X5`On&zaOKnbEOcsqsC4HN$KZ zV5ZTMgaD@?w?I%CXllfrGn>Gqf<1yA!izx4;2+?8ETAa(6pIL1nbPmS|NfTOqV#0+ zwb!D=8jbA;ZEiS81Z-i_ByubMY$mQbbD(X6;AF$*5WY=6Z>DFM#P>r73o8Q6 zNdrHeiyaSkw^2ebanwQ$P{9c(#9$X9Ih;9LQFoAqWkd1ctL6o6%Kk$b~~+gIy`~HY~kSZKHoW5dkU-_ zb9&t%4F|3M36KdkecT*aH3&E$$pVCuN7gR!z`#TN4bXKcO+vEfh;~Rm769!I)-%Cp z;ZMXJKsMi_kn6%77oV(b;E9bnmEJ(>@#C#`oj*?Rx+|=0pCKI&F}A~@U+Mpltl$t# zaOQy1CZ+%WHN0+}xL(rFo8V5RM<&vXRSSHY23f~|s=L3)HN`vG!Aw!6%bgAH2=(RR-ksR3Lsih$?WEh)`vSJ_Re|fK)jC#i4YV85ob|+KPbGQ7CX~ z^g@w=y9E*weq4Y(@TA7v%Th8`IWdP|d7H6!I%%b6NRgy0d-BFyw|INTWY-i@Z{j7T zF!TwXHKNrQ@9eLvX@FjD#?mnTH2T?RQ6hrpn$)}xKSW`Q{a`ls5uk)(h+#0X0rXX|a9X*v3Nm&&?Ju9KsLRXMBwJ_9qnc(QU8Ioao9e|ffvCz*b&OuARFcKkGiM&zwTrpYiE74KRb5T*bQ_&Lj_PWMuvBd}x+6w= z_(i)yM{hG>pc{J&-o(zRKpB(^Rv2Vr4eAusn`qa=`o~f!P&`u%!20 z!({Un;AzTqF4J_y6dW}$1so_!iXqD! z34nXRsbgy-4$_Vrq0EWv*c$^SQUFWBGZql6y4zS%QR6MIPt5po?M&$$OI=3s^}_sM zUcqJicfjp-x-6VqxFK5WvAfC!eCEdfY%+V{!aEl)b}oZ%XoJ(28fb!nwnZ6RGd!H*fW0NL zL&g-y2fTG68(N07s_6{}Qt} z8+4S!VC4oAKKkQrw^6~-qesI>N&o36{RV1B*$UG9VzbFOz-u?CM7-Dzsc68YfnFff zqhve%pKoHHLfs`3jork{zDif_7i*8E75WM?=jD}pgt>Ebl`df!*^lHAKxyf?1ZyxM z-J`B9_WaW2TE3g_nz>|l;mR|OwrgS}sjAB1xFe+^(VlAft$kANKwDKrY(Gbpw zfLqy8;0SVR>{4b~astP~v^PXlH^I>J3;vu0r3xJ^S_g$5QYIbaL9azu`**d2{y znnR#Xyj+JX@DviHB=D%Yc7Gq<1hMm4h?>VHjtqt~(dJl1GjDl}(MGJMf~S4m@=f6` z=J3fSyUO=o1qGX8MQSD#Y$m`!`?3O~Rz1F<MTl0PAn@dOB73#*?IiL)DjV4gt-P@ z*QMp&;wmB17tU|M`Yp`mPldcIXq$uD2C^p5hJ(=|Kqin1F&q|(=R%-Bg*^ijf`9C| z7Jyk$(t_w5;Rtdv7oSmMW6+jkMhhp6kr|nP=4U-ykQzC#IFo+vs%(fzQ#1T(bGXB@ z2T;LEW)5Y(KA4hf&ZzR2mtK*VG5*7B`g!Ezk0V3?&pBW8rWS3b#f-6}j+Z>C`TqN_ zzn&a2yP%-=yGX^~s@p9=9|VZhntD_J?AWCcOqxdRKHp?hc6#pSE~$O@nmr9FudQ+@ zx@7U{YuxLM#V!3AnF5!~8F7FcHxA;mQphjC9t-(^fkW#~sB~bX8=UZfW@;d5@=*{M z79j-ED;O^2wGWY5& zBP!Jy&AD@QAzK6ROQXE9-VDH@tIZI*$M0|Tx4SMUyPzk?P^J2HM~4gBJKafh&WtE* zzk}@B8fEtJ5~cJfJ=`wU>*>XfHA!KAA^-s*u`?e zLr~MeDx4L<$%_kk0bxZnW)M1OsVM#fJ%^EeHO6&N-+QK^_=QZqx|Cj3S$cI@zJHTe z<*byGnRa7^M@l<(re{~wO;^pXJ^Z2^W_Eyn|KbZRlvFA7fDa>>Yb6Xdth9K9 z_1cStCU1#{u5lO1`Ln_fD+~(VFOOFPmzV=TZVb7-f#z_H!`D3HpvNKK^B!O2+29sA zY{80Ek|ej^Qk>-z7KI8tIqLizCyazeA5;nU(35dY1-;OGsF)DOyY&Edp})x{gB+U7Lc43BHr_~iNDp!_)rVvo17`LA5Q zI#)k|au+#;kKggHOk)DT9yH5eD=1j@;#};(5r6D;al9Yca70}N(*dy9X}0}gMdZ}^ zt4G#VNXsfR*t!aNQ`rDRAED>U-rq)_CR?!??$aAim;HBFbQgJi!-i+oN<*9hWQP-EisO(={~MJHJkzhM?LBGMS$p>$xgy$V@_CzFa}>+Hw>)~|jqS|e$5ZY2rly92 zp>VhW!h1i@nniP4woA!;x>w3b+=(qluJ{LxJAY!fJ1wo<74mj;S9aF_`OEwXfvI!6 zAy+tYirYQQg%z1DdY}o)fzlx6`tXRDYY89<3Ygi2y??N>nvH3|#z;AP4$gfjI|CE@ zfDkOBvj4|&k-7G0X!RzcggLT$^|^DaS3i4@9tx40_AFWQ*676l&XEbwKa8(xOwEM$ z+OO-KVGO6gGu7GI3{`q$1GaR$7KuINX9pyw zsO6?xPhWe>o4vB7hqqiQTeZyFmh|tV`;tXT)_9hR&y*~NE+Z9Ehxd+47VgY@Zl}!) zat~CJC-Z<{kaofjThjM{y?h45VtRo1S(8wRKWoTK!17sj*P^$&t z5DecGLdq=Y87mLogk8Wm7>>487RaH|4DL9me<1zYi-|%O&a~(LD4MyWmBhImmSCWu-I#WgBbh`J-V6}+sUbCj;quLv9yidXKr1Ij#doy|6nUDmk{#vU4 zc>Iygm87$*vLZ?2>B?lfoctrchH{`lvgC|;$EA_Q3L{CCX1&VR_8`?u!0+AJBpo<6_}c1w*+t~fIxy~~|uX}{W4rV%dmdsIhMAuc2o+O&6OP2 zqIXe{FUS0kL;@#pA*q6gKb#U{!8sLN9~I6r;LJ-da5;P#=l-*)SYVDLFW?hL>nxoQ z0RafTawi0a#w{yWFsoLOr)QRA7ZeaTG-4YJiS#vzy}9kgEzM6P5&4|?GMUOymV0k; znMzTvnzc+gy-zPzYScwlMV-9HjJ(8k=~X^)3E?-p79J=ncz9Bg%$HxS%1#X><@PDc zg8A}EPi6^jTIO!jYLrsL403oaeP)|5w4_RHArpN%oy)}{u2hO;cs_n|nati}vT8+@ z6#|(=qL!N{>D-EzN`YKx-P$TgFt%d#j#;{7Lm;^#iIHY2+xk>X z*oM-|_*KYZ=n2Jta1g?v<1F6E_8MVX6ae4eH#tWeY~gfZZEZ~j&k z+u6J`Ci-?Wy_;O73^2q&GR~!FMWrr-A~{=D;ZRhIGHohHxPL)mnoS_=%}S4Eq^=tE zUS!IGLUIiZ1a3ZsQ9n2K_@Ha@rVr#K={pL=dD6t(tvtV}Xt z-{vV~btYSKt~F5D&`^=x7AoAbCaFe{*U(QKa&?NnIBXsH=C)PIH6YCupv&Kg>+-?q z0oL*$zKglNgNaihpGL+H#!^%xLaIgaigDQIK{_6cz;kX_oamu1EfmnhRS>f#&uy|2 zUc?eUb}W4CXSg5pj)HY}KzKmgq=fLmUvE6>Lz0%s|o9V1kRaSCcK#X=lk-EFxrx4SfG8ri?$#c`!et8@A zA&uRKCwVT`M#C!8CO}{(K<>ztcpMP60rUMJ5@Ax{exS$B6_WjB;iFqMvdIuEp`qIX zeh7#GL{6ad>IK`$Z45IGf?D_D;|7)W4Rh=<*dLC?`%y;-_lXBAC%8Dvh=eJRT6GDAH8i<^db)*jzCE_V9N2p*QjC+@QN8Q`$6 zXJ`rFma#GqHUSA`h#SWcddT0fQ==3SC@$n?F!?QH0m-C4Hj;&Ow{7oUQh&`g37>y{ zJFRO9bIny_yGO)9H~S{oYVFL^ry)-K&A_#iTjxer++KcY?pH+kVk4GR!Mm_KIKI8L@_j#bfHAcqELXJo8 zjA8ps>9lO}6Li|_)%jb{#-|;DCV#NL=g~*TM}oC&0msu1K8R(A2en3rDa|f#8o^v_PN}T}B8shcMWLsv3kc8r%|*df&wrhje)&6)rMo zeg^=B=hS8^4)JFxVC2fw8)C%U@9&nFFB%0yUcm0{ksH6$rq{QvPiuc(4rcg9^4o}Q zXrL3#txML*xXq@iE6ce_wnQEAR>YfS#;SJk?>e7o@rT?U>6uYgMbvh0bFw1Qh}t7c zdq^a3u$j!9Vq49SVyHW;mO@KWS+GDYMe{2FH%U3RQP~%~LIrWbZ>uyG`f)lX{fP|* zVFwzA-+S-y#y}|LM?dQaHCXDdWpLywRZp8XM-k`vY6QmeN@t0ZHQZ^k7dvB#!N!3N zp9?1?Rq@Bo?n;-*BpjboX|xIvr^KjWh^_lp%DLhymQky*x@^vdVH!tCQ$g?3`39^9 z)G&tv*S2K4R^$($&!LTk{lvK#>c9ZVuK~OWDo_EL7}~M}hcldgwGeo62c3bT@G7=D zz`p%BpRz*~Bgnxsr92X+68;!w4(#9<(3{9{&Hc*iVk0!?R58h6EyQYa=bLXPpw{E9 z``4n*wXdyROUjwYPF2DQQZs69xuLf{=JnTC!r+u$vSJgv>5aQ1+uwW>Ehs<#y_-0S zo)EGHR+YX?QAxh^;)|^~gi&H9AH}WChoPRzJo{ZcULNY{e0=v46IEr+2`WqDG1e5; zstXwPYLRuhnfxpm>;klj>qhb+xBUjt>&m%pTzN<7xeh?54J0Fu zAfAq=5X^e?#7{RmOoLi{HD>2{q196TT*c<5x0_ZsH9gqBCTBu1&zDp3sX*;k=V@(3 z&gh1lnN0#!sM5k#vC2yP4hN?&?)0_xtjZIE7DAs?rSCy>wGQJoN2svWTk)Eu!DXr@ z=k-#o?+(4t7QQxa`&su%bhBa3i9ZXVKymYp9 z#Y~+g!psK`oF2k~Eb!-X&;+KY(K!*EBE!!E|I(D9)EceyvcpgCBnQlOm`GN1kv*jF zJ0_?BwJwJXHNv<1uL)m6{&?yexQGMrjf^#)$YiHKKB2Wsk_=}dn|%B1*;C08vC*1I zb&Z|d)z`PTCr_O{OTPWGWr4-gX0f1`{`IfwmmCgz)o90NX<*o?y$rHlHV6LU(j ztp#CoLd}Vil{o>x0&C7LB64ws9@QqnA?}lHXbXp&Xt~yI@rm`2 zw7`?eggGU;Mn5B*3Xh5oOjJ~QC*1wzgwUvW9$fJK`5Sc&kIEDB*PgFPR35VBaR{Zb z0&>gtN{>><&VfC|ed8adYLA3)jwOuyo1x4N0YJcJj3wk2QOE$_?Zx&gyEYaEA-Fm^ zdz1k$gqlz5L~kPnll3JS_3YOa7_ zN^2TKeo@bXyT6za9QE#l#~y&>Z6x6Pf^q!@Tg)_l(z8YZn<*Ds4aF>9&?^(eAX{~z z9@{C#01fEa1Hj8d@NN=71#G{mjiKm(dsJt>K;5Fuuh=YKg*uFOas`sJvP-u#rB4zi z=?{pO^wBnA9l4QStiH5{Ab3oLurxpBsJbWk0PEpb?6qEd32G*~J5*k^QN@+mVPM^h z&EB@46)hnO++JrSRLxQA3?dnaM=&Hcl_FnW_mRV2jSr4`=jc<1sI@%CI0$QDLOmHw za{#~Bptxi~{g=Qlq5<{A-Y%89tsrPN?Z5Fv`Gf{?Yd4g2ET=ZtGIv9S<+VWbC_Ia8 z7hV%1FUPEF^aYeCFsS9)g-4`s+_LQ@`MtAyIxX{%BkU5uzQ3GV=!D9;I&`8<Yk-cXz;VX=b#A)#`8#1syi!-g_PqQDj;}LI3QNjWE^2dIXi}-I zRRlxGE6HyN_-R>C4KIju*w4sPV-Rr*V=wvToJK;z5{kLV&E%@`^BuY=<+ZM=;{TxU zl`3wo#^$ueRBm!ge3aNKsQ-trz*SZ6vQ|wVi+SPHo@$RhTvNl=XbS{+OqR5|P*j`O z`1n1uCf*__Q21_Wk3|O6?iMmNjjSrWh0m52ow9U~EplpFJE6%C3+VZHMka9XzXW$4 zx|EHop^gx~Fd~K2KV)oK6ulV#za)g_pEdQ@)c>3=IQLh7U0KMA4n!(KRnZF>tx#&u z3QDxP3TV||P})^Kb-9Wwcb8UNz#X-;&Ah?w%N1(}F|;n9Gvao#bp<72 zB{vsq3XjO2H?%+dKt@4L>3|gQ4}H!tKza9Dk%)VxS21ptJ z&pDwSs6R7Zf#0wh1RxLa{Y&$_si{1d-9WBPWj)8iKgO}&bbH8`@SL3i6{d{vpt<_&_ zd>S&*ETGYT$j9L-e_X3t1yK-~+u(#E%l_)pZ2&%j^C2|wcK0?Z04EkK9<;XmAIXB= zYeXNA*IYsulme7jcT0NJ1l`ixg$ET=9@XAH@;uR%{-co)1g}bkf8Tj08r+`TE2d0@S6b(*w4wtLb<^#|{8uII(HteYI zmn^>aOfla)k5yjfQt7xk$PoVwmG0e}Ud@ej6(h&C2l?waN2BuS9h*xjJKO*=i08H8 zTxc=YH&EM(V;>Y~#=Vj0M(E%vLnSNl5>U}a$dQ!%iM$7~$o~>Os3SVGE6y?Hl8ea= z%)OtG|4pH`HZ+pF<0zW(uYdh3{W)4!c=K&~eoR`+kF%sm7)Fn+Ur(+f&q**AU=A1# zcH|XC9(51-fQqOc#(8AqG{_`+qS^rf2VyA|h!E2UyWwsqkFyxMB>}*NObNCybo_;h z=I{7o#}0BA@d=kN%4LaiA}p~+EjHSU^3pRHYqsua_~h0(EM!7uoOw$>`Y1W2NL|a zSF9k{e91D@hg8#76Wii21%k5APk;=SQ}<(n(=okwgwwLw8-km-&!ZojJe^*yQokJHx(h~=HsR^A84V`U+qdWa2GGZvX7zspHyKVdoV#dOjfz^Ts zTHm7X^g8LbEn@b-Ms1R>8*m|Wr{7A2jp&Z_?;xKX4iY2;+=7a7V$8;km>)1Ud>rC; zF6zD`eRqxf>A0Y@D$|knU@V7ywPmQ z$vL&Z-)b7<%EGwUI6rkQb^9*~e_pocw9iF-rvwkP z3msY^ULECK5*YqqQ`2drJ$?F|Oll>krawidVllavF_@g4SA_2P*Tmy0Lw&m^s4pUC zlY5v)-#*!*Vy)CX#{{h9DF%z$3nADaD8bA2b;9vXyaLdbxXT1ay_l=;VlIZZ>})fg z-X&4G1ikhLO8)W3uR1~HA8llHD5mjx#;w>lh5W&8^3}p{XhzwzN7f$|y!Fs)zwzJS zKc_XHSX$FqA1Kw5*OA+pN8kJ-g<@?d#*ZKWOOZ%Fm5ZJ#XdRkYI@}i;UQ%N6J42zV zZ4Pa$u(`<)&UgA6M!)>ghzUk-k(*v4lHx7{SWf6Q(mGHG=g2NyAua==;01-dF!rK% z3u9Q?5Hd+ik1yM|Z`tuc zaj5x{+lG6_xZo({IqNA7!`*zLn+V9Q7jz{!hQLcoP(C;mYKEVgv@)fC`inbVxRmLd z3${r6W|BM&|}0d(8H$jy?S8^m%?SX0lJBZATy+t(c7Ic>jv9bko@Cfs~6 zQFE)*>4$NhJRU+Ujzm&YQh<)yic9bLUXnW$_B8*(^NiOR7K(3kA%i)<1mQL+YzG9v z+1#rsVkZTt@y=$|Hbe0I-#R=0Gx!j1a>L;I`oS%oiQRU)LKZRW%%9#TU;Yl7K6-BY zT(OY-v>5FqClMWZ73rR&SW0FUo>0_PE1kcLSQTZZ;y%&6adJ{3r(OkR^I&)NP$O_Z zqcU@^^qJNu>}O{CAZLv;tauJ571_om^0ZFQ)D~V{|DpP5^o zLi1MY?FRDpWG$EXJ2uN3{F^PJ@5ZC+=vY z*qk>v8 z`jq^YzW;xIpWYTG?v3K{@X_?3FycwT233^Q>n^%?g`j@MP`ub#BGJccYBs&Rn zk(n>N5P5bIb<>-rOK)O`&Yz76jkR^UdV%_U2tBrZIl21Fyu2n#4xa*BNS_HYL6o4E zFCcRZQh52!XWUxo^Z~#FSOKgF%{oAP4EA(LPdG9SJcJz7R9AN<@!C^&@!C_-L?YT2 zjo(x5)ND2tBo1;quRp_ zCozNli2kFgwj>yy0vYG==0oGd_WS^s_sD*3V{1mRuOHpIcwfHPN**b*7pzR_q=a|K zgh`!cc>BI4&p{)mI+oD(961whib!tWC5D3=x+ExGL@VCK`~R{iWQB?(dwJ!X->GsT zScmOTRX<#icL^@Q{qQg_pfsrh>Ov?)fGwyT3y{KxAh1&m1TkH1K0!xhEa=ZnLyqa| zh3P#@9F0O{Y5{ozquUyCnT_PBKmNGx%_MUi`7iQZtE-)X+^L3u(MZlD4`flnbI|zm zYnFwlx`vOYO}R(ns`AP|iADo8Wd)WYz9IZzrEg>%@z$^jM!Su|1GAlo|s31sHNm959EX!OhN`B-hcqUv0&+UJm-*nUAEgr8@(nSI`4*EdR$jc^T$(5_ZcC7_Jl4)HN8$qq z4m><>_;B(O{hAx~O^RB6j4giFhbq2w+V#F1|a6Twnh7m^4?~1a~dF@FeIn zS|7LclQ<00aDbosl5whK{pTfQ8brWys8edVg6E3ziK@ckQ{icTrL2ljk`DAT`5(qV z`39@0Yz(8ZLamjd`*IWYo_7BNf2@`vV%)cy8yF1Gz~AN%Ej61nHiq0Jtsl7dYh;ej zjzm4XA0J!5i}B2V*}CDe&g$`>|Gj7TkJGAI`TVG|o~O!iBDv-}ejXgd#QOThOpPN4 zVj|${^x7KAz)*P~Dja}qOg7m;sczW5j2^sP@nmeJ_KWn7Uz|GCa_SU0DO{#K0Yi)4 zdh4h3tIWK|_Vm--@@5sSG}cBU`@{3*g~>&dB`co@FIW(MB9bEyCNEap9332+9YF2P zVaU(YdxP~tKTS>NQ6ZfObO%kBadWW9PznI&Q#pF#&m1>LDD+ZjW~4xU5PBdlDy#|( zEKczF<6F+0`RUWT1Nt@XEyG~YDs-%8=N{Y!+XBV^{x)B5VNfig7ej6mcTZlnH~#vt zHsh*?a%;=3y*BoG{Ju5uS+|i7q2!ipn8IA9*jxe74EBYSfdN0uISur_90mV3iv#Mg z9i^MTW^GZ%j#3SQD90T{gm!(6I3s!$jw1xnzUOI5+hKG1+!tSro5DE%y?ol#Uw=KB zBA;%!f>kZ~6pf_p6J=DJ*2Qk*$D3lslFhMo{p1Ii z|6{hIRW&Y@$pjrTdX8Sf71u$%BLk&rKKu6T<{#g4k8G-JOaB-y*Dg#Bbv4+N_2mg? z`=D)#gFRihD|B4m!@K)f?izP6u)JtxO<6{S^wIhAqrTE9i~KkIU9xJGBR1iXeCOaH zI~9k=HhANK&Vdmt*J@6x`vHg_C(kQhKi}8&tyo0kwxbYtq2m>F1hyY;qsvsNEn$HE z#t&?oaTE=H{j>eb2$FotCjHhKv)1d^PP++#3v~P~*gW)J6M6hf8%Fcrsa*>i7TLh*yHgWi{%O`g9GORvHwkb{q-D5oICeVaK+DU9KVR$KB%@S$t6#r8`{tf-vc|dF|D62S++O zB5UgLP&eMS6+;*4Zdha)JJ&qrrmrvZ#&u37tsfs|yqSspKma1EAED;CnnHaz*NL4| zsL7&u6K)>k3d(7qq2uLh1bnAn2-&{~5l zG9jCx5R?~~xHgE&Y9T7i%uyE<92d#z^z!j`qkR?Dpl#xPTP{(p5A29co*db+Vy|J< zf>=*uwR>b}998F!ea1&&MpV|n#hOY><%__=VXd2mnzR(dOlPnuwBJZ2kotH7>YDyk zm*J#%C+R1TVD(JV&mNNgM6%!pf{)!hQqyUIexP}_FhISeyA3yT(oti@i)2VTNQ)qOTYwN z_c+*BD}_r117`I}2QAuof9ZyKv}9nOr+%YMZHcp5MjyhU%~dA8OG^trphG>K(Hd8w z2x!h4Oa)@9-vJFS)9(bzG`buG*KOe2Yr4B@jFKJGRMx=SoFwn~<2;4K=&x!nRLcck zQG>rGGR!nKX%KC!hmy8Vb&b}8ia6ZEoB9!}C1crk>D#9i&Lr!lOV<%X+gdR<&KJKB z-JZvd8QmeJ^2qW%8#YAe&T5~g-7szGBg%8PH2QskuBDIMtyM+Ug|~u7lg}$LM%DeX zKJX&bXCgA5Dr;J}?B8c>owj4YFV8cvfhkzX_K+;?}QjaWDmU*xwo_3m-I zX9R^${#JKlb~sOaTy7Zm11*{F(}lty^!S&olusTkp%&>M)3 zqYELQj5{!A@Ft{<;okc)^VH_|#cdHNRFDlQOS=juWRMT7So>Uce&at^j$K znG^n8ws}&d+TyUSY;A-R>FT=i!{+7fp1K^ZKil#X$|1s+ON=z4QvCP5_rCkCCe`~0t zBh=~#(}{cR-3one@_<5gk6nDS7wR^^N5@hCKtTcalp0--4ROO(XA@6gUo+wbKd5R3 zY-{o91rRd|ZeVePe^S3QiIBZ;*|c{Xg1=WBpls~dLXGpcCUQBk{QNh}GY?{`x&J0+ z*@#*4sJpa?QIswvh%dTogRzcL(vut5qC!*`Z5|lbo5>mI{^HWf0#Q+!jXcrO(eb)K zmEXxCMz~z*l%K^PR`FX@!Sge?v(^pwgw{{KIWSII;wdaO=mi1oL>GhEd?Gmn`chax z4%nbe?uYnje_aX=3c}VSV?j6C}TrU^idLtlLD*PWAooqf!7lsD--R)bx+u>5G&AWNi$n3hYB? ziW6L@xuN01#^)bB%xxKzh(;4_iSUi)fI=It%?~k&{JT!%SI27$et7U_eMz{aV6C+> zY%e3z|M^dT(o3#E9}OJ)%rnJd|3IS7Q6R_wil=ZSQ;Ap^_v;^gMJguSvOz2*{%zo{ zoUEL`hixLCAC;6PM$2Y5D+kUZ{o^7-ip#>`MrTQ6a;lUSWr-*rcog)5ITNR{Lx*kL z!PNkc7_O4QP8%d{`dLhfK!Zuim%hzl#T5(hH+Rf6@OU5lx?VT@^ z^UAnk?M2>ejtn0I2W=p~aGY_B5u$8E5KcVfdAeCCxQxMRdkK3D2Z!mCOO$Jr!4ve^ z)e@X^peX~Cqfbi$b6^id<#Ijfy7QJbd9et9fU4H2pj%hR7Tn)GZX#mV`%zAEVY1v? zr5@t)@FZNKcp<6v7b@HHu3ezhmQ~DjsKps(_;653LaO~I#S7P8cPqch8#{yQMA}t1 z5{J&e6ABGAtQk9UcX<_8Qmi1xr*}Un9X4+1!*%FPPpACkn<^nLEd^ev2A%j6BT21Y zNOd2Xe3_R)ABf0+4FHs&B*7PS7SYlVhZ*uAc+#8MmpRq{eB{EqT1T`SB&1ZBtMV&nPG%m|DF_tjysvm?+V!Kv|$a?}geoJjIaC z@&XQpXeO`#E>r5|8Y~nLal2TCC^26%5mb14M6NqWu1 z`Ts^!(#FB1fVzb?;?_>jBwtsTZ<42zeCW`-L#jDK_a(76o*0T%*;GB!;eK|*OKDFW z;qB*jKS`P19*c14;O`JGqp@C zEJ4`#_Ikj;LpZhp6bABvY9ao304O2T4=WO>=c>sCl-m-jP+#Jj#LE(Db&r&jVo47d z7$Xh#D11bu-F~gF!DP2E#f3&gh_Dyu@VJbZ3x*qwWgRT0Z^s#EH(LT=Je2x~;h|TG5TV$vm7QzZ~Qq+XfeU z08?qE-yiWtg0WaI;!U68C`UYpPLtcC1t6P$;8ggPP%V~4In>C#M%BpSK1h{N;X|EI z$(U|7ft~)0O2MkSx9o`KI5?#X%&NfA%*@+p%OuX!+u|@w2`>J@Dm99ptg?Fen$k&XhZsF2_Xm}%I)cIF z$iyat{+jX+$Y=_&+6G)O$*a^JZiQIRrOn&gC&|AjYIFHgOS`$(%#mBJdy1#6A%7b^ z-CtYMES)enHmtl_T2%WcUlT%Z(w5J&uE?oyyLB2K7ipt}e%y}t#*csfr-YsnVek#F zQ?Z1@kR$PA{6IREfU}eIAqngPQb(ElYjT{1&%_fh%JTqoWVCr-wDEF=LEmrPy7hCs z>FEzBk&H;h|Jj-hmqvdsMTzDnd*wm>OMYquH`#1^9nqJ_RX1dH$>R{b5LzY zygc!-Xz!p}b<2?UxVp7x$RK%ZJvnx4bl<+l{3|mK2W;0t#-|WdWPnnvI|dhg(T?I;C?J zIu?OezRp>@a^=cLXoIGa7FrDjF>AqejU`rARP8FSGdax09H>6iC?pE4l)W*vMc?jL z2$`1}H#B2!e5ZZd-jK;1*&EucrU_Er$-|Jhru`#&%B_Du9h^O;eI&4T)XC#4dmvnOgQW=$ zgkf-l3uoY&UW1qI1Ze_lVzJA^v6?H{1Rxhihrgl`O26 zt3X`mEh;9TOsJ8yY_L|;0H*IDl??6HR$6Pi7%M$gT?VnftbIgB>{0 z(+Y_myIM{(4jkxfNq^}wyU-a-tMqpBhU-i9)_^4#LTm-{7$#KVdS-k6lP~%KRFiwl z>&EN!Ia1I>L1|E3pR4T4$cb{GAepv>cR@`8olC&_7oNt%!Erg9Jq0{ijkBhij6bb< z>BaU%Z8MG}5DwEXoA}OT!XR&njoaN5CNy7@ZhjA6T>BNb=9Q_ zLGFhqScOb2=e9@r{8FyeB3d*$K4gaJn!%}t*{QYU7d_p2qMPE8zm48LocynT`gGV1 z@TKNOH*F%<{E@>SQzcq|hsb5F;X6cZn;>ZoGoY7dLZoZ%oSG~T)wFg6J3Gm3pXQsP zLYu}!FT$Dq1f@&pJW4C9K7)yX88Tf^#QgyQ(1gN%z$_U&XmIvA(w7Jg^lC0aBx;8v z!0>3fM=5F%Nq$NHg;pbF>JMLi^;<&!?Q5@{OCQgNzMmHb)p80nd?nG+_0!0mXkvMF zj>AOm`iffrX34S@W4ztLV7GTnM91aZb1n&)F>-U5BS1&sGq}(9!+f|By#OW>flHkg z02Y=A&>XNVDt;!W1Cd6``N1(}7@V6y!Jr|qmY{^>&xAk_-53UXQ0d@TBOmnTjO2M4%u8Sn#w4ADm$oKLrjXO-;EQ~oV2c;c zlGuiBef+sE{N$z@HADF9v(KJEYYwgxYObg_2_fA-3ZF@Sl<~+V^uS%Di@}4&aU>uD zIE8TgnQnvtjr(UpVZNQgn8m+T{GIX;{#+#xuk7EypPU2V_8U+Wc?>^JVFvh)(353J zw5g;S4VM(=lE<3RSElqmR|Xx#+NM>laCw^2|4k;nNhHCX@BsNh`gZ^u9A)(_=x^lu zXaVwF9e40x{YM~vmW>_ZUX{2uW}aFkhmI%G6FJ}>s}XHvh;D{cCM;WU*aJu)M8ogaGu*4 zlW-aA&CB?aL`^tsZ?XrLHZArIbJX$VkDVz)yirW4Hs2m(I7$@Un{SpBYac-a%w_2{ zwQ9MmZk97wO4Daze2(Mzd-Do;ac=1GLl1p4xI~vH&@~s`kR_vPx*(3fp%HmkV5wfK;eL@ zpfxy+Buvy;38=xOtO337J~dE+6$SuRAOXfyG_JZjlc1kxk`$UE^q+lp%O|0N%Bq5Q zkind+Yu0wQB&QTljQPlGLuK03v16OzO8G8l7vj`ok5OU8aZ&Q+$T6~6*BYuH6OFDI z)le2KAJkCmt4_9fB`bF@wB*Z+BCBF|xv!d|!G6g8-uNQ6gEGj=^+0X`)FJ_9u+JzM z#4HLhxFD6=&shdiT-_VSrjllstQVb)GTt8wHH1RvsiUlLoHd2MCtvJ}1qGa$XqcjG zAGFQeRMuX(1%f13@`Pm|(MFflWI?N}g`q!Ioz!eyudW;TZ zYAj>u<4_B>wrZ_N>`U*C&lXAa{7(R3Q3v652-yU(i} z>MllYzM4B%-0G9@qjQo@9%JWPuCEE_<67;(nf_dr%xhJ5j~mxKot72y#G}Iv^A_0xaj`89l{3nVXJ?5K!#7Y*~3bb;XVzJr`++&FG2s%=iQ~Nv7S@H9pn= z(?Irqhmi!>2FmYxtk-s69>8bV@j1tgc7R?{P%ez!F9rYvI-17n3#Q{(+W)-w@TTev za(L+k`OcB0O9#af^Vy|K(ZGDaW;CPDsN<1S>nkqT1yYDOJJ6GEde8Sg(nbEdfJ8A! zV4M%EJqgjWI7?(j39`l{xRMF+Nyg1byKt`{SSug)`6!%Y$?C$qjFrTFRc+8o5&P<} zo!HC5x)Gnv2Q5K6-;F@r8CKg2CHyi)VqxgIaTxdFcyZv@$ zqTa|XyZ!dtq0#J~J^Lsa8PZF?+>$`&5?j8r!qHE*T3ThX_?;%so?7-5AQdsNx!K)( z1AH~7pO9AODZN{VZ5cAeJ#3hJ2tt@wpo+g|2x_XrrO;I*$#hitAwiSFRF{+)1I1TF zSXegXARDh`Y%kWI_*_GlH!{R<_dD+emK7WWdX_Hknht8BcYr+Qj#2Rs4!EY2>HvA^ z3xiNr7HbRaaDZGP+TdDodxP<#PuAP*MLwz0tSv)q+`c9f(+d?=%M^dvqI#3rQ0kLH z!Cy`>g23>`g?*NImKO=79;28gVvTB{`Dp!;CH^@Pvhxpxbht-XU^Sa8gd?_YS@otw zM?<{AwQBlx+s}WB%vHsq5!&)%Xd}<#N)+s-{9Z#$uKAl5g~Gzw%Mc7}d<5Ep<9-lU zn8EzFUY`r&FfE*P2!O@yp{a(wFI=}u;V?+~Qt55rFpM)UHZx92uVjD+fDr~|lR$-J zQF{i@LqrHFh~V!Toy5cA#-%2u&F9WFK{N2%>QNF^rgGHixmb-k&JZ!5dzuqpFfMU- z>c|n7OLP8j=*2U|$Xg?eqem6iLN}vKA!gTERg;EBI%$V&?5JDbdh0t|qN~fR;Oa!1 z_KNsEafKkx5F>8ZJv*PnA41ebqvUeWNNoX3VtR+%l_&;Gl54zKX&V>bu_KIWgZ=k| zP}|lgds1p{DE7-T++>1PW+$rASOhTIpCzvV_(2p5$ABR((pwX^$`uOkHG&8@c(`;glM*li`w6~i)C|$fZ z+Ty;Zu9S1d*s~E5qe%GCN93=s`x?f3N8vt69x8uh0S$|#MhVln>4|9c)CxFJi39X~ zr_XR91Fq3l_SGyn@#Y$cWShSn2Tc#YAWu0g@JHtJkgrhfZC zZ&`MdF(FA+YM=kNW=wYjKd?|UBNg0ck;cR}R1mZ)BkGuXYMLjGF98>cJDrctGEe+M?Imdw4|bRsI}HSXw*V~GruiLsDdeR z`?GHC#7=8Td2x4zx1@9Af^dVNrH-kJB=dkDK(%{u9KWcAQ7*p)0?!AC{q-8js0MOq;|P^9se)#M zEr#@0QH$o27hb4uKr=Qy^UN>l4{E@jKd^(FXn@Hzo>p&Qfhq_EMSG@U4g0dNzVzJV zkDv2a3M-R0-IPlISF-TN`GK*}9{I&NHyRCIsm!cCA4s0G*3A{ zy@2L&4NN?8)_BnKtg)rlg7doD!*}!H6x$5;God{*E!5qvJHxRf&q+mX%3D z)?=P|)h4Tao*@ovE_?4^`lWkvVsc{9u~)?_e`@U={h4VF9{8^IMtCD6-YIZzVTtHf&tie|fJ;xoaS;Cq&$ z^kJC(v;obXIVDW76*l&O_i*lv4l~krEkpNAkRMpFU!zT0nKRlp-gethx7{Y*xN+l$ z8#f+IIX=}EwvcaN7TmLE9XHUP;VcK>z>TS@s?^3GQf~-EsH4T!);--ad-e^FOZ438 zfJJ<5Ps}UKi})&L-X;-FsQ+eT%CSIMAth|p)u+8)@Am2m)z#JM!*qyiyd?{o)L$~#NPlJ9)M zl>jQH@Zuq;m#@myD8yj)bL)V)Kv%rvEcK8%1plU3jq;~4#jx?GI1iqN{{T-@-*9CP zmSg-r6ZJYBcA>vtp6mff9Ge9>g%ubB1eyXPc?SkesDV9D@3B|0g@yUw|I+&Ve=FRY zT#qeiwm5QywrFjY%U>Yzv$=6J;KG1bfI~l}$}1~c(8dbUmT8H@}X6zS=*$wqYRn&UF1$rkUd92D+|Nt7TQvA_N`7BwbQ zwn2^1&ktVdBtN`7`F3X{RX(uE`b;Kq#)4jFw*rQ6ffmGhY#E*WB$aMAUezs6a*?lu9N=72`UlDM3J8U1qVd%rclI&S0PgX)WoeQDnKl<_M=~| z6pE?j$5gzt{pzIB*&3;;;yaoSA3oNt5cnQDaG>eHfydl(#mHlK4K$WIjrM}vMT_bm zD&TV2?wk^6tgV?W@gz&4c2j#_DF9(8Hapbh+}?_SF1iLFTm)lSDm)Ig$Lg%Aa#}rQ z22X|E(WF+_C?yV`7v@hMDfaP4HdP7!V9j|?zr!81tDBEEFI_tLI|S`d-%87Wwwez&HGPcAKK}TZ(o=Uq z4S|aMmi!7zN~)o7Wu)Ym3OK z=x3j=!bh&v6r0pm>wLgndrJcXVx{f;KYc8Iw0xsb=eI{aGCAVe{4nOe!EYmfCknWp zfYUElkEv}aC@9X>+dTwwM&r>zU}I-fl9n;38H7PC14Im#PVFzP(kNJ((eSYEef|rM z1Z5I({rgT!FB@f!{|={wR)fe&fsZ@GTKnpc2kn#{7?T)thh%0>Os4dkRc2XS=c=k8 z_;;=C!yIddygEl$9;`C@7tCd$njdp#T<>)|7)+7SR%#n#YmvB=G8H?AV4OCM8fh7} zF;-)ZS!hT*OcHO63~Fr{K6TPHGl$21V5nN_rHdAfyhgC|8ksQHA6E7q@g}!642ihv zyy&ObaPopw5EM0rT<`Sx`~E}v^IFz>FdXmBTFnrl|6meMh$!;qT@W^8U5 zRBeq04Tk*|tc&_02jC!60TJ9d1iRe-8*q1}APoFjjCTlkBbu@8Yi*4>&hUw)+*?x{ zlJ6z}+x?R!Z+)JotC1YqFjyt4SLC;)It$b9_^XsYChxXQeUx1wbmqvQ&YMI2C-h*O z1y{gZrs7`9KOuX_zi}v*!M}KQ;YE&+yw_$!?Hpn32T=|_qb!4S1+HUTIY*c_5qlh@^xmPC2EFW-uE(Dx5|4fycG_4HW~Y^3M{Qia`c zym+kG0aies?P8__;#8X83q_KlTD$}@`)?@>2L?`K?vywx}bw*OCTog zI$%k5xv6g;>G*FzwKTA2H8SW~*XBuX29Wt>TN`uGKnAj8;cV$QO}Q-vOh+Y$%V8{0 z&vgmXf6H(rTVJdn&WP!C+@A$SVV%N0(%P7tdqB<`#R6vawKP!m|Ag?a=C|LTDb)wO zg=KQhy23lq6Kq|vFurZuUBpo%M=pmnXCPqr+!^qY_qVmRJtt5pTUmsmrh<`EY#LZ4 z(4|)Z={#hyyF;DZ9_WLujntj^bZ zLL!!@DC%AqC(3KWlwT%;*!C+KjK?2fh0O290o(g&PV7Tq@Bh#AT|e!b1u|JS$JB%a z>bMjV_?~L=jk{6N4jO$<1D?OgzGt)rC}iq4{Bm^(?imF!IvVs`S5+{Xmp*?L)_Zy)3KCIqIsW8%0B*s4o<;%X3w= zCTmWOG!pXdi62`Vj2|<1jns@vKo}(tSI7lb0~Y4qHo*5bR)6*p)h?2^t1GK^$()&Z?jb2Z^G> z{NL0vF8VLY;59~bbBG+Ge?9y)o(4V#nH0ujPYR4BdF%v}ATuI z=oa#IRNdT6zTWh)U#QW^a@Dvpe!vCriDsZ9WIH-SQ$M8B8zYLuK}UcZ|8 zqOKXa8i8L`tosxftD(TI4rh-y?6q66DukPC@GxkgM<%;r57iCa9jey z%s{aIDIVtkl;Xh@&t$#K6KWh2z&@dwgU64rbLxkWwld0~PZqhOA(1~k4q2YT_gM)> zE=MPK+sdn)4ylMS!F8oPj}-Dk83sPHMkm@nYZe-LEnMl}<1li%wV1E1zjqdtB(9a2 zTs=Sh5G5aDR@(!L0(K6{;cE+Y&Xy~udVG)^qV$Lg>g@iOsoSOLmQTga03u**esPr@ zpfb#@RP`L5%Z^Q4Mq|*r7{1dwzFNk?njCjX#wrNA&}_QmoPHgi1y(j*MLPk%qC?o= zbx93VHRSiz)d#B)(^BY{4-<*jc}%iWm!TY$I+ZaN|E0XbaDiY;zAZv#BS{TeGcpa*0%yDam`gq{NCo zp{(NO-PYtdBaEn7we4GH(=;f@du#in?5bdV>q7Ol*R7ePVMpm^;wlY9^E9;)RWeuA+jj3OQ4W-BVISe4-g+)vw`7EBX)DCl zruA_uu5tnXq#v*kSf)83-1vdJXycy@Tr-`04`$;`Aq%LJ-qYuQVgfLcX}xUxSL*JD zyHo%Af)IT688mI04o&L#d{##te5FqE_&*Sy3psqmkQb?HkscYI>Cek*s?kprSAJNv zOuBrHR99AQ@cUz4Q(j2wtI?QprI~5~`o!|X!@F4;dfZo~D!0aAcT`o?JYwQ07DLbx z4wz;Ag?h>^87M7T33v`?F5v_Pt`w#6mK6Iz4BSAG0mK$e6R0@A{F!$k9DHQ6pyMED zgiK_~i~~kMa_TT1r5Y&1MmZK)?;=Ck-oHrs5_wcaIb-;6=sk1H?H?Kc0h|DG`MviF zJVF9Wvkm2K-?3}8q^OxRpkI?D@)8R(MA{hD5c)2@(UdPX)+vHN|ESXp)USCmBSvJJ25!Uck9%VjDXz=h=HA0QM z))3c}K4Lly<@E$p&yo8FOE`M2f+bOCG|V7_(+Yq2ky1^(z>Dn|A27pxy}g6zdXA-X}N~KBU5Q^E=Oc}9xUGn4U ziNtJMahRLSX7-u{rR1=sL zniB{dDt{+Y4mC|Yy(HJhDqzn-sdA*Vez1llTP@Neovy@*qxeX6GB_HeO@Wy%%il-=%)RU&Sk@kN{M_Qrrrtx&LJc||ZV zlfj7_U$hXI=LIn9c{k%l20afJXYeW@c7f*$O@N7k(;?fmr{77)49zis>qk;RYgkuj zH4Kw>*KyDu=DYx1A%IUAgDcK?flQSYK2D=!+O*QCE9GUMr=QPew%}#JF@XB$?k!(( z)a=r4S|5d8z`L1GpTZ~0b+x|?M0K^1jxfxVzK&d2$aQmyp2!h8xI{d19pMt`^)VyV zR~4H*<&^?ijl| zTdmzn=)L7G_!vK@s#snj;jBz1lgHRF%%Kqm7P`rNFH6vB``EgBxAkZMPKiN)W^QLQ zyJZ-AM1rg3GT%SL@e`uL!kC*SXP5a@QKvxRiE2i5v&3bR!9zun6nfg>7~*mbsjeRE za6H!0#A@wibqvbUak8IvS^S0Y$$BUPhh1GhE3C=D@Jz>I^T_gx1tq$zPR;P8L_54EQrR^3*vDio_>mc z0N=1+UiKmA6IVycZZ1eGln+yZhm6RvC`^h2h?)N*mP+_PXSNTv4w%V^#{ki9q?1Bu z^e(hu=O<9<{QdkpO1DoX|Jx2eth`w&N2}Y(_seWvy>;R+SNE)GH<+(I6-215Wr*SZ zo#b;(s~#{NTuSh8BK_72+gtthE5jdIt9drdN8x;nxz-(@STUh#KJ@#1Z59IeXi~8% zQoEG=Ke>Hai`v z)>)MS^WXGaI(?&WCAgIbEggYwVvfd=2PvwZq!``jH??{e4=hgAg@-IIzA0E&cRWrm zfOFdkmZ%Kf7{{{68K8oDI03TAgPDIa$fDC7kFs}ycaFXh>`z{LBed7aDUniw0Y(Xk z{b94irrtU@Q2M5RLx*oPx&u{-n~e#3nDChk`1k!@KCGc4VHr5ac1`M?`Ke&TVzig! zqlY|(rm4G%TOyIJg~pAcc>L}-Ifgo74!3%1{I9OMxGPGYX=!l5X)E{oy9$qN0Dj1$ zYS&!7_YTL(GZgH9-vFF5(egg)h~u4D9pk7Hr6@3uWFTR`TsD5`m1dJ&y>@u5^^|@^ zhkHE1{PztvAXR;#-yUH&i}n1c{6%phm+{=uTuFtqyk%gGL{e+ncc^9W?f!-eMMJP| z*2?iC^;)!rRH8e|O{od{O4?HK!3!G3FUWK)e%Lqm03odXH08(9I~Jt+@?o_`;aaR3FJc<- zEP%NH=VsYoN$(e(h^KcD=bV*n;?>{M6ZSVBM2b{Nb9EgfQc)~iv%7h}#g(#`DA$ju zsC299lpe&3JB)S4LRXE;(+GbBx^u^r4)(L;x2&OacJFQ`3-qhIJd@D3h%Zi= zTkxVQi-k9kGw)u#x_RZwo6vevk8Z6nG)>xT>^KnEBoswW$|y(hm%yk|zeENvvTSLL z$8YPu>YB*bz|5I}t;|(ZDvLyYY6^$iN1)o6iJ|3mH(~4Qu7l|whKxZasR*>aEN2XQ; zpTvTkGp=P~L!6}=ck#|{4r~)BV=&nl^CavhHskmKOM~siB8Vd~P6&?mGAeyw1Dst@ zFX;JQE4Y=57jHy}yg;7RFKY9QA(TIo-+Im_43WwpBc{>uuba7g^{!pbNk+N8n*9|EjFJtx0Wb;xy7SYv_PwEFD=Adcuj-}?Et?_u-R^Z$rgRCHn;xcsj zNl#!W6Lzi-3oDjAwCc)K$cqf}LfKACEJHs@J-RsOP1dU{f$@9nu~ z^yua>$da$)&pmwi-K3f(kM5iFtkVw*TvLu5xeMha^zMof@!osP!BZZ1peK3g*s&q? z=%(Jq8HTK=hszERvN=a&X96YeCI1odqf=QjIk@ILV|-GeOv%ZQ>;H#`Xv*9 zg)kdoCNiKWZdop`PoY)hNr*wbs9!M9JBCpFNPb*J#`q`hbKV$FX0|AQJ}c9Nf&T7s8Ai&fl4;k5trL#fX5(5V(J~BFK}XoVlyG4 zYd0uv>g66%QMgJ~a0omy@;~rxTvo0Mz7*5kVl(Ra6G`_ABNCN86%Ab8F^zKJffr68 zVoYm!ygRa|^bx~FEVRGCX|rq@x~T^)_fUP7aX>@%Nmrbl7xW{CuIGkajXGd2CinV- zu+!c;Z`3!<8Sp_E7nBLqwmb=V(hbN2s`nwb&MF}n64Nf_i++Bw253% zn4C4DX3Ua_ca`4$jWs-E$zB0T{+2t{HGEPb60CwwKbsit#qkGL51L*zXW0I0{5@#c zyFG2>dMz|@HAh4|l!#RaSHBit4EOLg>{A=$`1NoP6rKcUjb>E*f28d#PMRoP45i1F zthRVYEo|$)R*4E0l50=2o$w5Ux`PCIx2!Q*YH+r9kt5N(x|-(YrxW}3B_?$7EbL%r zt;e8_Cjyc(fSOH*^6HRKv<(2U3 zEAZ5s()j2mSHtA7n@xZD#uZAfS->aLB)fCS$l2lKgz%`~@W{l8k>SBn;jyXu?()H{ zLtR1l$6NgsA4$~_ry|D5#S@Y+ZWRMPaQ{!-heHAP`JH*sVRO~MkIZ{I7ser`THZ;5kvI_$480rQZrY81 zRU`gB^Bwry6y!K#E_0|tSYzsnMSAi-9*5uG6Qjn|FQ{D>`?U4i z+MPpwZ@a_Rv&=}Hip=Tcs~e-Lp{>+LNIb0!2r z=4Pk{NC||kA*c)LhJXeW^-5u{UeYqi%lUyyk6$DY(xaUh*Q1^7ST6cv-HmP2r&Dm_ z5&uvT?rHQiP8fG>>F#rOU(?FfS(k9;sJ4;lj##X&{-I!Sc)Td!=v*CMwk*7QP{~D!ks}KvvF;%v_t};2$%+HNb$NeH?%_GUzyIx2BvqIeBtHh31q5 zpYX{>&?`TY;#*|!Hcy$jSqZDEYgw~03;*^rH#)X^h2-p-2V%&Nr=VT!kl2|5pT1}C zk3lP-0rpSYw#cw*uj!p@?Nu*`l>x6Tkdb%Ps0;bVA$cIs))olh&qve~wgvehwaw(d zGOQJ5Tr-kDlr=Llh_TKw+l6_bcP~vxRsSsL zS@HYtAH@Ij#W|I@R9&lTk6EKdPYwBfMU1*8GIt0YhVL~N>m(O**x{Upuu6!3jo{Pa zFsgEzWxDEW<0xQ;u{Kl7$~S=-Xud6@V{Nsdj|$-CMhKP;E258=X|6@rxB@kSltMaZ zO*09RyM7V}SlnlXa;T^A#951FUpzATkuPKmR*oD$ek6J_P^pZsqCTyTb44Glz)u0Q zfC;&?A~+)840VrLRl5C4m%tTXbWPSD7-!n997C-tTAj+;>XAQUeYHeSoHp>FBtX%9wT3wP#%X`0_0FHPa_9xY=Ma;HwQ5 zm9mm8;Z!Q^hHAC6wx+i4U}QZD7vkH);r9>JZg~hzi^y{4-*8}gP^b5J^g2tUk5j~T zc;qcEgQ_a%!PoUW9~Q{#QIJ>CBZS-@NrTZts)VHW9z;T7|Ncn6qjKUuqAGOr#YO05 zd zQaOFZCAZ2L4MEsHrNC4T#{1<2fx7j;0o<|N7+@%zmGkHmPqcmK#GeRuEY)6dV|m4a zX*$H#{-dm@Kk3m@)^}x*#XSs#3kq51!fV&!S3?sI+5N^nJ)?FT{L|ib*cE@KJi$p4 zgC_B~4A8UCvXR*Epx{(|1bIDZTc51iAi2Ec-C3~8$yk@(lleOlnfLnZF*G^e8cTmx zpsy|;%?fL!;#{=6VC1msXnX$3jqF4Jo1CCmzQ7-$3HWAoyQ}<$Ym89AC+_GTcdge^ zGp8+Ni3k4&VIh1*^nxDjE*)gy(jb>aAc~v^@rFqh5oE$HX7`psKu{4Pi-h<7e!Gkk z*4@=nU+!zEbD%w~*~(8lg1U}jie{M0TREemOj&1)H6C#OU&dQSxLx$wT4?i5gTtnZ zP_O#<*3R-b^y&}FH}V=;eI1TJU0H%unf1ZK3JIK}ksBy(7&czHaq)OzP~eNN2snoN z#*g<63iN80=T_C~QZ)Fv1VPNE(TVLTrwJ9!g{nT3l4MyA3Z!Gu?hVhsF3VtJrWplA z1w3DkpU@&7Xz@sI?Iy8f02}Gf5dfStW-{?(5Cqlbr4_x0M&kqI*-I^tS1+#gvc#MU zWfl4j4~{9TO64_rXRIb9ez^JDc`@|xsZ)WM;~Bvq^<-q(@O0p@fCvqXA39%GSFWkH z2Vrb(Pi#i7@iI;W_Ro|Q!`dpI0o(330#f@}f@1eUnhiE~T<4jnDvr-D26 z&|P=^dgq;Yw%iqe)0!#6C+EZ#RCq+0rLyv$TYhcEJ+X@NaID%ZK0N4)>b{{w=Y!eD zYmsU1Ua+<#+0`z=X=XqXD$>~6VM^{edsW+t*8vW}BFu;RhGZ5?3DjbcEMpyQ6Qn|7 zKUM;8WSV8u8kkKuDi1Msq>X$?=kACt05BA>4RWil8mu&tC$Yde=;ztDX>MB3xbiOf z9eCcGtF2dmEl1Kjtqz%r7{mjtxmj|!6Y#X*~)C1-xCT%xwol-k%S1s&^MW4alEM_)I4df+=P6FB9PR!De&Vy6F4XbLZZB54x;j&2mGXB&SsB(3VMxO(`lLoh@5% zmE`KxiUn(n*W=Y;d^~RDi3#k0neJY=#Y0Jbg0fmXq zp!Q}mc}Gd!y<^ho@gcV`mbXwI0jLcJs@KX z*@!!KY^XV+bhwTM9#}B6B3L2u%b6@GeN^f|}{xi@|qe5(q`nZo1|0fRY71fpevagqC- z4Hyul;{Y8B6cxZ0Sj3#L6(sJHl~0PzE_Y@YYSk6vw2g(zXpz{ckyl7`x=768;tiQy zj)FHf-+F-C)l@UXBpPfrHx1+5r8l`udMXS!A6eL)Eir|PZvP-}$(Z;gic_a|dDT|6 z)j0yMLF3((gM<5Kx+14eMfT(KV;a|^td(#0BAuw<*tE{UC4)K>I^h(=t=Mo`U~)iiBLgVckzOen!#?FrwlgOmC*79{xC#wzrdn=0yWQf+N~>1M8TmB|ZxRM$ z3-sO$VKK#O>gs4&>F?YWFqE>(m4O|t{_?QF;9V04Xe{d&muG}B3hLXubp;Ero~x)f z+Qe0cCcH5Tg+RP{U71oaY6*rj{yjG_C)x>L1b!qKmr^KBybJpI>x~liiC&FSg4SIN z_sb72U3O5uckv-~V=i95&Zae&Xe(8|zHL;7(*c|7(6k`-?<+5(rHPBA8r-N=wEE zfJR9m1T&PEf)0^P(h7=jU^B^orTHx3l`=Lca4kSYP2u{M6Q|FddE$xKQ%|A%oLDYG zzZWQirG9H?o;;$#H&{ z!(c1(RH=$;#%!%9zQ0iI^(*|G+|6a^>G2(9?NdS47{8;8zC$mi`xXHy01!lM&{cxe zRy0<|_9o?s2?EgSmQ-!Q_XA>*lk5XilIQK`q@z($^}Ep1+Jx$(yJOlWLkFu(ugtsn z2kmyqg)2wacnmJ(b@h*+&)()s&#B(siw6G}pB;T+_M=Rs^^g_>&~@bn2=Rv4{0cmZ zI3YEXYLiJ(>j~k#mD-lbfh?Q|UC_#jI$!vO( zK7jov!KTdmHK;vyR&IK^%&s*W3RA5M^Z+U7JJo*S0#e~mu3M&^JGcE5=z?X#+1YvN zc2{weyGGjI$iVMH_k*e_e*Ag3GCZ`d&5eIY%OQKr;Ka)iry_YRC3udY2OzD_WY@)< z%cZW%tW3y1sRYQr25t{@1Xa>vGYdD2aFo>|XG;3`#HF<2Rh^E>xP(y@1!_%Ad8JGO z;hv;^xHFE?!vS^6lzp1|4+rLvGlPSd>2_EMXv`mxC8`Q5V@{av9&v+RlF$ysFHj_E zvN9o)V^4z#yogr1BzX0|y1dN9I#M}A4k;Q+3WM|4UL9NEhOLH7h@rvEAr_cIf+>u zbommj75rhStxO0NX=jpjdH~L?wYkZ^GEzkhI`=% zs=|HH`gv4Q(w+3xwH3tLzYUAv{5)upfCp{4jxRA*EEG2C99UCFCz?KTuUEcm;@ zXpPShtn>Tpe3mMg+G(+td9=4oDpRiE7rX3*9yV{PHhv}g0&i0BUu&h@V>ik6%tUF1S<8(Z;s-we9PRr%V*vJ=#HS!wt4x;`GI0YWk`z%V z8$Cg?y}#p3cpSdMs82Z5UM-YTeElack2T@G`|i7VFTC&!aH%W9g&8`P`Xc@j<-~Sa zB(O1YEgEjN2)UJi`^S5fxu>sqB3FpprPxYT(rowZk=n)a!*Jy|bWL-yTi8z7WugrH z=E$nBbrL13YxfQI#=Fqahe}W4qrd)d)S$j}YRlafBb}udm-*k$$Z-1@BwD>;SOpZi z7DUG^7jK;^-?>V;=6VZ%seN4meu|JO5coR_g5meRcvc==5k&AjQFK7`5Co@_!b&=M zFy`6>Zg0ac>&1=?UVeZKRl6`J@IKMrTe9_%9=SSpZOTyHdbxUEL0Vjf`BSa%fdy(r$8lG{G+xC7$qW6~J=g`)BTdCGdpr3aeyu<1};Zb8(mtFsbOX~4nd3E;1OKF*7TSifD z+l&H(n%uTkRumd6aNG8asaP4PY4Ul#_`>6hIc)XXU|mR8SMlJ&YSn%wN0*hef%K%H z68LO{$UEd%K%LTm2v!l?qTe7@mjq;zFG~6I-}cvoO7I(~y3O3&Xc8^Co^xOihr&;a zPOriLM7x^XQ58Oo;qTYkU>=&#zMLO{OE)8wg%ASoCUd zY(0|J1ZSCoMNqaviz?U+w1Y!K5$*2w^Tmn1IRKBKeJf0?hAYy0zrOkA_$*Mj5FXCS zOV{gkl=v*l`mpV0^?{C9$8CmvgI`Ciy-}sPieIB~F``RFZ>FY9!QVsudLeNGAT-S5 zvrRz}nuf281lG*(&)bV%Mb>=_>ZWf9M67m)q^hRAH)5=rGKG!_-^NPLWPvGngcpVI zfDxInpL##Sq4wKP@1`Lz!gzH|?w(JuD`iRxdLOQWZ=;_zs>B4AG1~2|)eS3k6HIj) ziO!vbqS%6RFH~}uDy(XQR5sG4j!_x--aG}`+B=(t9>Id&NKRjg9Rb^Uqp!}Q5m_VP z`Se9nW)5ddIaR)*sIx>fcmf&CqB12%v(WxJ$(tGBvkc(jX~4s9qMW~S)?rW)GjfL5 zTYa@z#D@nflA#2#M#uvq@ZW6iP21=2(0dIlQoQ%y3Qw(tnW?uxNu52nkh45Cx8afZ zy6TN?W9E zK_CC~6SS?;ELXNHoe+;7N84uLEQ>|CN?Vh4a;3q*Pzaq0Er$T(2y4_(R)C(RqXWYs zr0BHEo7_TW6<_TLxdV1985m<-My1D+BBR7$ld(_}XNqF31F+2)r>^@Fz-u9;dAtQbRBxT#2^G^2#K7 zs1GWWRX0HWFASc-o1PeD$EUsc_~Hg_VKZQ;enMqPD$=v z+u;tmb*_aPX@g3erA)Wjw7nTiieFwJvjw5rl#CK_(PiYcq9u6!ipDph z8yg$rg}^*Xsh|q6lZ8H%I&y1#QGa8E*XFSaN_*u8nW=H389EuUm)4urc!mGuBMj+)Ec;B)QC^O#4>2KakdK$>f5-e zsa|~Sn7AGvj`<sUfKgoP!n8W-}ipru`+zYmR<17rcB31qd%<@zS;H*B5Wz!{W-yG^MgqZVrOxx-5QyxyE93Rr0w$dqsXuVZwy? z0%)gpiL!O*_rb2VwnvKm-i%^ScQ=`tp)fx9Tm+)PwVPM4^VqFoo5NA0%+KYqs0^-5 zD$mlD>v%aRJwqff+7qmBW@i@F<7p{aJHAVj3z1)tjsmEK`X|&vk=SY_l!vInMhX?w0LX>aXR4Z>G4LA*7ENU&MrtQs-4+1WaL^hV{L zZ|gk4O;=>#_;=j4aU;`xv35D^wHE2hG+ppL)+Yt!$Z4SO$5C^9{)}zDLhsE}{JaA`6N9TQby4 zR0+*KWx_tQlHM@A=gX%dshj@!Po&@FnqA&)i#mGr^V~acgZUht8{(YaB&1=Kwn0=G zEiA4qP^2ayskE1%DdlxnHO*TOk$=tA^J2@d33Q+)e4^uhqCJ=_WbvKv=51aa-+?}= zs`kjs2V^0WHgf7rEV#b}76DPDQ#g>t8I9!v)lTpQyF$ zDZuxcLdHf@-PMJTi9Ht(Ua`6btuLvKxrZovwy3=RSmuglS^1I{|H#UY#!7e}>Bny* z!U`s(VL;S?GEAK4oPdWK{Z_~+xtw*8n*t}zW>Kh`CB|)Nx&QyO6O0PE0h@V8}_o z!&muYLfqcJ(dY{`g7=_Xp@JWt?}0ngg&bveC4^*(`?JT#EqGMR>CCL^?zzHMW4abg zu4ualnQU2WMvPo0ozig}dbfAY$q-P>CQfvXMRS22II;}0M4_*i=m+ovHsN8=K<^Hr z;>uP>U7)L{$>px9^WohYvf$9sgWYa(z=xMEj5)+kHehCwcbGZkN!y}??xR6a1s)Zk zsGXP)U}dCsNA3#^GJ1s|D?m{V;1TFmG5`aF@K0TliK$K;U)sR`bIdKtSFFh4haSSe zKlBj)@ZrNh9X@=j-TJk(d=S2AY?+xYV3!md5Op}F)5Q+A9gbNnvBQXpUEmd zp1oAFW##tw1cw$x+@Q+?e(Qoei?SBPWV%wWs-IZ)Z;t$ozD};?QOd}IVPM1>-IB_R z@!n)#WU-{K(NS9K_LVml2L#4~9CkrEX^E`j&2ZbzIqm^c$%WVysd;gN^_By-QnG{Er%g!BEmt`Ar4`L&&0F7|F%4@V{sv_T-C)C@17;>1`SXad{)nsL= z>`{54G$%(_D(W0nUT1MBhB(?Cz9vOu#3J`9Z=R$nUYk<_Q}zNGSu@LIq1w)To}J2e zn&2m!AvLD0DJPv3UF-L&MPNh`OgI95D$`HKo$Mn+*G$r&DJ+AAMYMR6QOR&bj8Ah14QUQ- zX^yg?cYs#WpqAB6EzJ+QD}t;7c76J`Z6YJL*sCk`vH1Jr-zJc>8uqvDhEF!6bGLJ{ z3WcK5nN+hXGb@Xm-b|%OGcpweffhY=99}p*#Lj)JYU;VhOlTL3#*WCn0;Z`9R*N^x z6K9xt*)Y54{d=I>l|stBmf(3{)a{Hpa&l(#l=P1^yHO1QC7)hE1?8op=BghVM?8vrJqF zzVMexW@_Y%FTQ)Geozzs!+>ItT;A2bjeG^)Cwh4)e(U#>C(oXRBEAtVXV{Hs#1m)F zo;>;c2us7TQL9xqe&rC>dS-1-u<|6TsO1Bb3BPJ|xu}^QV4}?}_|xj@4}ChftGdQi ztGnkO9eHX^HPxoVBZ!BE#JWS<;BD1P^x&%akzPBG zDr-8x*ma+wl0VsXRNzf`;Y&R|_O2~G+q=3DMLNCS-D~5G#e0K+RjUHQiYORFQnNTt5WCN(sSwTAG7w%X~9YILNbBH|4?+BFSIqpqMv zkrD;dhqFbxV)GNif>u!ulHzCE5%+iLx-o)Ldn&5#oK`sV2KlduORbaEwTkxak<^F8 zfkwBz17a!H`I@1i{D99mrs3L^J^t$8QNPP9snQ4Wt`z5O?wFh+n_Yq$4W?|n6ieK` z+D<`GFxul84IetJF!`O6R!rw;8B7ub<-*YSgpQ++lw1UH8!U=jRKeZ?ryJ zTcDVA>e**oUwDDq(t-EPIJBq5=UBXN>2m`08Iohk{ELW|`FY=j% zK5q6*b+J$H_0-jQyj7KGnb&ReIvifR%NzC#8%A0hkQ_bW$m?(qh4iv*f*i>h@DpG< z#$Qy*ChZC+O{7^VK|Chg1t!krzD%4BL^An6IN+>AmYBJ6&9qK?8f?03iCSE(tdQpS zGwIN6J#Kxa+#J*d^@9wvRyLvf>lRlHDX%vMtC|d*mXY(Du!*Y0dt}-8b80>Qyu?ux zWi{eoXV=@C7Na{Y6Pv4tLaEif?mVTXy4YvcNCy~tu|Pweu{!+dfoN-O_vk=ZS77WY z*WjTC@9ONZjG7qe!g+o_zBf~RC=j^IEr)V|+@=Y-nQaeMb&WD#0rgNGO1xw>|a?q_$PjGQDHw81Ky)4 zX5!^gYw$bJgU=wX6nT&_lh2`UxO}I*l_`Dp+zOpWIe@94uD6>eV3AzZ+lDWbmNzwE z(Q6=YOe|IfJ@VJ4Z2~IMs6(QTghk|}xjVhHDwNFU^xZ@SlZW;(ljdonngr&U_d*lM zS;`+MwGxv_=Q{F5KrQet27s10(eV_ygpxzNqCs#EKKwNOC=qI5rRQdq6gzFz zHx{Awc(*<{G;WxYt*{+$xu+&iI(oipe5W;&x?ZdnlQ`R;L8P1oB5QWU}e-=Nd zuCA;q@sw^ErIIb?i+zIHY=mJM3tA%W~1C1 zm$kA2ePZJ4Emo_gSZVqNjx%?qQZ`&22kTB;%amKd;0s$kkrgC9eXfHqYx!{X?=-Me?AhF$QQ zKJBKdQ&IcT9ko%%@Z3B})+N_ux#MM!rt>Ov8?Uxiy9~yUw2n#`L2Q(Qe>8iKM{%m1>rw1SNa?ADI#wr6NP}%bi-s~qt@7KxX_S=ybIwT3;Dda zNlOjHAQ&A5{|EdKF!<1;S4x!WLiQlEwt)IPzxYn%#b-4>s7r2#UJLknIgI9IQ}^@S3r^L;1$#Z`w7dxqDB0@Ey6T)z{pAf-W+F9LmL zZ)LIJGcHtXrD;f_6X2u*%wHfXxs(KKOn*k_1kv_qo_Pkf;7eb&>~4Ohd3Vc~_!6t< zEhK+^^XAR*)szQ!w6vf*8`&JPo&*&Ho$r*sp^Eb zAv)rd0e;i)lMM3^|Bq#UrLY!fQA_qlt7o!Q&5&0Q6j65{$M3La<42IBIljL6kEZEJ zerlto;M`pmfmJ1oLlHVa3*!hh77T`y)8AXs(p-T$r-vk(2!=w{|*=Ygi5TH(ER#E46 zwC3Q2?b|OLG)=POXH2qHP^6S2kv|?igD3W@0q z6vRt<$rS%ILCudQ-gm_n+LK>WXFmAg1Ef(n)MHs4Vp+~-{D_U0aj50_=dXy|d9~LY zJ=x@NY`iNn@!kqFi#qLeetN`NSLZxpVMwO%`~Al>nl%-I(ov2Pcy6r>N+Po*gJul! z@N>Gmo!W!Cq4sik*@x;5YBh~pJ^>j?PYc7H?ps({3BDqoD1dpAF<=B~V7r%1GKXB! z)xL_<*%5bA4O~T+9uXQ+%dS6+>@s z=j3Ngin4REveKz2m7bF$SM+WZ-xSI(of(EJ)zj4c5L~OBG`@Op+wsM|<|A`(5A0Z4 zetPN++K}%cy<=$>PzABed;zXA;FJhRe46RoN8%*R{!7!E2@m(37MrnMdetwnDS;9H zr#=6S8u7!)2QHKwT;ZUlGTe8;oa$!w>&x0s_G^G!o`1JrFI;(U?6A06@ciEEGt9ze=L{>$DLN14u6jhSQT*HF^Lv-2 zk(UYK!P9X04Ruiu>sRPk>h-t@4M$V#`c-->%wBAfX0Ta;9Gy(btuR;$rJM{Fhc6UP zj*jMq3P(?^sTo~UW2`whbahsFVPJ?|P9HzmEaVOqnbWDKwG_!-P5{e@+?yEyQ+*tr zi0`FtnhR!gjg7cH2?IK*%LzKt+|dh@5bvUzW9Y`e=JP=2m2))X#%E?A7PO^LJYSrU ziW@cCPuzE8P^;0}6!mo(=6m)YJ2r){G98INP$kmN{FpMv-}+0opSjcMEMGAE*tBW; zCrt2+b+?Ue+cGH7Jj@hq!Z6T%QoD2f{J248W)nhLLxO}N(fMg znSzyy3J{$D)l4gB@Ew40=&&BVB||g`Mj{mY9}t7s-1HBl`zb3IzzZ3Zpg}&yKfYCz z+a%EhqE+Es9?HLkCwSxkgu3a{0)Jk?l*M!4wRmPO?{D$MlmAlrPqBQpe7uLXV8OrY zp9+T!2|#(-S6i#EQgmI()2ae?v#-)qS)E@|<_p{F?IBfo>wf_lw+YSWmo|)^jY~p6 z$6AoN2NM0gvVn>&h;^+b_}ZsSAeKRA)KG8H5Uux9NJZBaCEB_Hi5V-IF(S#;Tsr?_ zLj;NjczmjX9-j3gx`6Y0AC{)rnr*O{(W)4WEy#!50WFDFiH~d-ePJ5eMs0phHdrZD zWaLozSC_iNl_!yrcWqUr$78lR^k#{{=1_Rbs>79dXtRfR#d_YzW_0r&YS#{mnn~@r zf!ci&y6s1vry1s}4L2Gqji^8@Dd9*81o6)@YRqPsAM#5xvNJVG z>NkN-rplCMl6Rv_q7szn7ZnyL%JPfyM3sD%4Bx!;1Y%_sy9=_UH5D}#@L!GIg}*ql z6nfS(SjY5GPv)1~p+aeR+DN#|Ft`5+5KaR-l14vBBmWn~1N863M=^=d5nGo01ma9F zaatMz;SId>Z<0_(K86`Ye0n>+i#qZ*P`E~Pbcg8siur(?yEo07_pJvCgnzK_w@_80#LWe121AKBHiTyx^Esd0bmWhxTsR0GI1qej$*Ki2TqF)@9_*|*x!}ApP=NQVy zKamGpO79)glu>|MDr!(^`H;dzta=5_-SaE5rA%=)32Fi8T$O~qs1;jB3QTl(p@lbCpk}z^vDH0D4;Q23@1c8 zRWO^EZso&t^&p`qx}POIu%Wm27I6s@TVS?GtYmUKQE1~^m1NJte9}>aB152{EvEK+ zMP83kv^26B{3=$|6G2<*bVWWMb^V%*K%==-lneNS zvDI=u5Fy_%ee>Ar`ltRmNU`aTOj)U~P8&bXm9pFM(n`$xhQN6#Y%;foVP8zs#vcNN{XS=ORe>auvO z^az_J{UR-Pv_C!@q#sKT3_ByN`>t{oPtw62cQAv!MSW`?L}fw8lcbPtj2^tMr5%Ps?SL^GD90cN-`{r zh$9WT0Gs_9yD+8$1mG_#hsjpNkjMu!i&&@hHxjU>;0MxNhy;qf=>Q@Tbzm3 z9X;Ce_S;isC80n`J;i3T2Dj|mMZ~kZ_UV;RY}jBO49IjxaQy;35J(V?jo7SrN8>+( zOjbpnezsk;;jRo5bU;f&R^9`_7heo+3|o}b<`-~81sTz30Q?yZ$l{woE8?T)((?(5 zATR3%j|O7sOy{u#M-8MJ(@{QwV#MHNbPrQa!~QSCqYh7<+A=eKOp!OKplCf5n}41@ zq^+%u+7Yg)sL#!Q>xqnUlczS`*K*>-P`MP_&*f_TNh;kWDVQRyscc~pDpB2Jf)b}c zQSgKOYj5RSHRhZ!boAl+(Zb+X=!^SDK4<8J0puZ&MI(A1>|X;h%UAmGjg52>_zSKP z{Fg1J@(1COq>oDj6yY6s{=_HW{WU)OXDJ~p1&Xhpo4u@{czAPJm`cOfWM`v2>|BXVS{-3Y3NlKd=1`k0k-KiR zi>r!qU!%rU*VbwKlp*3xCNKPfwCV;JlZ?Nz@co&E)2d$;6e@9?;Ui;0Df&%}Qmn3x zPnh-5M>_e7pDk2m2Gdbtm{*fMisEFT;#217dIZ@jupdIedxuy#z=cUmyErY4H2elf z+DgJd?39NEpZ}+wy0txiH+Abp%o-QZq1MNjQ0s$nY%n4Ne%na>90+UCe9d?q4o$L0elO&~_t?-})AZ;MVMH_`=VB`8&92PRPTZ zVsUBg?VEwe>_kZHTauek;RFbSk^3R3yW1BDo?{}jYP$?s3riD^=QKe(LW3IRI6?;S{qTOwp=zkXjO)1S=pB zuOT;0`cZ021gSs1=_ZuR@mtx8&`C}v)PlnB`3!?rESKhGv7Tgi_}L9zylAAx?adM4 zZd8g%^6woa!CxauV);kwvvOkVrUakIZ|xZ=I>z5QO%$B=$Pf2T88cca2n$8Ko^G?% z-?EgA;PPHCN7H+=z}}up@YY1(`}pWKY1 z!|}7-MhM~ZO;piUiY+%6-HaCXTP-(@(CXO)tr$H|@~J5+9ViD7!(-Tz5Dx;`33@g4 zrxN8j+4{o|U!z~1KABuksz9{k0D3ZvvSBj9PedLv(+seV8(BPB9*AYeXc;ZU4^!4c zDjDdGk3<-uNRU5}R9hNQ_16avB3siSuUhqN)3VsbyHO=R0W(dWqT6(-ld>T|)A2(5 z)D8BA*YQOP$0yhUrRC20#<&w;2U zViqud0oo2hte3loInx+@bSnV9=%YjbYG$!>a!TYbd-aCdj~>Ne%GIuM#)g~>=;Oau zAVnLWcs9~4FDd6sGILoR>T;yDa9!a@X<2SIWp+gVy~zeQQ=xyOtvF=22ezLx%j9fU zevVRVqwnc6`+J-vO~kE9EJB(FI6x|#|FknWZy{Wet72LC&<~je5=lQ5E?*;Nlaacx zFE$vv+&za5#Xwf>hAZ_CBO`tbo>RziK1SVOF<0<72ibR6Ca_WY)4Vx*kuDv-Ee;in zR9OWqh*~#8)H%4E2I`}D=R1G`{(2m4T?gyXrb_uNSU=$Fw?h7oXRZAx@Agx-c z*x;U?(x%!NtE;#)XW#3(=XcKArvwsOr@2Ng= zzUYysigLaD+MF=OLZ2bT`}Y~1Vjh*9vP*)$3=WV!_M`_qvFvN;d6+Z~kjbNEETZj+ zH>aY_aZYqM+p!?mCk=FBn~P_>wdhB$_34$nj;^2$0JA)A8ffc83Vi)fAhYlI zakNWm?|hn5USaf#xkd=Y5Nfw(<0VKSK!PD5aT!|G@|j$S=6 z&Dn$v;BS2eN&~q7{r1Txk;qLrErIgK@NlZirD>9{W{s~>=f!geK)wghYeye>$<5~Y zX~s7kNo|4Ii*q{kq&pS$MCytOwwu6iAU*8+a77JvsEK48`eRFSX(XOOmYo=}!X_L% zu#J5b=|8>crYO?kf6ZUhA5Ob8 z%Q_GLd^{-rnO)gU-S ze7qNW>$@4-RRPF8U>9sydGcZU218VZagX3Y$Y~H&yS)kNKH9ab32C9CdMMZn#rR89 zjGo+deew3KbH9(j@cWx@{vRd(^u-rb*4t~ypqUM&{?dkc7zXsDhu#f`-zBYN5_;!_ zgdSxkF%xeoWrcKHfT((AO~f7kQ)D2iG_xtisRtf-C;t49=n{MpAMeiz$#qQ%<6pw~ zIIIL?irP02uNZslS$h5wnO&#q_28iUKOcJb5J4lXN}>de4kQ$!ok>Wl_0f{h6#YUv z;p4ra{@&WQ4T(>mJ=^~C&!^k)?albM{@Sk=3GhaSKQEpN@7x(ag>?|i>bE>D?I*nf zSU`A_nc+^fMJTG72px_*@hJqU&z1#uV;DtEXQI;g(hY0Atv`H+cYkO5z z=H4>UpRlA=04Yo>WG{MImynxFNZ#@wdiY_)dhkI!q@B8}{kDsLv<#u{y7(h&dYq!R z#%EJogHYwSwVAvw{;2!xGaak($tUp#Rx8~7n_#hwH=7@bkxV18yI)M`tz6oNPw-_j zJ_H10ba6suLAfm>EWjf~laVEXf82?GeD1j>5SsguL&$@UTPw_xCh+NY>5ojzkdBuysRsH8z!D-X@h8Sc&FItCcymHy zbOndBgo^k-yq_*8Z?ZNxymRk2JMbg8g~p4)&_|Ef&?*}`hKJbl7@4F*%8hrHxKx_V zdPLoItKjg~49TeYga7#tbvTui$sUN`c{gAhvxj8#$4UCqUuF;B4fHjRv-X;$m)%ER z48743?~J0_bB7L5>)?9jE&NRrwZj(j|B3z(8>>S@P_!FtjR+Jk+)Ml4&;|>YD=iSI zooLBtc7pt}8PgU#X7uQ891}czzzp6E9`w~$f8Gbf|Cuz_Na>!d$-SiFGePEF^9`!o z>53U9g2+Jf0h|`Uv3WB~{q?WEw&MSw+~25b+~#lxECDp9qQzfddGUSP7j48J zGQMapPvHds*=SH0T^qu4uAV0wz3=ly8{|t?+4>Pb3+e<8vffI>k&^K&Mz8eKDx}5= z!9yx9ldDU9B(XWL^lElTkn!wox1p_!AP{wjzr_09coH;FM=EMW{P{4tFPvDY{lyni z`m@glo?@r03*QoC$odFu38rS3i4$4L4CBj1ikP0fEK+zu4=tuIH79DTXv=A0GG7gYG1j2 zeFWu#DzV|Sh=RVd)GqPu`(-!n@>VH$|3)66wz19~?QWk`vvG*ht(>?m?UHP9d)13@ z|9PitK(q+G>sJJP{&*QXUq`WmVy-p12R0WsjwndN#F0!B{&>=d$ z1vvaP3c(z+Ec`RdLeCV63Uk?bmq23v<(CG&!ak`omLWnnu`+mhGMU7;nl&oHT;DEw zVA(RXG38|Nm!+!_>yt_-5R0IfN8O7q7%6J2z{c$uyz=pA%Q`>lUMEc6Vz zdjVXr8^wS!%NT#`_tU4JQ07anpV={Mha_M5=;_n(tNWugl|BCIYvL0aWLgsnoetb- zE6Qn{yBnqyLDz>n1E;A+Q+7_)&)Bk0fgj1(fqi}?xaXI#1IcQW`+(da(U1fAnM#YH zFWcf##+zgrfB7{2`@84QxBjvKKZslVyOS_SX*-@_6(_*-KcwM)aK?=IgbzNT_N6YB ziASDb71R8fjLy;Zm3^2(k_L=(!}z(RVJ*;{D7woTs>$%B!Ptuu%KO88-#x{F{OsVbQSkjlnIsoM2wO@w3mU1F6eR#5GPOFi_i@ z*MTC!l=aeK(q31G*dE{@5Q_s`1QtD7Fj?w7kjTmOb*52bvYWs7q4kH~eT^2)^q{vT zzE`?n()g=xK{*|cK+l9`dt}Pahag-^($~FUnG}avPJuo+C^T(aX!g)*?f4by?H@Tq z#@0!=#r(?El7ZN7}HyFdb&HDQB6`2>je4EeLG$qcobx123itm0-~a3X zd-UnZpgHG!=KHfcb6UDfri?~b(*;)JR;S+~5wbK*)L-<6W3P~1Gp%%5YonvVLeo|G zxp`WBEhR3SGYjyqm1o`wtAVdRFs+(zuWqal@YLDS;(5UH4Azb7&9Q7xMuYH)AH51(#FC$VrpAx@`31$flgjpTXAqRsoU=xo>p@iRo120@0OXk&Rp_>kLGs4!@ zpA}a(AA6UXiYNbD(B)DO*y`hxZQc}oRZ%Xluhc}c^)>wXE{tKJE26De1kGl-r^)XsZEg!S z7Wys0D_Wz)3RT!*nPE0R907MNsh8dWd^;Bqc@421arCJR_n2j*3^_^-1F;Z53p#a> zDuZE@Q3N@yU{69C9!|k#V(32Pr||18JY8&4>Ps4A4jW_zu}Z#vhkkErsJ3;I>VX%} zoN2$3EiA7p*Yo|_qIRyRs8DFh=TtP{4kT2`FfwB{i2&RqJ3^?r3jN2;u#;YLRsT7s2e5@oyeD@1|3J`4UFHZ2xX&ZH zq+X+LLr$fKx;4Al?yK?EcJ5HF4LeXL*`->%OC228r2^Qc*J@@*YTI`-Saf0S&=0Uz z&x}+;c(3kQiuVeAYL`^%YC<G3$i}1#MWRArQ zT~$S^c1w2SZ0cb^56d_+@WoSr(Xjy?Px_KQz!wC@8s-OLE)Yt>70h6_TFEcKIapa99ofYvfX>j7;5yv6M<^C`ku&dmI^if{x1NX2+w`< z%{Te$a)Uv%gVz%wDyxj>Gd`(bhTf_pZ4rE4UK`e?OA=@b>kaF zvAlH~>arWM!}GX))~ts0$Bm&;?>Gwb9FeJIOpYvIC>YPh`Gi8qjVd33*g>`d9_3^wRIB6w`s7#X|3u?IE-9JP97D%i;{#0S9=-e6O^?$b(x#DN zSZeI7U~ty4VDK_;e6tSn+HTSnBusqKWi)mC_=PYooM9Dw{*x?!nr$}zKU-!@2S0p% zgjI(tJQ58aBc2`se5g(>iTqE_)d9meC)$bX-LVlZUDt_Br|36|-{NBkhA z(3aA64DW7;Anr43*HT9tb3_fcIz9LrS|o_?M>+aBv&vzaB5ladZ?Fwf&Gh*R@e0I& zhWiHk`*Y{cB~7*SS@S2YJsiAl(WaT!?cwlF-?cOLF1DXRby@TJm)=H|K(KIw};h>pAcwQPB^xVmI?rX48v=E#BQJ(0wDy|xuD*Q!;k(pQ2m*Hng$-eAzs8Go}8kM7H> zS@h03XQ^9l*alu;ry57V)Ko#H?X!Q0da`v}ns-lBs%7|V*(^}bFVwk;|udWuL2y{E3vN@tWd6A@3 z)0R1FS<%-=jzj^@y$8*rk3*Q_ZB&acdn3LHj_+O5b!$*ZI8fBv+}bB@h|&+x-z#!$ zyV-R{pIprsWpc`cNO{9!zDlsn(m}vv%;TX1CR+^g^qT*c^E46y0Xd2#s};r=1KYuV zz%eG4PaMb#2{nOTvP#arKvzHa?z8 z9OwV!wo|=VE1S_z@BHy@+g{amU9rw$b0aLobmqD9!_7!l02c z@$WWmdV0eK&${?4%;s-_xzWFWHe<$TFOB%{3@(cMStarBR7~nWMnItfB_jZE{#{Ct zgY-+X33FH%u7n!bj3lpb-AY>%;kWPhm6V4|C6q|+6SuMKvJ&3jxpOb0pSlcS(bq@n zE|V2?(qFi4r~j5<8bAHeUGMf=d!M@p&52h+Nmm1IjB}vRwb}nga!X$Qm7uZ~Q zjpYgJ0%v)qTNoGF#Q?J6f;KoHd^~U`z*eH2FC?|3xD&IAVf^*D%#MIY#{S8_(0-LC z%FWq%?X_s;b=TeVdyL-OJacw&XAeD|2)yC+h6LqNvo2p>%M0>63-_)v?t2^Rwc~Gl zmoD`#^3xWb4n0<22&;r>_s9ii6TA;&uy__6wl_*h?lYDPc+wdb+&H+HB0DgDtyrLe zP`@Y=1)>jL3l7pnfH(TJ4F(y{!lPB_T@jT3@|G=MB6bI2vwx^)@;6a^70}=Q4AMx# z5qc_>-?tz>75ZVH0onK&)71psbmoj}TKxLNDV7F0I|DS=-xsTb;@CV*r{5&gdcFSo ztdVJ}xx@~6o`vVlW+f&in_z`$nmWx=Bmf9w9D(u*!zvC-9B6jPR~9a(zi&NPd_30jMA2m{zF?kML!KCV z1l7}zK-Iw$NDY3EI(e?UyBF`NX>jh_?`Wvrz4XSu8N%6P1!Y}R3upe%s!zMZ?)^79 z!|=rJz8Qi!V<~t-JOlkS@|cI?$Hs*J$LKYjPvIO{1v4yX;2g2KO5RZH3g@0AXP^K~ z-f)Xjp-5tu7IJ``Ns8P6fEY*cO-~{L4P2H$vcu7oKjP2*_SRcx&vt(O^~sYx>UK1) zK$S~FG2Fj2iA6iZVP_bvPg})lk0L&F_POrEN57O5=4@=S0(Kc?Sg2V^GGWMG60!nB!yvN&9} zI8peXc7pgMp%5O(nPe8jYss>)37wL~urYATuqnxi>nGLvraB=%DiA?5y$t0-d)E!| z^&n$$R`Hh%Zja<2*Vh%H+?OQvY)h@Nwl=n*!Vhz~V&!GIAAgKnG$l?IT{E^LpJR1N zgI+cYH+;Ehk$=wTX=nU=op9oGDiRW+33EhS{AYBdI&j!IzoyT#$Padm>HHyxO)$Ly zb3s-~Kwql?Uk^ z*FGdT#0acS4HSo3912bF|8(#8hH$udbf6)6qXK=Lcjww2kHnw%PTGS;M#qx&_8Wwz z1tZW3Kh6}zh!w~#%yj@gfyRNBWY}s;KTMqZaG^F8!2x3djtdaDRoCy_`OZ7QvEyxi z&y2ws`tx16w?4#*NM%{u(Ion2dNg5PT+>OISN2y2%J{%N5eC8MuiK@C)jdCTQ|Ycb z$OX9|Cq9Kt>@YiD|EceV2hz?Jtqcwf1Zlf!**4|XaE>@G_72!>Sm)$I<*R!lg?zhTolX@oI+d~hX*}M15jG+TvA1%yk>|L%$fK(j`o)v~$ zr_BW5kjY7Z3(k-Qaod!ng?Y$;9*e!A~AhF4VY3YM=q6t z6w3gF9P=Kr%waX~W1=wv{J;PbU?sp331dRPqO?huNg_>>CB_n2@HXrXZ(Xwn^};aj z>sCfyY1|lzP~Jv=q%kjScm@_1p*VDeLMMxCd~;lzwoDz>J|UtI2VPgpmu-NiH8lf6Q)eSj->aerDH zoHB`+jWh?->608CWY$+=!2iOfqH|b4;F|_?IP1Cf>nZ17ZFFDjxsHE=%`=G3&`a7H zsL?~~VS439Fy{Ja+{%hId$w~TZAl!|=&$a)^Q$rRr(SQ2-gIp+NS#Yt4A=np+}>an zUS#8R<1Qa59)sQ`!>5KnX7Zz|FS6qauq{@?Ylwt}P$8(t1l_^_F~$Q^ZUubvrA?dA zt!*E)UES6eZvlVnFQzXcRh}hLR(N|@VZBt4HB>GOg|sHUz5>*zaT1J-t3e)B_2D<# zF4a0}zTr#IC`qk#)zymn z(8La}x}sWXp!uN?Vr4)~2cPG&iTbppypcoim$b~m)UIIr2=7e##8OD5gGb>%%(Ad) zBd6J5@G-e}Ns0!)8J{h3-*+Fn?arMa?f!h{&d*yuK4GWq_9xzt?u5*^^X<4x7g$jA z406;E>xH9Enh5_+PAGNt_VxlHj13pvdv8&gzCGq&vBDp7k4D?l51r60j_Kfa;(0x( zJgk&d!hQ_MAp9le$Ph^c>rGm?|GNk``o8IhdEp<1zD^*HPfkJ0CxgZQUi=(oqE~UV z(Y$PlveGkw)nFI!bGh^xVL?nK2l^fXQc>mK!xevkA#C*WrEopz^==Oa6}q+aRe*Ts zyBocxf+?F&IvNS<)1JQ>W;EfPGd{^UOFK&de{p=5$l7$5jh${1;0$jpn_x2tHRFvD zLl_jkq|Pz{7{9MCrhih&Z+)iiN!muAVf;20tHe_7Kz4zMv!!iAv*(7gs>mO0e{>dA z-{>5A>;kXt+rGj6@h7HFUrTG4r8*j5<~DS^+Cx8#TK__#FUR)>Cr=Je?EMlwd%?Lf zxYg58OTyT`SQ;5fH`ZS0v^g^ zy8@OXPlhh)|d)oq7 z(7rx;77yx<0avTtHAS8hMES&Z&YC#RVM}v;kn_~3Q}GuPVw~ScKeAy_!-5UCR(QjL zhD94ttS{Kx`%B5F{-W_SC6hYjt*Cs&x*46EvKg`MkM$CkWjKBdz7WD55DNr5S@iJo zaoRnOf8iD=_(3owfgpsU;ZOpkwkMbUUu;KhXE@mFT@4rgJY#5}V}cOHFU`voa#yz? zzO*aS7n51#W2k0*_Rv@9Mr7Db?{oMPM$v@uNIKV^z@0*&*I0K|Qp<%5|d`I_bv zl#yfppoY30?*n5|>NFaSwtCp2Wc2mxklT~2$t;1YSHp0A545O7 z%(N{j9Cb?YF-iU92=fLmY)>oI<*0!oAPEGJ4#vjBsI?ENFW?Z?y5MxVdQ-m-M$a9k zA)~1PVkaM0x7c-_F%^;NrGw}Wk45>rw%**Oj=&T}RR#T9blvR2f`V51Xj@)^bjyMG zUC^BKG{C3dLg4H#$a@u+P4T#=l>c>{K9?YqMmu!rG;MG=YW!8aYG-SY)jn}0Ppl11 z;(EPft}hR>x%6Q`wkELIp{ncuK7wA7aWp1>9OGIkOw|k7PifWw)_WWgC^yjUSj`bE z0KUU-R_qF6A1X;8Nil&t=)0}MxQ-9JRp8R;db$OY*YmEmbOhM)Y`!YwjyS-kw-^acAHf|v7 z_O5V2sjU#3v4;I{A#U1|2Mc!3DjGNfv0wW2C%^2#tn=bFR1FPEsfU)V7v~ysDtRzl z;MqD9804^g+!AjNcRKyU<5`(PO)crw&)`EZ!_3djghk8rco@bx#bz7y86_0JRDFPc z1iOdmQgXsXNdhUz!R}9K7}kZHVZB=6+lpju^gm30qvZaXID27==ceQdmz z>0N^pe{nb@azQBM`i;TQ=>U*)dx~$o zI6-Uz96_juD0s@oBi-#J(iHn+mLJYHzsLq)G^UgT;(@JEr6?w05qu>rcv~o>O$i|W z+M<_N(>v=!(t?#D;f$Z#KkE`oFCQyk^JURj`xJZkRo+8?SA??T10ykcN*w8H7#)9t zSnugLYNd+5QDXR3UK{vvT|(IB*x8xKgxz`)SEkQ!a2Q$_}N z1kE0<)f@~3==H4P5vyeQ8vEGT{z=*I%8U{Hy|5pOi83Xm8SaL-IxI5btRxe3QeJri z_5|OB3*ZNu2Ze?wkvU$R=37#xCq}s06TuIEE*gy?b6Yf;lvj7nynXK6SJOVYDVXkK zFK-B^y)wz$nLwRaoW}ma#~SZ`|I8X|7Ln z6Sif*=L7|U{q3YnlG+T0aM7PowR?{fT~TVO2V^p=k|{)p-kHlU*|=GD%^nuF6#5~R zR&a9>YCPc7Yr`>`kschbYQtGvcq2rhqX;itAf#ZjxUw=)XaZ&tW(BMO62LuG zd-(8SdM?a%zC($+At@g21PX|YXb1|ZrBt-48C_S^hQl}_rVABS-`@k9Mgwf$kdP;9nvXefz466{>5O#y= zUtE}D796GjrO=^6Rdt0~PnJRZk2Pom%r#uo_9ZoE)~s2-;m!kyj;|C)S*~mmXKqft zM<)5R*T3>Mk?`@p((=aIB1<8!l_y$SUDPC1j(LnxnVG@4Ur`Z%TQvEZGwzP`TCVE6`us=9}cuXXl3e;=Aauc?W-N&YKk|ryb8Q!PLXR z1W*ndPmBG_ka^?-~bw+Ku_yM$$iSimsyh+V8o5qTHmMr17W%c|6_j15|g#T}?Op)$0q zdvnp+ewlRPC8ap0KacFitB|XMvPxcU zon8QAA0WHjs?z=T>?J2km)uEL4C6_|X~6qNZ7R585cT>+hJb0Rc<$zctK$Dk;zt-) zc@yMM5(h0L-TZt|4}#~ROv#vmxs$1+9hNy5gGkv&%(w>J_lPOkNo1A~C!Ec|+37JE zh{M1xU$~vr-vM@~H)FH#gU)*TPcyA$VvN*JVJP#1G$6%*uDf7KSLOD~U=x*fL%v>@ zPiJ^9D{9J9BAsp0z)JD9#aA3H*tZ~Tuhr29Nl0Tj9!XstT@QV{V~%KitEs`C@KRAV zN1;^YW+QRU=!O|mf5k-9NIwx2as)rBR@U+5HSSR%eT82gikA6HtaTnuF*PBLCV}3V zUWgb^#q^f6%FDqz8_v%s>Iy`YM0%mZvV(NH$T+h?7#awvaAeP`M4MtP-~fHYt{Bx= zUG%-GIQ|9ku>#PjhWJ>EWBZHM9pAVAGFGa-BSxQVAEFQPkgv#S49;PV^2y|a^TsXp z9aGTW-;=zzFC1!2vwbjyI-@X&M|r^7Ww z@32C{bd#)%#5M9$7@y?AtUtUHsXa)@8i-IOU>&gG7!W6E&|nk`8#M`^1uvf1cZu&+ zn;>&jHgjh4w0mdXKW*Cm(9@R-oA3oh*l}=RZewZb<`QX>M0Dcx-A3b{*p+2#+F~jC6h6F9MMk7k~z%e9E{UIXqwUJ z3F$(xX)^o)*aD86*m|I=tRPf}j~xgElvL7v2R;GZ3;&itKQELjtX`Pndlv3nmVm(% zzkSmt>NZ&}y);&f^ObAQ(tqrjGiT+>*28V<)-7DPoBsZ+$yDkrn#JmmS26pT+`*6A zH@3Ii@c*dTyV&cEzqIZ^zS?llJviagi+C1~*XDIQ;Bvzc9t-`4*U*9UR;YK=2r8kg zUt)O(-!SoQJwZCLbvzSfZDLozm;vBDrMTgz6vB)9G~j(m*>}XvAzy|;Qad!>CgER@ zwy-}JDtUDGPPjTkJL%Izld~d5nOoCOH7iT9AA2lH-%&n^iWW(;Ca*8wG&s1LUBVxq zl@sA*uP9O%@B=PQP^wZ?O5&%61LElXs8P;tdV8+WOHWJ~yuUQk)Py={S0S<>y7Bhg z<3=zGg@zUL`hETLO7g=Lh5n{#;kpd;-CC7dS-fj^;h33D!z%-|EK&NlK@KjCb3Daz z5IM`lkZ~PQ8b{&Ihe>-8lL?U$seK`vfprg)YD}KMoFwM3fr_vnbs_O21+C>kECwVK zJ8_Vmw#)qe7pRhZ?#`nZgKK*`~s=APHi<53G8~c*=(@atG%I7g@wg|!vn~>+DGw5 z>_v8BFBA!#BL@CTLx)o`2C#6YM!{r^sEO$YMm20w0s>(+3A{y|+6r5N`RF1PEU^hJ zVcxg&aW)G6s4Q<#l%tHQ(gwK-`gq6p!{)4w#rB=gIR87^p;I)MYA5}PSpQ}5)J{n7 z=?HZfb%#{#9Yx(O^vpL7(O-e5Tzu#a{~YhsRl=Fmy>rm65i7=Y&ZW{Pghf0;yEL#nYy9f-MxSRd)xERKWTFM zkd#*_&t?TV6`hWXE23yYpl4u8;l_piYee)jd_|KPZ5q>P(^wkH?z^vyQnhDQmA3~< zHR@wJU6<7w)9K*2#*sP1Wjw;;C7gd@Z|0o+s(Z9H%#VR25>Y+*~Tw z!Pva!>y&ro7nCVw;D2F#{Tk$TGj<-%4NG>i?7~uq@gi}KJ{CHRlMOYHI8B&gr8LP4 zxF9%ZOdnC0Ye>?)Q_REYb@Ubx$3}cld@8;h^zF0j*T082J7a@ex3)gjx_R^9Hvqc) zBD;EubiysV+5@Ad1KZ{C@6z-)+C6HNt9wmDLo#g0^950VgBJ#I^m!ZTyMjJzzc3`6 z>hnz%h6Do^%6|dP;5ZtN@dtoUFlLroFW6=fM*}k>wN^Iie#2-M5<5!>5U@dri3Umt z7L8+QNjZ#b8B(iGU}tZZi9VL|X&)0tqaGLYj%?pP|MTF2?c0wuUoI+|hfq7pS|lpn zQe0cphGK1p>CBPgG|KO=g|+dWj0D}suRtHPdD_lr*pLmr!>oXvHixgT&*!kkPx~rC z!7SLejhdLgbjBY%MRIoWy2W72k0+M=9N?72WbI&rr`C>RW)LQTuM(*SrzrsO6LA3+ z7n7EQf#NC+ei@OQDc?KwGTtw#qP*o|wR*))loZmM%b>i+q!7 zE7>NAfPGV=x!T=Wp+TjkH9BS26ydyy1y`Qt3#x>(Mpx+B5uTKLL%@z-B1KtR(ULaF z9rR}cB>%PeIrMf8kQU*T5NI@F3vsfooA{ZOYh z80xfs`YBBjWvvZZ{JJKofmh(KbFn;`9MRX>I_CKo4NCfL`_xjutjN7u5iF-5M`qZu z!twVikV~&Xz8cPR;zJAq&+$pmr|`jkW6?y~&;cTe0}J3yoGDmqEL)#ji0AD@xP9@w*Cg~@m>b*N!BN!!{2`E zSr9+RfYJ0n*DxFLBWq4D-W)_zj~qEdc}6THkz4T!?Xcm4 zgP2H|O>ol~=xH-CX^XAx* z*yhc%qX)kG?)2&SCSsI1V3owIr9!>*@0YH zQS(PEG@r<_0-ErCWd znZ!g{;5PtsZEi*duWa6orlZMF2m*Hu{XthnsCIhF93-7{&+OT2X9Veo8^DdhWe1+5 zPe-jSJh*o4ZG~H>47!|?DPiM+@d;ak;@kGyWb~g z@eTU~|G|pkza&*8zo+StbrHllv3fQ2APgyc1@3j8x8l%k6ar`9y+Nu7wan4k>43Cb z5&eA|7*v9|wY}XsZ~gk#x7s#tT$ot@$;A)Pof}-dI5_v3o}SvYHGdC}dPWCVtO$?S!Kydxs*0Gqnzhp)H4SaOUfLTHlwFd z=`h+Yew$M^ww3;~eQYTtlGd4gdcFGRJ0yx)^t`b|{sv7`z)8XG{>AQ@8I!H|sz z$Ovx}*}!2pj;J8!A%f*XD{%M?R57EC>QQB~a8uGBrr!^vqBXf1`Ug~&pI?+U-&$@p zterDwSdCU$sqI?KFgQsv2lIK=r558+zR3a_HUNj%vMa zzE;X|va-Z26Fe?$Bcx1J#(B?DSvB-I^ay>jSIdSZJH{S+i^y6Y=x8i~l0AoRPDFGu zOa?w2hYKDHpp8|agyFY*jFodi+?XM&kl92wDCXhvUq(ZdZWly3!^UA(8b?@wDIwa6 zBfij=3;%;axqu`PhY0@@2x>5;q$t?V{EQ6(;uVTP+M4jx6cm}&o=S(Uyv&)&YY{6){aRR93t?r2)6re6z4};NyJ)ltDMI7QmXC7V!}g7C zK1YV;4CmMxD+6wsD)-9Lr{{#UKCLf2P*v`(beB6;L~xVuk7nNF=g2sP?22ruhh?d) zjrtq1C7SF)M^EASmh5V7Y=ThcRE0!rF{jB=*dG)tdSZoRtT!bb;yx|}{K$xY9{vDWwnrvZ9YfYt!8Sk~x2V2E5<&-KjhwqYS zxieW#9$L4yxwVaAkFHS4bK53n3(7>Ljfhn>URKNDxQckLOqP+0R<3LwJC0(_?`7xl zIpgVr38q>xYebWZH!|C+3KYwiw$R-W72hQhyE|4%m02wlxJprt-tTt%jVfPnzR+DK zce8WnUD9U=bcuvn!5)rEsIS4#yJWucd6@$G+_Y(od}ngcnVw83Oco3RnUH! zV4JkSZ~!iPGX_iY{(y!L=*B4T@IhW)Ri)3=AQOr6J%XlCZR31xUdf>rWN=g!^XWxn z1Ty{3wrjKk=^XCkj#{TPnZ}J4wsf_2&_`y>a8DdjKtmNCy4pW$Mr3a3{z>bpN2I^( zYz4p#jfif}}nGjGZlYj{hKq?I}VNVaz=R-H%N3|ZkiC#Gop}|`xPK10=phiNG zQ-C5r0fXQtph&a~Wt`9GpodWA_89v2n@J1E2a|x~ui5>6`)js|_@WQ`{YD2Gng zQ;8*D{g9Wyn;_-nqSxB&SnDMo`dLHAhVB`I|`amoeuvGbHL?g0ddN%Oeo>G}Z7YNNVG+65N_*t{Y@9;XjbpEVa zuvdH%pMILvNMsn+P|S2JrUthOs{8>xNbMP@f1e(5G$j039%WLi#_c_GhFU*H0CO=>pb&XrsFt=RRP4H!1^bT z(&5RE%;N1Z{es~dU?Sox;Bm-UvJz7{X{>-qWw5pHmMqzU@^krYc0BhV$5yQ>hqmy4 zj)2!tuS->HuXssa2Qwel+6Z-7gOKlNEGnNhE3zaqV@4NhP&ecXkSSChX`U^-ysz(4 z$;_z1hnovgpJ_hNEH^od`s$z8=|x*q_eZW~K?um-@C4&;aysd{NvXD!| z7G$izx6*DZwuv=b*fXXsAqKuP&f~%OBr{=s8Z#xFRFe>`3YAK6t@-v?{yvHoKgaXA zPe7J`xvY--DesK=J#8Xt^_U2^r zHJs978IPA&+UppV=ghLHo-{i@J0t=6dw1}kcg|Nin2^$1lj*3z&|@&b{>ezryB+oq zM-t^AX;Rn&^d`j41LFn|s20aZ#U!3cG&o9ZC+=)8QW+B+g-H;eNhefB&nv}8UwEN7 zT%a;XVf4e#6e>CY*ke?qyzp(IfS!yY-p(_NMfuTF?ax_6rE^a{_gwpnFTy;63n`Jh z-%CH(7qr=?U9s`@ywZoQt-Upd8bdrvpxkwKhth5~+o2Du+2--s9vunjGByjAG0#KJ zR4NZFiAm_7CMP6?vC z6D|6xK#nv&vmnozqpK)#$=W9tPi~Ut9k6(FOfAK=3Kyj-<+CGdZnS3cVtIhKYlWab za6NBko!L@v9QrFQId5TgojNfE2Tk<*LvDXiTbx(mSLk^wwUc@^TeiXmY>UM3EDF`Zb5}Rk017%w6$)n1FasR0)Pjx zzw#F7fD{d4%ScUn-Y*(KgP`El!&Eoy%7a(~>zPP$5l|?TexB$6jW;@Z6APLgUBZe= zQfCTQA!*5CThc>$>ZbU_G;~vqP$$a$b@R-ksavaV+Lm?yF^;p@6_af3du{inmu}f& z3`?#WFVjaFZ))AXedWr%f0pRoMw8X;A6+u{uv)2aO44k=>-{}#7tnrRIPA;R+a1<= z`jFRq)@LsAbNRC>WTE;f4(!@oqC!Wt%UUM)dhxH2-E6IM>HKvLrB`!!c2&hyfCoCATlfacYZyWq^(2v-e6Q!ex*v$vwmUQwGv<}-vFel()k~v8>mI2pr z{0l4LRNM;tDE34OD3yi#((rS${0}x#x%W=A(Qi2E>|u(d=B)_wGEba54%f-}w*{iQ zp`p&o;O5QE4>r^H+Qceg+t(k?UpJ%MlPu*&ji&2OCW}JOEv@I4#y``V zjfom}`inpSedw<*%CVRXCZo~voLZ_A`K7bwa7+CjxadaXiylwNRaxLKbX#Qpf=aDX zN%FY%L+-DKV05_mBSz^;Nk&()|0S*m!CEwFOX11YU~(}Y2y6p!Qxc{IR=L>fW`j*{ z$3kK_sf2MzBp_bYc;AvWZs_3vRZd?%8D&g5FliEKPN%va=G-|p@yxmQJQby;&gQV!bQvntQJGyD8PB5zCnG?5JQkfxt+m)S z^sjdNEW6!oM;5}!nBb`VngXx3(9>sYkQC7m+nw%4o1r>pz(ob0>TIY~W@w;q=HCGy&jeb;7D;znmd3n{-9$erB`m<=ux^3i z7~U;xkzn5+%fO56+5~c7O`vZVfo#z08ml3EOpK|*2v!Dy!=M8GW0k{iXC6-?bOdvN zzl(mmw3D7OF2P*&DZ33Y@jjkC6%UuZGeqx~~DUn_WaZUrj-37iWlJ@nI0Kb4notz6mh zEU^jxMsPJ{6_lB@WeSzXVbD=!u38(sEjP=k5<}1V7QM%dCdhc1Zwn;6XydIn++eZ4 zTQF)s5R9=(sywX@tt?O(aMkz}8ePbvartJy!}U-Cg`&X@*qYW|6teOq&QQtV7&dtC zeQlifvFJ6Eso!SnH=9S9Opo`pvOD_NJ-u0_+|2iw_u8sG3V3Iefl>xt_??wS@E7yD zArc2%gYEQ}N&XG)OCW$QKYfs$Gzsz?ndskJ-@{9gMwPZAd8E-I-Csmhkt z+e6m+p(RWrE`Uwcltx;D^J_g%(tR5%BnD{ZzNTL+4oQpGgkt@{9=L-2bL19BP`#xj zt72NVuFhCk$Y#l<%f^;#knX#dwc{4&j9zj{^D<|lb$a7YZxq}*xZiq?_Rt@PsDY-3|(OLo?LA+MRoU$_oUS_oImY`C`2OSl3C2!~U^ReHmqM6@gd_`7CM>ff zB9PX&rG8=-1yC|f9fo$dNy9kNs}Hf^b;LXa0>uYJ&Ls85N+4r0sRG_hUWWY$4jU+& zs1(L^y^bj*rL-0KkL5{3sGq*;sfzpu3xv}-SDw6fdweY^933t+Fz8o9MsFtdeYRo) zJMKLzI-DOg?W^$?vT~0}6!q}til3YQ-WFtLWl3SQJqomYkD;?2E z3iVoj<0MoTWz8KiYl`*^Qt+~(wD5>fn1IgWp0+&n|T5omtP1k zH)I#>E-7V~lqhlqne2Q;a9mlaY(n)C*1ejN%Ixee0Y?B6R6+J6?dxQ&b^7Ey+@nc6YUB0Gd{? z@7uI#?_OsVW!kT|BF@Hr`!;XBJzQTG^!LkWAFjzQ*LQ)k-qzOE_P)XJT92x()?lHW z=@$2mo^aShhwAHJ^Oz*QZ0@vD*=SJH`g*g$qPhQm4ZbY~bG=Ig)?>N1a@U|-wqAgJ zW~LWJa(+UTxlA$Qm_@s<@^JO|c|-7Y<` zWG2-*y+<}0s!u_SV!D1B{2hj_vCr6@)}?(m*h)a8*uBBMHL;|^8;5BTj2-w1J2>PQ zEO1gc&?}Uuz(b&lK`H?yGuxeTbl_jWFvx{&D7EKRa^(sI<AyCjCpX1=(&+tnk7tq3XNG}nGQ}rW z>nGJB`nGk{C4T&q!()MGyn5slYd!#SRdh}N#LDEx9aa)H+1bM4@`XElM1J%oi1(H zIH_ytQq(-Sa^;rEoAf(ou+}edELr#G%De7b87wcNH$mR(s-p5Yzx)!@2s^`b{!P|B z(A9x|sc){Wq3=aM zcbHmqO-POOIL*X&|81dAeA*?`ipDRQ6IytsWaXR?`CBi*-!cNvW)Zx<8gvgPIgCC? znXWfLg#a|*r2^|!X&6<4-I^ivBP~EJwUzYKMRIhgb?A>)Bc{sTIwEH9rHNBao0C*vH3{WSM?M zLEsEA4yBl(D#lug>#_)4LusQ>l;D5t^@HDpKQz1$J{)}D5g(S?x`*Dfm)^2x&z|Vs z=;!gVZJ+N!EB1b}XOCA?PQM^2qmQ%3JqqjjG2S@@06Tp2KA9TYE#Dm?7c{MaCN(c3 z`}qvqwx&7$My*ZlLs74HYTNrEz5V!cOFdZ&FGF$u5y+_uLKYyl+$x|-8&^<491X|_ zSdXcN0t<}7Majfqlc@3eVz&{*B4%p*xRis2nIje z-AJ)`+(MwRvYEB-(az?0C*rHc#$qS0PAKLLy@9m!uK`&>pzsw-O+}R>@c5K$nZ@@6 z{XxVLet*(@zq6J{i0lDclT#9Es0kNJXKpH(iCSsBJX^OutIlpOEy?B~S%@l|y8HCB zX(zvrl(B-WT;)k9D5g7v3nmFbL7)s5(804n`!Kf~12w5cD{d8qO_VZ}S~rw?S~NJ< z6g*g?SjlPRh6Z=?1S_VrKsuvzj()Y zB|lzSuA6tW?6Zy3)1lC&t?h&AC4J9tF)u~iAbi^M$HwiWpgTuFpj}gY%bd`>gC57a zfxxI0mbzwFu;miMuVv@&VZE2gBgFFt#=>VGu2jYLF-T`z%}Rb^;WJDDoT*h|q?$}z zV3x(zq@OPq=*jBVo2aFW7cWMyPugGl)XMDo!phdc(wo*&?Jx6{0i(&&=^ZqT*(xnA z(*$EewOTu#1+^RnS=6ORN~LwOo=jW0gtt7$>@6>e?;VRi9ADvhEO-z7-l9JH|4i5s zxJ+jV8m*sop?=tmjV*nKS)*Ru6j+M(|D#sh^Y1IBPQpEXgu(8DijAYKP}u_2s`>|? zSZnHg@lJFJ{a0)ONUf^#k3tNC>7&aB8vtinL&Qo7$7u&)f_)31aVFy{?SQcjT2WY; ze!{l215P_<@HMC!c{%;ALUbBWv5ujV;4Z4yV9j|R;%^fKeJUPS+KwC)J%=cjz-P4 zP<~mLW3{_Am-|zm^qxoZ%S|?;Gvw=5^e{MttSGfkpe>huQzjEB-(3J# z{IP6(y(nvbG#Fh}rWy$NT)irRNmuD!kK-MNm~W z!CyUkSxdLQyK_8ydR|@n){vP|dH#Oj5eL}63b3_6VkTxLLrwt> zZZi@hkIm>bJf{n^;RWi&Fn9W|%kQK>Nt{r-R%b;oh`#h)f_`e?*wB}NU73;4o+lItJW4~=6ZgWrF zp;ImBa<|V`l!h#x!jg8UIu*g zVwII=K>a>8|A_V=9srgfxX2G{Nft2~68)L~Gjk2^(gmAEDWTKBi-T0g8Gg}ckRcE| zAQqmWU%akjjvDDHfl7}WA5gu z$}*3^U07o7R=HYBm5y3fovy0Z&=6>OZt|*5W*=^cx(Y8uC9y;)&X|j3DL6WqqPaE^ z&Rr#DG1&nqK~E0Z0NW}#KIDJ7AvlHs{|Y!)jMYWu#4L?{t9WS6lCtRptrV9BDnYG8Mn+r&!S(GWgDPtSTWGkNkUIJvquO$ z^(Nw-Ow3~e!;@*}@c)g5pe%^-)Iqa@S&B_l;)N1%ga2`A-M)QoxRWluqjJ$3lIPrI zoots}EX<~+-YR==I+s7NO}4v_FYK6DtTRZ<-9_@63bE8JEYymtDDmgN{DLy#&;0!1 zhx=mYu&!Q>s`l-p3h?j=*TyNfG0qfK2^E))c8}jsrJWpew@i>LTza>tG!Rysx=PC| z233Wru3UQ)?Ox&A5)5wftw8c7ck_wKE4x?)HlOeM`|96OMW=}=9{faA4)22<=eS8s#QD6PvAg)yADOW9u>rn&5<7G5k3wssbxvINpnKk{6+1>fz+wj*Ok?HhLVI`OUp6D%L(-_*&75 z*JbxFxdD17jJ&2|O-O+k~k+ZL(^hZM^u9sKsaBJibi&ew zUaG@73@o3Kc#X|YgjPauQA&%3ex}qY?Wj?TAL?(RiqKM}>FmEB+Mrx>LV8-Z;$-RL z%WkDw;*SpBGmN@wOZ-oCw?Y!T^iDpz)~_|i|8zC^BO!;O#~Lz3ZX7>;_rQQ}6vSYZ z;G3Kr?!V2P320y#ISu|MxY6VW)@5RjOx_C|89|MbC616MW5o+niIlfTk^Kj#p@(bZ z7=y<#`aXNN+vQk<#&nDwTis`0z?x;%3O0TRj?8lU@uSq(`0dA*Eqh?;QqSUe{^%Ly zE4!XmkDFXEfx2SHj&S@Vn90!y?QYP+KR@Vr2eDx%Yk`KIfLap<8!H0@fcdN=&oF%l z)mZqD|HR7oJE?cRK5=Qqx+f)Hmn?cq_T=JgC`wIg&;Z@!=#2`Ys-M4m(s(xl=L?1+J zg8Imc=c=1@EKVN3LSA0Clr{cTAh0|Tu={oj^y94bI453@wGP%(>q9HpynuG1Oj+Wx zw3jL2Dr>j6#6pFpERTnvxiIL33RvHxKp)BduE8D02zC7T9cQdFa9;ozGubhm0S*dI ziLZlX#8fCrD#6E*SkqUyk%uQ z6pN0c1Gf32)>UqvF#TG^)`??{5nbD;disG4wX(92tdKVVtkC&-sVQ&=lA_AcO~F^U zPVfZ0)2DlbjwzSkS+aZ1!oybj)bsT@Fn$KFqY}>PdD7Dm<6>CafbEYkLJ7h~37-ul z?EhKPAR+~UR|rv}amX;n=X<}K5~(fmE2&Q^4V~}axdu3=@KXsK)k6!`Q-=7P$s4sk z^>OLK<@EIB3rjzKih7`4qlwQ$i;DFgTV*wUwaMoWdg?UI7O&nlHv!n92N!n+tDOpk zvpU!b<;GbV)v$&Wq>c<*AjL#t;@*rcuo8xmzyt$+f}~;~DjcPRZ%n%Q2nn9f{Tghx zfyV$KH@rbv34@B?;!r{w~OMUAK{L_1r+(w<12;*#IXfi(<$=7 znLIA_4wpA>8Y_>AukFs|P746ynq9BD z%@&KwPX)O|QqUF8L2QD-of%zG zjp^+Fs4Wms9s^2301cDj2p9f_3l+x04p102s)*hbd#m%KA;`8Zc%-5!Z!NW0AkP}f zC20y{EIPY&>nrpBAIh!+u*qusbHB7n+NLv2lXRrnZIX`cG;Q|kNYfSy9kgXrM%jDH zDl%nTP(Zc}MI4ACi0D&9L~-Euxwr4Reb473pZ{~eFKJUieE-z6Aq{x%x#ynqJA3M- zX?{O>e^VjVB@N#TT3-|aH|6!t?j8UE6FTgHBSTm{MAm0A;GTJZ!BOb*uS0wHl1p|H zJH!0$?z)}9uSvnJX-|9+2)Kt0TV*}(4g>;Ab-M8WKO;JxBUl15>3N2?mnR~fN&iCX zVpABnJSziY^dNCzK5Gdg0Od%GN_v1N_R!sToNwmQb86wVUPf;X8;Ks2YXD;Tjmf{uVKC2pU4(r*m3tW>axM3)LZG z_4*NdeTg1Dl2u}MTq4h{e^fAjnxx?vDt*zB>PT~n%J0Fy!MVW~IDX(T(Iuz>9*j$W$cuk*7OTjI=$im#La2T)G2iWWhqwLN zd7zmml~$|rWJLwOugn4Y6kZa=+yMZ4x8Q#&B!tB;HBDDf&D-H&=TvOdJeG1}HA;Ja z3H6xf$ag5pZ?nq^94Y<;-i6tu@AGl9<5#2f2^o{;eZ1_;(j#jO4C9qc1;R3=O4M&#!)=;f_Hhcr=-ABn7P6G%ZlPcPgCcdCLVV<-U}Oi=?54mK;B00 zb2NtpqDgQJ{qiL-9Q<>Ie=Ni(312vj4xS7{zeq;|@xeDVQi*8wErcWdOz$)B!V4Cv z20gq2ohMzf+Pk~DdTDjF1z;4GjTn18#!yGFRTiF47>llAVFvI%?dGxY<3$Kx04D3Y z1>+1($c%&ZxPIsggA9{BR9%Jctxc93DK?q|Lrb8ZOfyO?5;(-x>+nefF>Gq+bM^&c z6juSzQ0oh}j8zIgNi^!x`1~S~KHinB(YNJJOD4NwcZUwjhx42nr8p-+^T$0v`y!xy z0%Q*2ND#gOIGzQ42N4F1P}0GKNI0l2oa_;gRbL9^-B1}gxV1u`DT5%`gL|do)U$qy zus7sOsdTIesmp?;AK`osk_M7DF}ChvBpwYNJ4P1Xk;vYJk_a_Xmynr=ULaed#uxQ- z?{7$)B9X`US26P&isZuko%0jpYc-jFCkQCa&kk)2K@a%+t3?`QOv!F9TAe0fS!&c(~5 zB7cx8qX5ehH^%5^sX!+hxM1L1h(uv&dy=+X2szb$du}yy|Mn2|KwsAV{`&_Z@^7`I zlQLKyrwkS-NIDQ}oWPKdyVv+$A~PUO`8(1TW2wOT;q|=%Jxl57^Ed+;_lGdUJgNay zVFE0Kj^D-DQ*^6++R05Byx@SNGLNZ0L{^&^MDN#zEAbdP+?;IhUShPT#p7j5e|RS@ zL+P=COLhBZv4T89CJ!#QTLzvecbAlFC1!M-Y&5?TyMDQ3`)*NYl_J51h8smYL zeceEuy3h}!%p$VF-$b8?jqZ!jDlw>Q7}io=W=hT)@6 zoQ9WM%$E$TwL!~D7KJ%afUg|qN=GYcz{0^P6@XeG{&H){$HmFcefwwNJ4!`x0a2KV zi64CwM03NwTZ78DVB8CgbeX20nc;Z3k5WVZeVhETx0!Mmo4en3h< zP@R$(SleQ$fep6)R=|o_cuahJHbi!Z&YlfzBkx9?gHb1W_qNcV9@DdKTrB4&76?G{VSk7GXiCt8Va&BIw)wX)RmK=H1b0EmtbcGXj-a$w=qx9J(SUT@ebm-yEu< z|JF1!IE*^-CzIU)4gD^X|1qH{jAVx2P-Cdp7Z?}ZnW7iE=C=CE{H%0xqv>Mo#f~{Xy5CTR-dViCtahqKZ1Lo3R+0$#BAt z{u7Vm4Qys0^9L!Tw<2*JnsIX@?gz(ol}_`wO}Rp`(P}kXwQ+G3Oocr?$rP~{F2h;& zswcN>4b@Ut9v08bDs2gg8|cLt&q0E$k5UBO^vf z(^-BjYK!0!!OA@v#R7hX6T}Ts=wTbzt8fEDx~^i-WoS&&Cn@urI`gL1{e1T*(U?7_ zcJJ)c+RW3+gNa;px4y|>Dtuzc_AGtgb&|GW5qhU&aJ!QHCMqTgxwu>^xu`XjmFX>l zb}Oq?TI^{~;RVeBeMGnoq8ZUE?&9X}k&k56ELQ zetg{MbQ+HvD)9rB4t$vnGUiptKZrfEDjY$(1&(JadwyUo8$bJ5qZOzXZZga+qG~=Mazcc|MDv8>lFpkGMPc+J#^2gW&DS4 zbB!oOJKaD3?A`+{W3bM{GWHVSmA?HK-@@yKle~Colv2Z9a@b@#kk-Hjm<3i12wB>g z?&(7*OQ;J*9C(@Z2faiR!z|HT4f%#I>qTct=^HzCgm(7dOe%G&7`gs8$mcGo<3(&y zRi(Jna|o4uJB8$vXP^hQ-+lEe7+Un&FI?w?fFXppJUQH;BWfM6;3clRp}x__MVkxJ zjvcg#P=M_O{OyKq(HINCSfXjkrZStlm`O4}W`4qA{=)p8!}Xg??!kOrMmE#O!3P+N5E)xk+O(oxGYNpu7;B|y#sCxci@rvcr{N|f*nZlShl5tbGJ?GR8-7xinEmxqL7rLZ(rw% z9I*K+Ym>BNy~tA;N<6-gU0L8|wK@s}{q_vGmEnh*M+@fGKc7|R>Ui}oWb~3>c{&1) zI#q{nOog}nyPf3ynRzZKTID35alfA}<$wz?et?R?ra{2g^bAJ8rhu!dWy1VZT8d)u z5)q&{b^8YAJ4OwF7=U#t4Fmxv8t(urqoHSIu8iN0&dKS#Kkv@b6NxJCj1h{N+tQ|L z^`#B%sQS#YInotpcpqiWekJGL6oNxq5{o$m2MWD8AE4WU;TpKU4Iw0sXS+q(Y0{9^ zqH8sHyJA+N4i*1W3U$@j|r**Hk!tnOoZp;!i6UrB7WRwBX%KO zyNB&TEOfwlg*@mOm2&GEy?zP5pk6?|-l{SWZE<@=GNRHbl~$2=#;O_wZ8RP^9nbvm zVedSNTzkDzQI+J+*6n&UfqC>nB1CMyi_LswsnaT(ByN;UU&oAJy8)pW%?h)kL|>uk zE5f@QD(?z;wx%+7hM0UXR(7L$vA|Q&YRePbl{{Q?$F<4z*%EQ7jR!rVDEZB&_#h<) zSK#>}IFAfY6`w3M^OzUy*3%2gqtF~UC4wcW9~f_dvC)@a2YI}}I1w9+0Xd2=pN>39 zZly5>@e*I$)1a+fC2vyR=GK-^RM&xh(0G@NXtdD;k4BuhC|L1q+B~0 z12~A8ZT}kaN(66^ZpMh0E40QFO@TWN+LF1}DqSvs!H-4%dBiWgkC z0e6&B{sUJ(y9Gj06b1eVyM+c(ptJCO!HKZgc?bX>37`j1RgkC)|E+?{g{H zpmoUg(=3*8a1ShKl(~qjkzd)m^@>=PsnK_KVtqto{!1}6yjhSHi*tMNJcb)3JDd(A z1%isjE-6#&S#j}3qWTCsPM~N*!i$mM#LzW_ZSp#v==7w0Ou3Z@*3BqMcATm=(jDe28G! z2SBn)tnUhU$OHz3roy-oiw9hLqw5AX2si@HNCDS33nzA87jx>3j$;Rnd-?KTep$Z! z@?!E7@$mId8avv#0#ZUpwU+)OpO5xfCk~vHzGlpjvAkflSLJ?4ryH$@vKi#iEKw~{ ztIcwypFtEtI(I^9TIPK_38OeT$0ueUx{L55HV zc|fJNSPe>%TVoaLBC_Rv$jvVA#YR@}$BiEVGed4b82u`JBB-I)4aovOWCRXoacSTP z(i`;Ytv(pb%duShJU`vZ4>Y&U-j=eoOPzO+b!Qqg#7w`(U2LlHiblngf9K0vv}WDN za=jo8J~^;;#^%)Jou%RjSbNi8;!OH#pVs87mMn@VKNc#7Xv~J8<=5Vg;r@Q?PX2oc zcXfx6@66Pc`BL4H6Az8{T7Ab`Zu57(d>y-P;%EolrB%La*)ge3Fsv zaj9*>00Glm!&46P$Ig(dN345osb|!*#X~&z{x*VWtt~HbM*Q12HuWUTc|cl zS}jp6oj42509W(t__5nDl?Y+N(-MntAxrsC1GSDUsC@w9qCZ8-Jo|1o3l z2IpxXW3ZGA>qfC{4JxRGF?-^IytVVbJhyjm?Gp*vZeRPsPjo9IWA+@^nxY0`YlxxN^HA1H4Eg1IUwN+ z{iua8k@Szd7#A3UUL4WaYYloXBj61R;{t+U0gr%vAffBKdB8x}vxfcG@Ge~eh|z!4 zI>I!9C*VFx?E+^~JP6dItS0<}01W5243D}agh-Y{{+1*26Di@J=qI`L@?~Pcsz;OG zPMdQ@ux8PInM<&-{Z$lq?AS>sTGD`)I8PoshT>jr-zad&RxRx!F6eZf#lEKwy0)ys+9d9$xCNQaq*0 z^v6!dJK(dRWo7z+>HTG;1w*8K+{%SUfW0UX?+znDdYiaFl=fjzbO3Dv<4pnV<5;;# zmPz}KZz^vw(G2|n*YM1&2U62gPqt>H*dIT5u=e1=$IB8$?I#Z({!lwGzqnjlCT1^K zQ29uHa)KqzF4g2tNG|g!ZCY6f6+gUhl61i{86RYV7(P06N<-_>qen_hM`*R$(ocl) zY?;}t5SS%Kg~BK?rx$_$M55971bkywxWlj5lmnn1=`Xx<7;7?FmMj=_K*e%!NQdGWiU7bfy`-en z4Dd~VPzrp;gZ!L`HT78oasIl!#s(G9*B0q>$!TSB^10k}#>2XC`DIl}x1D_Ku>%J} z2M#>;*wH!-Zp>HGuQ6Y#A}e401@lt|IJs)#VAun+0gc`LxCkLXEOKS?1m?Aztifs{ zKUA#E(dTMqGHtFtr*8W7t@%_HdHJGz!JyJOZ5-gh6z~xqg*-z;FAk*p3W;IHwrPMB zW<*f&h#N3r)bNx5yRm>`Snkud6-6yWI>25E{^G#J_2$c(D#UsUPk*03pC~zf`ZW0m zZm{%3)jCC+iw_~ z)HktMB0>f>PQ3ynn)VISmyaR=TtEuZz)y;=ZuUW{J;eLb)H3SlK?hS7@W~BHO#w8p ze*|jTAf-w;i#Pi8i1ZwXCCAT>cLg_ZKCsMhVb0mY*77YWjcBfPYHrJk{vTMGke8cu zCX$Tyc)T}1O*GirklsJefu`}3ph-iSg)dN)csT+Nlnqm4Ot6bCL4F0@>k;>1ibfb~q2hA@7f1jeW1tl_et=n`9lqe5*w6tWh!_b* zNir%)k4H&$?3#t7#28^uIW<6zA0KV#IohGC%ax<%1JolvE`4hv=W`e*z>YqNIXhCA z`@m2-bm(z1LnxgZe77ZulH6tFb?KG9Fkxzy% zc?nCAl@WfRAwNok$}F zD%TMx^;bPILAtS&2rTPpZq!oR$4Qv-MZZF0%scxUV;UnKPZeLDpOP+q2H?UJTQ%VR zLTHltWU{Ovg;@nnG85$zc}S^Dni#@OGI!u6nTa)iaDrO}sGzSoCK?}c0V!fzWZoO` ziuwb?-aR}onPY(V@ono{XC-AP$F$58!y) zzxQ>xR)GA9Shf9V9HBR8LW&(R@}!B3O!Pg*vL8}S@F7t86W?H5{s68?uzXpd8zd$= zMgTyrAQG_S<6qKUjrdXW%C>FWMt;)rW6NDFE#Z8MvPkz<-G^0GAEKP_-haRK)(=0N za42=?d!@-{QyWUc^R$9eXOW=19235Le?q1=E1^>$^T>t0q=dY>X^>jyScM8iruu3k?1hjT$px5n9_j%IXKCT}p z@FzlVuX~}!s&D3H-|WI+m^=Fta2P}5M5!t?%8a?C$Y~To z1|IpMv_MZjtxy^?YE_|0Y|K|9XQ84*qZN}+%N0PMRKWCifh}Lrt0Vg`s*0LC?uV{f z?GeP$&w9ZZxL_#NTt~#^kKLBBK4a8w;qoS5J(00(K|e#E{1`k)xc#6l z(vNR34b-K6uh>i6hdoK)QHplvQ|9>#tr9KvD`~JU)%@`Q=u#V0WR`#r&;ub1y#<5~ zNHDlU_$w0ShJ-bovk65M*cil-Hrf!x1&wr}KV1!z#RqUMQLso8s%bzq1u0wsp8Oq^W5oLI#W2;2k&4yUIsS z!?hKNfmrM!w9$R^9T=i@<}RymRrpb5p-N*YbY>mezWYvTo+De<0ZShMQab04W004M zdp|co-xjL#Du#-5SMGwCkbUe%qUbS#9HXd_h+=IDky9u@Mwf9CU)N-vOJd6fin9O+qh$DORw zVLtNxUF~%h!QmZswuTY2Pg&fuf>Lt1c-rB_W7Pfyu>W^p|M5^++XZ|LOXo8c*KH64 zB$kEBo72O@fWP!-zXanqB3S!iHvC)o|I%1t;=3}@S92eS%^yAb78*}88qclGw{_3OwB zG1Pg#2~&r>A{Lp_h7Kp6i}_W5!olCJY4Wrr9tNWn`jS1!cmV3VRlpl88Fc!Kf;$)! zf=j%puU_V-u0WQ7@j#rL{FeM|NQuiot0b7jD;OIj$DKhlb<_=2qeXp-yO86p9N9i}E+duvu69P%1TP70h3J~_8L9`s5F|XZnJ(O6 zK%5vKA5ascDn6E1jyQ{vme~ITl^H{8P+TG>N1Rh?GZy9LX2c;e`6ikhdMhzcnJ-uI z($X36=-L&E?sC(s&)k zm0&OkMtXilQ9OAkbs7UTXnNmEr`-eVwhBH(krDG6SK7vx2`5RH;a|Vb}$QNB6psv zp{PBeNgk~)=FVA_UZ6RKZoD|#+<&7l4&!#ILn9R#E$#!$#;wkLyt^bI-ow3Z?7-Tg zc70&#J)e`aL}FL7(UX#ee#yt@Duerk`zd34LQBPid9k?Se>gs>oj{Bt13e6eIwj|! zN)sfAlHkJ#_AB^Fa?DAdI98tW#J$_L1(z&Y*F9&>&^J&=9C`SqXRT>MVyk_Sqa@!` zG7wd%vJ=QFA!C!#Wf=TG@F5TC8a%jsVED~5-?Q6XK{Xm4Wz?!!k-c(2A47)(?DNA@IJs~|aWg;w=KZ&9 zqG3m$!=_j2McshcNk&TfUMCUJsZ-eM1jU5e6UL2e{)i&R<>xRlJZ`S4IQ?=(iJkCulaH?@pP#jv`(N09eXUOg z^E$C4x4H*8p4(JwEjLxw>P+7Gl1w+7AY|5!-mUJl#qR1cBZm^5oIA!&+fEi~8x~SJ z8Pnkr@V_U5muoe3lR@c#{lYWD_VEid%x$Hb?ZDn>n1Owv{WJi5zWr&%1Je*&HnC!X zt|K#mn?B}W?Ej%itr_J0I!18i;&EF?rfZ7TizW>0u1Xwe-BY%uXin*HaccgASWa=p zGSb|lA(??RJ{r!~X|o5T8g5p01|m-hc}2d&s)PpX9=^CZS&SM5x>BtdSyj?}f_y?C z)_aqPZ=P(5Yo41!SY>d$>pm&D^bQZ1SQ{awC!3F}2fNs$Al>dQd zwJgIIRQ=gS(D7fBpMs9}%qpo$I?L8ro_(nKf3^oI8LOZ&B@A@Y_Snep=Hne@4+F>~{&HpY`slY0Ae>?@Y zqX=H*!7Lnly%4{oXhSWH&Q6Lh7<4);Hno?T{PA3Dx~7@HR@ z*c>`{?zQmhCDnLQLs%(jAHAw`e4(e-?1p4!w4PkZ;E+&sUmge$(5V2a3#mfXcHcH1ni2&`;Jp-Z|@ydT~XOO z%&qrL7`cqRc2-^?tk=5mG3_Q7#-+uf2dMLdGb(_6z65m_i~)hjK1~KAp0Eo`zky%U zBb%U3EqY9uS(xJi8AARZ&U7+cfYA~6C$uJ;-=NdgI+iFI$ig}(Vb|CRjK zZkc+|1j#iGbyj|WtPhT^&*}D_?&J5n$>lldAT0QmjSna5OBOElJ_sN4|Jvm(+S569 zPqBCM&v0a*ntLw36tuR09$y(TIcb?h4ElmiCn5%Y%)JNK zdu+t-0W_d0oU&pC@zV^l(^g?-`72R1v4@>4&R0|s8bu~ArI}@K9F$qe+_4}D`h$B6 zwrZ3fh<7qH*WPdvxu?R@iLv3GYc!oG?e{?GxUylcFUjyqNn&N9>*ucu$$!CYF{}4w z@G;eDJOrCSTgcTsbRRyd1sG@Oz;F2s1Is`b;71c^9e{|6TS_FXdO@22e8zx+-W3r* z+;I7Y3mj)Kh}svfSW)RsN`>_!Y&>< zMXkmAL3Xx(aH$vb(_WP0^BtT+W|_@sP=&T?@F#nyvk=2sycJn1J`ISzQ@05GPmIVD z_2t@w;U4>S-5JElF9@_su*90bb}g}{y?tL>+y1sT^p&76&WGd)De>)rw#v3D^}uX1 zbIw;PWqFk8CuE5NL_vmLhsLqM=F<4w=Aa6$ts3(|!j;l!mZ%wfW z?{6!)l9_@|Q2TbE3FLM!<~8~(&Qbfr(c}_(cYmrG;;{*XRTF@E_zthP_R@d#>KOV% zLIEfzD7mRe@4;XKsD6MYhy6VC5MDvI_evk-cP=+ONrJP$s9R0n<38}c;n7D~@(fT3Rr3}s2o|#*KEh!NSzbuSjr1N0 zq7T2!DH&L!4K-DD7EC`@FnUa9@}+YuvjwjlT9l#t>7`%H&vXwmx-nnhIcMoo?>y+x z(j0KMl(c)Bj5f;~caYC>b3CRjFEat?TL3<+H^GMm-XEyHgfv`A^WJPHSn*PN_vY>o zD*2M2T^!g6!e@5x-_J>xyMxFyYRHfpP5hZ1oB|Kw_~A}_jnb?1iEOzIj0$m1;y88d zAY)Bk;j!Poa#ZDcbE%U6W_Xys1aIeOdYVh!9LQfew940&`Rv>LS05*9!DWG4hY%*) z`S0&^R+tuk@}vp8TfV$qS2^!u-oZNhB;;;jnTtCS|M|`+)e+B6p_^>>rjue{4cz2@ zLKrJ?D(C=Ol9eIvufnsLUgBFX0i86{QuFcz1BZ=WL{Ju~s{f6tbvy$$lJgw)}+ zmo9yLJVjNQhPT-S+q_Q2!?CTq8n3t8@9rIypSjkd2IGP`TBTo@w z)>rn1B0bp{Irajz+Cz@M=N|fGb;CxEG@IE6j&WE5miIU5hN{zVq_XQ1IVkU`%9WBT zJNbpTk*Fp|vpMLtq}&o+^)N<@iKwe7c*A(RujOy0rVCJcCRrL0EdoKgn37K4w zJB{wjbTzGaYozheif&t-OYJQx4J>iH75dxf7qY$V41c}Do-t=N@Ua~9EAHQfV{z62 zW9ZWcBMGQL3LytzaEL!pTndGmX_jWh27p~ zcp_hu)x(ZQcah5o9y*H5;YBBt_<2q@$znU%3Ce(zJStC4Nh&SSGE1P&2f{~jS@{xl z;*O=*kI$s;_{&hIl>{BsaA#dSIfu?U$958K*aCEd`%Bl|#WD>IVtW%)`_x-xA^>m@ zNCn^*;&!K5B3I3szN%-C`9E-UmH~f^8qz$E+nVE0eR3#y4izZ7G7h z5czp9Q_UVbNS*k~gB)o_fY?obj;@sZ3uT3kqjR;>E8C#Nu8#a!>vbBxJ{1n6$7AjA z;?xx>618hVQ>DqDkV0;P&dD>`Y04i&>F!3YI}sCU1+qWxgFH_uyegw&u~>UY z!6A0w!nxC~cnfvKF%$z#Ns%MEH|mlg+_4A7eqc7i7AG&_`=$6I-m+xhz9hCR!C8ZJ z@@i9X{OXeNLpjxBgk8gtvB)!G$`pAG`>`E~7~L~GL|kf`N?q8b4c0oHz9#MbQR>EF z8AaSQ0hELt}vZ*)zq)m1_MSD6~m%*ZHEN+@|)1hW1TeHD6!;ey?RSNr?vs{d#t4Qmx7K$DKK%LT5O{h%u39nj zuI$ZYLn9v$b#LLs3t2w&#a*cO(MMkdkqDL(Z9jM~CaEfhO+mUAcWbM=g}kzEl(%C8 zlyc@S>-0GFl&IVpeDqN&C+Gp_MU3SjjZM^eFMq1jsdYxt3C>r*At+W%fe>T~fy)W( z#B@G$L!Zi(=A9{O9@&&|-|+;7JN<99FDWQ{ z)*sdB0I#yL-Ssp^+10XSiETES;Hs*g-lTPEU+gA7;R;=Pfj5Cc{2k`_w&#ri99{rD zQy!smEuuLV8a$EsPj?2(##tA!S(Z44jjdw3QBof$2FwDEGI&BR4@`^a6tgkkjvhaL z5TAAEAYc~s^WMFIyuZO>Z1XCeFJF>8n?h6 zrHQ_3y@!MDwyl9j`ND+@Hz`Z3M(DF!GAR6tUls3+Pf^Xddi7gkAMU@yf_$zAApV4T z5F>dN;IVq_rN@!eJi1Pu%KL+JirTmUM`Ha9(2oox6^JNGR#B2Fntcj=l6VwEgN{mA zUNf*~CWt-?g}r}rtncz!!Az;mVRctmw-zpK6&P}cAnoxtvgg(oIyK&~B4cz0gJGjv7VnUj}FV zI(5d_vc!4CKB}4+%WgOys>M6Lb$w12S{TzcV%YS&1!>?PK>xz6Bi~rNcG}B7udPBq zUj6Nj&<^?5fx+e-ngis*2Os3sePM+iN0`YP}$`O}zi_ypQKnLII#+y{zu z__SKjkvj}Uyn$en0SvvHTq?kDgS@oJb4kSX?fV)H`g%;nE~9+_&WH~Hd^eQM1$&5k z08oF{jBJADR$yCb#Dx8|)B(~Pg_DJw2(RHU5xz5CcPPDvs#oo(#QnX&-m-h)Zl>?6EiRg<%8zG!$E)ldIb;Z*q<6>?GHS4BfW zf3=~O@_`;ZC2zbSZyu$U;p@pFUu7xnd_u0*HgA4y5_!MZyUtFBJZ28AOP<(g? z%KXPac2<7!`|oq6$Dz=5BKBo5$6IZ5VP@SG3g9r6w}<&~gjj0L_RqH+XQa zv{da)xb7!^qpnqq6=>rMe3!(!mLU03;MHHXX2M%4Ojxr2ANSmYG6~kG`2-?ejb(oG zU1E{ox(LYgUOb?H&EJlTI)6vpFFKlW1>cClU*LT*2dLprpQilwIpDd` zK)!FpV|G*3f%g`X#%2r7_KGID;hwJemeW=N&GHnN%K#-YM%j=pv{}n2*_%s7#w^#lz z<3LW-_km#!mcQnB@TK=UHz@7~^9BpAsA7#=UFrk@G#Mh6F|B~$YJ;bfCtJE_4;nvj zoLa-^M1s%4KfkxWVn&%%*mGwxFWtwKCjyAlb&NrA@4WNVvg~xfP}n2Ps!S8E`uF?q z!-)DRtW>oAB347)uIDp(?j4oFbM@W^4#j5Z%z{$POgPE0yPk z3MC48{x_)t^*~D<%3s(RjOWIam)REbQ;p`*v|63IV6cfY`0gT?u+z{nTIfG3rl0Zmu!&&WCsob+#hi>B-TT@x>E1sf-#^S23SqWW=X+Zk<-)ylun*WoD)_ zE0ZTwR!nKF?&5a0I^j-XJa7ltKkF?#oZ5`crx#nhhG;q4ZA$CvALTO-Uv(LbbiPqC7E=RAnA(+aYASe)uiUpPUM~R>cF-{K| zQj4S^$V2{QU^R=eb#oF+=#i#F#0Y#&#{z+^r^pSi3Arer{6I89pI|AB{lmQ$(i1EI z@RX`>DdhFF1@c4p!p~r#{4`;(EOXbw!%d#_zMapgbOUNmfH=mAsQ9L0Nn)xlP789l z9BN8N^hZ_^+YNS%MJy#{qktH()0rd1eA zR7NrRs5jS}lwRnp?dfrj6rkL#_mm29uwtr$ojr)m546qBUpZDif5w;wd zdy#fnwK6>;97adAV#xcU1aj!xC=w&}~o&BKO4=HI=$Ag;&ss*=3bNIlM{%&#mdX-I&X6f@ZQp15Y z-se-qzIq+);vpBqL==cnt+qE5^?F-%KnA0Dk`-Qq3)2(ZXRpHC z3_6Bc2$8di_|{@vk1aITbp-0w{oIHUqH}fQvFnqHutyXD7bCkqQc>fOvHXh2Eh;tw z-eeQxm{D+v58Q~{Yu8S`-h>MbUlLkOzG*WFZQ1B)he$caq{&wbMP)gBKV#UK%mR^- zP^6{AD=Jau$m*URIg^_ipFlWJPO(H}DG*``9=qqUo7r{{#YH;z$dT^wM8V88shdv< zjmSm*Yqi$sj3H>5SQBmFwZ*w{i_-PFJ<9x}rRRZ7*-)1+u#Q z{;sS*W(&?1r(=i$;59bY7a{<0#5$l9TuKo2xW^)phZ-9QRD!Az*mFNK>eil{c%Un$ zE&4b1F;=5D$+y2G5BmoEQHY4A^(g+^&K|*4$$4ncLSkY2j(6T6 zmpN@8y#4kEHs|C9duZykA-cyqwo-hF=#Pi}Ej_}KH-+sTp zR9TqLPq;>Y$s9Xu&xBWo?FOOJlZ9;0rzAppyDw)xKV8IfN_ClZkUNUj=oP&5-u^} z!d-Cx+?p9MI-q>D5zv6I6I`O+8wFB5Vwh0?0y7>wv4@R#v_w5;CmO~Q7w33Up~iXN1z zg74MTREQM0Mh#+}3j2VA9>KVLlIQEb3$+_HKnH4g)WBn6Kvkq}Z*priS>zFk1m$I9 zxNPcBSZ-ftxF{auL&if9)FKQX05j7ujKs82fV_wzMl3yWtQ}u8CO`5v zTrQv|?a+?Yl~CA=mQnb(SUb`(9Fr565eK&VDM}2t?wvG=yb4)3_7B3pyhoCa1O6y+ z>hF>+`gNGJMF^c<#-zB%X7)jEmGF^GO zu57Yd%Fv;C-q)DiIIq7Xk}YyO(3%R4P`)}G<2(v;EO0F*ot2~-FcNsnBsz_+_n&6YpBGjQ*SSKy8 z(eIm6C2}mMSOY{9<`h%3h+?U=Q7mPMU@36e-GHUyvw$z4H8LLfVg$azt{hPOm}O{` z6r-Tvx0F=J8OgUqU6Fwxv@-~7OK_;o0(r$FD-yFlC9Mjclv$Ni!ZeO8Mq>x+t(ln| zMP6g6c!*ablWQk!zjtTGV7t&ZI!`p#E?icy=UB6StV*Jk=scdHEY^l)NzAM`SBl8& z|FK$KmLdNlgSYfhQSjY-3=n3QmaYy+vXcxlxj|?K(8Rq(GUYKe@pBMrM-NAI(#`oyox{c&;@h zl@(`69Ca15z3YJPxSsGJ7i70+=m1N*RHz!1pY241|iM-_X+@twtdW}@H$6Vzny zFe9p_I{F)MMB+~~AVW*SqCOk(CEr~65o2Djuk+IgNxB>h`^hKbwup~mcuUHPLh@Q(@YyxgZ6ccB5crY5sgXx|TAVR8~g zq$bi)CfH<9MBjxNimi#PLkGx?nI%4BKs%)j#sWg?Y#O6J!-&=gW35m!0NhuYQqk@g zIEDxCiU;|HeC#u>cmMUq8xC7mSB-LpX@5$A(~LNE zzlXmkzI^GWMILm)x9G~1Pl1lll#~>gwwJV(mcIL^(rk(}Ej~$-lnv!@jKorlsl41| z>5>_$lPl8gXP1f&A}4}D+BWiv+@m%W{P078K@Ggep|HuBUTo4=3oL_LsW#kAgQ6sV>i zIZ49HHSc%D3le7}a)yq9ZU-$u#6VqlT^)IR)TGl54aT~Ex?HndE*Q>U>U|?g5a?A8 zD``^|Oabz(!RmOc9Qn)hGReO)Mw6%cMR`h88O}AQY0wUt*x-Vy4WMBX=-z$c-|3I< zqEQj(ltA+(?L-70Ar-VU6#z-`AFy7g{{XM~1vqYwUEq}70NL5gz1KN4u-O2g(VHWl zNSgeZhtqML4%XvL%$1Xon|umCAKnN*84yceSQ1)DK8If{T=;q%Glx}HvtU7-NRl^* zRhrD&u^hWOD5cA-sz#sw>wSWwTDwtScZt@1QQaSF+p3+W}TkA#^xx=lMV;; z75Xqf!8DzE^+~F3y_12EjGSvvOLQ_ANTxW?;4!_GkT;8c9lbf58$_N=rh`C)+x;2A zbTHzoZRBrE7u28n%Ar{Tp4E1|7uRqGKs_86i#Gr+>2gfT-snplj4@TfHwunWyoh^3 zi0^IEj20TRCr9S)w6tY@qgmu8S3kt_MA5wXeN$om=G8t%VxQ|qC^B4{d7Icn7? z+}2j!M9xhWILJCYyjXkZ=?SjZd-Bq7c`SO#X-Kf>$<=C&vBL7gPz|hA^v5Gm=ZJG6 zamRm%gm9y0iw`=I9!5us`n<-}BB?AP3Xj3YFr2?JhmP9G@%P}dvgy57q|+Efb48pD zkIRoOzwHih(eKc_tC?J!n&u)y;Hb(dUAlU#vvr{$)rWU?xzxk96_dxZath32_j}2AtD7I$ zV@&X|^C!(N%Vjljq0pQk=0bDFV%Xg$_M$JSEXT-`d)JhpM=;NlV6M}@zjsIX%7cxT6)th87v9MKAq!yBIE zaiF_$r7yw0<6z%MA$~ynNpPK2|6S8g$iAb6ZP2&}D-qg;#aYr=bDIoUGWK(h(^Tn! z)`cfq+E31lXNTVx5Bq&-ZX3nkLkt(X5sEd*cxyz zyzXUb_!J!#!K#%y;7EaG@70KI9g(3=UZ~!bcYA%PzB_Mo<%JKzYh$TV5K5kcW)r+k zahVEPp)I~NFN+sn&qzQ)Udq^v+1bzl=1&PzI>tL?q^o1{e}A9U;TqHBUD%&cyrEBd zQpV4nr%7}qx<_&}@r>5G@Hm0T2*=-_PM8-S0T~tLh3lyV4eT*KyU7Xn;}QV4m>KYs zcKXm11SY|Z5_!hpXt*-HWXk^djSNBWR%hNL-q1BMmQbIcKmXR!^o&4ua#uRnpUl1O zt@GzU`|RVlGiSF626iiyw+|Aw&B=`6ntR8 z)yb}cqKX8K!9CQ`;TYj|cjo!CC%D}cvi*6TZrm>^9cXigLEELV=%Rp%p|%VdJ78uX zSK&-c6F>=!F|aoTd|VjB86X}&Wn^K`5J(faK#{4>y&Th@lpsHV9l_rSsuy?^Khq^L z1|3)iOBMs+)jQ#_8D_iftVcf#-aL3P`N819_@{j^l$iU-vu|dnK9Q0}J|P;(s21dN z#;?nt(Ox$*K0A4ILXw}IxL5}rtKQ-9gag+E2M5=Yey^kl`h27J16=M-^hZ;Zbr5+B zl6i_-IdA&#W44ESgu|6T+s!5Z28xRgt{LwbIE9<)BM5Y^poUehCBKu{OA4jr??a0i zj(T{IuZP1PljHR1Krwh0@x3gCnEPpnCq-@6BCuFtm%Y@2*PtP>kslSLux9`a5-I}< zTpGE*hA;g3>#q&Jh6~Zw2GGZo!O?jhG{)!#ax~igYY_f88I8uEYd3ady*zrfvyogn z)Y;wb9Ez4ULOfgp{h+Q;Ir7+U#@QdZUK;+-(cXkGUXW&JN=U!~M8Gm7@+icEq$P1U zK{krQ*-}(B`3!tbK2v$}%9Xl{7as{szId_j%9Y8JClk}OdR;~uQJXVxlr*jy5iCYp zVqTV3ftP88HIipxVb0;h@j{ziD^|FgY+d9al)%Xoi-@1X`NgT;i!7@%Bri$h$FqQr z^d8=ayjHrOHl75Bv*z$+gI4y~5n`a5D@M2xM?wL;@*o8ROFAGazONAb?%OBLYIs91 zj~oObd_mj+ZSFWaap~55`#O%o7yge}v%GbvO(57)`{a`y{{2rrS$nD@c$vlJBqTBj z7c-TUpA6k^&Nh`kgMw@??C5Z0lfQM5&k=I=N96fAy8J@COM2I~Lx;kL70GN{*Hq@O z(8(06$@l?o;FH6Vxw<%i%m^n0YsE+&`z_$GFfPY@0biIysOODbL*#z^F>Z_kk02@{ zzenlhtmdwY4~*X`TUFu%QO`O{A?ud@5W3Fcg| zz)8hyXu3b&k9VLi!~c(WAa+V+ibR}t24sxTmL}$@eZG!Ur!a9lIvBP`pqlL>dg|yS zx8jvV(v6<-p(LM={1s?N^Ea+9r2RrTuO*hdfp!R|14K00&6t5=B+LakaTGWPlpyYX z1nh-_o=_^B)w^m~rB4`Kp)6R}ke!!(w2v!J?Q2z5CZr%6-{9Bs$^R5OO|Y{;!-L(u zdjXa>P^-Le!o>UKwJ8~WEa7ZiviD84+3MT6Fn8*T?kS4zo6OFa=C542?mOUpJg4J) zByNUzgG)`*jNuN<)d*OE0RRqf6c!KCnc{oc!A-dzZR zR6+$9>G9{EVnBlot@QR|$B&1ed#=lK{JG~s$B!RFPktvU?j9^dyTVWCm#kl3 zb=O^PCk!jETEBkb#_?72_vGy%dmf)|T5wU0;_fybBLAu0|67-78W}zYTZ3JJsIqpU zYip;Kl3Qsp6%|_(*Q}o8oqV=-v3_m+u8#Y3kB{E1+cd#Abvs=npv}EJq6F; ztgx^h9=_eDP6dw~*}3z`k>IIQ2jNb2WVnc{$B&1LT<#x!_yLJOgvSBAy~EMnM1}B2 zc)xIm@cFz3cb-Yb!|2YFSYu!Zp)4Ju(dp5JM%NM#CIGDQPtOXAtC)}?p?>3y%F0dQ zXK`%(L)?QF{Y;M7y>{*H-N8eLYCP)?9SZgkDwDiYw45=zNS;F2$e9i3?+z@_M)e-e z1!AMVSA)=-vG~H%hp3@yEDctV_d(a=LJkoXwE~@iE&TtP#+GQlDh=@H^PtjN>5GOX z3h>))cpucNcSkpIC*D=-7gKTy+}_*(D`{B$v(LW$y6CC=K?^0So{{2NcVyB`cJosh z=@ULQvQe@ghNkJENcSP3@7FG0(XKJ0cNh80kAR~B`_{1ByVNV2Qz4Gv#ab~|Z~Wy> zqh;j1^*@yOQ*uE%0RQ#!ATqSIwUPfB4iE4CGiN{y?A-a_gP}8Lkj`!%QddmwL&wTm zn?~f%Y-?L3nA6aF^b$#Y_4wnpk3SwGCT`d(dPm+83Xbu3Ru1u~ZMv!ejI^$(4`20q zPdaDM#+k=7FGhP=rb7S40^BDfdWyXa2x6>2#=t5DPxXoNq8aBwVPgi1#OMX;hXVR1 zHQ~vt)M3(0nLNpm|^|I@3l!c8tX9DQO2z%dccb<_P~NdnA_6@`*ZXXs$k^;-T=e{!hp zNK4C+wl-q=3#9sdsM)qq>TWr4B6Rw6n}6@=)1f0r?iy9LsjQ`1J7{Ir-7OtQ#Cw}7 zRn_7$M`1t*>2Fbx2WnxY$20f4b#p5&^%tM_jb5x)jbCirK=OUgj-ej6wRPkk-t9x0 zS7z-Q1@<|vainBW-`p`iWQ*Y0rZ+iz1(n4Hy8?v=*)jXk#YUkw56&9$jR-+zfWgp#Ef;ydKxR&2J8v=^=CYj_bj9aVbVu ziXp!UtX7PCvAKmKJlH)6K|l$$&j@zM!~irSB5*Gt;D3rlHvz)9(@@ARA$jE zf!+ki<1@42L2wNj!Vm<+F<8wmkF~DO>KQ(1N{8#{PfZSGC8QkCGU0`Y+@s~X59jDb zWy1fYJ*h515vl-PKtTcIgPXtrD#l8_KNIa}o1?|!%HegL ze;t1P*NYeHFWySLqxsTR>txoVq7*Md%$(!%&7F`e)R6m5`+TRpbLM#Q-Dg5?Mm!H5 z*EUD>S0royFQs}^EMkK^M(^U*0MMia_#7*8>J@$mI6yKDN3UIrdwQx?ty;8b)vBtV zo|X75V(Two=2&neL6d9nTP{?Q z#^#YH`(O7d+c|Qf(`Y51{f{7_xSORavSdp*=?rF8G0Juh9d-6BZl4mtlh47dyQqCb zPtIxwNdQSJl%)el$cjh=5Pu-dDIZkK$zxd&IrYeW$0*@{<|E=`+>aGlV-?UXzg(x6 zefEkFQUK!g32AJ2zv{|cZ&ihN{|O92gIBIBpZD;}r{>K=17*3ABBOg~_{)K6hAS?$ zaLOyMd`WB{>TYZ#pS%Ss#X3O*{PJStKH%9jTFAHbK^9UZ7aZ>fVR3&e7z*pBObbc@ zf}zJ}^06xXKi0kjzNvC;yzj|qo2Dbp>Pnl@Bu&$%*=hFdNYmXyp^O4$kFxjPs0X!zm1yF~S#J#Wg@MkFSPDjbiJ{m0L6Z zyjp|U?)(~_O3Qo4+gasS*Uz8J-q=q)tBKK&Ns^aes|#p6i8Nxlo7{AmoIotKW2h7o z#@)x$HMjmL>+q6IPe#vqb4Gjob$d(rB?BswD=^;skB27)Lq4n<(flKkKiZ-0u5W;U z{8y4dDM-j|7AO7(yD|sS5Uno(u;OoM-bsNa#ybHZ{k#*&jSovoH9dbfJ_Il0xBSl! zg?d>vD$nPqiRFSqWnm~!E+|qI)&1}*;k+I!A%(+1_B%ZZ^DQ6V)kp92PO>FsLrxa)#l;RO@ zf)6Q^pl@JOqBW1f?VZsrv{75QvbQP;j=R~!e%@D=kRWX$lsgEE8|9IXrvCLH`}W;sBvrUJ6?H_ ztMCa8&nqY=Hp1AJdh*n$QO=Hzj!UDq_{o1~iJ&H_yGH!zqv9I!frxL}vMOV-KPwZd zU;eY(Y<=N`AJFIyq|9BmD`(@v8#iWbgOnkfj(3cverL`-RGwPh5`b7qN z!KZLV~XT=g(8#u{w+OLc|h&;sqE4qxGZr$ z$h#PLZe;u%Vi|#nK48d>r%()s2e2oY#x(#V263#H8XYsCBbVUN1Q3HwOdUqD`@m&L zAurU77hSnR2OO>tUnGVY9+Ku>Gb3_Sz-F(BXlqebD>95Rt2(UBl11B7889z0VcaB3 zmQFr|V-^?nJun+Zze|6Uv#H6c`9)nMNFOpKvdp0JYFn!HdT&!mTcOms@=M*hn*KSH zj9ivf{fh>}N(ZodCIMEsMkmIa@GFol+_{eyboBRl z+0=CaG6(U4<@rZvv+sR~#UMXKmE_CF)1q%!*4zps?Ovfg?J#k&IUcdOX7~2eJdr5P z&K2``7OTU$w|A1!jymC;#agY+w^RGfpzPp}2JvrtdWjqSrBend^uLmHe2fPSfK5C` z$DmXnVGN4~k{&3!20VjTNI(;?DPL;Lb-I@Jq~3r%t6v~~r_~Opc}rtsZOiT@JM&y> z@)5Nw@1|wnWP}K5Mi#rJwz0OUo?ub@I|uxvqBl&Z|2i z_Liwy|1~_W68Yq~a9O`jjCDbJULl^#fn!3rQy1=xgxNCiV>H8zsXvx^HSa-==OF39kljmRau@4id^*41U}AUAUgy#E}q7uI%lJxM;9?kCu2$GT#nen97;f@GCU z0&Voibl{H|@fk|kA65umJT)n62XG(*VnX#tQ69!J2W5bHEFR#BeO1k_T2BCFI|v#JXt-R2pR+5N03c3-5ZaQr$Cx zGqKWSy)}lHTOTo)O-#mbFZbq~31hyutlU|p_RI@5 zr50;g97mUXqP?%wtD09P%r*_S#K^;esgMPPeNMyCS{-y}kDFXw}B4H5E#gN~W)wy!q<;S!MNS z2m=|6lrlVsKrJwlU>>vru}4&pVwD4IIHq5o9>kyY)N~~`Z#AKJ&H*DKZvfSDZ-mHhBCCm#>p|d)C69go{iPWPXT!rj z12S*WlVqfV_z~9ThUPR}P#S7(hK zFQ|1fW=>~J>17}#Bp(IuK5_&m1l%1Qb@C)qGSEkEx53>9U+#AT+k$HX(fj@0I!|NJ zQrTq>nCtw6Sy1Ma@TLa01$KoUHYB#eP%?*&{LbbG?}DR^`5jKj`cu>SAauU-C`v;H z%*Mt5AC6T9-0}b9Pk?NsxRZ^J%+rA`iox*VfQhemk+<#I1+LW7jnS%pw*tjTafpbD zuAr?SldO+Vp1j-jQR|1UyHB2+MSe;g#_pV`)rd=j!GR7qYer@r5P#Y*O)J3&}{hVLUkJaQYkbHwElca9kG$%ql55x=D|Dl+Pp zE_J&Zs}X`$v7WlTjs{L~X%@@RU}R=UuS*ou$zLBf-igXl-N=!?(f_os$B*5k;SuHf z5p+)WcDwfG=KCyJLLKr?DYn`?()FS=`Q%iK*_@MuaIP&4OIlXZu#DTDfp`u$mdXDW z9EUo*!OaE9NAbc?N=7B7cVIORL^nl?wAdObXoO03k$5mLAvhfOcUIkT#~okX4i7Xn zD{FesSCMWoVea_rSnFw8 zECjs#b1V)-!_o|qARJTP`hUbox?!SCq{dtdeBO+H5k;2}QS=O&0)zkntg&n>~BUlG?3XmssFINOjrEm;y=8+c`Y*_#BaM zB<9WaRXG{Vy|qY+nsrc2nyo2;Cb4T~v$+L1`AzF0t6HRdPpOw9ezincU)e5iHCkJw zFy1%Edp$6xZuypLWWM;OQO6Gk)5$Xkd**gv7QxEvM61E(!{Xt1W%d^4h>I%-U+E$FxVb4ld2G1 zUN0m5DHgWp6lFaB{9)*2MEF;c9L)15KX%(|xf$bn8K~$l>2o)v^O62UVmvFGAQC6#k#YD)~42J2BbRd+^Lq9wnK(13!FRsL*@2fRE;KcMp<@O)i>;Qxu2 zLLLrflVFwsxQGD`qf?P8It7#s)FeuBU5_A8Mi;UkeN zUlN(0f4*hQmcGrKH*>kH_S%k`j>tI<_j|(rdpZ~TTFdjQk?eYCi0-*~=)(^WU99%| z-!+>j#s86GIR$t92oExfd?JO{TU>bAAYu3!K;+pF>%9wRNz?h4IClhlxM_(yI%OQl zo+(h9yaih~wA8?vmofkY3-(8S4Y6UVYm~W%DI9LbL61}#as%=x5&tlgP3)$3-J8){ zKmFAD6M5z*rbUaY)w+yS3w>!dqq;b&B%o&U znMzf)+LD)HG+FCM&dA~za`+1uEoxf4cwsrdqbw~~qp+15*kV?-&Jt;#&Sx6rqAG4` z=5_=__zVU;jD#c?lIJTbkVP_fG<)O}Sw|DQb);~1E2oro@sBXPCsYF+_j7^`={f-Q6_vJKnVR^@eIc0~S=eaxK%*2pIrG$QgRX`JW4seb*n~iJbz*_MMS+U;{OkEWS zF$i|RC=qyUOLpz5UxQMKf&xovX+Bd`SX#qNkECa}XQaU;i8fuJDm0g< z%7jph%Rb0((JYD1TVv0g=b7?QUs=a7XM4IO z{BHQQyc~#8<1>rrTVeh+67t12UVBn}3VfJ~Xrq`q3fjv6$1<#S1SblmXQ0$UO&{gy zgp&mdf>RjsXW~DE{NK33jSUSGrI|d4b&;26PvaICTHO-4MkK5$tSrfBcjj`&f~o@M zQcQE1ryy#e%-Jq+HtO>J0l%P8kEoYHw%!#?BOLHcnQ5)ANR!*yc<()- zfV-jD6-YzThyUH=>hpSE0L=r#_79X@l1t6J!Wo4)FTbjPYW=#DO({D-Isl^=$BYK> zcfuq)F$43nxUGS+MHp}oyifvRsJf!Wy;pDr1oqx1Q%tZ^3|ts-AmjKT?w*|rmqADa z#6ia<^rH?IG&Y#i3^K`YM_E7Ap=19uXHE^|htJs-Iv3gy3PmFWl=9?i{V0{z$K%W! zK>Rg}7Oj`Q*ZlqWC`%}k5hx?INMx&=FlP>8E25uk(R+l=Rae60u~IWt@(QEaOx|+o zQV-@_Y6H0eJ4pJFw_k@jlWR=PXngSNX;Q6x$a(Dg_WfIQj&hf}n2}!~;bt>f5d-*{c#EYjTK$2)oLr%rPtNf6T+uiM7Jui4D`1$8SST74`h+Z$&<*~0A zI(`9MfeT^pFdtTcmj>m-SmUPVd|+C^vmr6eW4Ml8rGVw}1v3a$-k%D1q~w)X^6PoU z)-W1LUSXpAdZ-6OpMAP6H$VJ-^I3zqY{ffg&q9?1dbn@J^0{5FMk~GVH8nYoAPFiY zpXa(OVd15S@LBTPeEvgX zKKgJCnbs{5s`fSQFXt7Gzk^_nsAsf~Qmk=R2Xpn)ncYn=;RBjldyt_UTU6cTJDaD4 zCT@U?AJK|wq1mWv^u}q6=Rf(RF1U6azG2zqVAzzM6U@ziqe)*nr8PA(z~Q=@;hb<> z{||syEUH?i6?evnofCChpzmJiL~uzP+;;6PgLe&s5prSt5S(-tGd?qr0p2{AT2r3~ zL%2lINAkIg1p;FF%9h+b`Ld>Y#o6MfDTgfcr*Em3&es=UdGpR64TwW4vUB3sg_X3c7vJ2#riY*w?->IS|zZ(-By!mPad(n^-INwK{w1%GrzC zhv1tj$W3!K1y@k`wrqx<@TKrh1{bMlmmN4>#AR$o6v&?-^6Q=&1)D zaX2uYb6{_eFpe;AKU6wzlAj_4%Sb~3Sfguq}^$^pxxceHfG#$V9=a1RpN4 zXlN*4ld-dj?HH$sCGPm>U3Z1=x#vs#J$lDI_e8!6-xdDugXS>#AI*h(5TXDPE~^iZ znwhu#d+Xw@6Y!4p;}dpFr26N2smF2u5+uX^D)O)7B9+aI?(qBf^Z_6gmNIpYU$m`z ze^$0%ksV~D!M5#-PVK$7x*B$BfS$g`7)DAaXaT#_RIv~A5fC#`;+SG+mIzCS%bDqnD!7T9RhuH#Ro6Dg=raLXq+QDNx? zKd~!VQ0uEd6U>YFnxoH0CeCV;-FYU{ZkeG#uH4k1pu=BLxX6Dm59>jAM))y?j9Oa> za2N{LaB{s(1lj`RV8_Q41J*-|VyU^K+tSlSeLwh7VdKr~krsv$KYp^(F<#y2-b&nN z4A-EtsCBU5nnq+{ zQ7eE6VS`t|QxMZxeK#0ZPh@^T_&Gc^VBo}7urGzt&&?BS%-#3AU)Tg|(!rXZIH_}u zE5&O%d4>FKihay?Uxl9jc5j`S6XJL;eKT6u7u0o=BzYdz7&7_-c#ViXutq7sBp+}y z29sgdq6FLo7bmn*F!7KaKHt)Q*D#;Yn0KX_{1|DPi81&yJ0SA@CVXbF|1%#7k(1Fr zs0oCM!1(7MXK-PnXdd{{Qs~~kxgg+ygax^n7175u%#w(kEAJVn-FoC>q})8WqGLU| zAnCHug%xkx+#N`LXK`)oGvuG^-KIBD&hRV5v>QLWGN|FB;6kfkpdSyM5}hfgq=vHr zP~huZ`V11m^0uYD!#t6ACK7!o{7}dY#6oh*m`2;M*n}#a z(<3O-vc$Pns`$RnK;JS<3)&Rhb@m0)P>>7M zOBXGv2p;&PfIMjH<2t~4#THl@H|d=r|1B^?DfUM<1eB_BMaXu^7EB6XIUrKm9%NWKsq|fJQPF z-GAfph-NG_;!Jl0OlhODlQMuf{nIoE;yfvA5y-B1+BKbmL#dB| zUhwn%Ww#;p4aN;tiX3F!6A;hAc~@CrlY(VU^~P3%k)K510O%o95i6AhRJKAJagd9N zQ<;fRYEkZ6n>LY^*5Ei>^Y-(U1PU<87muIRIlGmec48g+WhUF?v>Gbd-D6NaIxbXd zOhNEuiSn{05;sTZ1qklA@{V3@C;1n6tN`+|BbQ3p#m)DR-uM{0m$W^2*$sUwuP zpUZT(qCYECS4pl^E4SgL;g&c%iltUaUQ3PAc zYB~IEjh8MF|Nf!kJ?*m%&1bY9>5~Z@kzbUtDP)x{-kq(ou36*Xlp*q;8sTky_(+Sl z^C^7(aeUT*exU-r2V-=~FggbKxG1FyV+6%lQcd6|fW5?U7~)l_s$tX)Vi);CBl$DR zY&=!#HHQ7V&gjNO{EZfwyBp0DuTe)r(f<%E7(&%tt@Ssk$bv+?MR)7EyL5fAwI63l zC|az7EVAp#9?($|{asl31yzY|l1SUz*JF^ge(XM6ws(BfgxmGUyZ?pwP2@8^m(%M; zH~WI+f%0T5a)bZI)t;p{L;DrauEmy(+xkc+w^c7_Jwdicqvz`CC3S_Uu|BL0E5X+AHyW_5fnQEz zuH%pC)OWxbtg=WM(+{bCAap-a+;@Jn#T2>l7e#RXd@@h6<*Cf)pB6v(g81|R-noH_ zaKC^eh+L=O&TkeWko5pf<4f6)HDQBkJlB{d=q#E^?nO_N^^K1gWHx24Hn~oJ{cjLUT$Gu~dR^(gk57a;RmD8*+j} z13evYuDLhq>KJ9#P-p#A*^1}2eRJn#9(jr@gLX9J@3QJnLN{fKee%5FS1Z!iIh-nQ z`Kd*}3Z-6SzMsh;Hj(QgSklj<^c0O;k4ItVMX@1#2!KHpmB#~@lmlD97K*M%BW=!c z(?hRmKa-LFMEu_mm#PDmn&~EaO@V&PSO30BY)VEXc0EfD;x^JUd*Z)fU z=tyM5R6|o;dhHbP+%EJg!N|_iXf)%r4Qsp0{PTFG+#FGA2Ehcs#&fQa-R?%m?d>j) zC)sv)L8kvl&!6*F>le*5>1wJxZ<$O+UN#}EBNma*20hM7??;LZ79%%9Sx}5lD|%+h z`evy|%$3gX=M~4mM@j2b0_aj>8HKB*0B~~{1 z5AwJFg+(Bx#|Z8H-V>Z8e?#bRq#(7j3$>HS+#exra;9*~JUZofB+D|^l=J+O;L*2+ z;3R~GlFChdLU9ztYAmp|fhs9H;{yBG098>5(A4mL2(+pn3lEXMGVZARE_ZahwV^5d zV*R}g^81%c>0=s3gLzr9^$+4=zF)FHgsMb!CDCRnvX4 zXf8n;3`viI!al&$ghVZ{I${a}-kS<$xNRa=;peUY%gGS8_$RfQivxxcj7XUzgIv{A zJ>4C2Onk5DPt9mnXQ!j>-sA^_{-YeTL_w|q``QDZMB@?kgJHy?qQ#?N6e$E!;`Zp{ z)O;))2ctWNu#*}@%E9db`x^pUV&&MtU*g$qV6ntv`sj|Mwb+|v>DW7rbRs@4+RKuf z^}beCw^~_}zE83+cR^Rxz4F^wN{;0A5g((h*-Mzn{5_{{8xnrfb!)*R6VTe-?fc^l zbFjZDcXrQYMVc>N6P!8m7Ns?GkBT8+IqSxFI@n&VTgV;l8C&b=TyS&T2XX@ZLRiOx zdErTM75k;3BqHX!24_F~1D1-LXUC5i+GkT7HpXaUFV{idOT-@X=c4lRqNSb2o-NSp zF|5OdwDs)jK_7jJD*rPutzJsqXw=)0HyUwT{O3wQ}V8KDT4l7sSe14&s#UY|z$H$G*J5 z897-aXLuNy%K0RTi0_dyvi44&PCUpF7$m>$yoz#cenD1qjHX{;l*7(B&_N`wi{V@# zB8eKJ1T0S6IW0h`lkOiVLo3U)F2<0LYiSurSs=qAJ7Wd;AF02vo$Z$vame?P?y%dH zcWC{{RR{7N&dubCxekwgDcWS49CFqXGyF|0-mEy94>kguy%*|ASw5Kma?ZOzUshDp zvU<^|kW^(_K)x|{m1NW8Pc-uvtCnLLkIPtYOs>em8h~5|I7Jx`%ax?Wj?o?s(H79L zCZd?E!klYYQpOCp9bNTQL1kDcTWl$5D6Dz{ErooC-@G>z;oS_wkjFxv{()f47~$B_ z?Y;bt7969;{cf=Rnw_xja@vB0IJ``V*Um_0mLa$SM`+?tbbk|3NlI}d;x2Pwyrp&b zFsuk!2!8ZYVpH@9B0u^KkstocUtCkr(#pp1x)$>1p=Nlm*Spg1U*U4WKMd!A^~Pf{ zw9ly-!+LO5A&3H*D2a!JM|E$*MsFhGQ8^Kq5X?X0hQv_63QGU$0?}r6`HP>~xCvXY~uS2LKo-{$nl?G82o3Hi|7Ru(tx(mf# zvJm1V_y7ExZMDyv7oIiCp~Yp>uj*Xe{`E$-E}-T`d^KbzI(h)CngKeJftG{) zU06TEmII(6EE#C&`bHf@*x*hI4j6kWz6xppqyV)5wjKQ6)PSjoh(3ZCpMLrq;s5oM zPl(9I7g5UZDO-{Y|Ak)fR9BDN-2;oHZJrY`eFl32e6Vuh-=KFvC-Z^&2w^N2l1eGT z>op0J;wb@r<*q*ZC`=Ie=RZCibx?gFqo-Z|epb6{^mLRJ_BS=%Fg!BG_JC~#K4iTWL8T*T$HVwD=&CU|keCsGbI<_p z6w?MHF6N;b#-VW%jUx|5&@Wd%qysAXWb`Jay{AxJ-%?he&fD1d<(EU98K-W2ALWog z5sRr1%YMIqv(qV=wBZEIz>tEE*h1go6^{KS$Yiz+T|bde9)(z;fkb@rZUN%q6ph74DmFGsu18 zTKwFi+}a$T$&kycWiYd{N=r*8RY*NTaUHJ+jWms#HokQAv^~!@TpSz%d|z5Ayl+)c zxXib$Sxdg!3BIfCgWU&fT~&*jgclLvQ9OG`TBbuGnJ`_NQwoiH=kwVDCtC?q6*3TC zvxQ*pX9@~ST#fEZoztsp%~$q&9fEIG=T!^snnI%(X2aC0jdJLOM&t5J0Mk^cIg|kw zV2cs93{XqXRBaS&;z%$6M=<;W=i`(~V|+ZTi&#IyO`b<=m|gkzq^SIB{*e{#pxvgu zaZE#YE*jm~H**L7==vS#6#4H~NT@5md>L%2)YdCkE?y+Yn5>}cIW%z;e?7s+g4lkS zOs}w1l-Qf*@PtBFi>p%ZDtCLy3+~odcWrgR)zst)RM!Gt#eKU2y@Z7j^M{{6<}>JL zlt-8Dnwd;MVs;eUcml2Ci(rSLeMgQQ`S~zBqF*K5IMIVdzx2DD$BKOD6^eG12;|-rG&Q^jX1&Ti< z-2>HvLQL`0_z8k_1z#X8fgC8Ria7=n)K>}#RK#w)KXQB0{UNT|VK;D#uUvt&wY)1= znt!rdf08(Z4zsJSu|>6aN@=Y;%m|hgX3pNBj?{RFCz_frw)T6S2Jbkv+#W3FmM-+P zdYin#;CAoMOq<_UUlwuJmU}w3&uXh+d0DyYX)_wD)uwPiufuV|beLIeOKAj802VVs zDnAj&WHEt59(015fIWpY?gHP&P@$Dl{-BUDZKn|IT5zZR`|MfIbA=`TA|WwKS);5W zf+fWn&u!m+C%N&??c1Y2TRPfJW2#oaPO0YAO!5tgz&J*gwpSmlKn0f_%hAf{&d0;j znuEJhW%SN^6*I`p(hx;KM~Bnd;b_B5accA(lo1O>8{9sx&kmm4ew~!=(~I*}s&MoO z>q!habC3t)leOn^8&FgsT zse9nOleiP!UWkh4&V7c{E^)g#Zj*1WYoTkY7aeu$tM`(|rO1Vmxf`+#-b*ktKnC~k z=OhDH38w>B!v2C$6juVdgKL9v_D#|d3nY=ncstM@#rWZh8REWdImP^G*@Z1Gb}BK$ zPbtj{5m^&ht5w{Pc%D#6~M>r=HrATydz96Ws%E)370fLdn5@ah&ihK2~ zyw}Pf$sSo>lub;ls;tm^4#C4~9A9T_C$9`qbk9vblA+G@Y7OL<#|5eBnYEeHR86@- zkjGBrt1rAf!d1V=i`aP?7!I5SogKr0?!|yJQ*fU$IA05%4v3W{IK#w>?xaQtg5OBR zzx8Yj_)BGBB24~%>eML`8rq&ZH6Ii2@KOCNqI(%kJ$mQOH_1h)lRSE^YkN05EM5PJ zv!uZW6`JC9Ulzq6EI6*PKtEERr%*y^#5HcWCM7MlD@)y?CT z)>$>+7g5%g%2#&z$E>MT_0{@orl>?U2Cuy%f%oE^`)ueIj4e2jFSuA1^23LhMqsqS zn03lbqj@jpzmO|Fz^JL?kLmr}&?}@HjV~$sNuEbOU>ehC>A3M)F3VU=-0}J6O_wj9 zJ9lwqk#tOqQ)|TXX>ULG9I?FX=L)N(a?PNOlo*di8Asf6=D0iT9ZrK`c0ZGTx6tx|29Iie++tdWgp>NGpop+q6WSp9mw z8l~SACJMp_P*#CCetSWAB0nt< z`uiafBwyDRpz%(a+Wxfjr#dD0LbcRqfWyOTDFz4#HmCkKwWRg$PxeX&N z>j+|kwT3Hr?e8iZYMYVosHi7wWummZ@0Q5(Uq^Ww6S-ycbLe=QxVT6YAl$s1+>B`~ zRk=qi?YyCBNMM4>dT`oM<~NgW;7QAZZs!ZZWlg12ven#RSE$|Nh_qjta<2NSdID zpqt)(m$=pA`JaZh&CQmE3(aVGqS_HKF(!K4$m`DEw=dsKzU1~y48{bPV`M-6;v_E7zL0JmP_QrPaQZgwHA4Q18IFVw$*}CFZ!FO$f<2W-r}MRQtNH_ zW(dur9}k8uO(mOMDEA|04=V28p)Maihm_=B$g?A~xaUj-lqs#!#!nMb`bT_EbUq2@ zYf9|t_^%{4e~7CSBwajSjUGlD$<^`at^chw`z(hAYcxdO$jJC+)Tr&9oz-nUNyPOa ziRFSCBJ`ykQk&y>kOnv-6Ii;K?kFjQd2FKDibV}YZrEdk{9r=lFUw_U9(Tb@YW7h<|N&xy(f_VFkM^ z`cCsNO*d0JYiTVqlTvpCa50u;MjJd4ceB&-?6VdpC=df@iE9V*Q@W_WITT$DlNYW8 z09Ysxz$@$V0Nt+|qOW#2fWA$`)pBUZX zGMBjd%;n+7nR9c~jI}0)m|dYUI~eb8=hls}HFITSnyM$vz9Y4Oe4xSLsA~De9x*y> zAf_RUxR(6ekmN-2P0&j-q@N2z;w>(>-``tPFA9l&Pw|wXmqj;D61q9*n~{R$jfE6@``dnxwSEL=)oGByMDxl z3qnpNni^*xLoBvXo6pzgsm1;<8i$^M*d8s*N`Z?^13p3}7GMdM#EA{q1j+SKk&5G( zxNHJM9&8F{^u?q>f*%4jI)1+>r~Bj3P8i}Mu@$<5kjms3M5MqFF^<*dHtEwHzL1k~ z+r(0(r?SL2N|zrfP_*5ETr*LwNG}<|a25$uZ{juktmOo!sX%v|>&C^yW6MkA*^2fV zrizM=pbxdYT~WQ=AF>tJxP+tpf*=$ine)(z=agavb9xC!uqszNpiiRvd2^U+6tpjvx%v81-Pmb}HX`+hWI|5%3ux&`6l z1xVE#a3WDWme~7LnbTSJlpU;@0bQno;;k6VwG@`e^_HP>4~dyFwUowvB}D;P15Bs}bZq$hE-&4r_EHw5?i7Z$mMOOLoy6CC>6T^n`!ep+hePB44Ay+1f;h(HM}E3dEJ8 z1$Fj@1JkFY;{!yUPspn)Jduc}(ngMGQnPGEl-XdfBgN$d0u}b18QZrDB5!#R|B=S# z_|QF2y`ZyWj~m6504b^DW*~gbrLdiX+YtbHQ;xWJ{~Ov91=xF?P%`Ea@M}cripaTh zN1~tC965I`vf`kHwYBbY z@+Xv2?ylWfUj7Dd4gz!U?RImB zGSx#c2MqVCrf3*z?|9S6eHFN@2YC2^cLL)+Ttgrc)VMziNKslY((lnfCLce2`ZSpb zn=^Oce2&_ji$T8f*b_S281M)as~O9tkw+&(uu4{dgw2ROja=)K=>7Uz**PH|yEIsu zQg~R^YmM*KTv7>l3`kGu(|NNJ)6lT=qN_O(ab;7JCKD*F7 zaiTO}Z6X@VN;1e3Eoi+?XVfcd?<_4+nWmV#0YB^XmMPVs?* zuv7ba%3!XFH8Ufy%&b&}TnDMj@Jmz^1zdk`wSjoR)QE8mFbylJvFtG14niOzGz*@d ziRAEYCR>#EfP(u$a^sk=?=dnX1hg$wNJD=6!Z8J?{$I`0#Isu;`h>^ZSO56C#N8Jj zC(ow~(451OzPz?b!|xTu+dAEGJeISCyd*4CaZp;nVTrx@{mvrtYF=GxafvcJm(4;M z`SQ6|MZn;yir9tur*tlt?o>{(z1Hk1bKQ|&Axs1CfsID<ztkITj=41-E&&I_dL+dnz5c5Sv$r_F!&V^s2f8b7;#}N^L*r`&C#BUGPF-H^orc6WeIr2A>7P<5$X zSEf{y3J9u1mMT|Oi6m;&Mm|5(a%H#fmutltq zCFkskNdPewhN87ZWq%Ok0xD$ykA%cwit7`vJ7k#}CrsvqF`;IXn<&j11{uhg^IL*W zgSA?3kU|QcBAe5c4*d`RBdfBOxeRt!cfQSbNERp=%ZL;xxPP)Tbkn`=8uVS;tg5M9 zgen-S^{)&pt*QBXcu5CM44f`)h0$QPdKG05zV*6|2CLj}v{Z(QG*7LmmO#XmQ#|__ z4f&YG+$taAi3F;g;5?vhffpbamqS$_7{JzsCbnP;03m_ejxzydLR-v{pCpMFxDws` z2rNuRDqUqq>4z8x!Oq69Ib4J>INy`vZ!z-{a1A#OfVo@n$^Fr1oF_^&7c{3bnynnY zR7U>z3N!kTD(`qhW1D^~WcltHMnhgl+`QGan6+Xjq4!t(tA*-0?##`HE=b(eVzH}= zyjS$d^z^LJ+XU;nSox6-!I*~oi1L?s5>utlTx}1k+SlhnHzTuOS|P7xR2M?4%|4=l z5T~&+RK+@jNI%bH4;!82C+2og)Ly`m>o`^(crDk+%+hB$4*s%NaSI}j-=wpuol+?y zFTaSJ#blDx%vB+Qz^XRLj4ZKCY!Jz+s~rY~uFR^8Xl>>vClcA(^-i0X>0t6oxFQIn z#cefu#srR)I%1le0!MbKu0j1#7HZ@wP%ikgAh3Yt$&hSQte;V`7*34lpjgX|X@S@S zhSslGQQX^$mKO6ih`6LChR+HqVxJ+H7ak7sB-UY6HR3-THbgdT*wN0(S8j}KkP3=M z5Q@Xm=U%S>$Ml&ctFg3lcCA{Q<{b zG%lt%o00qAqiLP(XTq8tYli6f=Otx0RMU0hMB^Wt_U#)Pp64>jnQs+Z1;j0u=)(-O z%5FD1`s{NYj@60Swo&_CQBNrCivRIUd5Ar>Rgw(Ns{Er(W=mkkeb8fEDWP%Rh)$pCXk^tag zNuI&waMFlQ!KOmKrl1xXb8}b+(nLW)PIad;%wcTE&8?l7+l}mutU^h-8L4iZ9p1Uq z&d>6ydHytH@b~l(E2|4DRfncex99X8oqpfKg$N}AelVG%=A7#4gOO@-b)6jhpcEaG z0&>T`13JaheQ6r5N3R%TUm9F80~ZpI&-nN6_b>KJg=1%OA#cU&g{-W&9(jzBMd^{a z;#5TSTfshS06YK#!v`YyAi@U1=MW{LpoQHBLhObaV4u*BB_T>gxt>fopO>hbJ^RS) z*)>E2+~nYV+JZ?MJWQo)Z<)MBadggs2$A&?GlyAYsSFs*dYiUH2qLY3TVneVz?zWbZVpI1g5x{zfDKbgiGBMzX-%k=cpyz*e_iM zUyGxl1t2K|zXkPou(V0QSGo=#xZ{vuZJaY?p^vf9Y0+V!Q-5Pgxw5KAQmPg6D}_ZO zsU%$}W~+7dRgEey7p_Y3B|??vGF;Qjic7Tup^jeycM6qopH@{~T3jU;=ja55Qocke zSCbaO%0`n!wS)YGxP`oUtRz&vaJ&dkMP}i464tx|&WE9ooSK_A4&@`FB4!RT2g{>c z@<%L>e9Ox6%GCUFaj8rzFsX!!N{&FxF2Ab5S2YDvMHyTzEYgWo6=&g2r4a6vR0;GN zxKpHr`wGhBB27`DOfAr%1{4PAE`6LEml z5HuZ7ns7GjV9!(xiz$~aPyv>b*nd`E;x*yLs=?i7L$zhs&CZC z;f7!LC4ddR2l2(lY&6MO7g)rY;8Yb8>?P0K`#zoWcBnl4l$Mmq!=E|XJi5?9_MmDZM&s7tho;Jjqx@p=Oc8+6)kR!9HMNh}bGp<*qV%h9|X%ReFQCxKTq8wNgBEqiL&G7BC}K6WfenDdY|J&S}M6W3RM z(P>M1Ky}5UtY+r19cFv&=vf)x7Nxn_k~cX5n>an%Lq5;o=_NTJ*X`krL>0HdrK?C6 zsb!_L#KLxK8o#zH0uN$$8-9>?c6Q=WY$v*3StTqiy)*GlUU(NYI8Q8$ci#&G7u|Ot=4liTB9&OH5DN?JC`Sy6`}jd<7H^#<;$-5(622FvxT35ULGRIHcde| zr%Q{}xcb}-(hI~0gaX(~h<+3^aYq`kXLJk;6o7$7$*^o{ZXe0@hD^I!t$&W7MSAEH zeE@MXRhqJnrObIV96_^)^K|or==99H+8aV@)28K{Z@GGr(F^rJWW4}{78_;NWU{yt zwT$3x+XlJ>GsOaS@Y7Un9`IYxBcQVt4#i-#n9ZV0s%zH=E+$xOEFvf%aQ`c+Q+`aF zgP5o~HT^ImZoO?cL9l%_&Fvm;8MW*eB50)k>YE!m?3;EG#9{O%GdriWw8Suq8P??$ zh*?J~mYb%l(BHc~zER#grrl@S+Ay$_FBxOKH<0i6;YWsPf!E33UYz2{@nj8swyZt3KR_NRcYt;e1UVychQaPKzMk&INSsFM#My28679!LS01a5f zBMhN8#C>#t+a*Pj*z5!g zy@gn+0L`WV5z)pch~8_V`-QZR(IZu6ZhcJi;9BzY?lAf^(%Gp%XMg*Rb1iVAt0CgX z(<8z8)wL^5gnkPIehZOjy6}u72JmhSTLoCXd64s*0@kjW$--yMqoUJTVljZ)tVu`^ zJ=qi_pe4*#shqO(%P(agdJFBjvEjusVljX-#I2;j`AP(h(>LVsYP`xI!9v7`{(vq0 zNC2jlEhi_l(Y|Y;$V@4UtqZ!$f*kP!6tVItWC5jv8ZywRky<4+84N@Qn5v+#BwK1E z6*YCB$9W;=IMHLHThnjf$1W3Geu?L4CerTTmm!yC<))Kb^mkM|6cy0F$BpAM9{K#w zPrXe3txys0OM_`FVwB%6%wE(H7`4f@oqPy7;s5R0jR1_9DVeaB*P)LOmXEm3lbS3+ z#Y2WiQ)r7zAu{clPEew;g-rL*wY~f8x8I`eu+TQHg97r!2wI}Qde0-78LjD=B>97= z5EV%r(hi1CQpowXQKeNa^P#y*9$&Fy+cnE<_g9%yjpcr?DM~gd!QM&}&%A)Xv{ptI zJ_PHR!1~WZtrp$o9-l>Wet|JK)~^M}YhWL=HGof#63&!$rDFInR(pZnVV(i(u1g<% zlDV_zPBryT-QD5q+T2Q=M=|W@d4`@kj}qMTj30AwP?@DM zBZn3yAZ9>~NVeYxqwv_|of7dDmAv>2r%do*&C<8Pgh;`tyEX)-Fdq7ZwLxARoasNybx*&`P-YqrP zIh9|W`B#ZDpeos=*ZB=q$~rW9!lJ1^yA+MJ?XleanE=4+H&1Y)2!8*X-}SJ-hy6nxyT>50%Sr@_PI#=ix;nD zuUqTn(YC6pA8WLZ1$TPP4sWH)b=Z5fTu<(Wz3{2MNP&uqpa#Q^r7bn;GU-03BczJC zX?lTd5a7YIc)*#Rcca>o%?(7;we<7YvID%Emj>qEl()BO&d&TaeT2N)SXP|7XYm2@ zDynOlJxzM;>JRLk+Ss#s#n{j!&7S!|b{TnNRTY{g7dI~2AN}ih-%&VNMePCi49bMl zperXpu>pSq&d7uXCZi7)j#S2+eY6I_fE}RarJ{cn=LMS3{Smb0ntfcoZ+(7=_k)(d zdWFi38^~YKJLBf`P9wQmT;#0<6ELRh3}_Ee1*T5+PnzVPIUzvq{No?{>E`uV?~)wQ zA?pF|7?N0pg%OijQG||>@xety=!W9HKsHGz=4bcoH1FSY%Tf=5}8Ejp#!R4wo zrl-0&X>H9aB7GRr03WT4;s^N@@5-R283IqkJ<)JqT?Xc3xaSHrdV<1wjQO-oj}<-R zDNJbH@+)h``p<0*4X#UT8_;ry zxq;a|m=#>u3J+AjZrwX+l_7ri1kXDER?lQU-(xBAXXMWHZ1u16jOL*2>r}&S5hz9Q z`vZ)(s6KJnBMm`y%3lY&fJG-$reb5yVUyVKw%X$MU))@zM3DvC;4!lh8xUyUp+jpk zGfFxqq5BS@a|U~;L6s#jRLt{K?yRfMk{r61=aXu-cd2jc{5+%5QDq(_XBDOy3{IO% znQtmrqpEL4I3*HKy%7~^(aM|NQm8Y}+y>6Q4I4I?chz=;LptlGx$E{^{U%sg<_pM! zS?S*_JnOYjJ#G%BhwEAvd!a;N)NIM}>1JhXYu;hf_K!lb-(Iq7BO@&cZBgNr^WeNO z9%J1BtPafBsSK!L&W*BfF_TN+7_>qe_xobC0%(B!4$6YOpDZ+O(9yZNmp^TFAx4D! zXJe%*Z|_?2>W7C8HErKswz$~}3h}ua55Uk0d&3@8%&HS=6{zZAt1Stxt_%I} z@YJbD82sVL)T!iaP{~3N7IJke2TkFK6iRz95wY;Hvr@^6Is7_RA#rBVrm>=5^1~1I z<&WcUuI^K(2hws}LAyC;=9)(a?-|T1*cSn_03HC{*#q-emjI3?_Kd_U z1`Y!f89J3vZg=qe16Ia_)4+QiM~BT0{4P~0ea)}JJ*))7H+A6j37NP;D{W=e3;3cO zM1GN1SnA-^rG@OfEj!BQYsVIXH^(Yht7cVnNrZ}uF`{s$0J+4vigFi2S6U)L8*DFTu zp0B7b2+WrV!~Q8ePIaEYub5x2TxZRZl^%G&39V4(+*T;-C^ae+m70#7CPkVw|AviA zw%klvd^c^Gc{fqV=#&Scqp^cNcrQ~C1<0x~njWb`} z&KtL zb{A`ZQ_6OSaY%@Hk~q4ru10IwGP5#?8x@!Omw>^WqY$bpta}!Bkel?n=048`<`^AGfkSL z=}4QVNk_WUG<%*TP1B}H_W(L*DJ^?dR#Dj~Ll9)RP#ma;iU=xP+!F^5++N3ZaUB=r z>UG^q4&U>hlXQlP|1Y(rl!86)`;6c7dsYnS{@rj!$zatn`^szvvOo;vg8DGV0;uqf zvfyT;FqnXDE$p(G#1$@zq76jo`^Ih$4w!B%Uq+tmvz)El_>K#mac(?w#`DWB*Wwp( zV%&|_FFT0vjlJRhZP=bggt;yr zVcp4!fP2UFj$#})W4nwgbw0cWq?Io1!|n?5{CEs)KoXeSdy1Ij-?^Ux&H&c2bG`nZ z-k+)#poABBWz_Ng#GHN3f`#Fp*#+$u`AkAhl2`brm6sEHuejn0>W+hRi;@mfPqyXR z)-GOR)GBdbR8*K2ex}p(&jfoR0c+y@d=O~@rx%b#7&#yK2?DL!Qk*Mn?sN#mXp98T7S3-V(mTDN z#TI@SF$bUO0wC9)2%I$3tcPc&yK*EiWoNq6GQuvdn>KA*u60h|JdL)fxt{v__ML5t zBvjth)8oHhsU#Nkkj7%3!LD;~^ks0?z%Pb6orye?yNP_CXDBUdn)YrUqZ5_2Rn3+-2?7NmBIb9KFQj&7OX@A%aDCIvE~1YZGMCKk*`7wd=9<17?O)zM*wz{P6lTqe%9?gnL0R6c zY0e7?;hB@7V4W!^5%DrVp}dkQo|?IK`=<7aB6De7wWb&!7uJy5ipUm-|FPVk8s&R{ z*_iO=;Y47#4hB^;u%cHR(U*%aI$){;&S#v2_bQ0LQ9u3$FQ2HeIva~RE%Oc1YS=a0 zcd6&oKI(X);s@gE?Q4aUH0WTizVq?eq9VNWwghr%@3OK-$!{5h2q%1!pkEo1Vay98 zVfCbSH4x<{NzDipcHA|Bw(h&4pL!W9!u=XE%|=e$m*_gv`5z=s|XR_f5d{M&5A zVLM(lZ}->Q>n2_cnJFSNBWEg-1l%y% z@-(p17U*e7lz@lX^a$)^urmod8L&DK^a4Q*N{GvZ=!*r4GbomDc52?R>1L`9!CWB# zti*;2U79R=^$qn}ieg(Y^fb3FqxPgGWW113!=6a=>|8+uym#jRUn?%Khj z4vc)h8>a`KuM92xntR1sboh1d>@Db(3-_a$ycyg5|3oU@%H?aQXLc(q-w4|6mub$5 zvD?@`LHEmLX~eK@gTWduxdF$7bv&pM@Ec5~VEYx&dLUb{P=SfVAAkUz&~XumAIPp$ zG_brmS+T$VnyM;z+EXtPt5jDjR6iWtvBSG?VP3P|T3kJNFsJNetLxH=6EqOWhC9VD zo9nX~B)N8_kt;Xn8i46+Xt1oBw-)>@2}u8Q5k#&B_N!i3R=1guFJc!SLc3 z0wYHZkfDb7&r!_qSuw=Nu(iMroKFveAV?27P~$Hja%!R6_}M3@&slt=}^sV~?L29XP1u4KmRv%pM3W%dZGLMQP?xprI+1Ojpi z2VdrN4$QNZ6cl8w+Eb!eU(=MW4&VYQ zYf@)IOKo(#1D|;m^qw7HeF3-_+aA1yEerf=`$*dZha1wg2Kt}CuHeH28fFAM07Jzn z8k{JNo0#tkesy_rjQH3wUs`Rdl$(~E$2}&Aff9l zQWx4fx2V0;nC~vBDPC4ErN@nmGTW9gMrhV7st;&`n|t-#^1CsOfRddztya!zqzLrY zJ?lyz3_LY8>(Fz~haPf%{Dyt&tyDRB_OaWnzkUy2fiuAV=|R9q#=sdc8wl~lFDpG+ z3OgIRkm)a}m@r^yc%jV_L{Ql15I!%ul{$>k0i~Zv<(_}r_g2K?S)|d<@@A&T{^vhj zQ#o}%da}A6?fvK@!*t61XKE+1)z#UkC~LDv4t6IYx6WFYk!LpB3u0+GC;@KrUC7xF z>s}-F&J)^T5Di?)3uYt;j)Sgg1Wp{XxI^DX+ZqOije{qEoxf3fQxC@QON+}SxpGS` zgCPNlO;7JT>3gq%o#HSRX?3DO-)EosPMx}x&QRBtFWyB~XniW9vbCz5>IuS1YV{*z zcQ)>lGnCAPF1e=UyUei4j}(>MwyG7ezvY?MuXhTlD~KSk`0 zuMFqp7~Vr?Uwiyn2UoH^INtMcqN=ZMr|w;nJj| zc#@oHyE4vEW^&>&j_}O5_x1?bzhM7`1bj{zop*-=!tnw>nFSwY5ou*SO1P?`}14!BAft3 zjvQZIn8&X{&pZNL5S$HzI~du(z9G1owTP|~hkM59mB@&RtRff)m;@sMQY5G_`04qh z{4Dkr7{UZ2PRJC%)u&E%#8T3+Vgli%6N|>==PBMNH{Q5hrpU)KLx-4FnI1iH?<0@g zc_(^#rhjt5=VO(C77&P~yZyIWtv!au2BY|{pnGVZwgO#6t(|OYG=Lw(w(w0>68M7{ zdajfZ5SJosLm*b6vr5Us0s#*h%0WWCGNhk#ae`umXAEYOX;(<+n6X(5=nBAeP!k+= z2La3I0h$0}S%xX)+SaLcwN$tuUV8FmLw1u`%FE^#@J`AjIsYp!Qj1K_x|(OAzG+Qv zQ<+j(RHRHja)Fzcm!-*9WyKZcX%*TMwMbKF*|#qyT^dig5D^)k7@wY&QY~xC-j}l~ z{hDnAdU4j`!RfDD+nk*tnY4t8?&%@!4EWkxdUXL`Tiz%w$+J<7r3~Znir#Hi=PPxU z4$`PqYorynGLDXvy6oloWI=JxwT^wFXxW^o!U9clS|mHA_{1x2r*VfP8|z^locVs% zt1K5V7PzAf=f<+Z{wl({!={HV3R?~}3uPLN;e`UfME&fu ztOQm{Y)X2pfDqwwyTL)z5^DRHb-y&e!W?8G2TlJ{+Yg<=Oh`B4LCfB3hs+DqWLL-5`^p zx%oPL?sxeK6`X4Dclfvh&%SCiVZH9aw9UbAzuc)r&)CC#Uub%tbjR8;lArz;TQ zQdxTk`5luI*FHlX5X5D_{4yWpyQdLb6_d14Eagi11>BcqksKmZxR<)fLFk*5W7G>A zq(dU1wm|4@;Y1rXsM*tbW zKNDxQsvLKbGCm1U3xZD>^NX!;5Y&SCfcszsoTiDPMk7FlLxnz0Ibs4iKu^J)j+OBp zk`z5rZOZ#pMP*GW=WA9YcZ{eAwNYK@zON(LAJ0TrOqJBg>x#-+6)n>LB{fL^P(n5=PzOoR_FC=U1+}>%esBE;n@69gxEkmA5aV{cpgCDg3^qKvXKST1BNPif8n3Jh41ot>l%-Gke&uw>Cl{5fQN>H#^_PRqJJf zSUpEB=@}vYVKBQe4|t0cEE^qH2_aLP2bphXlCl+g%_`|EXeUeuSTHi)yga$a_zHIh zf$7KRKQtN#H)n!7#kGbsvQp#BghWbDU}lO71DAYdP_}3HhmdWw+jnhC3-zythK6f> zK0^!jFw#=5yqTJKJb`n3gWKocOf}k*39DftdV5!X znv$cI$;-@|?8}ny1A47s!v;&q z+zou2GPTsS;TfZ`SflthPhA{o$}{t#%hh?`Dm2u49aA!9HlWJIF;hFE8vA*RsyLI{ zv!>SrMj4iSjKA@;EQ|zoz{g;lQ5$wW6PXFMG!&=R{jd7PpdQdQt#HDa#~7~y_&V_U zV|}3SVMqty?%*~-{=s9=$uOdS{rXsfShD_DX~CWpKa6Uaz;(|1%J(C+v%4F`b$3(l zC|9=H#-CGp`^H6!Rbx0K_sHY8In9RXJD@RU2SJpS z+?cOc-Fi71(PVNuO$}bJ*T3Bo6WJ?HvB}hi5>;t=?!yn~;`j1WRf!>2SzeN9mhS3G z&bTI-Yl2EFTuYh<+~70N>w|Z{=7GG^4pBx+E$(y;l6pAgj|6$eW8%SwN(4WemG&|d zaZ{0x^b|fV`|k$dHGjy?uYz5U+wargq8ZE|n~t=U+nJ zd=y5Itvz-ldHtOZB#d>Eb_s|2(s3vJ1UN_X3@eNNS&~32Au-5<|6{lWk8sxp_NFj_ z6m+5Cp925Eh#zqgdKMXys23^CGZo5mXE{<<78bgcTfHUjk_PIBI<$d0xc*%JzqZwF z`&a(C_0&PMf%u$skl$u3Y!$aUQ+sRDnszQRy90iz zOgO9O;jEG%dcl)!tstWSp8+p01BS7%lwj|~j|jA%;nM=C8ufEZnT`_XIS5OHL2uM4 z(ZlyBcb3*JO`vG|)dhrH#%w&^`okDb(6w%S7+(z#ixFAFas! zjOW?vrAwDSziinu&(aI84?WcWRhN1wu8ny2!3X_?HuC)W^RVj@UK=m_iEs^w0OFt* z;f|QT<0ObOCjrMf9c~KzpakAAqJS=8xD&9|3|wGrE^Zp6ogz~!ij6UTXV4=44N!V& z_>K`G2ft5(c}H{&PvAZary*AFzMh`^9LXP99O{VHur*cKNj<#d&LoZFnhW22bF_je z`ugLKe{W2e?fm`BnYtf;yr9W0aVe?_x{6k8*H*0SY(rHX?(}D#ix761|twVFR4cNEAzKd{nR8~^s ze9pq|zIic=W?+4f2&=gG8f!nz1qSC6(w%1jq?tE0h%da+v#97=O6E+YAO89)vg74b zX!C`Auxa@oH2GH_@c}g#zWfKgh{|=;;DF^?lDyV3fL^4GmQ9;B8P?JNPyNMLARivQ zlSE+M!)VqG{%HxEIj-h}!O21M!u%ZA$c+1m)Dj{cP0k(x)Ra(HMU2gQ$*q zk3Zh;LU(@OLV&kDwsPf4{f3jJs)_e5MBcyu zJ*5aBW~ocV)Ew7eI$+7&G0G88yM8jVR-o z;70_1gyocpB;fZilUlt)h3>aniXDnm$G=TK|Kf}1)4x65hE`vA2u5ClG<-pDzrgZw zUe-8}HLG9N)txn&xOT@p%lunznQxf~ZO3*yDkayD@EyuBe6qa%qO|9SbNj zVUqeVMQC$K9ULCglYY=<{!7pJP(!uJO>EKq|bjFk>Hi`a~%`*wb zM2DrW#_m6upj-6fuJ5R`^Kz&AziBh4sHr6BL|Bl zDb-C2x~*m+j!+M-;(C`Qb(c=7j-S#DPo0191<19_A=bh(c)^QfR6_%F3^M?5V#$Ix zKJy0q&_I=ik&HCr&*^WY?;Gwn2d1Tc<&fmQeBriN3vwJ~#j{|i&uoe!nqcDGY--mW zm4AQ1vupLMek*wK=E6Jut-OC<=O#_Qni`*pbYJ&x9`&!g@7^c2!7S~nvMg8ge(N-| zd75>94H0HEb`{K;TJCH$c2cidb9DJSg)J}7rhrd!toa@fXi66N@Y9gn2#20%%=lTr zw&J_QMFW39BH_E~k|{`JFw%)8U7j=+KjHi48y_Q-$1ht9(Gr*6Pq17_O}z#p35+oB z;$y6jXkBBTLy!Br>8?oOUwRT@E;mV-OhiNxEU*onC1DpUovOcYv`g4~j<6>?w{P#_ zE1@Tr(c0jN4 zdD)&xvnDyTD2mVzu1fMQ<8&*hRma&DyjBcIurK0KYJXP|a-yeP6rFp*bL5_+>%xQg zN#>?_EL)Ct{Fe_cGgQz#?*G)e*3hHJZ{gFs)pvY zn3xqG8`H!_(Yv{c29BKQ&^Ook(Hv?C_0&#n}CgA4Oxt632VF-IYDEzWn{&~pa@6`W}#yuXZoARv)(wa&%a@RtKdbD zk(5-MC(ps-qjHduWI4!4lfmX_sj*uJS7R4C-!iQ_!P|pn1l#LRKt}Lh_A;naYo+UG z;JzUR2cv}nOkfbfI7*DtIE(}g&AY))GyzSd>tjxdST<>Z{X9W^=`^WGRHmzG6Es+K z1%}uI1QDAjiz^jIax*eS<@3;#l9bfwC0!{U(>68~upc?h?lmxGf4aA#q9uReZA+Ti zn(F1` z2}$r#(u0|8$Q{EQtsEdjwAY5YY?t=mA%&>Ub6Qkk6hzb#EOsn}4w!p$$Cke$K7d=YLC21;RB%cv=u?;iIpBbWp`jME`a&Ha(}}NzfSW!W`e1_K ziwE7b6C6#iN}jBiyRu3vy`l_< zsvseTI-A=+!l};A%fuLUaw|VPA$;R7M&)JG*4Ms4dF7#KweHw&hoNCA+7(^wNDl8Y z#W}-S_a5imeg`Mr=jE^8za4dUUopn97E6VISEm@AL<~zi0@ zq>BJyHdkqC8Y*2Qt#0K^?3?j9ya00$vS^+n4zi-=FbBkNVTh&T<*Im?oQjMB;v1?X z@H;Nck;3~#0A%d*+oV4wfAR(Q9X~d-XXi>ACS|QbKMC48czyntR@x2h2Oeins<^a8 zZH3gNy8_92X_Gq7N&m)4?Wv%SInhTX^@UJqb>}*u9$zz&`GjX3wh_2eByVVY1b)Wg z{K;WE!Nn#4g0?6K=5jR55rN3e(P9fzqh37kkEOwx#;JsuOzIB$W;=}YMUIM_)* zohS7X)kveyv%6ikXajos(ehhL>sMr6fk|p%;v-MRwAW1lLD4HepWhBB6g2;9VQR@9 z6oskj3wLYlf7yfD^lTn7)P5>1Fev2QrQdLMY{aL5XI!y19X4MX@5Sz|UE;gEHr zd&Y8tXEo82b8xdF2nJpHGD_dmkh-O==6dvjNS)_kX~q1g`)hXdHdVAozxz77vlT)q zz*%7R8=J(&ZE$;0Eq7mjiShUOWIs6VLxHWz@_Clo#lUB=hX zhI>v*v)Sa1q-3Ne2Md#Pz}h$I%-W6`yJ6|BJy%(a@{Jl*fdT4-Mq7W3wS<7j@vJRe z3z1GU^w1{{gAOGy>j^XgvrSCK7syAj^MEfWGJ4}(Baw(4)RWt*?K%r`oqYAxx*vXc z$wxiuEnVH7OFZ&ebgyOi?w&k8x4X$z-I@}f7(VchAvMz=!e%ZxyBzV5z}V=soj&E< zwaa;m%C%b2PY^k$C)i0TOoOJ4yFAHLKhSD)v*KAsctXz#4$a4aagPSPeS~!{$o24~ zP$myM)cL@In-&5};=$uV0P~l@5g~S?w>{5Y2`?ACQ{GMEP;_m3TE7QSbnK#$C|amt zHC%W|gN`E!^*Kqsf|kK2x52MkM@YOg$!K#<84s6fyz>fA4%!R3bc7tV8saU6r-64Cq_e+e^iJb?rf57d^BESS+TJTn%782pfeEDH;PpYX zv8<~ZH6QK8(Sh+-YAB6)0bIGe@tup;8w=_%@Bh1#g*C$Va_ zZlzXxI;zJB1G+opomVT1dwV}DUO_$~N)|;#M@MAvjD^Y=oz0P%4VamTO_1hFiTIyP zGq&z-vrZZ(9WXHh_}JH=H>#FK!cg;ZN!JxP6L55Nfd&y3fWuKRt~(ryP!Jw#86+?k z+@P&X%8cv-e`EJ}_U)U;V3*3)4}3pU08^^O9aHSLp4f3+Nv@;SPyy53BdDLgVx^ec z%(G{zxj8oViCm0w&inphP7_uO)E= z`>FTG3sGo0L9~ZQCdOu^L&RQMZcNQ&$Dnw=xwq53>l5bW~M~zW-gM zLxnYecrw$)yA@CV2}b%S5c|Ar*m-{%6(cr4279y9dE1qgK%+r5h3SoZkbnXga@pW0 z66S+3{lmDP#}H;?I)~}!i~xu~38U-MaOW`fjkf^>sF?R@Dh7Q*eM59;TWjoRzkiIR{vk}a zSLQo}9Ha&ulp}zkr=e^EyzKran~iuNTsMkrsSCS!5&TEO#eFcZK?ar6DS-N`asL)$ zC$Qh3rG2cfLlgjMDjM;Cx`c8tYKCe6s}USS!c64He-AB~Ut&(+=E$mG*22HL-_oav z^`aMr0v#`ns+@m)!K5z!8S7~_XH`h12k5;hQ6z8QIE zw4Tnx@%}o`Tv>(g@KPOE+zFX(o@J(Pxl=dOI!{UcvgS{u9jCE)*+LC^nj$sC6Av1mG!OZ-QIC*CHD!~AY1Ee(d(@HRAo5`BJCi7OrLpy8#Blm!4aLsqtHZ6pBdkzq5C zmH4a<09Tm{8$_j$`Nq3Gh5$3bCa567szXlg;4l*eXjDQsh&Qmsz#2qs ze(sZ+zducGRW5ZbTUN7foqL`BE{YgI#!}D3j38`>k6`!iMkV_=p>sU&faCK|D_?no zI!zuuN}`gtPU^oZ9>KUi;YdhA<{&9M^qeI1EGFSA^%Jn;GpD;2Tb!p=4-U_s| zWHf6=2g!vc)JE&?zoVsCTgIlLCXAEueZN5aJswn=V16VFfv3Zl4DVp-X|`3uo8YN~ zH#{;Cl?c871PptF=~vO_Ytr_1`$|) z9dKd4I;r2B)FG!6K~9*s4g0mPMG{+U5HG1DVsHU9Zd(;iv=3($AvVG>|6%BtCV~IZ z4&~}`?Hji2p+kF&5rd7<^fzgELINtDhal)l{T1#BlCE9MfI3cW*b7 zX{u@a*eiBa>MFu{5pNxdRB_D~kIK1pRz7v*)~WefDYQ1n4tz+{fA2`Skb59raejX1 z_cO}*1tyszIhoET&>5#zy?&YhEdTMBljCjN@&soDaTd9vVSwn5T+yoc00)T^*M5Fj z$0#wAv@hv%#RCZnFTBGL=eqU405TgSU$=-41J|0%@6HEoTBs1`80sFT7GAEK7@Y5~z0rfBNjGcw0X84oUq}m{GFZX3SZ> zLm<~)c_q2q{@im#zCs6I2qh_jWXzD>k4nZwfxI6DUx0Zb+$*7g${sD=MabkLLE>?3 z&qT-$&Sj*e!vbj_kZ7wB;E{%yw2gFRiRK^GJqG5N43Hmfu#+=Yk;R!lT6DJw%* zC8a)EHI8g>I6kTSn)*SZ=-QrWwADLFKKGv|S>-}i-sZHazH#0Wwcq!iL90Brhk7zC zM!79YQD_v&;&|av!V+{aWc1)FQcRm>U(y+sEb0`mSR+=5rO^(8m_6TWY8&SuLAP)| z?-=VbkRjY78xJ+0cvEi}wiuEmx;_trg$cqfsKy#q5rwm)STV86jT9|nQAOCrzYPv{ zA|+)VL!;yDTr&Zyj?y|<4axi{YE4zfcv5{~9lDKr#Pt4tt94xn?!0AgJ-OO1b{0f9 zBI4!5jTe3(j^%_1Fa!4FD9q8t(1L<_*eq^8;~%b>v7;CSO8>p8Hs zcwcc}*c|B31YN=#(lGxt0qIIB56(!z)x%KYp^3dvDLHynDPx`)?h^CWA;sn3gAcy6 zd~U>*^WBQ55wXUMYNyuvwHJcK@1ZP}6PYAR&(KB6h4JjjCwQ9&vZn6J&A+)X>x%9C ztKy=nqzN#6r_j0;WtCA)Yoy=)G?=Bd*5|ll;->rFefR7?D()6v+u$o*S0%dX;n+4e zq--vgtuiD_aFq6GVrsGV#v13TDRt8IM`Cpaix)diIUl^%xo{tK1i5Rrs?7QvJC}zU zU54ffk*TVOkrJ5056-}f9)5nhyL95(G}`UZldUk7jqxje5KJKf9z#(AdN5rE zJ05n?L$OTp36+Xoo2|sD>FRHG8WKknqO=Sg1mB!Zv%a81vOrg|D&SIK0VYU3E(xId zCm9``GQL-%rIFf@V!*u*`Qb5g0hB)cMZmQ~@ji$T>un-Dfg{V6)fZJ&>TISuRsS?a zV@*;XCxIUs3p-cPg@Z%c%E<63UPEer4r6dvj4{oS;k31~;#j0wTGb09{aRw3o)kWB zr_QDoCb4oWiT_f6?_Mj~)}J=R=GBp9lsqvalFQANOEwGzF)8r{S|!P=?J8ubu zyf;1M4!YkGfqep7HcFh(A3#ezu!2s82*xKsoYgFp`bF}r#lQXvV=W)3I`zvh{axw9 zIgyv;9LR~t|AAU@N(2Iz5NQyfwluoRAx*yCv5A@s#iPs?LCsCA3BX5*{NnV|)~}(*iI)>CG!l zUEQL~c`oCcHvJ6rZxo*7$@Qr!SY$~~!Zo|dw&-_Wis`T2zkflThCidX8Zrt!jg~4T zSa6<96Wi0nE@tycSU<9v5~JISB{dzJ6xJ@XWiW4hmD9P;NwqZAu0owuvT=HD}L5+9(;iTahnYeGfN4A(BuR(V^ZIb%t z)WS$V3jZSV%Lw+*k>_F)9lG+0h7>g~m1h=J_1m{Um-5QS6EymeQ*hE-iGRbW+0ec%4J%_`PfSLdq0mNsP&oG9>trJ$o?h;s=e}CD*rC zlT*<2$b>Bs8RcchmdFNZ!;kh73GTG`zJ#USS^Lu#MQ4SJyT^fRca89^jy@t)Z<&mt zuEh1=kPWKuB9<4Kg>ikB9-pCp@w!zF_U!6aYl>qWG0u5WR@O|%>c1)NE$?a~lUW6! z%Hi6z>Zy_R874sA|C=C>adcGP182wtn+%d+LhX=|W+1u%O@(g-^Al_!3ze{;rIq;? zF(821#5Ku|7=cMwSf~+DzVWC??>tvWUEID(+Ht)s_oklAwYxqj7=wB=K7lWYgCmwT#Wc}U^tnL3bo^Sl-4 znjd^W{dD^D*I)bIfB(7XsC!n9DD;7{@euWcgiU1!$EZud#V+q!Bq~X{GDq9JHcpUf zn?#mMYzm8=dWc-MjP#jmt&NS=T9Xe|jP-q&tRaks^E(Xv^?6_c@d+jcvj0#FgnROE zWCr$KEk!`?MrtvrpraP1aRb+)4s932upI|AS~zAvpbT?@O@6M11z#QO9B50xs4;qB zKD?@B^Qi;xTFMLm{%ayf8DCk=a}&=jJGEaw`o_^$m*<8I)3RHRjb;xe!XGYBkP}DwoEWqf*|MGGS{WIG&T~Jtip0~vj3lrc`RFa zV&1&B-ufr8XEK{(tDX`}y$n^UM!+r^d`3kukF=cL%G!&)K~mt6Y5M~>d<=Jz6r8^g zU3(Ly*2X{#2G$ass%gUf%3Mj0TIx}*G=Di_#6Q9<}5G2FoBV8099hL@trLWUHi~{JBl|bhdo&pan zn+%Re!tly!W^^`eRp3iySR-Lh31}Dt>i>elVugK*3Re1GCa?I#F4Vj^4{h)FtNy64 z8V;?RTs-v}q%2t9R@_ES-DId_KkyX0&3(fS-C&-2>nm!Si&$-+MM5@hWE#c z3UsG4Kchk@kF0YvTWcHqjh=b>#WjC3O`2)!M>m1V=cL+f&^$)x-SW8Ep2h_&6&mG; zN+jT-F-PXpztP}r?}3r+IpZ? z1`F!qbML*e6I!*cxiwa?&14XhqH+Q_NU_1BQdkFeV=6PnR+Z!62yuot5GQ*yRjonw zW9sN}MJHpUg7ut1h9BzP=ypu7Pf+GC9I^x^3DKuI#$c;eAaelTm~#wr{A2AA?!_QH zSSI?8ANL;gQa^f+97pVAx0}tmVLwwRA1Df$QiF~kdBgwQdaJfbHlBvN8yZb^W*tIJ zy^aOc9T3BGEg-%3T_@w_C^LhV@pK(XgKOP)y^cJvS6tq8uRmQho{K|Y%!Sx4<>I4& zr%32R7t>j~=-Cn$iSeIAPzJQVs!)HqQxS|o=}86H!Jw*$j> zs4-$-!fPU>Obx^pCrO)@sOiol$wmjAH1oeqa=lHa5hDlR`q~H#z-M*!Xb6Y9OCU$TVkR|Bk>TEUBr=L3O5<|ck zCpkqGX2d8~vx~Lb^wgMWlx8Qyy}Oqdmx3SsFf|^>&Edf19Rm!J1*~|m4*^HOL4F02 zBUqT2>@Z{TBQC9tm&^3Bx^|gOriblj^X@i5rX`!Nk_s%zS#4C-cy0k`-}C_OD~P5R zyF<{v=uzswZ&J^e^r9=?M3H1eTXOH@_P(S^Z4Dtj;iOrkNZ^|;e19ntI0AOcJ`Qyi zxV92cF6Ysi^gzmFWE>P|zrzF0Kwd5>ZcGG)g$eSE3~CKP14cbDq5?)8$}9ducdA1- zGF1&w7^M+r-JE_37sa&Wl7-m~1KP&*tJ z(mn!W=rlpbLC>I{-b*QKH7y zUkyMAWJrZBEj6KSxMIteLqy$yEn6P)--EihZta2psE5WQB~N<@G!*|lvLCkF4^vM) z4{h7%r5}HMiMojPgb;_8xowV6;0K-)*O}b|v9LLS5rY+Y@JPX3^h1OI9@qwci!J|}1jYu@2Q)hZc z4&7?eN)6I^)(@bt2msH!yLNqe(@nNpi6SP{mu)x~Utz28#(GTlT~_!5QcswaQpM;{ zwjebf63*>fYEQ6%mG1nD20QTra4eW#WAJh%-L(XRBk%+SJO+V>uNrQgHN*;Fvx%i0 zzo{YTN=yBv!+&hinZLnkMKI(cvVM774#c%{a2!# zb1HKB=u`ld9cip=CdQqwEjv4ZaioaaIigw#ZC<~AJ@wF*EnCp-YNsG!hGjju#j>0v zms_@o#?$^Sa~-OBCae{$w{){3xYSO}9|Ve(KxS}E_BW8360jFZuzxodkYI4$AAY`o z!ZRg`I6|ZSSOiQ`!R4941iBZJJ~ym6qXG)XW=s%|j16sBvlO{SdQL(WJ2k_QobeOv zm|R2Mii2Dt`uXBw;ZH9JqEeFC>Vn*&qUtpgYjGpXlO>LYbjX*#UPf>$?yiW5RvCr4 z%>+?pIkRYyb@mDz=&sNub#|gkJHd`(b@eB1v3{gzslzF^#QbK{B5ToDCA?&Oi|c{$ zE=w(B8?kQ+@_MwULB5E=KJ;M?PZoxAoX7w(9v$BVwz(rgBf4#6eML+e#}%0P%C{gr`Y;PNf^vc1)0tq`3c z$@|H(iO!ndMP6C45_)Y%_EEO#ZT}f!@a;dYBu*$eQk?4e@2HQ6av}%r6=DkKmDI;QYa~U7g-!b#=>HU1tB|BS?dq8}DYDJVW5hTq6hI0FgZ)avx~kmQCgO}0JPYLn};9Q8X!@CqLpGVIVJ=m=u2X1fsss<%_( zK>wp47CgW@$}-V*G7hROhGds1wTQqsMz7w6ic66#bq#06d5!F=Xsy~Sfp;?^Q(V?H@#@_@c19qAn1l3-R4UZES2iqIq)L!hjPXv@JA}BwJ7N!+i|rDoikb8`JsOCPgJIiiu-{c3q*vfq)}>EqtS=z= zu-Wt({Jy)&thJ)<(xnY;YJJ&4o5X`Yras}Op=qMhCNE*hk))x7tlf2`mDl9d$*)?w zRo}pVXLMi>?~UBM<{qew`{a*VkJ8`%62ov==K|m!pN$w%h{c*1bm9 zH88M`HT4Z+Y5Ad+iXCV^&g`UPMuF*(mUFX!QD}9JWfX$(@7n?VjpvXBBNUJrxPGYw zK4PYA!iXdwB`TPUN!v1z7urF<>B2vO%MS3VV?i3_4ZhtCFSG>DdOk5eDA8C@7%U9^ zhi60QE!o#}d8XW$eXM0$)#u+vBu9j5_I$SUk7?6x>FmrPsn3QQ#Bqls9R^#=6_X}e ztsm(LTfNx0rR<;o=H?`T7GM@2c$OYcY%+)_ z_#_jAUqMM=!Y}%X$ASRDdYbwMwNeN0dp8|C`KSZl(b1N%+UGg#ZENfIKR?IF?{L$R z*89-dVHCYeLvLamy^O)q-w$nJ5IOw;D;X3k$Ansy#Zo-)i(cQLV#2K9&NtdWU05fVEw)B}9)*}=Y8hUW}>p1^Q4RJN*K>Pqvm+$re^v$hr&XFc_|k)UX}tZ^lPso41~@51P{ z2OwpBdxp78W{@K3P`1t6Lu{g+A)_1IhI&Q2ZAOJ|!Q+S8N+PTg$t9hOyYv~t3TOu% zF>GR}zLDl;4UIi}$Z6&-l5%ExJvp!(oWb6YLoIh1%|UYLS;M#^9%2+4CoyyogJu3C zt-%Ai;z1f1=SZM?3QmTpl82Sb1dk>|u$hLM3jBfgLKu|J4e~#KlH7O;@jgn7HbthU z^HWtNGB&jv^@mr5-*r1XKO5>0RoW8&&X~d^cR{YFug_^3IWeHiMI zl=Srd^dZzjyW&xDg%5)f!vH{`;W(T|C|P41HD59$b0cjmk?BG2J(Xc7BngtA!oCWb zspr2m);kOis&1Xf6KjDb(Op`8(z7p(lrd|?S>HDlD`Y8T5_WK3LQ6eV5h%X2yhJ^f zIe%B?PDlb#pYTP%XbbnulZr%kxdY0Spw*V?3~-bbOqxX6LKZ(_+;S{1ca%*}!o)oS zOxH0yoFoZHzSs{lm5>p`8c0w51PPHOsV4AGq3!Nf&r=^AyzwD_PDs)?ixu^yIRiq&Y=6WJ&lW!uj!w*DS3WNL$SHcS8JdO zp&~9Pb3AKJG&VOk@0>aFJ+j$)_uVsY`+jy-s!W?Pny@C@+uA6e)jH2xBqnpr7Acup zYV*qK4f^)`;3N}LcK_pM`FI+e<^_&G&1A3+n*){D!O14Ti!ehJ;jkj$G-w0}zhdY& zB1sF4jS~Pq_%~oQX-IKmML2(;?(ISgx~Qko+tf@?PDVRXK&^_3K{I0n5~-<^<+O$bkqZBW9+o59zcz<%Rebq-8cTnfx0u8D+&%CO>&385HH2-;VIMcd3)HyRl8 zG1&xh6)kQs!8K_V!V7r3OUh!f)lY>!(FP?upvte9AF zme`Z83McIfyw2E@lbobWO)m1O0k{R~NtZ7V!AL%3mAk6KF; zNuG8=G~XPNBbUX;5-Ey-x_)V44XHs38@2Jxli32)!ir@DDoR6CV_W-k)9J+;E1VzINMLuvGqC{=M;BE2X#t9LmJWSHOQ^e04QQWvs4 zcH30DeQk54%Au|E>A^I3&_6oNYb=|SGstwon@>a`{qP(o8m8AfTxoh+F$IG;KH_lA zL==He<%ZC82A|`3g)G2r*+WqaU{)rv0vp3ZlQ4|Y3w^dmG`u1SBs`?1qqA4e`s%Bj zKeuF-sKg(@3UzmdH?7%MHB&azZlvBC?=)Nuo+qEY8D5^W5C-w&v14}X74j(MO|P|9 zciHW$yQ&K8MNQROV|k_TyO8?bU|m7IGDxm>+)KQe9pZ2TI1O{jE*jJ0eXxpPFO2@GnqiPJXa{Kwz>iSMJU048zoKTC=MC?*4<&Pb9PZEl_o_@v2ho7S z{P&`m)2F{AGS8hpO&wp>CX2rRINQ}Wl=!u@*( zu+*HfG_PN&8E7>p%HwQt`Fd`)sx-%)QC?J+HFaKrE@tD#WTTd969{$OG^T*3>W2L> z9`nkTb%_#wlf$X6lD6X#9-_lsSLYX3)S-w|6xC6;wqs~hGw zROnPpDG$^dq(JTGN5Hq^xi^U*OSq5I4z(8x!&U^&lBV3S#$jxNe~FU+1zMAb`4}}b zO&&xu5*F$(EdD4|4C+XOK>D`m3((MfC|dTLw#u|KyG*$r-g8Q+C3JfDHw`CMEv&k6 z@5mgnxklFA-)|{O6%2OoMeMZ)1dT@O4KtLW$xTkFLuTg}XQ+@Oo*R`@s&t|_!%^lB z^jN$T;UeD&tueem(FVilsZ#Hn!&orz5+O&Oz7#m#nu5)SbL9v2<3R!$|? zPPdd5=H)6&;&v|Ed{_KKYYsKZ@t#O|bFnJ_e?%qqzlFCle{^`$RS=7(KwN$rYJ-AY z7Dj!MDvGBM_(MugAOO7jy^J5DX>lPhHCkA$wWh%@%Np@PI z2(tMq0zG*6u;0H@QZeLxgcBpMt#$4}YXJ2(kLXRglYJ;`C-P&TQH#J#(kpA9m zy}sU}pkq4ff0oRkga?Y%Xigc5)o6Q(`Tw_BK9F&|8%+$gl6XV%6#@C?X_7`1Dd2J3 zZ~WXj4NfRvLtv*@AjD-ZLC%_BCR{KAmeXSWXht@OYOVq0wzV}^ zd|>jQ8zI(De%Y_jlBM1s#V<;+N@`U^jcrsH}T8sER=dX)K~7K`Xdal$40_F3$xllpq^2#H1_l0=%+@@mKHJLhf|KEGA% zl^hZDEtVg@%BZQn9(I16p^hDtmnVYcGab@QC171eg|w3}OkOh? zx`OdMMx5CMkBu9laa0opa!EHt%SLq!Fnd`r>QqCl1H#MDir5}AKq#a$AM2lpx3+w| z>#HqWzS_0xYV4PgA{YMSCuW6O+O&nF)h|AsH@gRRmg8vMk^fOb$4IU+39E{ zZ-8F+&~l`jvNW~VQRf@P4GnZ@Dq8#f_oTts*)-OG}R2God1Lc-hc&m`zs-#hR?3tSDz@baH(ralc8W3+t3+M)_Zh#QIKW8>(2} z9nayDuW+2?X9mN|%UjG!1xzrXP>$IcpPT3&8$*z-foe_Trcd_sb4<-W7glJ}x%vAb zu0z)db3aS0B)v0U_RnH0-5q9=rCc*2Qu)yIr6%V5q@c_SJ21@eOR7`h)S>@oA z_#et8zvl`5L-~7O#}oe-zqa*SQbsf+?mEd6I?<;NVZ|+p2Y=qCzO$HoA=ne>C3>($ zJ^k#n+m9W45hBYd(q8}Rr)>=p^x^+(N-+(n+7_JG!m+Lrm?!Q7zoi+b9cNKqFcvUe zKv#|zi~r=QrxGkcdzgFz2pT{HIvJJ5X(2*^*yMkj&@JTW*IyrjeNs&qMyMiv6S|?F zk?@@Yao~s6|04@ygsGygB!;{uHhOo~0dScg8a`w|#5)LPJYUcz4HKGz6WgDAX5`Ij zBP#1+u{v@yc_n&;Jlm(kvoLG^Mfq}fK)->O@+tD5wonb#Q*_2}O%jb^XaPil0Y(s6 zPwx0iYGg`lF_p$_>^D;yUcko?7d|ayDPfeEVgeqXTJfiW3eovr>Seqwj{Zyj^X4_G zHFrps%a=ST&L6MAQ!Rgl_VLAZKAlTVum_Yo9$JM-FhCdDGGYZ!hZ0hY3a2Dl zlFl17zR0UE~RT;Yg#eBW$Yyqi1V2PnuUBsrJ;@hn?g? zbii4VJHcXN`e1zf4EO@$F?u0PRK+schC73(93pmaf&VC%;C~1rP~-$73X+KZQX1^4 z>^SGaqsxHlp`1WjFt&hcDT32bc1!HF*v?oiu_XhswoI%lhr*|Y5nJQ3DynWA9cx{y zzqI|%QMA(1kl5AE1EBf91JgWBTZosW3z!Y4F zW_7?^h_SS1z=HxudU_tv0wh#LZ4V;SJ!o`c%f%B#I1U43f?s4YCJs6k;FMF6SLudH zXXe#hii2ETzG}N%Ik0pok}o_)+`ti)OVtiSFDxp_>&S82!`!0vH>Sf_(1~UW&uba= z4%9|V^56W2PPs=>s`7+1;k<&odq;d-B1Y?A;7V)5)q78qk>*X1-!e^ zdIyB4(1PeH%dg*GQIQ+v1Rp=~;0JvwsmxjtfnFM1vJb(mX-gZzmYL*BRqGF9H?VYHiw;un^u%YWLtZ?;lglCY-V@SG~ic^ckhFmD!M)$*T?X| zu69A+4Me`M>A;){{eM(E=I0tBXcx^Ymf`~q?8?m1E#ErCxR|VRG)YxuL6DC>TCTm%Yhv5 zXW~BMT8Asp(-Uwx65n)HLCkOYRaXIjPF3S}(OP+2qxu}o<)-Vyaqdn|O|`&#&Ve$x zUY?2wLe|d86O4yTFrhMqb!roXZ3z%m0677Q!KjEV#1biO2^!UqF?D04HllsI zK}KuYfAoCV+4(*2U2P|sgG5KQRQPw3Ltx^@1}=R5V@f#u~h+Bz17!v{yZJw9i@ zv)b*ppesxn{W!T0k9q|1>*ICyJgD%ZbH%W0CY2xI*(dC)R8Z?rDN)4^Dp(hw%})Sj zs9R7>>HEWPDu8d%d00Vy7k+yepyK&=&7Z$*ewaL6hpy)z-Msl2fA^drkGq#()-Rt$ znl72xyb4ueO@rtwa#mcQnNoVWve-^UNupjXC2qAIu#o@gz%TL^Q)BZszu0M)_yLE6 z6n=ldUyj=jFQ~AbzNok1O7e%b)(Kf9XlJ?qv6(H{eq$cI6Y!%CWESr)bb~*OyAZK9 zq`eD_g>l+g1XVUpYFspvjVC=AAqR>z9fVHsBzWwP08arYP05Z_>J76b4BVb5?t;v& zAmVFz>8C3G+*b7V)tnMG1fg>{Ioa6=!KA0$+){~HQot3~N;}Fws2rVFP>S%JE0aix2`q}m9=C)z;cW+NWCan%>s5g}CkQ=m0;M)z!v|`> zE(rU@sBg7H*w6|9jM4~H{M7&u8SZ0TA7C{>1FPk~3t6j)llzY!|MtWQE|heBwtxTW zHuFbiiVjkik;Upb$}C&l_|^Wnkv&3npdUDv+htuSgPAIf7eU=8<(5oEHM%GTZmb~ww9Gv>uVm5=SJ&1tJRu##^6`Ui_TJ}o65w@ zcKKOV$E)V#VX=R|tT0rktSc$P>w+*K=vvn1o#%GX3(ToHE)n=!9qL+dSlu8E^9+T> zOdcV#!-7!$c86XQu7)1qnKwdI~v{Q=&{nx;qB?&&C{CvUC(C0%#?i%8<{p=ds%$bA# zeDA%sk3U9ees8ZzP%L1w5NZa0sZgy^8H}0&R$tzR%VeXYd3%V+S#Dx^#_hCByp3R! zhPot*+T^dj-flNExJ}Q?b<4P3CVQ?s>TkzeuiO1mH`$cKswk~s8jSkl0wOzCs+4aZ z+E5WL?T`8WV>(#VlyNgJPr8b}5Eb8rOTskI1)ARnHV)@&Gx=T#@$XbF28Numa7|EN0K+D4PKaH<#t!_cDzAqupksP;xdvG{ z>~dQaQE#g?rZoKF#*iHP)bo^A{J~gJMSj6k0PT4{-Zi1O5AXXP&pCkNW`iOJwL!VP zRJ;JEATT0JgMTor=%7*w8b3g}(cbHi62@Z(NMl6S3$fqx3p4vRh~GM$za7Re@@OzEY)q!In~ zwa-37C~*&Bz5jmOjvePs7srvWy3q~(;dWt5Zy?&XIIh{HAKQ?(D}7^O5`b-N6jxP)?l%b(_nzOHo}LGr+F9|LJzeB)){xJ; zyDZa*Uhg_*P-|2XIV_-dP1s{~n$^LuOy}{d8-i9SfSaz-4mXrfm6&Y{m)BT=k@Md~ z96f*gTU{)IW~XcFp{fYajJTiL2bTxjiSu7!sLR*_GzRnqb{`~GUJ9fsY@D%k=ZsyuzQ0g_TLx+_l-oH$ zhpevbIbBs%Q327+_f?2xFpw}T=7!Dsa7h`FUCgbiEsI7g$;3_Dx8Fom-G2Gy$H~tc zq4H|qWjl9Xrkzr@dxDM&rTTGY|JLHGE=9Tda+Unf8y(ynmO`xH_*J60yTsn+s%l+v zK5??aVhHy9y(JuO`Fl^$=EZ)71ZtqqCGjtw3$Q$0TZz>i)z*t`6kR6Igdz(Fa{-G3 z8Q}x<=cIJmxbF(wNwGM%BJgP?RNH65wdAn=al6H%?jRGNp;u!_{_Zu`kayy^*XIGb zFepH0#09?M#s-78*A+HDd~@#g2hzc=jG8S*?<{?3w75LKHV-KzP;Gw0l^Zw4H*C0p z(VTt!7@J!o^P1|VD!a+;sXqT8ZSCB}61NnIe)l`q+>=o8MaIP~E#ih9Pr=CkYg?lF zT1T@w|v)0!f>DKr@N{l(MfYi;$l4X^Cj<~ef7jBRDVT6s(IBIv%nV-Ool#VEM2 zpA&2HtjypzcJqXypYWnHv;=r=w7N*)2@2|BCk4MRR@P4V2fiJ=dB%(?wc`Ke#UD(H zfY=Yj%NUWHLUx|dp7uCN$ zWdNczy!8(uci880_+q~0%i%+?))#h%EV2nP3D|>+3p{gyM^iJAu+8HGmaT)iQ2me{ z-kjo8IO7CY_@}i4c6u{40&ZghC?)_nOn(`xUQi}>pd=Uk5YW#;ob|(W#6L&tWg6wu zJSv$vlRTBdpBE|TL<8qY_M6{++x?v}P$5YCl^7KhiRZq36P?^X)G)IV_3E5XhgL0P zzWOSuhJ7{`OPR6MNzeiDbxTfXFy+OoIf>KPo-sg0htyc5%-^*)I z_TTD5YF`NE+Vr~29*^0z)S-l2Ll$IDao*+(qdMt3(9sAw{x}c(Vwhn`#uKXt3f}y5?el-_Q#%m z)21cX{zUY#1=SAJN0kjZg-0He>uvR;|7?&`5y#_gZBPB3O57Z7eia&Cwtx3sIQ$TP zZ3MC|?W3a#lQTH2^&9-nLu;;rt)N1Q%2_B#RoD5R??a z|0v=SJtO3|BO|f9V0XZ?q~f*UM<4x-yd~tS4w}j1Kb=%fl{ReJrZ5C6J=M6f0m@f5 zqBZ0>4HrmP#1C>OGP0CjPU5x+qsDS%5kvmnZl8O$(PQ^Hz2 zVg_y@ImD6HobWq%{tW)|RNsRgHWL%MP@_okFZOMlbT)w;9ac)q9bcgl^48RwJd6`J zr-tVhgv-M}UYu?HEd?Fy?CGL=M zR5j*%+DS=!CNzMdS|^o(!7)ClGghrkJ?keSbI<>sjn@19hGWIEv1_Kl~QY|rUgD1 zSK`mbl~4VgcqgkR@?iGNNyaAK&k;d{TbG67QSPiGz!9JlG0%u4SdM|otmDny)PK|505K`hlC(gBKBkxut7QX{ zAp!hj$(YrQ#qe6G%Vj7z*(G`|x}K{lS;ye%xukq#HX)O-bopwpzQ&%NVf$MT-jRt! zwN^=Xu0t4p&hrRsWaPCTcmD~|(TDmUctE2XxIN}WLLB3MTmKE(N9;FRphVB6p^ z?c+lqe_g0V+3=lXtbUMia{2PW+$(bId5`v<=FJ+Auat*hRw?jjzYDC>xFWeN0(Mf^7kP3MIiUse+xsM5x!SxMm)y``J%O1 z+p>0LT}|UzQL@Vr11*75#K7(VPGVBQUATV+SVe3Zsaj_2^f8r{Fq;1-x?aac6@XdF zoZ^g~s4!cJpuT{$P6#7ncQ{>ei2z9uAi4!IQcCn{xn}Mm0Ksb zm{8&KcZG$!{{7~4MvvYn*Dw?n@|@hbnS3-DT0H^Lma z5jq89GdQ48=k~yU$W&v21bTY=h4f+cpP1qh{Nt)W^3aEbv zTg!WXO}+BD#TCKFx`xF0Rx!k_TyHbq&$b`ly+Vim|wLjVE^9dTNwygLuk5G{)yfGiH`SAi2wd-KD_RuL_?CJ zwPDbxqq zJCsBwa9#-VCeQ%@;0V2M9!j!+#`L0TvPSkw36Ph=HP>5@rw) zNKIZAD9H&D*+?~g8YDyVthgElM?_)PAnp&R`|4>NUIoaJj^Q;zpZ!s|8=yXBbgXT# zhYkD+?G?0jsMMxXuDJgSO9*_I5)Ha^3M>5S<)ZLk+b`I%g0u-D@?*!vknapd*`4x z?X?1haWigIG#4x!VlC>N+mqWridr+Q&}475GrH>yfky9}<%Pc?REeHpRd6c%x(k{4 zMcGX9BP8Y2F$&5$qDDo`9JQy~6sg*TJ3zPL*(6xzaK2m#c;ZCLH^u4)Vt#f|XFM!` zNg-s?2#~rdXxv6HmlnKvxSpvXJzNsS3Sg_IiZ9YG0{$1^GknG4DiI52Ql(DyU8>QZ zc544z+TKazs@TfBC`^&c@E2~%G#!_jnNnM=L{fOkR|j_V$>&{FdSmH~TLAPo#(84E z{HzP=7>5@Ww-)IyaTgX@6+#!Ap|0=koz<+7Gu?%zRT*FH>>TW278Y|TKkh?&MUfX0 z4;>2~rgafz zpUWaGu28pgWVsfL)8g_M7I@1;lfD=z$j%4HQFV1|x-B4>=*jT_Ygakba@&@cd{XX>rNxVpZ z1^f{nTqZ7-XTqOsc+*Nj1i$b<{W_{aSGTQQ>)g5(eR=-Ar!2g1t#vMW0!{yWT~wq?G*{#}*owz<3N0|5y)m?jaByVowh|RTueRK&apVh3 zPJ7d|c{v4UmC&5e)_((YIz{C9Z@&4aqLgFjNFLASTXX8en;296-u#>blS*hTVgFN9 zQ*)V#Z1el83#3X*pVOig@q(3>>#w&|26-Z-#o4E=7K>GAxHZO#cd)000q`=jpM9F` zX0WB~rebSJu1zPhxbp<2u%x$xDVFi#y+!UAy2fnou-Q7`quG2*eG99tk=fbIkusk9 z>0d2ug8cyuxc6T{?Io_i$i*Habc$0>N>2U7R5~#Evw&>i##2rM)(!#;Ez|Qcl3D{Ad9+whBNrMQi$>>h zb1u)%N5U5uw6%2~(h>w0W=B*y^x<{``2kvH?QR_su3q5k{pCBUi(g`|h)OCRK7Ze1 zdSTdNSd`+Ad-jmubOpHzcU#+nvoAlnG{11zRg~u}5G#V!K@GRa%`Uc$SAeSRhQjZCgS;&RSy>k40*Y7P30ptg{4&N5)~B}R|eo!T3%Ej zafwUCnm)_6{OlqFyG>qPKBs7op^~r2LRl8bmHmoQ2s?2x>Pfp`Y&Dhl7iEK@#K?te zHK6VZ-xcFwvaol3S2P&yoU>g{?tWtMn%i?o@_Wvj>^*yk{fS2jed2BWMhn8TTO<9I zeG!K-xb@%UpLp`1T^Ph@Szs zmE80tyog7?`|dmPF#2y|2D+Slnb=iT&*(0J2YDLpts*Ro7P&?bFFHCpO4ilY{g*M5 z+(cHgVH_;%dFn;m@PkeHEI5AaxbRsR6E@=jmt#u&)PsfB&DKYjD^=^8^ousOkme~K zF)%db9Jp?1KY)d^^*b~H>1CV5C4F2c=t#X#NBM%4Z3zPO6PM;qWI>AO(48HL%+KHrf0g%`HA8>2huvoK~-%uF%RvavcQFMCSLVDiCOM#{r?b$*Eaq3c14( zcStNxmOIenz#d6Ek&g8I9K-Kv{`C3A-IZhQ&7E6nZfJYqQ*y&k^8DY!f%yaOp2gpO zed(ZW{$&Aj$wi*~LVm$@Lgf$Q8v+zqHqq5MI6DiGhn(_KxnBu5GJx8y9`r{At8F zV_?02CrTdRu*n}nmrn8gA%)4Q3RGx}L3JP;4s->p%grd`G*ii`9=t+4_45Kd0fU8M zZN+%p5aNL;?V<%`lPv3;S|?>F9t6!faiKQiwKjyC+A23q7g@@?QQ*1vO2=Aj>z9hr z$+Xad1k;KsLkA^Xc}g_kwOP##+RoaxYEOL6iB>g?c03;pw(K+6b*sJP!&9j#oR3P` zBszaW$0jr&%Q*5187oBf9#e^8;3&Y-RQ?J4Cc4XI%FCUso?y;Ib3DGeWix!(y!kA= zHz$6abfc4W6Iw|=t-0|=4GOIZuL^}M;jkryPG4}H6Lb@(C9v8h4S_?1_E@a4IdNLzuf2wP%pr#gbFn%lw;YkyryZ0IFFA+tb+j@>Y@ueWy}n7*4m zb>3P9*QvJ~3KeE=oyXsZZS)2N`WD6pR*0sD=h!^f_6)m$w~nQ}SvgEar0VQ}$%No{ zK)oiMh5_%Cq~RlC)&o^QE3>4);l3FKmx?(gGb@4#BKPlz@l|m0Y9IB$P6{?jevpJ5 z?|w<_(nbjK>4uVU!Ioi@wx(9Tvf(_?Lz-Xm4_njBE#N}#^vu*((ZB0l-IH`5&Xd{sR`J|0JR zI|QIj{y1-)z#Ak#40;9Y=8>@I`0@w{A=2WUIQiosdVHKK>zNkC7mqQpHW{q*%WE{6 z8o9r2kSu_UzYldKvDdg>XMrzM2r+RX!~?@H1qHUm!&8lm85M#BhGhaMPR0qSK@{NM zPzy4Xn>FD&Q=LzhJh)f5P3+U+OQlnh)XGiAP0$j0rnwc4iC|Icci$y`sFSOdYg_@z zA7-r)tmsvg?8@H8uIC&zxK&r6P^+?D7eRG4yCI^H2=l!;60Sg9fKHojirVbA3q>|Y z5&1ykUyPZ1+P6=eW^Zq|Py2#=;=h$;fmzq_I>|4C6&{%<&{g2cx7B-HMH;;pwNsp} zWuj7fliS{1(xyak&%0GMnrt`UWie*z-Xf?mqH_hBtVT-rV%m&DH>x8Hqh);gnDuG- zrswT|xTfYtVB3&kYP*fSFSI7NnS(k&!-uCPPDE@r4p;9D_>Q65O^iNns_&GSU~Gw)VqFN51=F zrn(~bsv|^+3kt*vE*(|R9LSNzN6JKDb@?nKFH|C*y`w-`RmiAg6_=JJRoL^rXe52K zl;Q&MH8OZr3!?MOosy{aIb9jA+TfIPWxD646|nf;oB& z7kPz}87_w6JuKfTEv+jfi=+-wuF6zfYpTiQU#zRfd3YFZIaMUbm|Dnj+=3Qzy6i1E z0-3(-@e0Io*`}^KE%>nIAQ(f$<7?KOm?Y=q!|GDW*5|WdA7g3C-6iCc$WJs7-ST3) z+@yN0P$4h%Dr+iuf;?wobrD}z2tN>N)plwljIuJ<=)(`2rV-l7lAd_kS_EE)SEz6* zG$ZSv5riv~X0>LbPSXeND_Y5R;ZM=Nd1Ku;$FvDlE| zN|%%hq}U!`GG+}c4EY_`c@)%5F$hNRI3Pn<#oXT(3tMo(F@C=>uJ(5CD-ra3NWR?M ziX0Jq)Go{g_cx)t?6RsN^7+qtiv(9ASw*G9@L_dzO%3`Yt>DOStZIeDfVCd^5^_@N zOjC{+FJXJN+h9>E0G#J$V33r4mn8c$q4fgGHz1@b^*ohw24fC?;!-ma3w{_nuhPt) zx^22L2$KVPQz&IGuo92__P2>oCf$8vb7i-)GNf*3s~m97w{_M!ZRod0>!L-xjC&?t zZ`gV7y^&bQl~n%W*pMel3-MhJsC& z+u#!91SlFj2(b=cI?lq&a>2xnZAe0=`c({0kvHqNf$7X z6ydPZ(>kyhOdGiS_nr-(0p}i!9(~j5X1M9WmX^K)(rY^g_wGe!zB?11(>az~$&}}l zXTBp_EwU1e=p$RP!XhKCjBkm@?fC!X-fi2AA8K5+iH{f~`1Q1BwE0LBOnH)2_{nn z#~d?^Juto|$s5TO637pZ9YNR(hd@CP#)(0`rmVU2EkQ(d^|HTw^3X%%pD|Gk4@pI@ zg9uQBA@7c%-&FJD`Ind+o!5?9jT_0=aDO8*6Jk-t0Q7^5Q{-j7%<=$-@2;{rO*Wb= zFFHkH6rw1j)4X~u1Jgp~b~>wS1A4v5_$a?bD3f7&jQfk@_@@Udx-W))uq5E%2k=13 z3R3(J)BwA9p*f@yEg(Fw+zAgr1gno@SQp3;-Le=!lVQ<_t1N$)R9WM4<(Ms2Lv@b9 z={6DTn#%budAUN&_Y{bHml9T&MeIQg2Jy@MhyC?VL1nfgk5Zh9kUGS0s-y!}Mca%E zArg77&=+fWimoqrHY)WJYnA$qHFEweS4}BbYpSX#Dl@od@#SmOeV67kON!X;EC~iJ}X|VqCG(MnHyASYi^2 zlnk;S{rj01wSmp!EmgZU+nGF9aZZ3EwTTNDJo0HQZ@bfC_^?r9ti0SvaaNMkWbAA& zVbkOrJe+yRXgN{2R?}Ts`KP?D2(P})G(E4rAy3_%AGKq?8~1gwZ5BXAP!1DsbWn$8 zp(b&STWC6&18j#?@I`br17l1fUWk#(>rFw&%$KulhpPphaq4OkORo@>w2rTSWudwtr=`%8xd2AIM0$_he}IAf?JLrt!adH_byqH zi&bThZRAh~40*^?Kdk+Ve9tx1H%{a>Son{>ZB}l}xf4pd1ZwP z)gIV`m4&gk2o6m}cSIC*Kn{UH_-rs$STZSDO~(pS797VkCpA@JMNWkl>{h%uCGEvv zSw;Cx%~W<`2`RJ1m6XkE}vo)JaIZ$DAZ*5F<1ZqwPIS2lD3~`F`+Y9s1io_1$4#IN@`P-#S@9Ga7J{;;NBzil`rT8-} zc?4pk<{wWIZ!z-07s|pFXMC0cX>nA~hP5L0WML0$XRxlVYal-uwO-Ta{J0HWZbrYd z?rQF8Zq!=0uHAC|`HvZM>h|EjkI3qR9L#SRLhw2b@HYx5qzw-Ycc#YnlgqSKj{nV2 z?U4Q#8NVSD9S}&)Ub2LV9ItSPuOLS%o$=~hn~=G>!K4k<%kyP=1=`+7u0neoQEowY zLt%Y`9KhEmM^AX&w)3AdW(GEo`R4{2LLoJNmOglvvv4*sjvS+l{loOCG(2!rKn|pe+!B8I%Gs`vZ~g*r*fnQ8(2tQ7gJ(WNJ#!hv?l1n-JUgVW zU=kL!*_O6j1XK$Hi_iulf+ zNfEAPE=2gOdlv7zEC6Wbm7P!ZU%AB@Ur#ax)Ww1M9V|Ar{ukb!7yZC|R}AHEVYD z%_?=82UAa)o%?1xaaXjd_4j{l%#G!m?>T(eTm7zv1D`zF9!RpGdHkXCCD*_ti&=2L zuR)HIt_xCwb)cf{ASrbHI4yD)J}5Lw~r zT4$?aXCva*L`~XoeMvq~uONKnst)u)0GfBXu)5@$Xf&|`bYMNRm~>2wY}!OU@#U-2 zvW&7?fo_k&9XG?%Wjp{jj_`P(S#WwhIrae7JsVjNILC!;SZ7YScO<~ibFc~NzGy@F z5!p-6>o?h}?D>2~cAUX1%u|+y+_qYWr>s0LhiJX`3DOj=(%=UN{}a>?EB$=#(b0E} zyBkgh1iXTfEu8BPMrF#}T!fgc;$nqdN)(X)32olBf9+r}eGUe7jx*4o!2n9bnj>uO zE-D=vnhDCuVJs0oE2WdLWt*s@9zAvH;Yw$NVOt|A($&>!0@0E}zFzTm#MLp=OKx83 zsIC6K73D|_0hQ?Kx9S(q*~`0i<%&b%-ScLmkAFd~b@qfdZ=}e+ah-Qw5HrgDvR%Ei zZ(x$=9{0}t@HWIA8L4Y&kh?s;2tT}X8Y~VNnOz;x_RYaEi1pS<;A;a^LAfr}Tgg;B z@HW1uq=|vd%>=%JcmvordK(DJsdPrGuWCZ&x;i~?SQqE%;v#t~ssGF0etF_r^nOD<1D}WJ+80gyZKwv= zti(?6qx;AkG&}Yw_QCTrse5^rlFJ;3mNvkQxGV_hJ76m*(D_26MO#TGXgCZ`Fqc6& zM#_Dr#uP%;FclDIP;D?OF0p^{z^j+BvRe~>tMWvvcQhiNK4j7EE-R87Dp5tlX@dNM zu)jq-BDI&r8Cg+Xz;7FtB;0f5f{z zs5(Sw!$fb`xrb`P^U|h)Y9h{`*(BLRu1@KV^+yQt8I0J!Ov7D4UK_NO&hIWjF ztQX!)lDl|Ggfu})Af8X$F&H5K$jBuEy?5T(cKY-yue6ajjfIi9jg(`(esdGj(`LRb zzf7+P?3orX5uiY9(fqCABdfPQAU(LM-eYtSRlYbh-q(>Q_q`U}7v8fcyf4^w?YOc} z;}EoSa6>_PS!lG`r3+c3O~!!EYxY$EKFQ9iqw1sWlr50M#NI5-Nq8j2MNfqb4FKn+ z&>z0Cam7rbWG)N+AHDG|@!+@&89^UVvNK1$-oNk8!rV4iF`7^A5J=H>b+fV`#VafF z$dm1IG*yC$bB zanhn)RJ%bk0+Qj>QNVwOy14OjM_BL?Cm+J^SCY0i6MAh$pM5GdPK(vH_QvLESDe%? zoj1GSrKeeL2T`zPOWhb5nBpD?8yW3ui1Zj|*7e$aj<@%cXZVtcU0BD;p==1Vvj0X}042nZ6RN5cqS32wTyBd*DLuqGe zo&>DP*lh>$s)fzB-`?9TZyxDV%vn)lv+`IC3yD; zN>_Ve*3fHUOT|#*g0s$m(kGPRK<Hg#2{UmdP5&MyJ& z{$?Hd?UuKFQNy9Zp+owp?{^zfaoyaxq|LtL-kg@^?q!aVCZB)&iZ5S1Jmbpe;X93S zQ@}CYQpKe4KO-x3PCeWxOjzVixKW`9uS$Z0QsEow6vFf|eu5;Ee(S5u^HjOw*VL%= zHRWnYB}$#=wF@ZHp~pXH(P?c8O(x{VCsC~R!)S!*m&-!hp#g(Cmxm975*MLKPDs8! z06#xtn=Di{JPeuy^YLSFw>a_uW7Gf-Q#ySj2Fk>~z@H3I_B>G`hhkiAItWJD0xJ7M z97H*-ZAOj||cBnX@Uhy^Lc1c3ihn;gK%WdK&cb`b< z%J14xIr-Ul-ytRWVHU?gbr5t(nFaFEKP!ZD}#oKHzKwt|O+af|L8tCNO8lLqh3zhK{F26GK|C1oU`W zFo@_yv|wPyO!9}N{-AFyy2&-W#S>5b7PID!O-MuAGfLwSw~*huPLPi$Uvqx8sXl&9UaPrK*XxR|9a+Q~5a1B9oekfTJL@Ge7@ zG&=9W(;F-DP|IFzzkSG>ld{Y#0)&- z8oz&S+1}j3DM8idw*7JPKh5_vhW;33iwU>DW+H)_VK{ zI4Z!B=?^LaAwya3amkma!0yNyg%DvBJ=-I1RE{!cC}g?hpXz7$;(>v&;?mP+@^bHa z1m(T*7D2S4Z0M?aoejZ6@?35nx?~0_T;&N*f$1fIW^;33d+=nt2F6AeXipp%GBs@s z>f%9z)yM7(m)eL@OV}m%Sq;Hem>yW4oMGS@j0M!>R0@$n`UqemhKq;_x=oO(q;lb@ zVE+s)iU6UlRGU8Wp-x2pK`t3=C5SeXd#F^|SqU3clh_1{;5FIJ3?%=q1LgIK)ra?x z2hnRoiwBpG`3AI|++aWtM&{2M9ZXt2GcA7*_p!{L9bVZVA+LV-U3lgo^ld*!VO(6% zf<4Bhmf+c8><1p>LdCXdA;JJZ<3h((Beecw?J+qR^oy&gSNwRiq}Im!du;2v0zhpK~*oFMKD*;e1%1 z)MR-mtb)zgMDa;$2dXM%!V$qKrpi^Z3?|1?X|tJH$c|%nrPvcv#Kb>ck%0GKShB8f zKr)eR|F-U}M@1b?I1(mZR1hJ=qFfB$oNdd`+=XiGci+OfX7fJiX~A zVitLow&vDDVq#lOBxuTv;zUAy+cpiuG+%|%S>uoBlIEe+SK|ygtuEh#ikT~9W%3GE zn1Ou#fj~=?Q=r891;@x4qqQC(E{hVh6>20c*^^b7Vf;Z0p7WeDKA z)IC+TC4 zi>|VGX$Ru1xddIcW5*8izCC;Ppj+)xQQ`c+j_{rU9xfZ$qpijk9kXuQ-!>?A1co`Z z?!-R9_|B7}REz*5X?#C=hN%D-h&oz&A3Eh@gKe0?+@bp(fET(K5+~&Jl)cOPu?6wS zzyCMBWB9Q0@Pd}P&neE#*wyr3@++Nb+~%bgoh0H!hxGV%4`YvRLX6MAGN)e=RwS%4l*2c##* zjoEmn64ssK*EG^|v+s0VhA}$pcu*kSKR$C~c!*UQUBHS;`Y9Jqq#b%v7 z>y%g98Vz;%xhVI<3n`R}Lo03F%Wo0tEj5 zIMEBqAPA$dOv+`D9|c#q_WI)4MW~-4vD)G@v%4Lrpp{(Oylz$L;NbD&==u{Uo+dX> z0T>95ptiygIeSQ(!GIp+8Kauwx&BKp^{;eJ2^*5<`Ze^8nX*DK z2@h{&MQkOG&Z|<>h^JQRg?D;h?SC|l0Z9nPv z8`lRH2YY(p!(ss&&l?t#umbqHz$KRi7NqSg#MM&box}z&11`rsQ?wSwsFp6iVBriR4LasHtQf!+MtPeQ{H*B9Btd^+(K46>M1(@PgGH#y_wH4TFrYB27Hcpi) z!G^+Rd{W@)^q)Ve!qNs;0r(NUM+a`mlX3J7IU|k^RL6;cN>+x-^+%@F#`fuZ?f3Q? z8gH;okGF|sK3Sg3AlEtoG&RCcgp6v=VB>zGliV*9pmkQFy`{y|7$Bca{1qZKi*_+) zJnAsj+|t%^Q;kKlKG;w#7X?+dj$U6nlIR`@Dy6UzCm<7>9@`Ce7U%NrP3J0#un&!q zlmgTXT&@5nS6Jzpc%Yl$cEJ;a0Bhp=YsPoL3 zo3(bcWS9y#W-2Bo42m-+1CIKMfk=N>Uctt;_uhN?7>cxvN$ku(&LhI8^!0SDsYlP(;e zjR3!Z-f>!p>!PUYZg^M<{)-%$0R*@$s_2A{v%;;7pRDpd4^nh`sS1DK{y4{ z&P(OD&izKNuF(<)-pApR>za|0op-ZB+@LGFyjIa5(LVf7t~~0t)VDV*(k{A5QlgYb zn^ZRY2Q>TAS}b&*y+ z)YPw@<8QLgsC!^(!y?rGtVZ1V`>{(~KnLV|{08~n`H_VO)b?fFz$F+U+gA zu-&+F7GZ8>B-I-Y)-of`G@J(KX`&=!SAHT9GpsZEzDRKP9dre`4!@VwtTrzk%Vor~ zIp`X4b`A#}eBx~~S1u=t)UE1%)S^}9!Q`&(SQd80keE&!3i2^R@v3z#1 zc2~eEW~x*HjlkRDGkNsnjgbl{q~HimH=svG#${kU$pCyn>$Nk<8Vg*f5QH;>jAJ>6 zLnP07@k#|;|CZ7S__wfJqgT0H_6W6-8gUZaGj(&Yj#Ag?MpT}-43&TR<-dp~ z@;^{eJaPZ@l1U1=J{VMe5Ke8Q2KmG~>T!ruGhiMW-WuzNT_#ixhnw-};Fn(vKH#Qu z9$X=%p|Gr41&~*vaTWxD0dL~QbQm4a2Jix#6zu2;w2xdKf0A3!3I!#lt%+x*2xLRq z%kqbg4mPoGKgg<7HND(CeWY~3Vpd6hnY2KX$82CQb2$P5UtcQKRg0gVOFnEs4{56N z4H7bLKn8#plY`p7TD+Jz65b~ghn#{ilZ_%HBP%OBF28EAfP*oMYLsnunEA!oh#(k3 zC^^8`GWg>u;AKC2#>P~^whAk%Ow33XazbtmdRo%a8A??H!k);_;78)Bl}Ri6GJQv4 z?1K+JNF2djiUZmXn>A=M)CH8ooDhnP8Rk2Hq74LzSblGQJC91iEqajgMeD~|0q#pA#OxO)d;y9hpo zSdIW{A3>ri;Bs*z4s|@4QLc3305Jbb^6EH|qr0I%L#`yEH|}cKR#Z|Nv@q7k_{%4m z@P`{>XYHR&)AR0U|$ICz2>B+K!q~SOqnsd0W;OULG1@gs=AA7ub0qL z^7>YSMQYoK`Zup%s9JD9dQ>|1nDn~Qx#%R>mwNwViu@VP~hqgC0ZEbFL#NHa$;^S%xp9Sweq3gi#E+`>n)WXnDUAzdsC%}cOyVmL`K3}B>_Fj^3eDBJ`Bq;Z`J?XB+_olzjdmA1R!?@3+{m-Xm|BBTAZD|X2#gT< z@go1sZ_p*n`clOdEXeQRS{gnj?=aCFYSeNsVjOx+eD2>t3Rv;XsAY2 z4pKi2+8k$>S?r`KNB{2ms`sYeUQN$-{kEQ$7NcW0u}T>xL6Lk;gRSE-rKG%z*&DQ} z+-R>``_eak+w>A?Tf#P1og*13!DfpA``O-jg9t6}Pc2;||DBfeKuu%AQ0>xbW|w)v zaImww#$mCBR`$8Mg0~})*Cnh7w$zxvvF^vagoM<-O?na~_CzRbi9uJoMhAd37ce)K zOr{HHfl+`-=(P%&9D*4Gz5xg((_BA!Q_Clx$Rp*WgwLeR`z(&37g{^Jcd2FZ^n`YE ztG(xP^r&(9ka0!=BG+`5fy)u(ucQ{1X|W^;FQ zvKzJimJ0HjU^VDxdC!KRz-JR$+3&vJ0ZCAV1Vx32=7Q3A8 z)`-mQZm?+dH6I3pD;LLo;qaivIy0Onpu&mc^b=`2XO`tE%ZhRjuWOl}2<3>LsjEBd zEr%;WGcVI^9R7Xvl9h(b=s4fk1wO z@HniMbtDvBlW)4in>K~rn<5cMU}4Y@STdXpK_tWf5R=k(bp`DNf<)j$T%^Qee1{xRypq1cW(IsS-$5n?&?W)eV4DV)Tlrk*8n z61}~f{)moiBvtn+$~-OP`^o#y1hLDI_k8h{4=O73>$TEGk*X(gKY>Ug`fK8RtFqLe zqs}>6uM23KZ;0nfsx@jOuZYLw5JUq<-KeVzR(r}8*K{}5)W7O)H2KWLy^Z05ZYPgL z_K!0`+L90=TToUQX)oxT#qH=O9}6`5V56oWBJN^#{7rYY8vFaQX&Dg2I86*GoYRP|S2Bi1Lzu)|ZB`CMDOj_pEiGzl`~2m^fG5shQ!mFHz-O!smI< zH#dY#E!TZKeSd|6+t)Wb+VW0^MtEpUw*dyksw*TFom5!?z6QGNz@#PmbVgsr9dkZE z7zhUZ^^TS8D{aka@kzHWN769r^4|Mgs97P=*$*8e)D^M%U~5B2lH2M(6xz5kbZE`P zCZ~BsU!@b5RZnoVDVpc=dl!pKL*cGqn@{EKDSzsziU{a08k@cbISVFKT+kbEKyBdy zi)6eY`3Hr!(05*7p{IB*MI02^)Y>) zt5SMmkd@Q7Te!C;hu1b&az*!UsY*Z1W|8ZV)~4EauXk7_s9aE%D-*Ul^pXDgVWT0y zP|k>MVFi{a5Ok?OOv{Ef{ zH2Q%YCQVzMFQGrD%l7cc|2d;ZBpTh8Hr>jVNWEf3;@{O9w2WBRk4y7%nmm2woO*H* zvv8oRHqxt&sA}yIE9KbY#5_-Vcx}(N+e>G)kbiBNB`k$Vd@__tYzqXO^-r8Qae}A9H&1V_Hq3|(qJlJ80*?5+tyj*E`N9@+*z2>_Cq5|CPVBM|w388NPkq zJo4I**X)d-jo~|HbccGYd+U2V5&MyW`v;5=?-7`g%|9 zfqA)aCHHdU9(Z~R@01OPkfEGif^0v`LyaX`3`V&3svHnl^3eWR$Y^-b`M#HQFg*URyte7$eLmmMp768qa~pjdg^r-HN!j5U z=CzJG@L+!}{89!g(%J(hB|}>+4Q;sZAwDh}@_1XLF$dhq1es_&wGVC)Z9d@`0%K4x zQl0)P{!S?p6{2etg$TGCp!IH8SZ&hXhp^gsD?QoYq*pBS=xHoM@<_-xs6x!0eC_>ey86Qx3g2x|Vip9%is3~b>k z=#CubiEel<_!0d0SSm7-kair==S%?(Q;3uI&;Ux>M zm~svEHhtG$`;4ppUD8NI~cxGS%N`g;rdSlGj z9%#|kD8@0?i6mi013a`DipWc;59zxarr<$wb0akgR=&Sd7zK|AhQq7FVS5AGLq8}P zw!;fYyZ7{IZ#$|nmNGy9{*xh3^dd_W#eW+3q}ZzN^{i1xjFuY-w4K!Vsp+Vb+}z8R z1A~(jB_S{qzsJKwqPKd1$5*?CRoXnuF|m{SG*l?Q4849i)YtUwi43T>`_hr%4RK-i zB-W^Gg`hEIQe)-Te|%7iQvCjffq=zNNQNww+&4CD_SDjmOUYzop3`rEFOypIL~63n z*vZ088I_Me-j-?c>gTsrVw%r{nZqYp2~ik*7`|S!oFPcWJT4PejGEKks)H6R(byUd zD=-M|ZYU&S$hx@@^u?LF`NSf&@hitwHS(z{I(@Q11qI?$L-*u#C8nnPz!YhL`|6 z6cexSp|8l`1t_6Do^|2f!fEDVk|*6I#aSHlM13eDXM;2|n3=nI?`F7;QA0ykg3r2V zAv+DqVtf^q4u5tx>l1!o(o$l8&PTQU!+HS%vmb~zK85~W%C|2)EU0$&k_M#JCgd7Y zREd5Re+8uosDGbL5`xQ&Wkg{gxKm)W818le$mtXh#sEMAa)Pnqd#QaK9*@a0R*#ur zWWLDAf2rw?LYrXiHbU6 zO&^em&KRVTEp0e=m##sqXXlY~j{E-O@%#sGo0Nh)ey&?i;K+V2-eX|u%Ww3nsF@A^ z3<&E&?D%!Vd6UGzV$ODx#MrU=r_9K`jrT?}e_Bm#>LWXv1A#@rYSrj&M#u%M@S@7@ zY6$rIb-ndgS3iHC!DUDCZYhH2SV)1#cG0m+UUbd}?r#Hla7QQ}OezxM4p}g0qZA9X zB|-YdILd@O8R5G<1d25}#>EvP5P6p0s+osY@`YD;8J9kXC9dVyA|E$q7Z*vItELkl zZ_7&f3f3xJrQZMi^T-dZLFm^`YW3I|^-TkW+T7B4fxuk9-{`B-AWMnHxOu344dNsA z`_@E5zyMz-&bZ()v7D#?Iy(!s9!#B9l*Z`irJn^Skz>>Z&k3P=Kt86q+fp8G0*RWPCe(>UE7;AX(d4w= zT@fCd*v(RCfFHfr)seIDL}HHD`ySG*c}Wno+uIWT9!9T{R-#{Fj+ZD~I8`@z__^UW z$60XTFdroXd~dUCQTWu*_te%`g8Uf|VILVAg5Y-G8xTNGdp6_XY&0Q5cXC2eo)L;k zi0`lj+`5%3N~=jrTef}~T-&LoA#t&GxV9FiZ=c}sq#l*e?G~2AulW&1=V(ew9G-;K zv;;287N6ScHRkbILmFiy3AnxMpJdn4L@ZMHHYhf`7Msw6oI9$DgQo4S@Sa24*EqTbZ< zOQOzHREK6voqBZUO#2){#OR2rc6i~^pr3Ve^TH=Ub*#i2;9qmWByj)W{LU_3MbhBv zya(MeZ*YrC@;pDCjg&vwI88#m+zSaeRp z%!DFt$EKWQ)O(^7Xocu@BVi_pBcOAdgJX4y@NMFwhv|zt#$~e!q_G#)X5>6Tv+tS* z?}2MCHLEU#tr(T>NecHc6-$eC&zko3ob3bsB3QT33 z>cSh#h?M)cqdM91YAq0CFy)E!A70<^TqIaP!UW_9GjjP7Hu={GMUEXcP69R zV79&_PjwS~BKGOz1AKk4u99D@cbZB^KL{_>7QVLBNqI@K%Ttm~N}P5nnW?UFmL4&i z%~%g+^`WDC`*IXcQ$Xt|yl0eQGy+H~##l}k1O{}q_r+2ap%~FowcoqvomTz0H?`Lv zr~k?=eu(%UGub`&M7|7g%;trvg{ool<_w{XJ96WlD>iGW_7=<*@yxYN2RJ zp2#oEn!joRT$`!wwZe@2M3qvZM`gl{%oOx%W_n&ZH^9-E=VcTt1Ok+sSyC#lL6#K! z-QPu7c^Ymvr#`MyDa+b6PE=ZR-J`S8LyplYd~2>_v?#MyvDm;@7tF42I+NIF@-!ya z*}9chePK>nt&Zi6&z~_xp4D7ZA(QFk&FgeBwk-SLAyYgVUodZ`te_DKHRwm|ga35s zdacLx$bDoq6THUc257n+Z?fUA;GpQEirFDCCmH$x;p;cawx3{iGh9@$Q+O{gr2@s5 z3|CdB=Pb__2ZUL(m(PJ~Begr2Ocg#~_hLO)Xfsuo=rgkox;&|@Lf4u-xbD=p&N{Vy zSgm`sdb)G_^WB(3o5!tin+(RLrF#+sBuKel_!*LUoNQ|&?H>OyT^*?})l`^D+wA7q z`>Bhhv!$Q8rjz;!@uqj$hfbqoTwI88VOz}sRt?^Bhi9gZgdLzu;^IIP%S2F`O*^c( z$k@~yZ-1iUML5(SYl+5#1E3?C7LHghf+)n1L#+O3jN=3oMr{EUAH^^m{Xb2QXJiVI{`Tn-h2( zzPOV_Nn~wRwJ>`URq$$q#F$?!D^{0CE3MFgQdud3H3ZW_;fJ9X)*=c_I6c@9kJ`I^ zkiN7xSXP?e!7boY?|X|N%Eryg&fpaBGr5b<{qR+k^~D#n+uup7ae^z;)>fNmEGhGF&8SY&!v%xB-7!vDx6VbID;Q zhhgd*v)eif?2f?om%-oR&|O!h^sei;44hNMz8DC&-jyeKFd?i%rK64<`aRP^$9%rM z9;W5bfdP7R(8A(SRU2!BqEJ9xtfT&`7~Eeuw6%D6OUXbeP40O?h$9Dxtz&(@v5~JD z>Bcq%x*U0dAjeeMf|l@JyVGY2qRd_|fJ=hcpJeR>|135|R0caX|ceVt;U%pSuncI&~%C0s&H2oO$Z=4!TeJI=I;b_;*h5; z7)UOnwooTogUj`L>RZ-0ifd3G{6}JWTgz3+tkCMnqeGCKm+KM8xB5g9o>L z$;v3I)lY~YT`o(cUTvh#OawYFO6x`aG`Xb}z4QE|FAIl{r{v>@3txWpwRez7q1P+s z&2KMBa3>^}k(V!{#RkK0qdJwhbI+$1h$w%$XD2UJZ4BAm1?r+Ab%EO!8g4KE{qehb zm6;BUIaUo422UJ=7(Og(r8^mMQV>gBY|j^hh=qoXD3{!xQ!dpJpVv{(P*fcS?;%e^ zq1&@daTyLQmu+f=%i7%BjJDpIWAHxu6SQn$LCu!~qLQtUz3hao+;NzYXmc8yauE7S z=BQCoMZ5#C#X<>TgW{F$xG^YL_z93dcS3Cchy2v3$Ml}@l3Es*2=g*);@Rn`n$khd zb&a(h!6I=&`CaVtrq;&yTR3Sdy(8Y8mYSNxj(nBPM|&VrUVM9~mxTscHFsBM@Y2s& zQxwYbj7$i75d5UPg4~D7$7Li7i2NoA%Ns8WHJ1vWCF(A2Idf*qMI%X`sjM6j`v>zt zf-tk-6!4iSE;dz93llRioi^gW1UNlhfYPgO)f}tRKxX)6p&5t~A8jdu@Yx+4Eqd#E zi1@aim5`cJQlhj4>}H3gE~&_*sN5x!?U<=u9E8gVBb?FjE4$x+fAUZ^+yTGn;@$DbA{Wf5P6%PT#h{#i@^YFoCj zE8)|3yQmI2JSL7v=8FLyJC#R6I6fcW=&)rRy z87HPbh+RH_S9kpk>luI-$36?9vId_X%tpg811P}7eg+UFQ{e)Ghw+(;^rkyO1v)it z8ub?OLCBM>+I?-o-m*fM9?IfBhdQ#)L;62a*_;zot=46kwLY*-4Y^G%Cv3J8A;Nc? zQ)6NvJEO9wM|$Qmb(TH(H!R@sAk>(R1J#GLjfuq+xDNms+))S_vc%s3aC^O>e*qU^ zPGatlVn)#Upj2%bXRjkNiA^Wl`FeG0hw}9uOAZo2l^1h zh;3I)n^>~MCU6GvWC}c`0mu?cM;X0%C;B7dmUy6<(TH-Xzu`NCp00y* z0hQGo@(e4P>%9N*5K&0|ZGq9PgGc7HAP4dPE5NRFLp z3j`WGxa5k~`+K0i5!VNEp~6uD7P=oQ0-4FkbPNx2v9e4hLxfm;z#9f1zahZF4X)^& zoa>=4za$Dh>Th+A;@Kh8`7l~Qy#q}Y`>3_3nEDva0Jr46%5Z&W?)2ef)@9Fbs?zE7 zw?_&}4^mf(wCY5sr2+l(xTD(Wv{1iVEFP^?RFzjzkyj~ou5dTGT}x(q#AE_C$mw5 zzBEwRC5CZ3D>BB{ILowplvgBy)#XYhntn@EQkC57Wu2tcT5nNFxAg=4E(^Qy?b?t z3t|LrqTZGH0yoK?vhz<4#E2eB6;hIpa5%U((9qCdFZJNlzD9yFKrCjb%8}wz4;_~XrMvd~ECYx0SR+FbQNwdo@@I!+j^h4G)*>mIYB83n!*@G86E3^q^TQak%BU8u9Kf|rl8;)uS%pS zhW0N-gW24eoa)l%yIAZOj&Tz%oETsWFfudu`a>{l3DYHx0v7c3KXBdy%rI1tK&z#AQyZ&2UhD;xX<)l9o ztb!A0LyqV@SkZlXda^M1cK8*2M&5)sUwI{b_Uy*nV-vAE&RkYJ+2FLy-FeR|iVV~E z@xyg?LzUgGx7qc2yTxP=*hY-75nZ>$93X=O`JY3qBY=yZ7*9pqJfNd)7%(jO?dB*C zHddo3!iF9ul4uYHFoz8X`Yjs9<0v7B9K|WfRa{oh#G#|V2DpuW@y|jXOCy;^HQ2Al z5*``YHq$sDZ;-RbG0=mOsDGpIwSTS(?M}%~Da)!c`SY48hR#*g#jn}KbCyr(%rm8R zkwaIPw#4rw9=jzgc1$07+y>_DCUY5&tt^vEH8M@Or9zQcUS3tz(J_r(mL^RNhAIkl zg^IF5R(u&dvy7KeQkEtcNma}jAg-*18m{MQ-eh)X<$*pjLeHrKYSel(^F%zWAG~rv zE8XEFV*2be0DpR%LIbh_6c%G2s1GRtN+C+x#}367NbegDBkQ|fF_~_>L|WX`>a`6d3nS>Zn@Ha)i$?ps1B`&sAG1j2AUjRLmi;@MKB~r z6h?oePH;u&o-B>p&_TQ!;HAqO>_M+e+^SliB?#o6dZfaKlFQ4>N~y1NVZkx z!W;#9e(58REInQZ3v!Pe%ggJ_%IfL&9Xj0rqmdDg$oW~Kc;f7e1a0AFHeXxfojw4@ z6AO8;y~_^!iw^>hajp*U0K%OeQiukYL)OCwvqlC%Mt4Nq7|=05Q#67TZu$g|;#Zmg zQ=sQD*1^3>=zammK_d&JpM57Rz03XWen_uL$Zww*GX~|+ugbUBWG&QUjqg{dEbNin zw{p>TmFpL`x~W!Pb8SPlY@p^*R@WPl5yVSzjD@j%dpp+vD9!1Z+u^O7gE19; zLu5t1X(axl>{mV#4bUnCUqB(kG#JBv5VcVEpgApQ4t!{#4t^2&W|eQz7Ica3Q})34 z%t~~?Zg*8VonEigSw&s+f`iD3tAzN^X?P}P8yns%UWMavAY(z40HNZK(0xyjpMan~ z?L{)7QYh2LkB7wtzGL|T8QxgNq+sCGAlwDRCL|SN{-$k74K1aR%-fDeQ4ispIv1Ej zotrb%o15fKCWihuau~5c`Q(>h8o&GQ(xm~)dNe3qoPf-374?cM4Q2mi356`yylG4u0^&85|YsN`k@@AGVUm`eq^xU~sx%m}q z9EBtb2=aN~1rhis$H$GkNRklfNvy1_Fi;!jZtVeIIeA5*q`oYMTPvM6qCT<2`$0!qlEe!|Tw-FbB zQebn0Rxw2&9m3X+Ze-5vd}a^%CA2R@fIa`d9daUxRQPYG;wG`i4J9nat|)ern8Um5x><#4K|cn zhvSp=DZ=W^nUi#_!?WitO1^(NbX|?6-fnC}3hEQO=5`VJkZ%>$U-J*Tv%GY0q z2Tt_QQw*KSUp$XRW8O|5}_;i z1)G=t_#2Ct%3)Qq;xlpz6yi-Li`jN^#*&iqGNU-%mX?>4kKV63eY(m+eY*CKX2)Kn zM0#kR@Kl|)Sp62iy+1mC3cmT0RH)Hr7MPqFix-#1KEHopQhd6Ot0~T7rDcQP19%HS zUX7`HjK!N2U~xf#94`N0`b}WkC$#D)jf^tK$uv04La?`wt)-mb)7J-U*ABxe!1NS! zUnnvrgaV>un8(gXzut8h_4*R(rDe;|uP=H$%@vVhFc)$M>BhTmq)@y47gj#4J9}@! zltb)&IzB(T@gdd{16)J%7#33SDLfR^sKBQzI2#bW;3D_ffVA}o2MF#mj$C4L?Dmzx zjK=Z{lnxj-=q9LeHW(>uko)(i;1awE*9Z*b+bdQO>sHKI9h_v+6i3FDlv{i(_W&5s zTDn!xZmXQIoKeDM443ElSX z&b+*$++U>9LMdgH4wdF^fs61NM~tYDsy2?;=&BljbgxNKsxrFf$+VKu4(HHpb$%*K z!AeL<^!@#Du4KB4+GjN8vZ*g65|q!)4oh+E3$xF}4EmLkV{r&H6bu)EH-H)5pz#VT zEJn6ts;8L&627rS3~E8{Io-QWer!OF*Uq1>NACLb=U;=+-}E1m^T!{F2OAqHMTh&| zd)*y~9bD^zNkCn$wL$6+=jzp~!5fr8%I88V#T)~wArRN+q-8xqTigzt{ z;}jE6H0CD>zCU`jclS=gCpNW=&qCxED%liPP3gItPd)+8eJATf+OEa)?x1Js_kuS8AnOyf1+#)-!dnnDP1g7~ z7}96lQTS;zo;hJ+@#S+*_*PZS_t*E^sLfi|`xxEt*I$mjhL3ma-8F~a_{h;s+OlJw z1N(g2pP=TWyAN+Bv-(i4blI}K_$*axw|S1qz$U_Ue6gEwuuJv=RTIK48;>jojMx1mYnoY}|w^`K?onp4KhOsS&@MK4vqlK#cUTi4JLy~wM z-ei&h6o@yO#M5n-w5b5ZS;(*?q%`jUIF>Y9keb4#{+%fPk{ZGYrQg^@Mv^j5T3o0} z$&OEC!4xKTN|H3sX4YEGR$&Hl`I$^n)gX0{n}WP-v7`Vh`l)AbDWp=hhxf}()GJZ` zq!yhPrDb!IP&_vwFQckVn_+OcBvQN*B?;QNR0tg|muS{r=BrKr{Mw#izjkY8Wn|Vx zmM+SxxQ7a6WcJ1q!a6g}EEIzsKvOc*&tuJjtLS^FSR5?41D=giF=|7T{(>eetYR?wdujiAeb?I-A=K^Xov2ZF5>HV3Eng>@0Ra>++jV*zOH;a@mo;H^bs1te>!6ei{0- z8M&Mbl^IaV)cdRxX!ka1AHexCRf9dRv5fxTY>pNU*fwB5`8KrUb*k|7Lx&m;9eRgK zxpe$^!-*5rzKL7Ct*1_b3U2k^sDeYGr$}WF1L9>z*^mjXXDl<;FfOmQi>Q zRZQ1Ppjvzw?YHB=JGN(H+7|pW+HA$9B90Hj(cBc8r^T%4&ZHP|$yM}7VTqUeoRP?A z?+3NiuHc*D(Lv}|l7?h;&BN5AnkKxJb7F|Y&Cj${mo0ig_%%M_-Mf3!v`%-j|APZ+ zrMXd__MU_WyV0lkLA&SJIQNLEv98HlQZ+Vn4So{@_PVYEU0tfCoVFh?t61KCKet|moKqO zqR)?O*Q}5a_Jb$ahdMK&$_9!N?tluJqA+HG2&+#>2B3pCV9Y7Z0e*!H)CGL+y!nhA zj!7mRsW%XuQis=F>`0r0TJdc73-u>M=cL`-Nj)}WhI5SO76-Iy@EFP1&V(W3CDYok zJ&L{PvYI!D;V7B<7nRcr{uaQGY58)u{g47O*a1>_I7Dgs!Vij;iI&04xjVu^0xTDV zqr6pDxDsS|)KkZPP)tbuh!guE^lCk&zF8*O?T9Vn22&-@3aj1gX)Kx8Bq|lRqlz7; zMV+=vT|Xg!^xuzEpLxB_ z+YQc=1s*DI7_c;>qn?BL&5YbqL*x)=n0m3e7y>Mqv-zmo(}UI-(D!tZhRyWQ^r&%~ z+nGKv`Ue<`6TW(Tv#i_xnqNMmBEU^U6BGEkk|GVs(kL@hQ#owvbUI%tb>!rUzcc2$ zBnD~~#^2V_mesogkKE((scpspInk0Ryr;Jau-Uq?b;vp6@pK7{;GsU)pU?5JGuQqe zDNgS{GP~X@Z5!E@F=oUfj706YB~Dzn;cTC7pV&d2Lq+$GFz|(a3_3U94EM@oUnJH? zQWrN3aE3cbdLs_+Y=a0Ej_m;ovC6t3eS*IVg0nal(qw*)E~L3bY57!xllsj-U1NCd z5p=G79PzoyYqhHvCyRc3t9^}ZX=i=sQrX(}qnC1=EK;4q8984zs^60rJV6zh2RB** z9uG0AOe>?Bqf!%`myn%s4)K**Jqs1m1dDrVy{&e|mtU@^wS||sjfk+b5_3k*t#O$9 zIrZA&bGINxuz7`mua8+W@Ln0qQ3(<1K{!f^$p)HYdQls65~kC!Acn4#43RMtiy*bs zLsB3?Z)fK-1PhC@LC!KL2F%M)v1xXGy2-Y{W|K`tvx}RXYPe-0Qmn1YpHVVWYq(1( za3`tEZ7!QZtg9}xt_p43X!6YIFq!;QeWjdxR%K~x-ff@dl?)oA*63bqs3vR4+&p-OT_fX{nPo?~2`_JA5%eD47lovfVe?ny+TFOgN zJJQm2NL)WHTjAZnjn9wz2haDiqi`SI2Md4jFWrWxfH>nO0cG`~DQsDrLGxldvjK+! zFM_=d$)KnR!|cg~Oqgv0V9_YB`;0MoX9zSwp#VcyuMZjG@7gnDZ&%k}j_!Y&%T zD&@ZM`r)bp8b_(Es9ek%?BBHy1b3n*B`cUGbDP$!>rH4zWBbhNYf-}bW;k3`ot>Sl z!&KNk+T+jh<%jJWd$GByt|U;Qt47npE;)bHfJiMN>+%opi?;su<*xeyPmIs`F6h9R zyb?kTOAC=)@ZBKV&H~lfn+5R_7{E@Hy}(!jZ3gR$X*&Lr&BKW<_ zY!0JD>X(a*q#~AdhE9ZPYvCQW3OyR4ehG~kw|><)_xM#gRT}E5-k3v%4<76-%?$>$ zp}Jo`%C|-ed*`t zfpA$mIy#oETel92rv`TzE_Yj7+qDHm3N+fQk*g{Bd@!GaJh2rRYuZCQOt)o zoC60sYwXqT4wb9M4p)uK<91iuVT20qP1eyl6(`M)c!m{J_oG6PM>wqy!_q)@gZyUR z;1!?&1{VU8;&3f|pj8@elc5)2rye^WTHsRu2ooEAM@s54o?zQZIftPkf1rO;NrZOg zwH3&iDE#U-0jGgTB?h)o4M{1BHnNjKeD+6%$d8*g zDGn(A&9y!w8ER$*7VlBH&bia!_ z)GXO#ef@Q-qaEuHTt9j;Di@h^a6)ZCEuK${lOb#tykp()u<*c`k+B|O&Z8HIOkx|8 zJx$RC%uucF1z|KAXtIUFhCeGiyJ{-e|JGZrM+VlTkyGZ)TfV&h{Yj%oBT)%8tW}uM zHj2XwCGb(vR|f=-z96aeSx!reNm=1am6oh5{qe6M>XquQu55p3$r9vPym$-I0XTT8 zg?fA=4Ppy9X%g8&xbAnkJZbJ+H9J$qWh=-+?uwD(*^5Wkio6p=vzo>2GY3#owHlpI z*ZSmXlO2l|ITpY!YUA}wkY`W=bwVXACOi5KKQ{i1cJpWw#asyACsv}eYfHgc_y%SD z@dx!Ul-zJn19rsz_yZPje3R~hCE;5g_j}h~`;H}A>%HHxmBhS2!2fd|{vRFqrDhuI zbd-cf63qy7Xj}G1fj25BQv{1*FqiDgO*WNwVFtDx7Cxd0jwkBhG)R}^CzLEgY34OWe`>J(wi=6dCL+p z90{_c5GsZkK}icqEFhz0&oYEFLV(NORwCVf7FFp;lO@=bp6dS=E_4#3De~2*WRdl; z`hAw9tU=TZel*SdEt;;X9i4m#y(?0cfhzZv2*rYp$+J7r{yOT15c+R(V{ibq5yL}$ z`}bq+rhXWXP=`D63pxw1q1CqH?L$1f9x=hN8`*@Bvrg4gqjWlm=&P>pV!Z<}_MUZ( z>sO3Wv5xE20XASbKq?N2Gxqj&>P#vwiGwa zE}C0Zx43Xp7^c#J&lkO^KQfaa$rQkFfv>(AJ|bCU-d(@jl$14qI^##r(qX`IyyoOLYCiz4J>;^u%F@rtDKIpFElPMGb3{<_5bM-7;uu40u!ypI^avf1z*qxAjaI2p5Dum;_@8}tS)d!} zwwq!KQUBWZp^1ViJ9Zpb=20i*xeub>DK33i??8>!=8T+&w(>1v+5LlMGn!uKJBvzP zE(Iqqp-N#?+0&(!73E0vMQKZp!0fZ2+!FIBS3_~KLMwAQow{WaGVXeodI!w~yTpoX z5l}N(v^`q$VyL5PC~;Y3&SWUgNN#1M`QKCU%RN!H9>p5Zob1(GlCV@M&L$sdX!c9!xsRjFUj!RRZt?pm8$b2{^qU5Zt|< zGB3Pb6P-nCsG0cgA_h`l3wTgISrR&%!u_3^x#Qvf75(?1fy(>Gs>V{;L-OrKu%IU^ zFL4>#J#e74eG9Z97EuZ4zeYvmADx{S%(cdF)!kLjkhz-0_eCD6Q{dtsHPHbh)9|wg z;Mw0`rP0qWgZeyEbhc!aY+3X|G-g~o-er${D`6%E0isCYcHSDIS7Xor-}3Z$KS8iz z8@*JL+pZ2ax2ngDO+6C@E0HSg3)X;=`^T!sGLTSi^KN#PvsxnOC!uUJaUb=ubBt-B zpZbr8N3`7@Oa`vZK4*eEku@Nfdd>upPD2As2pGpy@n-;aAIOB+E-Pp0D_ldvTvYSt zhr>Xz-A5_1B)*zTzaR(w>f`+RbMxXd;JGi+`x0YuUj-Ccy8QGfw2tD2P0i7RIZh&;#*7}111^VeTj^KT2UG=6U-mBEd^JbA6 z|6If?nO3K6LNx<_?p%kaQnRR28&vmBBB%)AX0=`0&q^an$h84+sWm^ew^KYzP~T`> zW^o5iutp8XYcU^W_u+#wpsD{4UchIP0^zvWd(Iv6!nLpWjx3*aOmt|RYWj(+12fC+ zI{rU7f|wGVW?2w^w`rAWbL-dbyDbM`unre&OMC_yG#t2(9rx&xpwoIzfF>Pg<|yMT z(O&?W-TN#+)tr1x+LB!)R*_q@Zgim?sZa+zMuZZabxD@ZJC5YpXMXjPk%3X`&epr zm|#WEOQAXbMf!zD--sTYxwhA_fea|=#Vh5&|L(W|-FqEVT{v0})*}rL?(OIk8;!{> z)RzixlyXF2ESo?r5py4WGuTh7*Bf-uJ~ql;t({cns4^)h>hu+6?;ww7)*zE-#vpk^Cv~E=6eJw+ zZf`~#JQ(Dl0Z7&Asx?C%D0;>*nVksQ16wWll)EK_0^ord9W5W&Fnf`)#AvYrW@B%L z`x8)e(a@sVOSl$UKU8I_GV0Jkw4p_>OdtgR3&43^Z{$O-+51;{Fsg(2c$67gx21;&46_pBvo0A08-F*j--ZB$&Yl7*NJK!Ks5gpy3(agsRP9 zbF-y|vU+5ZLf=RHaDH2}y1JSdWF^O2fzahn#Bs_46)m@;W%O*6Vhhz3$%jsk%Hjk# zqLwYIp8h=K@jkbmlf}^kweMQ9W>@;_+g`jSIRiZx(fq5V`PWEyXoqosb_@g1vz|Z~ zC4xJM6M9Uas1XOpuzCX*7w@sarOLgz8GFKj!9J3;8k^ksJ{BP2lairvucdUL-#;)s zm@}xow#}dJ9XHUsBUx3N+K#S##1Xs&`OsBKywlVVQ8rHLVPgy5LE5u2Sow~Z$D%c# zBULho%z4p>t(yRma2_0x0O;g^qJ89LO}t$N7e`Yfye5V?J(w%Apy8~qlTIi`@Ip=z1c zQD>%iCGz6ZXql#mNmI~@WQN#;kG8;&{jz8@7_Ho%sYAl zy>^KsI7dAmT$#jsmioUHGdz0VA{3_{-B8-VfIg;RfU9;eNzU$2O5Ji(KuH#u0+HpO zl=K7S)T!h{*|{Dk@p%seME)^o&;^UPqTY75sjAKlHV7AH73_l=Ee8Hvy6?_FYqTEj zkMcRR+=4>@o)&QX4Ul3!XO>FB5ktTNB1!Op=s<|Nj_>z6Cpk6#IR(`IYP4%;OUn{; z>I_Hl0`+vwiX`5X)b&lJ;~Ufsk?&8OXl`CW(&p6926F(Eu2#ny>UkQn>fiK0fi0|6X9!7`^Q#6j1d!vhPEd0&Qc$)o)Og4EJQgalN(E$Ba3PuepvAA?v8-N)@oc_ zc2~)c{fT?`?y{>Sj^e9Yi6hs5c400CMDh+T$t8^yWcF);l21-k=T!mnHE|Qon5gtJyan5sVOb;&hwyD3!&_bl3_# zsp4^~(kJf%QyLv7Nva`j>X6jgL`n}Xp$moUt6Csj6E8DzO5jyPcx6hMi*Ct;A*$6SwHaMm_2vx^HL?^<`mk-pJOD{-cWw zt!}%I`}e=2XJY0-w-r@8w^E%s(=`2w@W3y zeiJ(z-0GU@Fc~><_&pric$g%s{nQ5rG}v8-V9G#`bh%LrVA+A`<(;S=NCfFo02Y7+ zd^l_iLjobjPgvn6(2@}!wfGjF;rYm*7%^GkAGtwQ^k9ME#~!5^`4Szb?y1q)Ee%bT z;N8{e9M<}<-a&tczvj?Tb9vJ|2hhHQQ+>RnfBE0~5k%_y14jv`ju|_PRrz@ep3{NxaN7uSWsQ}6^V*Efi z=;Jg3NSSCQ9ETs5gM3X`ytstFq-r?<6y=BYdf}qVW{n$!s zs&v%7%Z{2YRTtL)5ncXYrbD*pLR}?Lf12(U&zD~!!3g)*Ne?b4n!7%yVA|50yQwEL zr*$buuN1Qse~J_w+wCoX@mzXb;f<~6ZkoYeKsdV$gRkhm3mPAQC0u+*6Hv5n>VM%O z6yptw?CeDB!L7}K-EX`Rdh*Ffz0K9rin_cZ@A%^7s2P3GV?;j>HuH3UC2ccL4uQ=~ z3))W)z~w~B4zhoLvV*$ZQtKo`)L&8JxWUfJgtj-xJ+?Bq!nCc-g?R;7&q`?7DhK_F z`=A@>IodI)8nqrEnoplMrUB;Qp~?c_0~ zV><<~#aqxxUHM0PmX9p+@I`OW-RscLAa3-b`h>ASb|eEnKIoPmOcYK>_lMJ-bOy6} z9H$ZKEd}BzmawG2m;th2lBJBvg{k4T7-3}R-7rM>2%abW61|B9qTG=WOO|+#o*Pq* z_8mI&xNBnR2xrg-XgKpGM{tIEx^_tt4@SPNo9xni=S0+F!>R_NV)W>pqeqXnj9xVG z=RwqY$N1%B0Nq919UzCdTKf$Ja>!gltm&ZzY=7{lxe6QkXaJQZLwr z^lYAHO#P6t!Z%PqHo5?;!W%=6m@60u8B7gEW@2+BGiHD2nQ#I}&ncv93}8__bJc$R zHSBkkp^FzdiO*9fs#oy%)YY%&`}hG?Qi0(-dUn_P^|sEO3E{G;iNym@V*N1pvNbg=udlb%+8dzny&v@?%5b@gl~g6VSXg$sr6uy=mXiqqUu8bxyIf

    WeHp7 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

    )/, '\1' + hide_script + output.sub! /(?=
    \n" + end + output + end +end diff --git a/config/makedocinfologo b/config/makedocinfologo new file mode 100755 index 0000000..c166368 --- /dev/null +++ b/config/makedocinfologo @@ -0,0 +1,23 @@ +#!/bin/bash +# Copyright 2014-2024 The Khronos Group Inc. +# SPDX-License-Identifier: Apache-2.0 + +# makedocinfologo - generate HTML docinfo file from an SVG image. +# Usage: makedocinfologo file.svg alt-text > docinfo-header.html +# Example: makedocinfologo ../images/vulkansc-unscaled.svg "Vulkan SC Logo" > vulkansc/docinfo-header.html + +file=$1 +if test ! -r "$file" ; then + echo "Cannot read SVG file: $file" > /dev/stderr + exit 1 +fi +#echo "file: $file" > /dev/stderr +alt=${2-$file} +#echo "alt: $alt" > /dev/stderr + +echo '
    ' +echo -n ' '$2'' +echo ' ' +echo '
    ' diff --git a/config/mathjax-asciidoc.conf b/config/mathjax-asciidoc.conf deleted file mode 100644 index 1ba9ce1..0000000 --- a/config/mathjax-asciidoc.conf +++ /dev/null @@ -1,19 +0,0 @@ -# adoc.conf - add some asciidoc-specific (non-a2x) config stuff for html5.conf - -# Override html5.conf definition -[xref-inlinemacro] -
    xref -[xref-inlinemacro] -{0} -[xref2-inlinemacro] -{1} -[link-inlinemacro] -link{target} - -[latexmath-inlinemacro] -{passtext} - -[docinfo] -ifdef::mathjax[] -include1::mathjax.js[] -endif::[] diff --git a/config/mathjax-docbook.conf b/config/mathjax-docbook.conf deleted file mode 100644 index f8f0edc..0000000 --- a/config/mathjax-docbook.conf +++ /dev/null @@ -1,89 +0,0 @@ -# testdb.conf - override some Docbook-specific config stuff - -# Override docbook45 definition to not encapsulate LaTeX math -# This requires some cleverness in the latexmath macros to include -# the equation source in the alt block for PDF output, and in -# a Docbook block tag otherwise, using the a2x-format variable. - -# a2x-format can be one of: chunked, docbook, dvi, epub, htmlhelp, manpage, -# pdf (default), ps, tex, text, xhtml. - -[blockdef-pass] -ifeval::["{a2x-format}"=="pdf"] -latexmath-style=template="latexmathblock",subs=() -endif::[] -ifeval::["{a2x-format}"!="pdf"] -latexmath-style=template="latexmathblock" -subs=specialcharacters -endif::[] - -[latexmath-inlinemacro] - -ifeval::["{a2x-format}"=="pdf"] - -endif::[] - -ifeval::["{a2x-format}"!="pdf"] -{passtext} -endif::[] - - - -[latexmath-blockmacro] - -ifeval::["{a2x-format}"=="pdf"] - -endif::[] - -ifeval::["{a2x-format}"!="pdf"] -{passtext} -endif::[] - - - -[latexmathblock] -{title#}{title} -{title%} -ifeval::["{a2x-format}"=="pdf"] - -endif::[] - -ifeval::["{a2x-format}"!="pdf"] -| -endif::[] - -{title#} -{title%} - -# Attempt to turn HTML links into just the prefix, like the PDF version. Failure. Retained for reference. -# [link-inlinemacro] -# ifdef::basebackend-docbook[] -# {target} -# endif::basebackend-docbook[] -# ifdef::basebackend-xhtml[] -# {target} -# endif::basebackend-xhtml[] -# -# [xref-inlinemacro] -# ifdef::basebackend-docbook[] -# {0} -# {2%} -# endif::basebackend-docbook[] -# ifdef::basebackend-xhtml[] -# {2%} -# endif::basebackend-xhtml[] -# ifdef::basebackend-html[] -# {2%} -# endif::basebackend-html[] -# -# [xref2-inlinemacro] -# ifdef::basebackend-docbook[] -# {2} -# {2%} -# endif::basebackend-docbook[] -# ifdef::basebackend-xhtml[] -# {2%} -# endif::basebackend-xhtml[] -# ifdef::basebackend-html[] -# {2%} -# endif::basebackend-html[] diff --git a/config/mathjax.js b/config/mathjax.js deleted file mode 100644 index f079ab9..0000000 --- a/config/mathjax.js +++ /dev/null @@ -1,8 +0,0 @@ - - diff --git a/config/open_listing_block.rb b/config/open_listing_block.rb new file mode 100644 index 0000000..e617631 --- /dev/null +++ b/config/open_listing_block.rb @@ -0,0 +1,28 @@ +# Copyright 2023-2024 The Khronos Group Inc. +# SPDX-License-Identifier: Apache-2.0 + +# open_listing_block - allows a listing block to masquerade as an open +# block: +# +# [open] +# ---- +# (block content) +# ---- +# +# This allows nesting arbitrary open blocks inside 'refpage' open blocks. + +require 'asciidoctor/extensions' unless RUBY_ENGINE == 'opal' + +include ::Asciidoctor + +Asciidoctor::Extensions.register do + block do + named :open + on_context :listing + process do |parent, reader, attrs| + wrapper = create_open_block parent, [], {} + parse_content wrapper, reader + wrapper + end + end +end diff --git a/config/quiet-include-failure.rb b/config/quiet-include-failure.rb new file mode 100644 index 0000000..9342f3f --- /dev/null +++ b/config/quiet-include-failure.rb @@ -0,0 +1,30 @@ +# Copyright 2021-2024 The Khronos Group Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +require 'asciidoctor/extensions' unless RUBY_ENGINE == 'opal' + +include Asciidoctor + +class ExistsIncludeProcessor < Extensions::IncludeProcessor + def handles? target + # Only handle files which do not exist + # This relies on the full absolute path to every include file being + # given, since relative directory information exists only in the + # process method. + + not File.exist? target + end + + def process doc, reader, target, attributes + # If we reach this point, we have been asked to include a file which + # does not exist. Do nothing, instead of raising an error. + + reader + end +end + +Extensions.register do + include_processor ExistsIncludeProcessor +end + diff --git a/config/rouge-extend-css.rb b/config/rouge-extend-css.rb new file mode 100644 index 0000000..c19dd74 --- /dev/null +++ b/config/rouge-extend-css.rb @@ -0,0 +1,60 @@ +# Copyright 2021-2024 The Khronos Group Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +# Khronos overrides for Rouge 'github' theme CSS for accessibility. +# See (note that this code is evolving, works as of asciidoctor 2.0.12): +# https://github.com/asciidoctor/asciidoctor/blob/main/lib/asciidoctor/syntax_highlighter/rouge.rb + +include ::Asciidoctor + +class ExtendedRougeSyntaxHighlighter < (Asciidoctor::SyntaxHighlighter.for 'rouge') + register_for 'rouge' + + # Insert rouge stylesheet from super + # Then replace many 'github' theme colors for accessibility compliance + # It would be better to use rouge's stylesheet factory, if it has one + def docinfo location, doc, opts + overrides = %() + + # super can return either

    *fBHqlYZ>3luZ?E*$#mJA$UlO}!STpV9 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 bTz(Wh%AcPupUR)d%Y)VL68Yj$&C7oQD8#*t literal 0 HcmV?d00001 diff --git a/config/katex_replace.rb b/config/katex_replace.rb new file mode 100644 index 0000000..d15a2c4 --- /dev/null +++ b/config/katex_replace.rb @@ -0,0 +1,11 @@ +# Copyright 2016-2024 The Khronos Group Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +#require 'asciidoctor/extensions' unless RUBY_ENGINE == 'opal' +RUBY_ENGINE == 'opal' ? (require 'katex_replace/extension') : (require_relative 'katex_replace/extension') + +# All the inline macros we need +Asciidoctor::Extensions.register do + postprocessor ReplaceMathjaxWithKatex +end diff --git a/config/katex_replace/extension.rb b/config/katex_replace/extension.rb new file mode 100644 index 0000000..f5a63de --- /dev/null +++ b/config/katex_replace/extension.rb @@ -0,0 +1,44 @@ +# Copyright 2016-2024 The Khronos Group Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +require 'asciidoctor/extensions' unless RUBY_ENGINE == 'opal' + +include ::Asciidoctor + +class ReplaceMathjaxWithKatex < Extensions::Postprocessor + + MathJaXScript = / +' + + hide_script = '' + + output.sub! /(?=<\/head>)/, loaded_script + output.sub! /(