lucene-monitor-8.5.0-150200.4.4.3 >  A cp9|9=h@HXgS2nCr]3촻ґW*RX.P*|y] t Dԓ6퟉P3wv6,oMC\T.rO" ĶZz=&dT!L<\&B}[e=] }Iṃ:B!3!>p>?d $ > 'B]cl    z ,(894:QF}GHIXY\]^rbcdeflu4vLwxy4 zXhlrClucene-monitor8.5.0150200.4.4.3Spatial module for luceneApache Lucene is a full-text search engine written entirely in Java. This package provides the "monitor" module for Lucene.c_goat16SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Development/Libraries/Javahttps://lucene.apache.org/linuxnoarchP JAA큤cVcVcVcVcWcV20fea93c3025107af9a519f44c6067d66dd2b775b2c0817b00c783812962d69a273b9cdc6ff979f9b2a2e2155aad08c79c46b6a4a7d739c9b4e47d913c464fc6969899daa1aa35404d3e10995043f72775264e849f83f7b289585a649e492479lucene/lucene-monitor.jarrootrootrootrootrootrootrootrootrootrootrootrootlucene-8.5.0-150200.4.4.3.src.rpmlucene-monitormvn(org.apache.lucene:lucene-monitor)mvn(org.apache.lucene:lucene-monitor:pom:)osgi(org.apache.lucene.monitor)@@@@@@    java-headlessjavapackages-filesystemmvn(org.apache.lucene:lucene-analyzers-common)mvn(org.apache.lucene:lucene-analyzers-common)mvn(org.apache.lucene:lucene-core)mvn(org.apache.lucene:lucene-core)mvn(org.apache.lucene:lucene-memory)mvn(org.apache.lucene:lucene-memory)mvn(org.apache.lucene:lucene-queryparser)mvn(org.apache.lucene:lucene-queryparser)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)8.5.08.5.08.5.08.5.03.0.4-14.6.0-14.0-15.2-14.14.1b7@^@^x]n]?]@]@]@]@\b@\'@[Y5Ycl@YTY@U hfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comidonmez@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comjengelh@inai.debadshah400@gmail.comdziolkowski@suse.comtchvatal@suse.com- Added patch: * lucene-nodoclint.patch + Do not abort compilation on html5 errors with javadoc 17- Upgrade to version 8.5.0 * API Changes: + LUCENE-9093: Change in behavior of the UnifiedHighlighter's LengthGoalBreakIterator that will yield Passages sized a little different due to the fact that the sizing pivot is now the center of the first match and not its left edge. + LUCENE-9116: PostingsWriterBase and PostingsReaderBase no longer support setting a field's metadata via a 'long[]'. + LUCENE-9116: The FSTOrd postings format has been removed. + LUCENE-8369: Remove obsolete spatial module. + LUCENE-8621: Refactor LatLonShape, XYShape, and all query and utility classes to core. + LUCENE-9218: XY geometries API works in float space. + LUCENE-9212: Intervals.multiterm() takes CompiledAutomaton rather than plain Automaton + LUCENE-9150: Restore support for dynamic PlanetModel in spatial3d. + LUCENE-9171: QueryBuilder.newTermQuery() and .newSynonymQuery() now take boost parameters. + LUCENE-9029: Deprecate SloppyMath toRadians/toDegrees in favor of Java Math. + LUCENE-8620: Add CONTAINS support for LatLonShape and XYShape. + LUCENE-9050: MultiTermIntervalsSource.visit() was not calling back to its visitor. + LUCENE-8909: IndexWriter#getFieldNames() method is used to get fields present in index. After LUCENE-8316, this method is no longer required. Hence, deprecate IndexWriter#getFieldNames() method. + LUCENE-8755: SpatialPrefixTreeFactory now consumes the "version" parsed with Lucene's Version class. The quad and packed quad prefix trees are sensitive to this. It's recommended to pass the version like you should do likewise for analysis components for tokenized text, or else changes to the encoding in future versions may be incompatible with older indexes. + LUCENE-8956: QueryRescorer now only sorts the first topN hits instead of all initial hits. + LUCENE-8921: IndexSearcher.termStatistics() no longer takes a TermStates; it takes the docFreq and totalTermFreq. And don't call if docFreq <= 0. The previous implementation survives as deprecated and final. It's removed in 9.0. + LUCENE-8990: PointValues#estimateDocCount(visitor) estimates the number of documents that would be matched by the given IntersectVisitor. THe method is used to compute the cost() of ScorerSuppliers instead of PointValues#estimatePointCount(visitor). + LUCENE-8865: IndexSearcher now uses Executor instead of ExecutorService. This change is fully backwards compatible since ExecutorService directly implements Executor. + LUCENE-8856: Intervals queries have moved from the sandbox to the queries module. + LUCENE-8893: Intervals.wildcard() and Intervals.prefix() methods now take BytesRef rather than String. + LUCENE-3041: A query introspection API has been added. Queries should implement a visit() method, taking a QueryVisitor, and either pass the visitor down to any child queries, or call a visitX() or consumeX() method on it. All locations in the code that called Weight.extractTerms() have been changed to use this API, and the extractTerms() method has been deprecated. + LUCENE-8735: Directory.getPendingDeletions is now abstract to ensure subclasses override it. FilterDirectory now delegates the call, ensuring correct default behaviour for subclasses. + LUCENE-8662: TermsEnum.seekExact(BytesRef) to abstract and delegate seekExact(BytesRef) in FilterLeafReader.FilterTermsEnum. + LUCENE-8469: Deprecated StringHelper.compare has been removed. + LUCENE-8039: Introduce a "delta distance" method set to GeoDistance. This allows distance calculations, especially for paths, to take into account an "excursion" to include the specified point. + LUCENE-8007: Index statistics Terms.getSumDocFreq(), Terms.getDocCount() are now required to be stored by codecs. Additionally, TermsEnum.totalTermFreq() and Terms.getSumTotalTermFreq() are now required: if frequencies are not stored they are equal to TermsEnum.docFreq() and Terms.getSumDocFreq(), respectively, because all freq() values equal 1. + LUCENE-8038: Deprecated PayloadScoreQuery constructors have been removed + LUCENE-8014: Similarity.computeSlopFactor() and Similarity.computePayloadFactor() have been removed + LUCENE-7996: Queries are now required to produce positive scores. + LUCENE-8099: CustomScoreQuery, BoostedQuery and BoostingQuery have been removed + LUCENE-8012: Explanation now takes Number rather than float + LUCENE-8116: SimScorer now only takes a frequency and a norm as per-document scoring factors. + LUCENE-8113: TermContext has been renamed to TermStates, and can now be constructed lazily if term statistics are not required + LUCENE-8242: Deprecated method IndexSearcher#createNormalizedWeight() has been removed + LUCENE-8267: Memory codecs removed from the codebase (MemoryPostings, MemoryDocValues). + LUCENE-8144: Moved QueryCachingPolicy.ALWAYS_CACHE to the test framework. + LUCENE-8356: StandardFilter and StandardFilterFactory have been removed + LUCENE-8373: StandardAnalyzer.ENGLISH_STOP_WORD_SET has been removed + LUCENE-8388: Unused PostingsEnum#attributes() method has been removed + LUCENE-8405: TopDocs.maxScore is removed. IndexSearcher and TopFieldCollector no longer have an option to compute the maximum score when sorting by field. + LUCENE-8411: TopFieldCollector no longer takes a fillFields option, it now always fills fields. + LUCENE-8412: TopFieldCollector no longer takes a trackDocScores option. Scores need to be set on top hits via TopFieldCollector#populateScores instead. + LUCENE-6228: A new Scorable abstract class has been added, containing only those methods from Scorer that should be called from Collectors. LeafCollector.setScorer() now takes a Scorable rather than a Scorer. + LUCENE-8475: Deprecated constants have been removed from RamUsageEstimator. + LUCENE-8483: Scorers may no longer take null as a Weight + LUCENE-8352: TokenStreamComponents is now final, and can take a Consumer in its constructor + LUCENE-8498: LowerCaseTokenizer has been removed, and CharTokenizer no longer takes a normalizer function. + LUCENE-7875: Moved MultiFields static methods out of the class. getLiveDocs is now in MultiBits which is now public. getMergedFieldInfos and getIndexedFields are now in FieldInfos. getTerms is now in MultiTerms. getTermPositionsEnum and getTermDocsEnum were collapsed and renamed to just getTermPostingsEnum and moved to MultiTerms. + LUCENE-8513: MultiFields.getFields is now removed. Please avoid this class, and Fields in general, when possible. + LUCENE-8497: MultiTermAwareComponent has been removed, and in its place TokenFilterFactory and CharFilterFactory now expose type-safe normalize() methods. This decouples normalization from tokenization entirely. + LUCENE-8597: IntervalIterator now exposes a gaps() method that reports the number of gaps between its component sub-intervals. This can be used in a new filter available via Intervals.maxgaps(). + LUCENE-8609: Remove IndexWriter#numDocs() and IndexWriter#maxDoc() in favor of IndexWriter#getDocStats(). * Changes in Runtime Behavior + LUCENE-8671: Load FST off-heap also for ID-like fields if reader is not opened from an IndexWriter. + LUCENE-8730: WordDelimiterGraphFilter always emits its original token first. This brings its behaviour into line with the deprecated WordDelimiterFilter, so that the only difference in output between the two is in the position length attribute. + LUCENE-7386: Disjunctions nested in disjunctions are now flattened. This might trigger changes in the produced scores due to changes to the order in which scores of sub clauses are summed up. + LUCENE-8756: MoreLikeThisQuery now respects custom term frequencies (TermFrequencyAttribute) at search time + LUCENE-8333: Switch MoreLikeThis.setMaxDocFreqPct to use maxDoc instead of numDocs. + LUCENE-7837: Indices that were created before the previous major version will now fail to open even if they have been merged with the previous major version. + LUCENE-8020: Similarities are no longer passed terms that don't exist by queries such as SpanOrQuery, so scoring formulas no longer require divide-by-zero hacks. IndexSearcher.termStatistics/collectionStatistics return null instead of returning bogus values for a non-existent term or field. + LUCENE-7996: FunctionQuery and FunctionScoreQuery now return a score of 0 when the function produces a negative value. + LUCENE-8116: Similarities now score fields that omit norms as if the norm was 1. This might change score values on fields that omit norms. + LUCENE-8134: Index options are no longer automatically downgraded. + LUCENE-8031: Length normalization correctly reflects omission of term frequencies. + LUCENE-7444: StandardAnalyzer no longer defaults to removing English stopwords + LUCENE-8060: IndexSearcher's search and searchAfter methods now only compute total hit counts accurately up to 1,000 in order to enable top-hits optimizations such as block-max WAND (LUCENE-8135). + LUCENE-8505: IndexWriter#addIndices will now fail if the target index is sorted but the candidate is not. + LUCENE-8535: Highlighter and FVH doesn't support ToParent and ToChildBlockJoinQuery out of the box anymore. In order to highlight on Block-Join Queries a custom WeightedSpanTermExtractor / FieldQuery should be used. + LUCENE-8563: BM25 scores don't include the (k1+1) factor in their numerator anymore. This doesn't affect ordering as this is a constant factor which is the same for every document. + LUCENE-8509: WordDelimiterGraphFilter will no longer set the offsets of internal tokens by default, preventing a number of bugs when the filter is chained with tokenfilters that change the length of their tokens + LUCENE-8633: IntervalQuery scores do not use term weighting any more, the score is instead calculated as a function of the sloppy frequency of the matching intervals. + LUCENE-8635: FSTs can now remain off-heap, accessed via IndexInput, and the default codec's term dictionary (BlockTreeTermsReader) will now leave the FST for the terms index off-heap for non-primary-key fields using MMapDirectory, reducing heap usage for such fields. * New Features: + LUCENE-8903: Add LatLonShape and XYShape point query. + LUCENE-8707: Add LatLonShape and XYShape distance query. + LUCENE-9238: New XYPointField field and Queries for indexing, searching and sorting cartesian points. + LUCENE-8936: Add SpanishMinimalStemFilter + LUCENE-8764 LUCENE-8945: Add "export all terms and doc freqs" feature to Luke with delimiters. + LUCENE-8747: Composite Matches from multiple subqueries now allow access to their submatches, and a new NamedMatches API allows marking of subqueries and a simple way to find which subqueries have matched on a given document + LUCENE-8769: Introduce Range Query For Multiple Connected Ranges + LUCENE-8960: Introduce LatLonDocValuesPointInPolygonQuery for LatLonDocValuesField + LUCENE-8753: New UniformSplitPostingsFormat (name "UniformSplit") primarily benefiting in simplicity and extensibility. New STUniformSplitPostingsFormat (name "SharedTermsUniformSplit") that shares a single internal term dictionary across fields. + LUCENE-8632: New XYShape Field and Queries for indexing and searching general cartesian geometries. + LUCENE-8891: Snowball stemmer/analyzer for the Estonian language. + LUCENE-8815: Provide a DoubleValues implementation for retrieving the value of features without requiring a separate numeric field. Note that as feature values are stored with only 8 bits of mantissa the values returned may have a delta from the original values indexed. + LUCENE-8803: Provide a FeatureSortfield to allow sorting search hits by descending value of a feature. This is exposed via the factory method FeatureField#newFeatureSort. + LUCENE-8784: The KoreanTokenizer now preserves punctuations if discardPunctuation is set to false (defaults to true). + LUCENE-8812: Add new KoreanNumberFilter that can change Hangul character to number and process decimal point. It is similar to the JapaneseNumberFilter. + LUCENE-8362: Add doc-value support to range fields. + LUCENE-8766: Add monitor subproject (previously Luwak monitoring library). This allows a stream of documents to be matched against a set of registered queries in an efficien manner, for use as a monitoring or classification tool. + LUCENE-7714: Add a numeric range query in sandbox that takes advantage of index sorting. + LUCENE-8859: The completion suggester's postings format now have an option to load its internal FST off-heap. + LUCENE-2562: The well-known graphical user interface for inspecting Lucene indexes "Luke" was added as a Lucene module. It can be started from the binary distribution by calling the shell scripts in the module folder or from the source checkout by using 'ant -f lucene/luke/build.xml run'. Luke provides a Swing-based user interface and can be used to open Lucene or Solr (or Elasticsearch) indexes, inspect documents, check index commits and segments, or test (custom) analyzers. It also has maintenance functions to check index structures and force merge indexes for archival. + LUCENE-8340: LongPoint#newDistanceFeatureQuery may be used to boost scores based on how close a value of a long field is from a configurable origin. This is typically useful to boost by recency. + LUCENE-8482: LatLonPoint#newDistanceFeatureQuery may be used to boost scores based on the haversine distance of a LatLonPoint field to a provided point. This is typically useful to boost by distance. + LUCENE-8216: Added a new BM25FQuery in sandbox to blend statistics across several fields using the BM25F formula. + LUCENE-8564: GraphTokenFilter is an abstract class useful for token filters that need to read-ahead in the token stream and take into account graph structures. This also changes FixedShingleFilter to extend GraphTokenFilter + LUCENE-8612: Intervals.extend() treats an interval as if it covered a wider span than it actually does, allowing users to force minimum gaps between intervals in a phrase. + LUCENE-8629: New interval functions: Intervals.before(), Intervals.after(), Intervals.within() and Intervals.overlapping(). + LUCENE-8622: Adds a minimum-should-match interval function that produces intervals spanning a subset of a set of sources. + LUCENE-8645: Intervals.fixField() allows you to report intervals from one field as if they came from another. + LUCENE-8646: New interval functions: Intervals.prefix() and Intervals.wildcard() + LUCENE-8655: Add a getter in FunctionScoreQuery class in order to access to the underlying DoubleValuesSource. + LUCENE-8697: GraphTokenStreamFiniteStrings correctly handles side paths containing gaps + LUCENE-8702: Simplify intervals returned from vararg Intervals factory methods * Improvements: + LUCENE-9149: Increase data dimension limit in BKD. + LUCENE-9102: Add maxQueryLength option to DirectSpellchecker. + LUCENE-9091: UnifiedHighlighter HTML escaping should only escape essentials + LUCENE-9105: UniformSplit postings format detects corrupted index and better handles IO exceptions. + LUCENE-9106: UniformSplit postings format allows extension of block/line serializers. + LUCENE-9093: UnifiedHighlighter's LengthGoalBreakIterator has a new fragmentAlignment option to better center the first match in the passage. Also the sizing point now pivots at the center of the first match term and not its left edge. This yields Passages that won't be identical to the previous behavior. + LUCENE-9153: Allow WhitespaceAnalyzer to set a maxTokenLength other than the default of 255 + LUCENE-9152: Improve line intersections with polygons when they are touching from the outside. + LUCENE-9123: Add new JapaneseTokenizer constructors with discardCompoundToken option that controls whether the tokenizer emits original (compound) tokens when the mode is not NORMAL. + UCENE-9253: KoreanTokenizer now supports custom dictionaries(system, unknown). + LUCENE-9171: QueryBuilder can now use BoostAttributes on input token streams to selectively boost particular terms or synonyms in parsed queries. + LUCENE-9002: Skip costly caching clause in LRUQueryCache if it makes the query many times slower. + LUCENE-9006: WordDelimiterGraphFilter's catenateAll token is now ordered before any token parts, like WDF did. + LUCENE-9028: introducing Intervals.multiterm() + LUCENE-9018: ConcatenateGraphFilter now has a configurable separator. + LUCENE-9036: ExitableDirectoryReader may interupt scaning over DocValues + LUCENE-9062: QueryVisitor now has a consumeTermsMatching() method, allowing queries that match a class of terms to pass a ByteRunAutomaton matching those that class back to the visitor. + LUCENE-9073: IntervalQuery to respond field on toString() and explain() + LUCENE-8874: Show SPI names instead of class names in Luke Analysis tab. + LUCENE-8894: Add APIs to find SPI names for Tokenizer/CharFilter/TokenFilter factory classes. + LUCENE-8914: move the logic for discarding inner modes in FloatPointNearestNeighbor to the IntersectVisitor so we take advantage of the change introduced in LUCENE-7862. + LUCENE-8955: move the logic for discarding inner modes in LatLonPoint NearestNeighbor to the IntersectVisitor so we take advantage of the change introduced in LUCENE-7862. + LUCENE-8918: PhraseQuery throws exceptions at construction time if it is passed null arguments. + LUCENE-8916: GraphTokenStreamFiniteStrings preserves all Token attributes through its finite strings TokenStreams + LUCENE-8933: Check kuromoji user dictionary beforehand to avoid unexpected runtime exceptions. (Tomoko Uchida + LUCENE-8906: Expose Lucene50PostingsFormat.IntBlockTermState as public so that other postings formats can re-use it. + LUCENE-8942: Remove redundant parameters and improve visibility strictness in LRUQueryCache + SOLR-13663: Introduce into XML Query Parser + LUCENE-8952: Use a sort key instead of true distance in NearestNeighbor + LUCENE-8620: Tessellator labels the edges of the generated triangles whether they belong to the original polygon. This information is added to the triangle encoding. + LUCENE-8964: Fix geojson shape parsing on string arrays in properties + LUCENE-8976: Use exact distance between point and bounding rectangle in FloatPointNearestNeighbor. + LUCENE-8966: The Korean analyzer now splits tokens on boundaries between digits and alphabetic characters. + LUCENE-8984: MoreLikeThis MLT is biased for uncommon fields + LUCENE-7840: Non-scoring BooleanQuery now removes SHOULD clauses before building the scorer supplier as opposed to eliminating them during scoring construction. + LUCENE-8770: BlockMaxConjunctionScorer now leverages two-phase iterators in order to avoid executing the second phase when scorers don't intersect. + LUCENE-8781: FST lookup performance has been improved in many cases by encoding Arcs using full-sized arrays with gaps. The new encoding is enabled for postings in the default codec and for suggesters. + LUCENE-8818: Fix smokeTestRelease.py encoding bug + LUCENE-8845: Allow Intervals.prefix() and Intervals.wildcard() to specify their maximum allowed expansions + LUCENE-8875: Introduce a Collector optimized for use cases when large number of hits are requested + LUCENE-8848 LUCENE-7757 LUCENE-8492: The UnifiedHighlighter now detects that parts of the query are not understood by it, and thus it should not make optimizations that result in no highlights or slow highlighting. This generally works best for WEIGHT_MATCHES mode. Consequently queries produced by ComplexPhraseQueryParser and the surround QueryParser will now highlight correctly. + LUCENE-8793: Luke enhanced UI for CustomAnalyzer: show detailed analysis steps. + LUCENE-8855: Add Accountable to some Query implementations + LUCENE-8673: Use radix partitioning when merging dimensional points instead of sorting all dimensions before hand. + LUCENE-8687: Optimise radix partitioning for points on heap. + LUCENE-8699: Change HeapPointWriter to use a single byte array instead to a list of byte arrays. In addition a new interface PointValue is added to abstract out the different formats between offline and on-heap writers. + LUCENE-8703: Build point writers in the BKD tree only when they are needed. + LUCENE-8652: SynonymQuery can now deboost the document frequency of each term when blending the score of the synonym. + LUCENE-8631: The Korean's user dictionary now picks the longest-matching word and discards the other matches. + LUCENE-8732: ConstantScoreQuery can now early terminate the query if the minimum score is greater than the constant score and total hits are not requested. + LUCENE-8750: Implements setMissingValue() on sort fields produced from DoubleValuesSource and LongValuesSource + LUCENE-8701: ToParentBlockJoinQuery now creates a child scorer that disallows skipping over non-competitive documents if the score of a parent depends on the score of multiple children (avg, max, min). Additionally the score mode 'none' that assigns a constant score to each parent can early terminate top scores's collection. + LUCENE-8751: Weight#matches now use the ScorerSupplier to build scorers with a lead cost of 1 (single document). + LUCENE-8752: Japanese new era name '令和' (Reiwa) is added to the dictionary used in JapaneseTokenizer so that the analyzer handles the era name correctly. Reiwa is set to replace the Heisei Era on May 1, 2019. + LUCENE-8671: Introduced reader attributes allows a per IndexReader configuration of codec internals. This enables a per reader configuration if FSTs are on- or off-heap on a per field basis + LUCENE-8787: spatial-extras DateRangePrefixTree used to only parse ISO-8601 timestamps with 0 or 3 digits of milliseconds precision but now parses other lengths (although > 3 not used). + LUCENE-7997: Add BaseSimilarityTestCase to sanity check similarities. SimilarityBase switches to 64-bit doubles internally to help avoid common numeric issues. Add missing range checks for similarity parameters. Improve BM25 and ClassicSimilarity's explanations. + LUCENE-8011: Improved similarity explanations. + LUCENE-4198: Codecs now have the ability to index score impacts. + LUCENE-8135: Boolean queries now implement the block-max WAND algorithm in order to speed up selection of top scored documents. + LUCENE-8279: CheckIndex now cross-checks terms with norms. + LUCENE-8660: TopDocsCollectors now return an accurate count (instead of a lower bound) if the total hit count is equal to the provided threshold. * Optimizations + LUCENE-9211: Add compression for Binary doc value fields. + LUCENE-4702: Better compression of terms dictionaries. + LUCENE-9228: Sort dvUpdates in the term order before applying if they all update a single field to the same value. This optimization can reduce the flush time by around 20% for the docValues update user cases. + LUCENE-9245: Reduce AutomatonTermsEnum memory usage. + LUCENE-9237: Faster UniformSplit intersect TermsEnum. + LUCENE-9068: FuzzyQuery builds its Automaton up-front + LUCENE-9113: Faster merging of SORTED/SORTED_SET doc values. + LUCENE-9125: Optimize Automaton.step() with binary search and introduce Automaton.next(). + LUCENE-9147: The index of stored fields and term vectors in now off-heap. + LUCENE-8928: When building a kd-tree for dimensions n > 2, compute exact bounds for an inner node every N splits to improve the quality of the tree. N is defined by SPLITS_BEFORE_EXACT_BOUNDS which is set to 4. + BaseDirectoryReader no longer sums up the 'LeafReader#numDocs' of its leaves eagerly. This especially helps when creating views of readers that hide documents, since computing the number of live documents is an expensive operation. + LUCENE-8992: TopFieldCollector and TopScoreDocCollector can now share minimum scores across leaves concurrently. + LUCENE-8932: BKDReader's index is now stored off-heap when the IndexInput is an instance of ByteBufferIndexInput. + LUCENE-9024: IntroSelector now falls back to the median of medians algorithm instead of sorting when the maximum recursion level is exceeded, providing better worst-case runtime. + LUCENE-8920: The denser arcs of FST now index labels with a bitset in order to provide near constant time access. + LUCENE-9027: Use SIMD instructions to decode postings. + LUCENE-9049: Remove FST cached root arcs now redundant with labels indexed by bitset. This frees some on-heap FST space. + LUCENE-9045: Do not use TreeMap/TreeSet in BlockTree and PerFieldPostingsFormat. + LUCENE-8922: DisjunctionMaxQuery more efficiently leverages impacts to skip non-competitive hits. + LUCENE-8935: BooleanQuery with no scoring clause can now early terminate the query when the total hits is not requested. + LUCENE-8941: Matches on wildcard queries will defer building their full disjunction until a MatchesIterator is pulled + LUCENE-8755: spatial-extras quad and packed quad prefix trees now index points faster. + LUCENE-8860: add additional leaf node level optimizations in LatLonShapeBoundingBoxQuery. + LUCENE-8968: Improve performance of WITHIN and DISJOINT queries for Shape queries by doing just one pass whenever possible. + LUCENE-8939: Introduce shared count based early termination across multiple slices + LUCENE-8980: Blocktree's seekExact now short-circuits false if the term isn't in the min-max range of the segment. Large perf gain for ID/time like data when populated sequentially. + LUCENE-8796: Use exponential search instead of binary search in IntArrayDocIdSet#advance method + LUCENE-8865: Use incoming thread for execution if IndexSearcher has an executor. Now caller threads execute at least one search on an index even if there is an executor provided to minimize thread context switching. + LUCENE-8868: New storing strategy for BKD tree leaves with low cardinality. It stores the distinct values once with the cardinality value reducing the storage cost. + LUCENE-8885: Optimise BKD reader by exploiting cardinality information stored on leaves. + LUCENE-8896: Override default implementation of IntersectVisitor#visit(DocIDSetBuilder, byte[]) for several queries. + LUCENE-8901: Load frequencies lazily only when needed in BlockDocsEnum and BlockImpactsEverythingEnum + LUCENE-8888: Optimize distribution of points with data dimensions in BKD tree leaves. + LUCENE-8311: Phrase queries now leverage impacts. + LUCENE-8040: Optimize IndexSearcher.collectionStatistics, avoiding MultiFields/MultiTerms + LUCENE-4100: Disjunctions now support faster collection of top hits when the total hit count is not required. + LUCENE-7993: Phrase queries are now faster if total hit counts are not required. + LUCENE-8109: Boolean queries propagate information about the minimum competitive score in order to make collection faster if there are disjunctions or phrase queries as sub queries, which know how to leverage this information to run faster. + LUCENE-8439: Disjunction max queries can skip blocks to select the top documents if the total hit count is not required. + LUCENE-8204: Boolean queries with a mix of required and optional clauses are now faster if the total hit count is not required. + LUCENE-8448: Boolean queries now propagates the mininum score to their sub-scorers. + LUCENE-8511: MultiFields.getIndexedFields is now optimized; does not call getMergedFieldInfos + LUCENE-8507: TopFieldCollector can now update the minimum competitive score if the primary sort is by relevancy and the total hit count is not required. + LUCENE-8464: ConstantScoreScorer now implements setMinCompetitveScore in order to early terminate the iterator if the minimum score is greater than the constant score. + LUCENE-8607: MatchAllDocsQuery can shortcut when total hit count is not required + LUCENE-8585: Index-time jump-tables for DocValues, for O(1) advance when retrieving doc values. * Bug Fixes + LUCENE-9084: Fix potential deadlock due to circular synchronization in AnalyzingInfixSuggester + LUCENE-9115: NRTCachingDirectory no longer caches files of unknown size. + LUCENE-9144: Fix error message on OneDimensionBKDWriter when too many points are added to the writer. + LUCENE-9135: Make UniformSplit FieldMetadata counters long. + LUCENE-9200: Fix TieredMergePolicy to use double (not float) math to make its merging decisions, fixing a corner-case bug uncovered by fun randomized tests + LUCENE-9099: Unordered and Ordered interval queries now correctly handle repeated subterms - ordered intervals could supply an 'extra' minimized interval, resulting in odd matches when combined with eg CONTAINS queries; and unordered intervals would match duplicate subterms on the same position, so an query for UNORDERED(foo, foo) would match a document containing 'foo' only once. + LUCENE-9250: Add support for Circle2d#intersectsLine around the dateline. + LUCENE-9243: Add fudge factor when creating a bounding box of a XYCircle. + LUCENE-9239: Circle2D#WithinTriangle detects properly if a triangle is Within distance. + LUCENE-9251: Fix bug in the polygon tessellator where edges with different value on #isEdgeFromPolygon were bot filtered out properly. + LUCENE-9263: Fix wrong transformation of distance in meters to radians in Geo3DPoint. + LUCENE-9001: Fix race condition in SetOnce. + LUCENE-9030: Fix WordnetSynonymParser behaviour so it behaves similar to SolrSynonymParser. + LUCENE-9054: Fix reproduceJenkinsFailures.py to not overwrite junit XML files when retrying + LUCENE-9031: UnsupportedOperationException on MatchesIterator.getQuery() + LUCENE-8996: maxScore was sometimes missing from distributed grouped responses. + LUCENE-9055: Fix the detection of lines crossing triangles through edge points. + LUCENE-9103: Disjunctions can miss some hits in some rare conditions. + LUCENE-8755: spatial-extras quad and packed quad prefix trees could throw a NullPointerException for certain cell edge coordinates + LUCENE-9005: BooleanQuery.visit() would pull subVisitors from its parent visitor, rather than from a visitor for its own specific query. This could cause problems when BQ was nested under another BQ. Instead, we now pull a MUST subvisitor, pass it to any MUST subclauses, and then pull SHOULD, MUST_NOT and FILTER visitors from it rather than from the parent. + LUCENE-8831: Fixed LatLonShapeBoundingBoxQuery .hashCode methods. + LUCENE-8775: Improve tessellator to handle better cases where a hole share a vertex with the polygon. + LUCENE-8785: Ensure new threadstates are locked before retrieving the number of active threadstates. This causes assertion errors and potentially broken field attributes in the IndexWriter when IndexWriter#deleteAll is called while actively indexing. + LUCENE-8804: Forbid calls to putAttribute on frozen FieldType instances. + LUCENE-8828: Removes the buggy 'disallow overlaps' boolean from Intervals.unordered(), and replaces it with a new Intervals.unorderedNoOverlaps() method + LUCENE-8843: Don't ignore exceptions that are thrown when trying to open a file in IOUtils#fsync. + LUCENE-8835: FileSwitchDirectory now respects the file extension when listing directory contents to ensure we don't expose pending deletes if both directory point to the same underlying filesystem directory. + LUCENE-8853: FileSwitchDirectory now applies best effort to place tmp files in the same directory as the target files. + LUCENE-8892: Add missing closing parentheses in MultiBoolFunction's description() + LUCENE-8736: LatLonShapePolygonQuery returns incorrect WITHIN results with shared boundaries. Point in Polygon now correctly includes boundary points. Box and Polygon relations with triangles have also been improved to correctly include boundary points. + LUCENE-8712: Polygon2D does not detect crossings through segment edges. + LUCENE-8720: NameIntCacheLRU (in the facets module) had an int overflow bug that disabled cleaning of the cache + LUCENE-8726: ValueSource.asDoubleValuesSource() could leak a reference to IndexSearcher + LUCENE-8719: FixedShingleFilter can miss shingles at the end of a token stream if there are multiple paths with different lengths. + LUCENE-8688: TieredMergePolicy#findForcedMerges now tries to create the cheapest merges that allow the index to go down to 'maxSegmentCount' segments or less. + LUCENE-8477: Interval disjunctions could miss valid hits if some of the clauses of the disjunction are minimized away. We now rewrite intervals if a source contains a disjunction and the internal gaps matter for matching. This behaviour can be disabled if users are more interested in speed rather than accuracy of matching. + LUCENE-8741: ValueSource.fromDoubleValuesSource() was casting to Scorer instead of Scorable, leading to ClassCastExceptions + LUCENE-8754: Fix ConcurrentModificationException in SegmentInfo if attributes are accessed in MergePolicy while the merge is running + LUCENE-8765: Fixed validation of the number of added points in KD trees. * Other + LUCENE-9109: Backport some changes from master (except StackWalker) to improve TestSecurityManager + LUCENE-9110: Backport refactored stack analysis in tests to use generalized LuceneTestCase methods + LUCENE-9141: Simplify LatLonShapeXQuery API by adding a new abstract class called LatLonGeometry. Queries are executed with input objects that extend such interface. + LUCENE-9194: Simplify XYShapeXQuery API by adding a new abstract class called XYGeometry. Queries are executed with input objects that extend such interface. + LUCENE-9096: Simplification of CompressingTermVectorsWriter#flushOffsets. + LUCENE-9225: Rectangle extends LatLonGeometry so it can be used in a geometry collection. + LUCENE-8979: Code Cleanup: Use entryset for map iteration wherever possible. - Part 2 + LUCENE-8746: Refactor EdgeTree - Introduce a Component tree that represents the tree of components (e.g polygons). Edge tree is now just a tree of edges. + LUCENE-8994: Code Cleanup - Pass values to list constructor instead of empty constructor followed by addAll(). + LUCENE-9046: Fix wrong example in Javadoc of TermInSetQuery + LUCENE-8983: Add sandbox PhraseWildcardQuery to control multi-terms expansions in a phrase. + LUCENE-9067: Polygon2D#contains() is now thread safe. + LUCENE-8778 LUCENE-8911 LUCENE-8957: Define analyzer SPI names as static final fields and document the names in Javadocs. + LUCENE-8758: QuadPrefixTree: removed levelS and levelN fields which weren't used. + LUCENE-8975: Code Cleanup: Use entryset for map iteration wherever possible. + LUCENE-8993, LUCENE-8807: Changed all repository and download references in build files to HTTPS. + LUCENE-8998: Fix OverviewImplTest.testIsOptimized reproducible failure. + LUCENE-8999: LuceneTestCase.expectThrows now propogates assert/assumption failures up to the test w/o wrapping in a new assertion failure unless the caller has explicitly expected them + LUCENE-8062: GlobalOrdinalsWithScoreQuery is no longer eligible for query caching. + LUCENE-8847: Code Cleanup: Remove StringBuilder.append with concatenated strings. + LUCENE-8861: Script to find open Github PRs that needs attention + LUCENE-8852: ReleaseWizard tool for release managers + LUCENE-8838: Remove support for Steiner points on Tessellator. + LUCENE-8879: Improve BKDRadixSelector tests. + LUCENE-8886: Fix TestMutablePointsReaderUtils tests. + LUCENE-8680: Refactor EdgeTree#relateTriangle method. + LUCENE-8685: Refactor LatLonShape tests. + LUCENE-8713: Add Line2D tests. + LUCENE-8729: Workaround: Disable accessibility doclints (Java 13+), so compilation with recent JDK succeeds. + LUCENE-8725: Make TermsQuery.SeekingTermSetTermsEnum a top level class and public * Build + Upgrade forbiddenapis to version 2.7; upgrade Groovy to 2.4.17. + LUCENE-9041: Upgrade ecj to 3.19.0 to fix sporadic precommit javadoc issues * Test Framework + LUCENE-8825: CheckHits now display the shard index in case of mismatch between top hits. - Modified patches: * 0001-Disable-ivy-settings.patch * 0002-Dependency-generation.patch * lucene-java8compat.patch * lucene-osgi-manifests.patch + rediff to changed context - Added patch: * lucene-missing-dependencies.patch + patch out dependencies that are not needed for modules that we distribute + patch out dependencies on jars that we don't build + add target for the new monitor jars- Modified patch: * lucene-osgi-manifests.patch + add the OSGi manifest to queryparser module too- Modified patch: * lucene-osgi-manifests.patch + add the OSGi manifests also to modules that are currently not built due to missing dependencies- Remove a bogus log4j build dependency- Fix property Provides and Obsoletes in order to make upgrade smooth - Added patch: * lucene-osgi-manifests.patch + Patch the build to produce OSGi manifests needed by eclipse - Install the artifacts to "lucene" subdirectory and create compatibility symlinks - Install lucene-misc as archful artifact, since it contains JNI code- Upgrade to version 7.1.0 - Added patches: * 0001-Disable-ivy-settings.patch * 0002-Dependency-generation.patch + Sync with Fedora's 7.1.0 * lucene-java8compat.patch + Avoid using java9+ only functions- Remove the parent references from the pom files, since we are not building lucene using maven. - Overhaul the packaging to distribute the artifacts and the corresponding metadata and pom files in the same package - Specify runtime dependencies of the different packages - Remove version information from the artifact names- Remove the JPP prefix from pom filenames- Remove dependency on jline, because nothing in the build uses it- Require the different apache-commons-* packages instead of jakarta-commons-*- Do not require asm to build. Nothing depends on it- Minimum supported java is 1.8- Remove unused "%package javadoc" declaration block. - Trim filler words from descriptions. Say a thing about features.- Update to version 6.6.0: + See https://lucene.apache.org/core/6_6_0/changes/Changes.html for a full list of changes. - Drop patches that are no longer applicable or needed: + lucene-no-classpath-in-manifest.patch + lucene-no-get.patch + lucene-2.3.0-db-javadoc.patch - Add BuildRequires: antlr-java, apache-commons-codec, apache-ivy, asm, fdupes, git - Replace SOURCE0 by full source URL. - Update to changed list of non-core modules: + Update source URL's for corresponding pom files. + Update %%install section to reflect changed list + Each module corresponds to a subpackage, named according to its jar file (except lucene which corresponds to the main jar file lucene-core-%{version}.jar). - Adapt file list to changes.- New build dependency: javapackages-local- Fix build with new javapackages-toolsgoat16 16773287358.5.0-150200.4.4.38.5.08.5.08.5.0lucenelucene-monitor.jarlucene-monitor.jarlucene-monitor.xmllucenelucene-monitor.pom/usr/share/java//usr/share/java/lucene//usr/share/maven-metadata//usr/share/maven-poms//usr/share/maven-poms/lucene/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:28016/SUSE_SLE-15-SP2_Update/cf27f6bc2a8a2e797691796ab9ed9cfd-lucene.SUSE_SLE-15-SP2_Updatecpioxz5x86_64-suse-linuxdirectorygzip ERROR: Stdin has more than one entry--rest ignored (Zip archive data, at least v1.0 to extract Java archive data (JAR))ASCII textexported SGML document, ASCII textPPPRR RRRREAKhl[utf-850849144fb150ab3fd7eaccab305c13e6ee409df4925ff64b90a119a6c1c995d? 7zXZ !t/] crt:bLL %aZ82?#xm )eЛ|}Mu yVvKq6 ?2;_ǪѐloUbJU훡] X u98U>lJF.{ E^36lzY{R *jD'3;4%Vaxh,m8\Tod/#s9 `aQ:Z2Ƭ=[f== `s>=!BeXb*&ZkXr̤-"AiNqHHG;I2*WsؤڼzgH}8"|Å+jyY3 2d8ɠrzt~ݮK'Ʌ!8~Ԋ hoI k9h8-T`w?_qe=x' \zh540fVطH0aI1B< r?XUK c+' Ծֽ'* r5e9ed$)\Teժ@#hdD^3qf:ǐ^'d`abcz:{$S,a /DM&iyljBSX.̪ON'M 3`rϢn/_l.ܫ28I.5I .w[EyHQsvͫ=o*pSxA18,1y|oPJEB2ZCB=@g*f*$!^tI,‚̤SQ[&QSBow įT#Fޓ>sq{rf}1ܹ2`Rq:9R;Qb鏠L/HRpX1B ߸sUCBrM`oO}& $-:Ani Aϕ_8 J/x8$  *jVY@K2TJ"ă˃ɷ6FN:m *);@h%(6],)ˏU8 @y N%8Aϛ+{.3J=w $z_ц^lk&%d5_hu+LLĐzB"71Bɯy*3n˱ O((CHX2iڦݼ<2WjNy75vՊ[zP@U0>Li=-NӨU^9A ւJi|Go3,NlK7 ݰ5@*#sG);/z%i`jU* J.ldseu'KڙCc}n\,L;EAh]ZIȖJ4կ=h=I/iV."j?v_$~@ԝ*FZ7,@B[^P²`YDn?97Dz5p܂T_! 黪ߔϪ鮡qeϾ<j26J)9}=}MS5ea QjKVxŚ~PC>Lh \>JS_ɸڼiDQ.kfx WoRf=whP-ukƸ2A(U׋46x磒-yԟ ݽFE繙1s:c\k_KXy1s&cϟۇ[ccJgO_>Oeb? i (nrϢOOI/'l\*|[fkGE $sIewW{T!\E: ԱJ(0Xa=#N$E@ ;C{gݟbkk19uVԄ0aiFL\݄s3qV??m~#)]Zϒje8歜xMoǪd!_rW.yn"[͢G1ފe7ُڸN|gOx.eJ'R9L%\NZ}9:MshSqm9: S_8&v-xEw&Q?x\z $AA5z0N]f6sʰX-J꧇>Xtp!=zp4k f2_1*ϰhA d^ncauy\ISۯ$K^$@٘=_>0J?'$kLBooQ#1)?DPd,u/[h[gGHxNu$X|tg4nMЄ´^bϘX,4Ew{L$8766TRVvü2$s]je$pdSR"\|"$d^}rH84ZLeޯl|k.[j (x}kӈXrmrfek5>`!}TH?)>hد|a (8[a¾M jse*`Jt5:_1g*pAY)3Zm9/-SdqI%fȬc Gn%!Kǔ%l40ú;أ&+fU.NnV~LuMT K.@CGgv܋jhҍA?9NzF[a[(hwCebvv)Pw#ds8@Y3hFVe3u(1Qg.*s9D| }ɮr1^6ҦJLzKګ-5 a$_J\#ISrL{M "U֊ͺޝ;>W2܏}[/?"1@,bSg<4XFlxrF Mi.ʫ]/cd!(UDH#32G1&/HM uUw]*bAsaTjULrFnyVD܆vFV ( &.2#eQyٹ( Wɼm=-B`n%JEB5YQ8Sw-N[ە\ެ7鲝-Wfa*G8rWnL#R) 1e?i"/efbCR+~tc8C*S*2<9hu>VN J"uЖWoWRc^yF9'0>] ʠ~g۹OlK u ?Uұ8oVlz nMiZ8XdWMxt =?}7 #ŀ1v#?Պ<U8;ugl.Mw$@93Q|/e?hܻM Va=TP'o譟#-}L>v){φG0NxI΍`ZX ksmF;Ah<4d&$yU; kogcjNhE͇Â8|^AB;0N zy^+> x2я>_: Dյ(sEG0s]|ol {z-0*yUdGH20 \,Hx٣alQ-Yq+ [5k=% 1mFFsr6׉ 0YX鞡GߊJQc$Q =wB ; 4BD s6y=Y?ewDEQz:&Lfd ـ+хhY/X*@~=ח {n67le7){-;7"wQluv6 MQb5Ky! Fl2v 7W5ݼ|nrQTv$Mub6 UtDu痒0 Z ד7{Q:۟vbhw<{Hq5qKx͞Irΐorκ8M/9. 5͝w J᢯@мY[A[--$9!hVI5oUR\t0 Ha_xJ`K78ܡN`|]T>j!l S2"۠'n eF,Wü2#v A aqW^Rz+ӯ;&hBQ| Fn4<=\ ^y ;y@ش2$Fꖶ6B5{kMCtK J_WxX[f)0sWN,ǔp*}Q "vN ׺푟 &L P5=@ȟғ(~u@JP&u3pZ f] {'x}MF^F_^;@CenIPsՊ.=!H-1hYp7}B d^erh #'_S3MvoRM띰ؙcmqn[s>0@ԟ #HlC4U;9Ǹ'>$oEVn%n]DE+Q[%pMQKz46`3ܺ V\`qy ~L&ƱT'[eE, M5M]ֱ)fkNpK~֔5SY6%ԐQo]EjmzAU<V oNPQ }{Hb lcg6Ghq2}:6KóP\)Ab׭Īev\uƻ lBw^bt:(&+&ZfٷOweg5 "M[B"UcPnRCֹ&ZNGE&#lȬ)q8>V8zA4B ˔Vc  U(m/"Tҵy(RK|هrI7iPNYK5O3F$$IdF(Dz[`:o%*V3l?H9P)jOm4d&] C"+IUTckEE5 8EtdHIM JHvή'^6;`A6)s}̭aGx vJqu-֝Kjn0=VV \`"iի/3R&FqųYq)eÀ"0Ow*kGLyUz &-G!`mp%!h2*i*d4Qz3w HI'yfxL`9qףss廙|3|t%4p`SxU88j2e7`0o^_%~5:=t%7\jl壄&,==L|=ZI}8*pcْ]d~hⴳ1Îڍ-[7fňI .ꗂƔp{bUnV"'6h Kcb4y7 BeKaWᥭ Vٿ9)@Ǖ)"c6ͪdcBοO<3#{ waaGjef_pS*[Jiyh ̘3v] mrNޗ ۬>mn[;<@P|h8 Tkcjs KU j8m,~bˡ$qwyd%xI)ߊƙ*3Za^k(]ZOk s8"}4aN |(EW9KĻR~_bMV K0?Si2}c'BhqzC/ !*23 }"H2I TnTpxt+ovA鉬{jۭB o;;6sϿ(D)(tЛ/ڲtLt{{2ڥsY貦"+ ht)/ 8G "Wdj<Smc׷ ;,uXZq=~@ܷ\+bqU5o%tgPh ) e|W0٣,jA4W1Ҽ ζ U1,Ia@dŎwhםg:-mW_@%5r^AY 5ٴ4 w\pǗ"3L/6KqoA0iq"ޟs20H:,0 <60~jnI$hwHRƑ9@pX\LÛs Z('8\(ɺyΗ#j<h#ܭ- WuxF tg~rF7>YY.@Sh_;Pȉ?bKxNf;֨$`koH/dPU#ݥ…`xfs]RjTt?fUp\Cwݸd?0HkQQnfթI.ؤ&Uq[{ DH޴{,}[3{ݜ/[lNs;$beTOgDWYulsgx8/<ܷh%$J(쏒Ё?Yq8ӶDq} Q0Jyt35(3J &ɽh(L0|m=-Ѫ Lq"{gQX@\~8Zqf1"2;r=:lj[ ¼Q. JIGNPf4bs5'#YitVO4}Oqh*BO{ e|;ňi 7-c<,'bVf~y2F:Vޅ??{&(]c^MQ+{NHΣM\$}rmL2YQUp >w&2[ 䙬iCvnрķɦ6FjV KY.QO`7ànGmFιʶ/rt(bd JKQKV/Ҡ֫:@f72.>8f!Hv7Y:vi0^cXTepr9NIE+1`XGGLC/kE0$;QrɠZOY8P*ïz쑑|27p5|! "*~Fʧn+M'xskv엢0w5$b!,tO^SU0Q^SmuԅqIב̚ZXE#.HϪ;]fCNdq]bDi&I㌁K50m,}h>00W>PFz&hb =}qSt VkcJN5a? 8mj*B0$ n-6;Qd=3^sE[3e ә3 7]#aR=_͏ 617[wbw9m81 }IQw͐ 1 to}BY q`W^|`"4a sHŊ.bf{+PߜAeSȲ'Bz4*y4%;>R^.6;~"UM`^I0 WG(\l5MWcx;E.3ޘp^Q %иP ktWhM}̯K[$uD@mA\&Xy@n"vc># }OXٖREߔD]bqyNN5q@i-T+Ae,s*hVss-)qZq!z_P0$~3F6bG}MTV3Zr @=̡wDt6 m0`ŤsJEpn`Db l[L⨱̚*Ƃ 8h¥zxcM٣W)1^K9#Hq`[խFI5OI8bSYW^#И͍ηCXNNStvY.g /s U8{СLl nbhV]' ]w>C2(N1q#\sWP |jd`\r!adJ5~Mۼ݋Ǎ9_s Rr;i:sơYʲ0?_us-h@])dĴmD٫ʱRhV9x p. w&8_̕H 6 ]7dDQRxSC` 6dTqUY=-ײyQz[약N{J[v#" sA$K@!~sdќnS$уlQ%?#sSɹ0tc X|OG uYs31Qг oe+̞2˲Cz߫to7CX~3,\6}6r5|ͨf~A-Ӵ"uZvkϗ=bG1l c#b> v`b 7eRnۨ:i+gDv6mroM +9n},ضBm: Ϟc\F\1^%L@˪P@X>vcJ"z};$R5G[؝y>CSv7b8KKo0{(&S o1T}wx3f$iOݿ=IcPpg0ZQ}h3u8ѱj~8){@;ވ3/G'+*SO՝wfI vx?@tᑒS'^Ka~OmfzY>>L-/mPn1n !wCζ:y wctѲ>u_;z^gk%}O=?Z Cӂ%|ʳ"իf 9g;[sLU 7Achj^FJd)kJ DYCǢCbk7s0sɬV![(Z:j`76C;3Bh~i^y5BpŦ\[A7֦:.Z.$!"#e!]%P0l$$n49n8{ ceAAD}ʈ>bNJ uGݵs2ezH07e: vۡ4S9ƚd]qJxQC-M3BKW?̾.iZA!rq!m+D6>EJcx^$W`B7;%vTE E8QP(ҧmZ"hnB dqKLIv@E6]V,eR`e5XmPʩCvcØQ#C'R(K|mEt9o[B nK㯍٬E)wM E;TڞrQpbunvt=H f=o=ҀwaPb`j& d'ԕIzmYN_?.؈ Mzg1S(&z5Ø*qI6"fBPF.!.p4e{ "ϕ9 '6)sc}LN/eTAc`nzoV KP ZHkr`0&@نa)SikD245/}-qoZ%H>+]eVu&RVFѺ8:Ĭ|(l X&dGf2 /U8֏]&}^kqf]RU ö= Ղ炬9E#k͟ŘÜ3<'v7do"${{qs+ 2N m9VZ@{܇!NĆ^+S,V,"$%IsK>-ƴ+*@~KHcP dŮF8Wvg?*iW1D46T p4|v¼(YH̉ y3 =j=' gLc:[->ctmp&mI0^+ጊFbjZʠA*̰`-TĖ^6%3cvc" ‡]=vߤc+q{K2t,q2DK>ӥsD(qϸ/at9Ħ] LN6G7+DkP迡 p#DX}Ưf~yft9U|Q7+zŃ|C!Xj,j>zJ; ԖfG^m8xM jN 7b>׊Y$}$,a&OqyH 9vgJ F[Pw(>qY_![#/Cx/6e38/s+UH&G2V,ݦ#?e*y)'4bX#bQT`i{/'(8Sk޿+-' Đy&%u=\9S ֡1Nm'<9hV>O[R7 T52 1G 1HuWjKt岢ak)ktW߶o!Ey,a2&$eb6D)\D(wim KZ@@g܉pLJ$z2} +X Xy.'10_DUҮ,f sqCqu1QL~$] !/ѥeLUi 0N.4i'!8奄ĩYgՁKHL* ):x]QgB l!y1n؆ 945p:.KHOХp6+uY!;<[_ cQRD|f٘5v[X\MaWkl"RS[g4&{ eڭn괟48󎲴i8)  B"U И [rM:VSo4Ī_ 6|yRH0^ *L[&z..<_A [F*YqVi#z!L𕇅EPFQEE:Ս$7/@3z?x\kޯ(4e&!%lUZ8׌OE ;S9*MዙL=!t5oh{MU ME=Hͱ7e sqd6xfj`lU}pPI[@C? =zx 1+p6)[;44%?Xt ]$tǟ},窴8}!]Rj/5ɡ#lrd|ev1PTA 4WU:RID?̎6?5o1۽ : ɋW#t:*-8m2D4Nu7R9Ba-UDY'.L8%?Y&i/0BənufhjJT&LX$R m4Rvx*S ™K^؎a?}1ؓuƳK} '1vfGAmy hZ* me2ߕbD6`#@E, e\Uh (؝yn@A߯[zZˈ! j`j-96-S#ʶto.^C/p_ ɮ40lP.9Y.Ġp8<^/t#S8f8J/Mm!s*H/2+kA;N܀3U%U+> 7͎iSkf0֪[Ϛw}7)PlSe@.­t E-qpBѹW-BH@W.ȵK8R8(J5HiI4K f|$ϐk4fЏ=ǒ=끧G85)SeeM|Duuv~S+)g7Fm*M xlN^,gH.i/ny4kG OZ1dAfhSϾKS^[`DB5b;bW]E/c gDm4N`5ޔ&1 FlТXVqia# QyVnY!&XtҵH' %%犿 Ł,"?K0l;@ b/S";|~ţ!R .Dīڜ7?CKh<3l-<` p]th_rz~rQ%Df@\IO5 @J c3 f8F,_' <sBj%l7d {FGU#ZZl'Gl29h&(޸hbmpGMuKdMӶ5DRF8QP} #BI :< >~6vY4vPGSa٤N~RkgOHP%1E'u,Ol(焭D׮ɒIN/jQbtoө~,tpG-B̓R`}olZ~`6`.Ɛ.9r!W,<\ `&i⿜l}/u|t֛rf.'vTu~l5mh:,>G99bvm9Hn S5l0yi$uxX;^C*;򶮆j&:!Y옥-O*R,[ަ%]hjMqDD{@ wv`F -Y\D?%CYxERY ڃ凣Ƣ";otZ.=&[_|IЋwJJB,xEǁN~^IaK}v%&jV@ԟ}rAQBK4D am!t  /3 Z=1SāU_Y=u'sȬ2֩@ᇶ)r%NB|kWjrB}:f sTerIȺf- w3+˭z_Qɫ #ca J-֮x2?oNCkγq@o<؅>0(kV0ߍ #sz5z͡ v.}lStG>|7h=rGS@zNv\$x5{T 5*q> ID|uηɮ%2 WsX*hxl" ݡL<T0Ef@srS1锚#4?h8dW/۸;ȭތ"wNܨ9P&cuzIDR6( 9yNgǗZ:׏ٳG9BzQqaOkfDkWJ{SI)󗧯_ <Kp o >_{e8RfJݣ{ ?ҧ Ds꟏,'ս3qwScwIoO,B8'sM}1,n;::utQ" qO9#+5 yy TSOI2qǿBٝ-/;յA}!΀6|@D߂nE|2\v7*O-M<U$1'kНGoy#+^Bӆ|[b/@u0Ϳ%jdGIW߻d(e0[%Boc};o VM#hX4$-] y7[TWo:Y3 oZ5PBthw`{W,% p#YÂ`F mOt~`ɢqiI $= !^o;Ϥ;q񌔱{øE1TDs[g0XȹlZluZV(R(U]N\z!' 1O_9>)LH;(yLIC*,}tůk \ ){$\aBPoV\f.\ؕ Vh㔆?."8K$C@KbpcRg?gj &eEIKx:_ץÇ lؔG`Q& H0}gL#IΠ(2cjkQPc {fV(#L`(Myph#rU:(s%IiRN_9n{αV7;JT-YZK}#-٪>r0Pĝ~u帺{uYHs%O),(f-ǥ8ϙMxƞDoh`۬L,8o;en$zxbNM. be4: cjK]/o>KzVJ %!ο! /GN`ՠ]_NwcmYN}8%FA.">Z~?@*|BuPzqÆƌFMS֌, 9|0Lsɸ|Upȕ=&cސ%nkd._'dP'1 4HO z>BQV뵒ȵOV(b )]$`kdlwK4B*$CbA?^[2vʛt+cK !C7"H^4\^ lOY֫~f[/ a 7 '5,YCGdeAL׏s2CCl]xrkȢ 'DpFAQv}8=J6VR]2vcŕF7_]Ϡ<.p!9Ϛlٸ D,tgii3$22A}vqVm/xA 2hȲ8 O]h*܌B#'y~I0.6cL=|j"d.lOnsw@o) ca$@&UR2!ג2;&"֩gN ʆkp"$xgEJ;oEf,bx5I"iRJ?;Qk8>1`xk2ow!w;?fxMR&}4U3L |*!wvOO^Zx-?V|1|ZYvx7C*]29y7+afgDe0F)b=: u _=iZAsPLBB0,)J6(jU'Q Hw:UCp.!|]%e2LGګk8[ z*% qk_@i~)cx,RJJ=wB9N:pZV ݕB2Ыg - :4 h/ZHALeDΦ.ݔȤ[_5xR̮jL >QkWbXfš%Ma SyKrz`3 $-il}[OSȊ܌).{x--V{~7N&H8*#Қ(B5g.Mº}|gNYXsFhs\NZ|LYÊT͑c1Q!'kb ԦDRЪ JYg$0Aw"~mx`jF E#6cteEjʏOl/lf{}"qL>(]Ua*ታUNŽLҦA^sYM.#sa%@13+c1kGB0(\йʖs r 4ϐwkk~Cԯn<Pg@Х׹zQ֗p͏jwqglYX,x 1'ӛޝTDbJژ ڤ:#yvggTB\h#z5$ј5`lv -n,4Ċ??2$E LgmPKڵR2٭U(FJd3UTta?]k Ǣ8U9f'cfS=i[h'~ofĠԹߘk8]͘k>f)/~ϊWIq; i$x|Oe[iΞpQ Q>|{)YќWvGsada)F?geS^t܂oШ̱4UZnf4➏մ eNt䧇cϰ n nMa5W&OBޗ~[Aݙ6硫\)u{XV2x٦0 ; S?:=5xf̋ᾛTw:)oUyq7ӄk`ٟy5$?ԯD $ 6hkܚyEAtʍkA' N>H]x{өdvUf CtmF?[M,h X?i7<H-Of~ yl0x/F`4[sFn]Q4ޓ6 %/:Ľ0Td6aK#vP#KtFNa[7quBb.b-亂7w;v&οRB YM (9r _~5de7slCkYrz Q6 ]/!rǙ3`?f3fݏ0R?L}w))\cj{6d/q `jN4@69B^Iw ɋWtR,T;Y?k^01EϨ#dbP ̣-&%GJСI9FqI3?@ڬ(1| (y|yPl%t}' pNIWāfwHoq9iSRt!2[~XCQ iW5FЂ@IpN].^D33Gɷ2bC 2:Zl#2P _3|iY\SPһV}|0O_9ʣ wG;|Fx6bCeǙu(`0]\@V'[:*%zhśq_MuKvuҼl=럔QK%3lHw:!`(6rڅKиT@*"X|Au9) s}jj[KIzS–i~9S|6џkUHhMrzUl"߷U.ǹ^I 5ە)tS\FKy YwBi UJ]>K`rk! r&"mRNٱޱOH6#SPWS:;[ K苵ӽ$Y¶Pi qzGыg @*@2ϕTO!EdyNˈq{EM 5=p[D  W֭T8 2B=B U6 6,դm\/7Z">o !T:U bF ~R6rV-k<4}OA^nQl^k 5nfo*GoQyOAVö9TL҂Hv. Oo_JL Jg JV+5=)6)RcF`EI<Ϡ )`)PlF^Ml6`._'=+쯿ol I<ާ5dgƺ%e.OcQ6O{_ у 8efIf*ʡ:[)YhXKMh2Bqpuc·4ɾ@ͼKuo늬'9~~jyZA{07(dP-DV)1uz Hc E@w h@-APfK d'Ɍ<-i+ӕƌ2<R쌈2#0!4-2;:<B8 Eo*:* ׂfFNV79?,؞rx)hq! sGb, |,gǛetmr[xAt ޗ  COӐ'Jx+@t>sZʪH?~s.Rt]SԷFkN &"HGςYdGܣK wYٿqU"; ^ZBb4opفtc,|JT=HokH"M#:>eǴx&&<Ki #W7 }-8\_V[J0!mS©,Pw{&Xv9%@Pf@uT,nL)B|j%m^qZ:Q&ٗ c8/v}c$CX-PwS<Yo'#6J#9*;C3]q7Syd<-k9815#l`9*xNnڿk/IK)K|X#wm2iP|b|_b3΂5I,wP MD+`uU,בKBz?vͼNF4 d |aX"I.*l2i~l)D0awR:7HZRXm=v`1OA R9iRqCM` \| X`ye~yb0`:` FGa]hjf2֣FoTVge#)6W`Ƽh 4uI| E{F2Ҋ1ǻ_\eq(3KC"V0~?^6)}m5V=SkL!-=\[; >ffQJ>5 dN·d:bf+Sӿu* n9RpY9$+0R{͚HR%Xp0>h!\ cљ &ct@'CVD_eSu pU>Ğ@ZsԿ@LmBe+6aqUܶ1 k0dy~ǓېW p6($MX5p,  i%A|h>: .|cw Vz tZh( w~3 :2ZR+Ix 5sx.Yͷ!y!nBWx4*4Da㩝5`F' 9IiռHП&źk4bՐ3<* ؃݇ȥ-TcW]IqCG&ؕv|?x:Ϫt;8'0G˫ OC/sID+Lo(DN@Շ33NP}pvqLp*B,GEV"<(ȧ 䪿]4t̳k?| Ř DZG{nBqzZXVo1%ʈ>xad aet;\gBpuyE#AJ7xbinLENTd(!OjhZ›%`4q"uǡoc#W^8}$ ,煺~LW#s| vCPhېx 1^ߕub_ͷ"Cs]lIaӉv ^Oh 6Ϫl>! O&{7>% Mǖ|hiGT6{ǣʍ6ӱ>3!x#/C[b"MwƼ7r<@?zrEFN_u7FW?'y1a>=wjڑa3!{GQjۖ$mx[^j*B^/D$9ҵPd:nzFvr|K/gkrr$HRQuD0zQ:Lg~;C_e%kBd$KLR<_..YmVrsT^^kHP=^U*\.Ҋ,AJwjBS-@uqt0g I N}Z) o`w MبUɹ"1" SgqSۏK:r5Á3Ѩ qJ?4~QŊL~ ,, v6ݧ#} FB @+cwDރ>.#r~EQF%̫ N9PFHoMQ8+07p\&@ Png ޽Ql4 @we<(ߘI0IȜZd2!eL%AjUaI-#`_2dڧ/Nbܵ:y$X fD,X6*5SߵU͏EPV0SNE^ C(pI=,G?q&J@lj<a] G*l:WJ,tw[c 6@bv_Tࢪ66dxrN h xB u,ޞ`YD-k;DckJ_}Bp]!#"]W=p݌{CvhkBZ~&A$CmL hDy%R~S{_Ke''YM!㒇?܊I݊rl[|J U 5׵\){qo}ѬPbpe?ull!J?Ța.{# |#:0n5i@:!Q,n⹅,HC0iެHmc.̫Qa7)5t[7 h?/ Dqg Fvиތ5 tYv u]>m@9r0oE}O ي"Cf|Io+D(1oehIF f1,]bJf?l#y@,*el[9oW.~kTyp7o/jҳ7,d,V(AYNB}LnŞߑ6!H}n3Jhb2HW)aY7EU$| (|kM忣 \Cs6dq7\7F91PXg|22xVS9/W%%*d-DL8_Ś]gt E)ہv{?n9:\j^p7NsF 5gηFT}:8xīZEyx}Ng%6&MpFiOS^&^;$#] C#iH\ pqo1nWIgn" ')7FjBvZ[oGv !9GMoL"=?Hw qEP%I)pt3B&jz_&Åypeeme|`q匀5O8"5J72MO K7k?DOڍې4Mʊ̞|YUt󌖏wmlsvm zogz0 Q9{lZO9`ʂ"SyF93xknpO﮴VF$M)|aU.4N%L}>`khq>07k%^˖fub# qxV`Xy^gTr6Q0q"?qt>ixP[575p&D%]ghĤ߽&~-wZrRfRZ#OhJ~CB ǒQlzo'8C|KC=f}-6cK4C :P?0n\F:^>WʌNx˴ϱE8GZ%=&ԹU #@>W1ZޢIқKq?aA$luުNK)S=R}%ap#gL4k(RfwclHmY}dÖm1% $;,I* KRD6C,錈˝\0MC+5|q\"ar:Fp$xaE .[t#n0WF2)ϕ3LQyfΥя2uq\QoJ%s7n-C@'@<"#u bO<&gE&6>hZaKśGb; RZOlB(=GUTf+.x`]O,ko=Tyڳ ɩ-LnВsuo=lDΫ<KY>p)`>xwRo'?LaIl=$N0pT3%cL8 #v6D&*=\*R>6T Vj5xg{t")g ~ >,6 GI~Ce}p+t8۸yo 녟Ѹ^㷛#ǬfڦBT :1ڬRVͯ%zCk(5ˠ-G_Şh 0~RW"0~]<ݙ{5c\r9&z=iqbn+/ӦR^[o)eT<&KnKPނlڍ [5G(e<+jk^O{oQ48I@ ,^K8d"nӲeKQqրë,qm0OEi$*~ @뺻c*i+=o4P8KY!WB U7#?~UGEܯ4v!rj닝 E(pCbWM' #9P6oRCAzъjBWV|I8vπ_3 u ڋh*f l9/ AELz%&)0M&g3f]c{Y"( ؈+BxbM2ob)^B  &轩sQЮѡaID-_[d ?1v(_ 86{>wzrIǂG`_:)@N&T*7# ,Յ}o q[6XWˏ GfDFgBh0R|54Cgt2܃6%fDgoxV)G& +BUa[0^r*Ѵ@]ڤVWE#2f}^撤Z^j.njs+@EXw"u2q8.q>uYZDP#K)T^c/I=F ⻋umr5ʢlK*;VrozЊg) <)%PrRBN56ŒQлj%оL3rtտ$Xx藟KcˍosU\Kג;wqy@4Z:yF:W}tK6!> Iy>n/I]d?[?Q}:XɊEnDh+oδRnxG MٸSm6Z`(sh1o 1Ӱ=YhR [ӡK%(Cn #}]4f4LdGW|gUqb8yfgC ڗwXkPxUKcs#b€P'Ġ`08|7xggj +9 L.=)jdJZxjQp?W/.EySQk<&(DZZ=m"rF=*{+]6-u7+WV̉;wkA!1"9.<_D? 2"XX-|Z+T a7.Ht?lF QެYLYPZV'H+Eᣏ3SM@8NTC$}ުu5fB֗B qmmjק _W7"xZAKVcтE=Stng)Fol]x`#q>s٥ms.Q +ENP49-\R~Ż]ːR22G9"EA޲6M4!+˖ݒlu3>;Zw?}2 nX׊T{ycOiI [C/ц[(J&Rt^2'2*bkqrX-lڣp1SDz; XF?UCȕ{FjYUsKˍ@ߠ{X=o:yS;PGs<ξ֢R- ڎuM֌}&Ds޳Ghר4C( P펚fUN: %) }{!ҷ++3mriy+RzģvʀR\}jpґ|ˬOJ/I'$xf殝PU?ៀatl]*8[K{ÌT7-< z9gs8y5ȴ1W '=iOe7_1;=h mCQЩ 6sgw?JEiM [Vt uzqCRWhG0DRqbY?*_cW :dEnn&{^*.{p;U!a5 x|s ݋):?zYRQkO2UDz63!5kor/9]1[m&iЅT^UMvDL0"վuPxYmK 0PW@~;@tǑDhj-::Vғ \ŨoFF/ VX=.ڳikg5 jQn)h7ZNThXJsrGBGvVF0$$e]$tkNj BJ~hg^|"MYQ_+mn?8D~F,E)grpefr]|MVe&mkRz 4w!(6DE2[Fl$hG"L}Kgo{Spr.f G!9o?Dq7a82Ȋ󲵺R*c{ۋ:9'S ~' ;It»֯y33xhc},#ʿ$+:w$"4Kpc5TJ\Hj>pʝzG\# ~}PMUrq^s1Qe z u!J`A qB/w BIpQ99ie z8v9NUXRc(;`)0 oJt?8Sq#QMz`%|1-dN|,`ǣRկ2Һx((LE;/=_uQS b*>4ew3Y$! }qT\a0r">b <¤_~T5s~K[#΅G=}xݤvH0.PFQXy;C_$"i[J> ' JË1 dm5\&z0f[Y\Z<'#(NGW`+;{2*n֎Vls&\bC_}a߅zb뚊-ߵ,Nb,jEZ ov dJԖkA 9ُCFəCsI^JǠ6jeդv[}z!J춆V77.+;4R|wUᮿlpbGT:,% 02شÙtVw!KCu` :+"_/C r^ǥ]k`|3x$4keS1B!x={pXPFADjbi\iwA[8Wy)'JғH˅%Ӏ+JAuJƥe\*I!ũp˫ń_>>%3% 4F9tԃ0+ؖ\# o_ԓcR\ڹCg Ru͂LVN|d?v:{1 R9IGA?-e,I'E-+,e~|[\cJѷپd6eDN'ϪN_u-w5#/ Zx88}6: ϱ[h_ ~T[i4V~"]k 7J 9 @!,ȁSJl!|;!Ŋ ա/ W~WfEXP|>Zm-9`AQaq$̃ 3{l %C4юϪ/ ]BusvW4q2ϵD[*z帲M]>tAoupiKx.mJr1u GI3?V=`+ma߃/ƍ$n9u%i>y،-A"'$of|%|~^NukhSCddc _7[mS&v1cl_- $M.Sk'2U i3IzGћyv-"Bŭ;IHp*.PL <O>#6l2O~\,+7#sC2(hW: ]S}5K[#~J1{9ѽoBy!DDBq &NEh݇lU!ݕ닦=n)}HPʕ V ǹlfy2~X?pXBFN+@4d꠽J`9202v'g1Ҝ{dXR̓5Y=k9{؛xFwOZ8G @h.GOb^GN!Xaov l?E&7⑞FOxunzހ62ݽO9لP:x N JN]!+- s}0&6s}ҢyMn~`;ލ#se_6fJ(:#ZP!NTIU{FԺ;NL!z}.x\@)_AJ a;i.Q0PPzngvukpjc̉Wfx @j&.tCueG̝`.c|*rްgv4"K[5o…`vrcvrN#(vMnue"T >d /^^uXz _}$kƫ¹50sc88˱&rF̄0x A.C~m-T>cDC&k[rQ b$H)549:$rA=I)62Fȼ18WÜ8ы1I┫y >Y h#|%q`U]9+MʡDS7[^.apˮ+圴's2S@HLb7.OĄȀZ_;,̹9OwZ gjR7Ά6@W"}v`SQx jsjWq@e@VÈ)Q0Rdb$4)|abMQ mZIAGg;D7Н:.Q(mt/"+1Pwފ &83'˘?ek`{g9~{fVe]+}`8J}gF1k!rys1Y_[@o)gK_u㞨\w8bv-8.p TF[bˤ#Ph'L3r>=A=T 5FR9 VrùN 8)AU(Im˔u©nYGڒ3,H<tOwh>U4Ւ5oߘ0BXgS"Mm+Oz?Do-js7/ǧt;\eտlc] ]t3 1=v1a糫Ewd17ޮc2 h\tzwh|1K~DvCsgXngs%L]NJ5&Dʀ~b9[3W~u1,H 'b@Gz6ѩHjV)N7ն.AdON/Hϫ?~KZA:l(h !hB~5j/=KAЎ WCg.J7oI2= QkNr8gC1u^9_=qb*>1oeQhi߳(Q @@;JȈk֫GMjAH$.2f[^1,8XQb*";@jt;t63@m";ObT ,qv5>ܰBQ LsW -<ʲAߣWH:(@7Qw6$BM޲#$2vӅ{oR^#rK(ckZJ"Mt"X 1dZq"*낤ɲ,jVΨ_7 0T`+8Qf>TnS'O!m+t3 ba ;.38 rȡ2SghmrߑV::렃{HqBܟPFfI\נ;.ڥ[^l .sc^@x*9L"`wNW ՛lg7> H"TMV|ы8w  .oafHzJqxVNs0Kޞ@ <+(`MӸBOPb[QȺseR]b/xRU><!EO87vt~w1yY#}rQDI}6aӽ9T&K<%댙W}$of9n=il9;;1{W~GA-0%N`> Q\;Օqte:*e=J&S 9UN텘NJrev? EbO_'CPnlh !kE:-gӠJ+NYԭ0Ts``yE 4u7 r#<\lWMB".rjɱ,ڨmh.|A|`- E*\qwB1WKc|Dd}IL46 I`M#Sx; դQ@glG,H )f1ԑq;_0nH tw7 …b;{ߜRa@Δ"+[KҚA`Ayg>`*=M? "nۓJ=OR4rB;VuSdBƾHUo!}RNPCry0&.K%oC2i̜ <7aϡcaqJs`gKKc6BrI뫭@gQx[#%U m[g~GxEK}zQ%H}_(cf8U&*LDԀ9AYN;r:Wߟ BBYR K{`{[:.}ynSY6UKfCH dBku\\v僕X%@H!d< ܽ?^tS%Jjx$AAGoY&KƐ%y !S::LY3(AAOY]f5&?ș5_g=ZDBx&9OIfp=eY@?ø6- ѡ sϧJ~~y{EcvH@߳Q=el 6Ik]ts\;ZDs̛&k.E$x!P2{E'(.5zΌ"Pنjav?:5-In&=^6.X途uo LL$r컩쒢_._m3akj/>s&~(R2 V?B(K; )@v3MAPg5R]: i{ I tA+}Ti` <TͩFjvS`L%MJ2p^//ݨfע"}ϊq7D˦:E= $k|V US֩@YM~i?e cFQSZdʹ!|PM[ie#žTU` ިF@xK#g'rdaSF6F$O Fm]VHmѕoYd4R !o(4Up+J@~K+ì;á)jn@ p^>zOi}°-,=9%<˲ňF}/?E WFf_b_ݩQ tc2N5;?~7yk8qt/T6hJ8D4: ̇]4C:ƙ\3M$S<\˅o4/,tgB*#zFz9CHjZމl_s^Prm/&A٠/ ASݧ:74]' @E6{A#(w`.CS],"&;9x=+eGi,l0mn'g-ϔAZh_*%eiЄWƻHKIF. Z|D:tTx{I 0B|4?W@M lyUj߳Ps bOsOج Y?uYh6l~bE j.ϩE\j[Nc>+9xϯ@vyEUr%>⾐CZPw SSzʺ&<Ł]޶B5lo:2R PQE T10JYP X{kl(\afl^={6{Kx{Ҁ@^p :hu%Ҵ92qC]8a)e׎VYs5S5c֝0艴@NG´6̠i^ѹ_1^Eוv-x=-oad.y\O#{iHezYL$-`eĠ>=w'Cm7ZgR /-|.6p)">V:Łʵ;09^5Jǽ.n0#?67gjԃp7Fh}Y. '}LH Ec+,ߠ6ݿǣhuiɧUe鏋1lPRT]th!n;YK&76ȇ`i $u F6`C &ńԳ2HR2@`f3#\i~<4yߥ4*cʡ5BĘwrRBc _#-D>@G+ZI%.Bi]y39"JKbwmH!fY$Se$ ʾt1{֢%l(Cs\ז Yv}lPYeֽ& ki<)^8G#%)AZCmt#:`Ry8)ʏz ]oHܼZ a/:'2 ,KOk% PMQ*W3lo [1l?MJS w;)3¡S%Y[-Q,pm/$/}wUxj ڴBtwT14 vF!+U6+w\%4{v 8qiԌRIا J"cA͙pooمAߔ8?m/oδǺ vk= ]5+P #.IwCI X)'!;ߧ=k2'jkD!Zύv,W`zj|=o_d(( VQņf-C vȆ#kfBgx; x\) w~.Eb,g\;13Ha $zg]fڮN&4*݆"HunBZP;|~r^\,m-I@seB9wz;6VX}j󦟤 HbY$a} -LD"6tpUO-O/$s [W(5QDaiNޝᣤ5  ^٩ͮE/PDU)6ZCi?GP2= uC VϿnf/ߪ;\琈gg؏y4\Yɑ,^!4#K9 .(Puh 8~W 6jWb|K ~U6\Pli&{DQx"JVЯPO)>TxAj{h>#gS=@W?aQJ(Zs$+ m fc1XU^ROa@E.f@0F~%Z]];1jErBǩ`kvSV]z5NhK&DC ߭b`J1$W]wLѳ3z Dy96 ؐ]+, FSvFV +h~~76{.uMw[3U1*BGl-ʊEs.|Fף޴1:#YOvY*^.<  SJ%AwTn_ r9[%G'6k%{xF1p_YZkݧE0o)2\h/ͺyO6ܛyc`, %i sP' f}iqHqg71xɩ3a r tg8 Ոj~+N2U3Bq$n9T#׼hk3H WCWLB^‡T; ܰjeE@7|$dD5GaSzh6X ҃ȍ*8bKMȾ#isSm{HTo1+\/9g`vU) "v "}<2o5M}=)P۵CoFd*Y+\?a+N=#˯ۮ8L$hk!a,ALeإ b y/N\O]$IHh\lL:Q'(L*)iK;qt]z45 <8Bş'lNdApu - ~Zqm;(5L$*K&N8r6%I è:6 @t7"mU; ķiFV uϐv 7.2,}I+5)1ˆ! nfҀo_<蘆 $-&<W#7ݔd XUݲVKZXI&rvA1u`wi#*S JVsAPVo' i-1%,]TD*pBaGYny^[Xcu TNjk ;9(t1ZU;ց ;.K?g֠xGNnحiӖ>&zڕi>yi@dE9I&<_O4dTߡnM" D iFo-*{ãz J?kT(`1hlu:lh&BNaݐ{ S~LNr(䝘85ujC5^[3?f刟>enJ@zap#P)-:E}՟XEx{_&Ig"Q\5+\|82|)KY,5%ME6军 bk^,96 Hj1R;FS 1}ھOG3 WdVȚ;QC=b6l)'$WSSC& B W4 t|xNX,7;`Qt8^ȐMĖjYMNۀ6>HkHߜ\m׼8҉H$.?_)ieۋcۧj/Ŀ3o{Mp(8ٖ+`N|RLpTS8P|hʥ]# -(?w] 2>C ypY}bkU)2^=0߭ԇ̘Y1_0.٥qe&DEݪrrYe/`ޟ6ɑꖵ^Hi1+ n-r]e,_ Fn p5|`k5r߉rw NsvR g*/{%Ta122EQŲd6Ӂ,c*"s݈S IW :QS%$r#*>1 -q&c<wԐ:  T;n&'g[ N Q:2k;x$xN^2h- Ly:iRzW9 _0"T iYhe@o^R_S.R1mK<a._c(JnC앗ؚ4 _c CWL_H{p<"qZ;M4-oHֿYeͤeoȀ׻Z-Zf rt{bƩM8fӚW$7;JٷUZ, ӣ׀!CY,!d8W cHc#tN@a^,lFrqj[ Մ5802 gm5 M)#ǻ]^گ}u&ٿO@OV{sp;[@ Blg[΀΢ٖ>jKgT&oס|}j_|zHX$8r>l)Sf0x1OiXp-tH߃'b ?ۢ"*H c^?O`Qɲ_3nwz|6OBбG2f1_~aH̛J@j}ci||ǡUWzz 01~'IWpb")2x"c (sQ 7@.[YE;|E0>˸e'WH*rAe_Ǩ[32~qƦ71>17֎l 9ly_g1RƵ&V=\4 Sr%o6wx:ڽ+zB=¡TO3a/Jaܥo@ R] q iT(]tM#m1fo|Ν`"?~Xۯ1, q2Usrss9!R8mfn_qȫ:ZuX7PAAp&N0 FgL1¹Y3=镴q ZӌHͻWu=imjG(u toydLև;p dGZ̙9OQkM-$/f@n>f%C6p zV)/Ik&1m< HƵ>qz]m-:ҩB=mc&OijLãɟٷ딡UY0D#Q1V0E@< q,|.$"QcOžO1^#"<*/zN{+(Ȟ/ +V,I1d!t].@S T:ʏTHY~Pz& VM v &t FEtT{`V#L-&aNPe:^EtJՈ4>QZLᏦA@6>LW1Abo!"T(֨E tM*Xu QҫȎeQ-z/-Ϳ͊ϖ.3~f+D~JGB>T5k jgP˪{b bY8*ZVK wcK,ޔ r’L'Nm\\dl8W SMH 9?jG6;CzΜzX6ŀNl-K_pmJGN=lϿ0T"da'qw[?ԥcz}Ro,yoNo=4>}H/[^;wJpCeߜnkтe[Z a@gn!{xuU8k"Y0Љ \-ӟ7{q7&>K90USǘuUհ!\rv܂XO=ʃV[$av,6 -k5ӐNHQXN|e2lշ2I-[\ %Ú;Xw.~ [˺)CǮ@zsg% = Pv8#'>aHcǦ&dNhM9K;Z.ミw(Ah&>g^ b_xuuz/Rб7a%{|2'(4 F%a@kb V5ߺӄ mQtII$?Ą9d8V7'UXyHcad};@"H'&Κl{K3X!ofuRN TF\wbb+pA:'ߓaJJy<*Z/sv] yB(Ut -4uoc^T*dԽ-Z[x~)(1G{~ɠpZ6,r4oA6̞}Hb̵b:cC‹~,n6a{LK%s'u=PgZз'Ѿ5koIZt:5Oc ci:+uIq '})ceN# y*b^/ h77ĩ(GC-"LV=;ǐH"  ꠳I?cfc7RӫۿpXRn#rbEoԔY#>z2r]"Pȸ͖Ħp ߧ'(U#.iD_;}h㳯zv&*ס778Tƥ`X5 ny\wuKqpVHre9e_%a.$eJ$lTŷ5 1/2l0ov .O,-yMtkYN.C Фj'2_}VT'{bz8=~;v7~o]y:!q^Eoi\/~)hn 3i Uy? Y<BU*P@p8iO67p{]]tU wmp GpF/\V6{!ָz;QqyaHFERB 0Ba%DZ=3gܧw۳9*-1oa/̆Maט$Nl%~|dpOPKT zGLvR2[7-&>M L}|EFGb=x[G^MmS$y2qm>k$CKHƯdb%}6oq%ٞ~U/1ٲiz^0, hu4_hF.rJ0LLTm05RP)t*x.`=,6tQ6` !(%C/ ,VQݟC bБl֛4EwXl,tRQ~-Vn`s8 l,_ *`㍙>&:EJg 'D8^ralޒ :)ݽگf:oP Ub3_3Ag[i6*5ZN%>wclvD4jˮX@vʘwp8%yn,6,zՑn}e&}[Y5BQJǺZSyK˷2g;X*Md/s)l}8RfRH9?ZGPw1ۖ^* s 熓njq]RAl#n+FLΡd IVRKD/4ڤJ }  T9ً+-PPXqjżA?p߈CdP~8@<1i~vSzEv|F ߽B&v̺&cHW`F Yr'RְGRvXֲw36ɉWCetCXo*#"f|g[^r G OZyTiCAkĹČduT|WY za, H}EoO㥮gDOCz=ڶjL%f\*_)6ڸ4@!ɔ.{NP{Rޮ}}'4mbFOI\(F4pnІn%OJA$gÅ{؏Qڦ (HݳƦuH8hzA0A tvg\D#"xɺ'/ZRW! `c紪Ԥ& ՊZ53) L>~wZ=c9oRϊ4L jrY,\XvK@.-/CL:fu<`"hQ}Y?DˎC8&7)H[@/Vה5'N2w ys`1I&b+ׂLzOTGu#bD+FD'`Ԩz3c˪;xpk׬1s'"SV?dy,bWu)T\Eh}`HH6ͤH:Mt@ P" JSCkmw9%R>LQ-TMމșR4*:i+ :yа5}מ>W y,L^k+MÁܟ*Bn i a(l$g8MrD_A5;G"Es{%xWoAQT+ ՜-ApJ뷴(I.$ !:0bn6^fڈF3m9*քڡKԺe[}KpE{.]=&~LdË$HgC?x|?yXϼ[a}l|ᗳ JMIGl|?I7aA$Eu]X1k舊6my1f^IAi@ucDv6ɕjn,PEдºk~펇^Wc'Ǡ#ȹN(>f%m Nb8HσFiR fv.j?t*r@W~-@a{v#).㏒* I&ο 3pQtivg+SAXfR?hWh\Er] WFr .a)-3Ъr:7A }: gW ř4Vgzc¸&踘mFd>O?cX8N_%~Alc1Ce1 m,WYHBVM9Y]E Q?{]z/aS02MS<Ŭk+3=nYJIȐ ܶ&`YIC9`3ڂ4k9&dw0|)Z9$J9ӱYpQiކ#0UI1j;Tq|uX^Z9o.֢S*|ԋ'?^]?v{áu9"|PS< MMsWGNg6ֶ͒Xk3 "Вfb].?nSSAT.S@!0M w짠CfgV*RK.ڂzup )zm)"āEw7ɿ5q}\ 6TgO}:&9e y 9kLTjbq\ү <^IN:`ܺ54,i$UEk{?kbSp[펍#պ(mx&4]hx1zU"ݴ\O`()Ao?\& WŔ4-گ@_VTm9k7Vۚ }N=~i{$6@Ɍ.%GnUVuNljɋڭI *d%K=trFMs^=&}L 9AP~uہ">^j$Xm9i%q8-z j@[P֊Gw=  @T' p'usaaHu7O{">o{כU0#54Q%g iJ[]ȗ7S.hJfxK]۱ okXjBg"`b4f& y,5LS-p}^"]W3"*3AŁ( { WJRH^+^CFR{h÷3҃t,ChB+ɲiD4ppcU;%z0%+SXnŌ` 7TV3J!ՊC\Rq$&!hˌNQ'o=wJ^vxwU{0OX,(fO"\4UNT,'SػB< s C]|~w9)0Cb0_XO(9>5lDՖ2Qh=8~ܘ}}DJ |rѹ \M|ľZƩǪA-sD/L9PenpXM 7LJ4k;Vq0WF 0SxLaz_U 1 p]oDĔ4G('o+LƵFߊ4A.Q7 6FH*d#0c$W03P>F:(nԱiv?Kg-鼜:q`^r:R{4k7DmunG͕hH҂28'A%`2VjgZ$ʎU+xmM@LzE:Wj!E=o bܔ L5|Ȫ+Qq*X&Q(qzqx|aM MRA@5wbJˆr:EڝI_:@6~)|gF.ςqrgi=R"9Ko^Ӥ=%ЏlXKTmHdUBrKK. !j{+>y+=pxުbh(À竭@[fi(QiiJbŲ[)ֈǠ~A?+O2f ֭7JLҳM* 0+Xb(Sx{8>HBCJM{gPM(XSÅ6@ORnÆp^g9YtJyp*H7bПDXHclKSI/;Hvf>Nؾ28$^ΙÔbf(`UJC-F [$e-H Z^&4jMm772BiJ30=]xq9edc_ew/HߏkjMQNC,~Ț۬r)^dƠyJKlC54>4=s0WL;T=׵gϟ2qBP"uSF=b$xtY/p#=FNUZ1/9w_D|>bmo*5ܚZi+a7"Q6S9̑{0Fo=Eɾ\[BCzENоIw [ Y(sȋܟB$B81>z['Q{Fm93n/!O~gv#NfCa8Vv תAx˿QjӾ:[rX@<X$/c\ֵLv!-@ՙɂ:uVrjFOJ8T-wV-CC٭w<2o;{~F>{7Asi!=WwC 1vAӸTdN*Y2d%sEKXv#Tr3s'dsZPIE(xk=%^NGR)r-o}ih~JHf%Jԝ`ꙵmZ;Ac?D?L ֝2rVMu1q3y*(0̼6Sr2s_6FenR/+z&hxolÕ;$| SΟNΦ7 @wRDi xG X Njd:a)6EG`ع1\GJLAӰ]ꖈpw 9~%2āU'1}XK+eVFn#W=Q7!cU3")M4އ/HNL%m)/2 ´T# SLU1cBbx{*مy_nDm'?˟%ذ t$<yWyg?Gu'aNQ3k6^bL!"lb`ju'T{d+O9<| ~S< jai5==3TyCV箺/+G- ?_eOe@U-4,jG¹w2o7K/Z%bKi W9DÞW?H{eR}@1 ¯}igx3i-HsɾL[S' IGMyMZe/[a{Z%(]Y x.Dd;^kPY F@~ijh @ƔKDӯ 0tؓkeB}V~%Rΰ?},4嗽B5k' kcIF=Bt1@ {"[[ulfD!p3Yx_4ͶΡ6:`pHEkx5|"WY.6״Ѽsf8Bm P3bn - .D:UΠ&c_dVTVCjRf%P5EY@ˁb $e*.hc`wכQvd2?!<7ArO"FSR (MR8I\w?qz&C}AP"Ƚ?&d+&".2>?) C@wGFAe<>,O[ΘỄA豱MV,w4BN0sxZG$,9"BDcZ1)IZm1oF9ͳC6/szb׸Ln6"p1Di8[ t&ӂMOLS&}dțJYMYnH,KR>׺^)2x%90"jhz2 C+qA! "F eHR$0<0u6)YhNi?&*80rNpWh 2A:J*5ɦC{v_]nABӏFq?|v)sɱ_]U_P'W[xDGHԂzŊ779v''ƒ2ˍ4nt:tyCHB+ؔ"ֵj+SR8D]PIPbD:_t(m}{"HRKEԛ-4݈mra h\(I]Y]mob`E !,@5{@!CVgԀO4^Q?FWQۇNe|ցMrs ]t0hi65c׈ƒdqa$IzMw`C:ZcV:qfb12)j\h%o:`yu0#ɏ5WѰFHK$$!5Ec_-^"‚Q/ : R9D(w0/g$YHkx 9Q&* 3h_&8.=*dY,t</":[A%Y_Lx~Gt^<(^#8?Hl~pNsG#r-hd9fKc~Mtg|1  z$4*zM,ьnA{"{Z! 6ttaNjbuybIm8",JAF"07Iw5a+rp1|},΀1O($z/G }щ(4)t*v(@Ga5K^2EI]]0'rws1~R,<֞ͦUg!(PǍHTFiG?ϞBCF 71-ʼnKe|Mow>9T0 "e heh^>$)X[;g wk\ ڑ&}Ar ?9i!S\:40UDɱ D;܎duݬ)5gfXЂFt`^ 8lQf9WRCOv xVzV ̜84ġ9tJ8:+"@+:{{g8=ԠY8eХdtu5mcIH&s晲YÛ䯌FAo).gj.pAGi,.vZR+ݭ>FX}}',G7H1ꈑߠNw./4Uwɵp(#ŏ- |:WWK˨xe49$wg3j=LDS(載9ф\p)Nxswyb7sH\ct:m @)RJx#Tg;{s$}j&_뛋(|\ 7#´@4z4⽆YWk+w3b̈uRn'K8NSbF3( ,s(P s.@C7҅Ʉi_Оmmp*E\Wݧ2̨3%=FY'$-y,C)]Ʊj&Q Tjnr  H~ :+?%U ?- lcYrE'3u^+ڤL\J[p %ɮKt6M0/UMp2VӐqMC=Hjse(O) ֋/3BҊk"Hg͔IVfD(zfjeJoo -|< Lx`7ekqPʼboG&f&*bdH4$P`r$q* e!ߦ$bq*yuSv<3Cf ŕ-pWHn:xx<͖\>K EuCe]-L`+>]$QfId<ǣpWV'cv=ې)G7%s9#:`1yjf ٧KFe(:V8m5euNKl)b{[>EHKֿL* @APStN~:$8>!ef>-ƴtJP© w6:A4@7XӮ Yn iV{6)38.vHUl?|ѲU䢙[[rQ1o`y*W &YJ7'MLĊϰM𬩭8jh6-] > 굌D;5?v;)yPo 6N$Ȯ1LGl5.7\JxT苚?ukeIL\2Q"cHw'=@&CFmWÇ%Y~T/y AZlGA<x! WwEbuQA@l!ה˕JU@P4 䢝1c&7ufNh0 G^9Y׈6{w ‹BD)|c(f`MJ#k)B]RdgcK"P^ZJpJVJ+(RƵtpVi͓~_H~"9?HpHxnr It(enk" ٘9&ee2T1/Ӳ/s0;6 r%C*9Djt0&_>ӨQKD"5F %ne;=zPE҂OΌ%v=9,"NSEGt eč /<ͪٻls#N30`BF_8u=dnryLtVTq`5޸^O_Є=]T-\1r5+[P đ.}œuM8J+-zw6Tn=N ڭA*,.t\~e^r;S\<eaI5SC -Q: ~ЉGÜS6py AMe2; z21!<yb4#n0ң#h["ۿM,lDD:ә/'c%}{]m6v?ȗN)?`~FP+ WDrJ у/9 @G.藫_g^^Mќ% AKu|om ?34H_Ϧ_0ꀊk?AZ*9BkmjXw/ TS`=kmUb9|6.uB: ?4X?0㱂ztJSі;3zL`a5w~ΩB xUPWJt5ry(tSyO%HGZպ^X4ЩGQs1Ut岛<=G[ $CJN Zҕ[,*v.ߩ- /1L0R/ k^靂qv?3wrbN'Cj?hLyFvW{Ir hخzMbF!v93Q@iBy]ݻ?N3']`UmmߪrYk&SlndMj `? ^*9, +(s >{ \Y0gGnp\UkvB,YIXP6`'Pw^BPJuC!lbbշ@\We[@u x*W(W7qhjm'͘}4Rp4AwUyֱ'Bh}O-RxSЊ0i^ضz8XLF$=!&&Ҩn0!KcpK=ˆsUq]pi)o<"|Fz|2 MޭchN'5I(r*1"k)>\ tg&YKs˖:?&lʻ[~PB1ax"gg {Θ+DIC*]JGwON8Za0攅£ &2TOr ͚mj'gh r@JSP .Fc$ڂlz[ӲE٫h,y;?Eh8U b'OW& T -"@6FkԌx^9*GSuN]:9Z ̆7rܩG T [&?HEDʂ$ʲimF L՘q<ו zɱ2&ܩ9 Z>,$PNS̎4x?iL_I\4V|[NRQEv/y' C ]|ڝ j1 !pQ{O$b_jfŻ4 l7S^}w0BZӲ42 nʚ9otb_=_2'*Tl*<'ǯo5[C0:D2P41oCN/I!ZG4[^Nf?$>m5CkmGڱȇi%X?)VhFz2szJ7LF݀@_/GM-;/QLhi<oA84sk-޷`G|!ǾF5;޴CG>Ny^7Y?w^r s [j0C`J{CwDEOeLV.M_PI;x᦯}ǑJԓ62F.=9CTr= )QuyJ. YaYv;X% 6fLʶ%ƹps|_D?Hװ|_>$\9 +ߦb~jw3!`,D43歑QcdUz;Ǔ2$%G%CMheDwNNw &'6T HI Q2g3QcRk$W& "^  ??'-5[zkJIvfXcZK}/G@pUo@!p,SH-T4Gsߟ1yU>Τu>U *R |cwv:M e007Aど{Gb5@{뤕kHr'~.8RT,='jcn`#Iy `XXm )4h}"){( A_}\F8{p_Cdp7wG'e-x߶Lj lߧ¨-;CwC]KEs#I~}÷3KͶ}.֔؇F`r4{Dq5tzC+R)sgPcI*^kڴ"Frnk{ lT權 'kPLU-9־OUMᅭLx eƻ֟oF*6\dV@ESvp!m={^:H` 23΂xMpK˥#3!V@K3 >9/ڶ.Z(4S%0rGdr38hKt*&-޷mtJBIwF/uMDO"dLk)k] ;1'<$;6>^f;gʮmߙֱ繕1PX(S:EK +H\&'y!|Y8+ypCq$攁+cNZMĂK^ҫ$U44=J'3`c$] ȇ#UzgHyD 5e 4?Eo0HEwȅƅqEHtn< }w?nnnto),4R}@#) puFHpqǥI_+OT|.лB j) rh%=;)l?=}hs厓,t ǤY PNF3;Js- jrӘ^tE;«:!OD*WzPu[y_Ĉ00ŞK7nweDfP2zEx(jV4p ϔ(q3wU$U4<ҏH%~t|Lri^~j;{dzO z Y,{ͧ|f .A ""0ESHO-*V2Vul0UATGy9n >WKtm@HGmSÇ}@e[8ge,)I~yuOX5F}7q/'2pLPxl3C 1>)IBI&Y)$E\A,d1 _Jɖ< awLbTx4oްUjKY0ӱ]M0kUZy]#8uiKhœ"^q|Q Oytk5@5S.szJL\W-^ksD M nsqɫSI‚US!Bj K b+Nܪ15<%*lL0G11=Ҙ9MXͿ^9>Mg<2^>+*~T%<CJ+]*7@TLl&pPq[ IzU]6:N XjSE<*ƭD=>Guv<. u>j\QvUfUD7(8ai+A]%тGFTPn\}|%uRwK-Nb`F0PZ?ǧ+݈ 0S(?Hx70P4=ngvzj'Wa i>puɫi\0L (or˹'X} [~d=%]`zirlƮ,$v|6K}))eE-5 [VC%#4%;@HYJ @th V'Uňlu[! fڇ-"Rm C}fC4CЏVzp m yWuڠU)eVӀɟ64L2n\UjGp@dJ\h CаvA5\ԁLXM)kXߢ.9|; Ffp?JzQb5Yyp"KQȲǔ ܳ2D_nEGJHHL- CduvTAS~8 Ր3H_4H%Q#67DU۲2(6EkWm3[i!7Sy[.K1?\tus1Ff\اkHVl,œ|#LISnt Y_7u/:IBhVпih)*˥`L%9 Qlk\=AJf(_}aI]:;!1| Hą&i2k\ S{ QVcN-@ '5w( Խ)Ai9-<9;dcD3UNsN\|fzVE,{0q0#krوrҒca !3ݙ)cgU$>. /aKhG77SSg* #'nC ̢5c[HoE[)L[N4mGBTx!$h;ɬ{e~-c }6dPCk;'ZDh~qYlyZ1\ bxfH#fQg;p͞ϐ 8%cn,\@,a`kG<{]HXa@2EEB"'F # -ca n_sGwp>0Mgx$'9bY(pGkئY(>#gt6, !kh l>v,i>-KOqZbV̵je<- ;v@q:摯FX$]BY:8o-qJx!{Ȟ/a2 YynOGf{?PD,$󚯝f_Yy)G1&4w@THV@NZ?}(ɚ< ^<`لn#fUl̉ \Uo]QM~sA^7~TY԰1TiOE.16}2CP^1X $TT^.ECk/8j{ƕ%45.ܴKR;8&ֱֆ,$6ջ~ӸjǪ-̸ `odʮUrF[rV]UՐUKR%]<\r3̦5 8 y6ckS&ῂgwY7&ԥfBsuG #됞D߼ \0IL h]mS_!eiA9{*Åo?UNxϗGU钲 Z '- +UPǕfS H=Vt|LЊHT.30 x+'z_I3~tKw~baoq}Ctc 0`0"F)a$}0dH׉+\1Yiqf3$b%E-DZy1Z5R5٨~*Y;`jIQ-ƭ8^Y<] /w ? `Q"d@:]oEϱAn(6`:vj@}8a$F=vnxGw#gi`ůM|NG6Rm+&Tpޝc8tB2sH?1<ݏ;lٶ,TʰޚnvVTC VE.mq<1A#R+oA{ňVvY앯p|x$:t9&J ]HiH4y}fupLs<Y]ٷO]M88ЊE Yz< geD二F#4<{#i `*iAaR+5_IW9u).js.^\L2; QM|YCGKTS疉)cy5}ݗWK2oz"87S]}\73(ۂATMVh }tۭ~rH ;ZP5B)\b?#tK\KXdzP~,B;țM{41b]ہQU?Kuyo6m Lh#+" gVN5nI`iyyH1 hZ5#( H}d6(~Sϥ79\ZՇ^%J[^d}7De$]`1SO>WBfwoc'>*>)-'T ulWe֔ ƭJn# }FZ~'dᾱ_oĭKOat9a5kU77&fM;7a"&'MJaт[)l%&HjajSO#ʜ@nC;)* 1 :,ٹR"gUB@ԝSsJ򨰺:b<8RK W,?"֢VOufLnO- 0i= d.n jyZ !xT|V 8Z{ n{\R{ımES2o8i4{wiVb 7I[|TC7//0 8i!k]|.{f!"_`eIC VEWuQ]?LJQ:/^ }e[ݿ5\r'$&tKbeZ Zjc82-7J \2s"*~%r3O)nBkWX29rJHȗ6 dO:MzP چ!|L5!ގXa^)Y* ڑ{ź^׻W>t6nԪEVxS6{cryTPak ~CWD:e*:*NB)#w ų"މ!@ 3QuNv>`hvc] |n)x2Lgf&Ҫ{rG<a'ʤ&c8 L ev6T8-A@sG~mjsg V${2z`\%*}:1))hvY7 ǝ ׺?10-syΟwrwY<`0FmEt=4 }.ѱ{0b u[lEВov .,sp>0?/TdH;$zoia1i).|']%V)Z{9ω z&߄uqb)骸40(g82ctLGe=q}T^M8|0"1."0;M_3Ȃr [275}5GnKșӀ9vaKVf2mv ~ 1C04KLv^nt]|0x9˵CfqyסZ;yɰm7Ya'p{ [-P]~߰C[// BEjP@wiJ3=zƆ?lgɅL|53# ^zW'n Wh\滁6mvOe.:#M۔l^Wh? My&{n%ӵ‰ S_7H] *{vyN=PI5swE.&-zAeXW2_.s<FDۢ[Y9û38&+^Ss2 D7L $]0QGj. ܭKm!kp 2+OPx*DTYhzPo(ơoTq{ik`K 0119e9%;bY}`Q˩ھ1)ZlKzNa0]`辖ÔC"^FdƋ{MFZn<;S5 w-G~>ˮI+ϷvFC]sN!悱晟v{xW=N {q1O5蜯=}rq2pk9n?i*7DUD?F Qta3of(At!R޲!)=:RpQ,0.Xj2؈75kw5Yd@0KFӴ# !_2QΪ>޿E#͕V"O368R{𨭛_=m;~Ds7pQ&_؏Q]} co&[8 d "PL-,u6y`_`ޞ.,qpix$FvGP{ U6M<}Jhj^k…Oa›:-KTkp; k \Bs!xƌx aWqGᵛ̜ a)VGue)elՙ9VM¥Yc  V)1N6@3c9M #dT&"bA<ِve$ p %7B5@JI~5^IU—; ~̶h=/fQX;9r'=o0 / z.BXs粊liL#oƑM&a. J;{=h$LTl/{Ӱ;4k >8fH\k.*yrNza.9&B;&,ڨc&"G޿ʂ*'SE/M&Aw?D(ې@>E/XSM [/XŅ9$5c:4 @w7"t!i3+VڝOsa%)"QAd4A6yB4hp>;;50 \`__HMW%T^p =7 MaK SZObn+Uid>+Yb>GfXi8(yar9]@%ī2MzEU-=&zٽƌ)R%EU!$Pr2V45jL ʽ&#OШ2,| }KHuJ'w$)x}wRj)Nlj1g@7l+-W|жFImбT濌'[4 28CD0pM\Z*C~x Sg?V  y$c+nqUh`t1" Q7~3vٙU[+Ɂiji8qT~)YM'=xbWϐO+,Q?79k֮L`KG2B$^njv.ig!:Bf8Ɉ5NT,mGH]3%uñ#]!XrMiny 5Sf:1C|s>[9:JEP89/)gv ʚp8 dE ;NzE"nlcpaD.SBU94, ò?jtEy^t\bS)Lq [,ɼmS ) x)W;q=R8HDP K6 |`:z=W%!$WJ`{Gd㮢?'İ-kˇ3+ ȍm23 HE)d)vyuo}/Vqf.n_>C!HF2=y2+kj'/Ӆ;Jɶ{q\dI}㤌2`/hI;\xl53ꡟ4>J'gi>u^^`(fa JGpmJ}L] S9XRv(Pj TR lc5 auf?8gԝiSG5e4d|x…FxEQ%- ^yoq'nNhJgo?5c=Xie#:Uo4,"c\qP힃<Cu 4PѨMh,vw"~_Yu2,j0']rb`uYL% #\g(*TD Ptϔy$0 AW <t0CB9/Lئs8 M]բ;a 38c. G94|c ]x. e %&E?`=h u5e9!B/Ԥ [&g"q,͝԰{w(DbMnGkq-tc;,Pbb(]MƓV ms5Z>US\}vLwXݢPrN3C?\`W&Lf}nw[(9 4o"W6 00AP W2RJеj$|c!R GZ($҉q^I50E;7ѝPx 0CY oCH^QɆ}kyu';$0L'̨ht^.N#o}ob~:Įg\Qn{ 摣mI%8D h)|T}.+|^]o(ug4R?y^\.l׶Bc2+u{ZRrȷw9֕6 .;ukMH ogZ&& A͚HgoOYZg(4yOKsO,H( +$9mځ)C?c >M~D]eWGt`&XHQ%vzhyO |z̞Z|9 [5v')wd$&jj3~EI5LqrJR/EaKIH9HtmSi`]^=iBR.pZrl#@j cܐ ??|.>?7I?tZŷ Wsܠŗ3y^\r?5ȱ'Q,Ф\zB"nQbmUAhW=m٪1AcQGAj1F. #4HҭßDeȪ7)Q_[}茨; 6CYf oxD~G:rQW҄d 2$u<\R -0T$|)s}i%UaLY/511m :x®ҟ:2YT*SX?]qby(H%CM؟r & %KWbŐbO] [O1L'35m d%ӱ[ߙHkv)0/0 h7U;4ĸilK,a( BMܶ@ `)bes#nKt:s?@@moS_=EKe?erPʒ =+,ਲ9qpH.gP ;{L,zry AO`%UFrb偦:g*ߩ+0NS8F&1M>#Zhd$a8{>JNEF;öuRd/ªv3H(s]'%Heh e%b~CL 4KȦ@H't[+QſWHNF)2VU|uHE ~9g( j.VJy?J?jia>k`3!2X(ZWWŧQZM*. gʟD(:`@@ 9VU Ca}H,m\gA{5B`S,d6ndD5=Eƻۦ8h[E8!ni º,6Ri;g֭ x jH-3I^TI<죗ڄiaQU@[] MJ̾ b Zuw:I6&-J4C;Iڹp0h)A7DT#7 ~3 6~hzG ]u ce ` -nߠ"*bBlEU36V-͟~W0T]}4)ソwqgy`Īen ؗPOYi֛B*f'z{Osʾ-sf} VDc(!XX<{[!=fV!>.M&Bh0&Ҡs 0uN|(vK6.#~H)A+`4?B3xv6ZWzpBgQma8n~xA-ԠF+r?vq&@V'@́(vj4CNL%3j-"wQ>;Ap=fڝ\)4zF>Ne}ZL`Bզ'Wť>'Ӌ`]W#fe"ݩ|AFꭉ]t6㬑x؝Έ1 <5:P:$85ts(͙I"(uFX47to\ա}:SfДUYe&PϏĚdr7FH >茉(#dIX~H}W/ih>s;u'r<[\q|.(gК99NOYJg5Hws@qQ+#ٴrQxXW͋%8fqy)|΢4,)B$e(_GҶo˞ ڢCLVFD1͍p 4n^DU 'JґQ)ef;uZ?wv*DFgF%/MpU'`Ÿ&+%$Ԅx6:мlndbwV( nbxؒD$X0Ҟ7Cc'U*'ߌ%S':D)l . йzGy I'ƹwO}6dz0$7udQAjC$dT,e<6 pn zvoX#ߑ`nS;*r#VOb2 ,TDpZsyu {Sw²m,Z@O9:?c 5JgdXk?v_qG trT(]5ooˇ?ɂ΅Bw2%kO$nD|]&*#vAy!7la lݍ} RtIEE|lm7{&z &s{xchLЉYyP~Q2Z@_UtTr>'&!!݇njGoSdӢq?_^R)h|VT]#(4VB &+f:~+0n_qoqyUXudV~9P r"OF2U2u}YRln& m&{Z9aGc/s1lgR/DŬc9k5oX(+t`rRAm{ /7fljCX(-م}KHݽkV3/ {%DQ~-+Q[kyl̟՛$,rdQ1%\sh'N8pD[^Xg;RPT,k-?\vlJ)86ᥝ7B6;[T#{[hڧq`TDt)lfClUZ,=R i=ywaU`5Np6~( e}~IU"bAg}\Ui-/|Y9w͟a-ի׮;9)hޱ*=ukqTد"GcLPkPd7UgAK:lmAm»-K:ͬol@uџ߃++)r8~{o뀝;&=wMeK&!Kl87P2]1Pr"crk0&g)I3vzpUCρ$ 5y$L03BjX|UC1>)U3dwLZdw G~nݚsݜLȺ;H|TL1+W72,Xp"Ҕz.;覃Y,EW0}qr$^漐=wx"@} e k.oE݀::J3-b53MǷG]z {8)+v*w(+kP_w:t-;zy$;4MVPeJI*_?fV'(F4?0{x݄GK2vyExg""qBPdNeX;j(r(y>)D?]&R KuATxMI-=p94ru\]CkԁWսEN:qGEL#Y'gl̫xJ#(E|SzN'BRb39ؘ˱wT/xoK};]9fϔ&v&O f,p8Y)D z7YhXW e+ޠa+e7Y2ypT"K0Z}jez%S5Jev_LVl*1Ԋqqskx Ǟ!Je(uj9>%%mjH+; 0ۏmZr^^r9jȇ ݞ{OzG,idc?=EmxuĘS^6AyQڈK:O&ʛwJj T~"ylxtlZ*@G;S1Qtf3g=[tTG4oO9A%#lQ K"}(_)f(nMǶ;Qq3u'ċFSld ^ʊш.;Ŝ3>7"+c.xlWn2M=3'Bnn;$jM/՛of!9|.0*yFyyl4h"jgs7ibz?k;tl7S׋\wG -# bRV%|&z?8)A(+ky8fފ&H)#lp\S-lֶḢ(W[ 085;[=;'~^& F۩%h-1vҌό٪9?sOHblpFEtw!W mRyn0jH w>]}ޖ4D?ru\([J`:+,1@6RA=P}; "xi 維e+J+n%Y9hl.w m cZ[^)OMe[o9?Kڥ9HbUQFx9L@{ I5)&͔Ln`1Y^QCt4'UB&SY*yZT#QL&b+2?"dLb=gů=A)o9(L32!A~ 68$R/M{ɞ~}[/dH#_b~*E="b)%H[*pao&=Q_ wWY UZ^o=^51k4;eky4]\dNdiT*au)TUO3֚O\|$y؂뜅`m#Ϡ5eg|_^0UB9lS yHdž(qȝ/\r 'uY CJ6}wOϧfKC=#HG@UC3uE94|GzJ6z9w -;3t 墣[*bG/vYɤb}-֜,K` .mWImUD*>Qȵ =Լ`5D)wŻv{8χvcBRW'&ܫsJ.+L* ,s G`V̷0SW. 3Ԟ{`@U:37^W$_.VB&R/ۏ;%)|nNu11V/WPl$U1=`s' uuͲZ&/ wLJa\  r (KP^g9)^|1閘$ZÞ| }mGk6`7)Y>+ й/aqI۶Y]<` @iŢF5 mGVuf,#wlPM[yET_vUCxi DV|g9?Rn:0Y:n'vYw Msy꒏ȕ a̩[Xc˲k+u k'eO0Y8!N<('nlhФ׃pjB(# #@%Z+(dA( +e3YW Cy83\uFmwP½UzRZt}y{0GhAw8`NA[/Yᆡ2d9d̬GRÚZIymUt*" cTBnKPhUy3`Cm }2~,s)]S9kUteYkao qtpѳu݈66v&?0>i@@CJVO>&8a8/Q(T>Ooˑ̇6#_ʬdFSYa{KГKzS? z  0/rV%HٻiO\Xe'es؏\:MvVx8$u5l3 ZjE4+a~1(U *Rjo' iB ,sݷy᠋ع k*>gEL28HMmռņJጶ -z\e#:|X%tb˙+ ϴe؜[V2R-re@lE܆{g,ukRڸ*|4OaXAimSvii @mAjim'(vR W%p\d i8>39GcF3)'S"3~ UT7=jҪV?}Kf$na*K#h*VD)"ҸKsݾ1Q]HHP6;^PbՔ+n'K ,\Kŕ`P|H;3IiMH5'93ןvh(:YrkF; z}Dс[kFF4TܵkizWOSkX|&qlOJW.!I$ d_Ξ/ +&0Y䦣yM]~8x[A]@SDJ lllSA-WV";Լ=ƽGP5Q#cQ8UWLO8`MhPQJ#A_~2 8tc-6{ 7ÌhFH׺A.% ,AHU8Bv Mrfƹpʿ-l_z ǣJ(' qXwSe=NCY9& J |=h@sBcƱ/Of6DuY㰔yuu'*%>R|朾ۣu6$ب'7 ?Q=敻nD*NWJS[3%\9;ְ,fhԪ'a"O0~) sm/lI1^fq-c0+z#׌C(Hn ʢGVϚbNˢf1q@Ц怚~3BHCg`&Y]F+x"-Û0O-o92󠍬ߓ1rxkD<#䟩W42t9 tDSU0@"<$c-+]FŔфޙC WN^,⚨*Is _"cޛ l WBx/t?GkbPvDV$C/% [9/* sk?W:٭CjIڤ]oC{C7H%4fIaZ.Xz to7APm &: vOcޱy[;rQUl6Xf H85W۫xEy̘)[#G0G0EHzՌ<#v iN)-)cx Ї/;/slkdؤdҸoUOOl1~mɟq72:q`ڣuzO+Sˣ=9f7ȼ;Ev+G;K8quЭ1!i颠A#m#}`k0G tCa=FgQbgp$ܬ 2x6xbD%b n-ԓpPIQ\ʱq߈Ha,YϪxayڸ2=U\6J+.DZwP8qqLA6gx&6dMB)5_t7CqiӺ5ڠ5aI]?{pAw-ge 8IrA`Xm[0|'GGr&r:=bOXON̴LvS,el52Cl}Y0J wq,HEhBЩh%9df/*{>ӳocB, Dݭ7" }U;a* -AM'- iL oGQ{Vg6e R pϲiHJ &:i4UuU|KEQ,[- ;.=q^FD+mB/P,nC)Q&D"Ql/ `_pTKڲ0?n''ѻ*2g蒒T)*e-]WS?+eޟeqbQBfpU ҸSҟ =)>NimCClo?> I_ *k/6H>%p2aзM0gffգJ 4'-=/O6υ4q!fx{׀prt*SVCX].><F~D(H*8UX+6 Hw X Nޙae"]yVURqA}&s*6 /:xsm#MøȖbMD9a%ϯU;.O @~§0M:U(Iu 5F=s,\n%Mk -(]T6$oMi}*PxETDž>9#HEF.9ո\4X>*)ø=Cb 9%om!Z#Vdf)e9L(vu{KHJD"(۷Bt$㣥z= FV">'>cޚj# ;׵aK3++Pc"1u.LI|qB}zP# b}s2xL%'TC@!0x9v;5O7cݮpϲuP̑5rLRtK㜒|Nu*f\ȱv!W, i9jjP{Bs7!§VvRqwn%֥A5(j)6E N2xeTvm\Sm1ȳNVf̝VUevnQN ΍mӹ 6[l }lܝ a]4atRt#qQ&t-DMֿwsf/&2,E8\6dxRJh8"T6e\! -Ôr|ژ&oʊsUHa?w1kX>1&J愋 ݋^8C*o]W͆,L愒4tfވ>G\QK߷})"*dZY81~es|O+c5#jT 4W@gVa V?Nt\t&o[(@p_._FE²c[Jll;%RtK& b<[ od}+1|V3Nz8qxB~?:[)-Oz,w¨8L8p^H2Ԕ9tblT:U؜ڤRJ'tJ}u!{ɇIC٨?]qnqAMZ^4 w]$%JF>M JFpGhI-I R_O  9R!S<'ͿɪʲOo3@vmq/]?SV $7^lU8v|f;99Wye?7|j5UD EĆCO;Se )".Ʊ jCj5PcVNު#Wh# rV}6Zt|^j =iᒣq?k[(B" I ǛNLlU"D؊jE#SˍmU ּT%~* 3K7 AAn'EwxBuŞ>L/WրN7QX*A{zMY} &!4Ӫ/ҁPn]WD7*v%(܊$hR.FWkctE{,ZaJwhJzb% P 2Ν!E I&> ^GQSm)&"6`bzM8a|_cpU6F[5 9ɤu($.5{Dlx=1m(#Qbȧ*Syo}zp^$P+6=2Мˊ砃N1xQ60+x-n"K3r w>?﫧zPg@1H1"EH*"{p.Đ 6`sٯYyA)!? >O4w?Ν}ܵ!Tys(St} -Z,J 5Z@-2W2j h rZK43z]0OVrlY"5b`܏JJݹM~Sژ Rwö@@EtC[ۄ f0!] Űluon s?S37FPh<є+Z bR^C@GnAsʸ¢U@ Ԧ%jQ:$Nga-Lbd⪨9 pc^Nǀ׍ yЋf Or)jCntu_vnIA%> jCJ \1Trg'(n1BRRr|"yR˸u a7r+z3nV>K)xޫCh˞XpKH'݋ 6 l{CEEj:ޙB%D$lm PI]vtzjv2I&@yXv. k eރW RQ5R=jXŴ!OѣvV̈́r%ue0!{Εov PUbwC9kf SrcY}M8u+TFH/ux4H$kwOOmBF9$3ORnZ!k3 "̢{cKыeJ֧yQ&jGڛlBCYdthu(bŐu,42+ mtM3ݤuP0*T>r hT%(9) ?4X]K@2KDSUl:fÛ4DG0i4(*g}[!LV]3i/y%ۑ %2@pi#t 6+EN>ȠV7c q{) gx3+|^uO(f<kѾuqP9ޏf*BTIӚ``U]: 1c 0 #:W41/G(+b3ZY5\n]C] |j2UQK~ٳ4iRD!df*av!'"bƭFaEe=ګK,{nh!UF硼*|/ N\ۓ׽4bLQd>,wNzS.¾RS0 wŃћ&4>/ ոϡ`1N!fDemf@sl>Z}=O%bȧu.YDV"Jr6#@gaOw%[q6`adA*f_Mi.T6u{y!멯[VVqvMuבH[ܔ| h8cǸn[4-.xE>刐X( _l]ԎH:-C?jS~WwaRt[ r4:K.t6V ʕ՜+׏i_JBKx+\[BǦI&8w;!YT/VNЏHZ-(9/7Xu1{9Ǧ/&F: iwaEZԳ~̒XU%9`Zx*\ =3Yx`{-  2fԝ K'"Lu2ΪV5 Ǟɰ,a\ƽ=je1M(+d Xi NJhS{zL#l VޏӖV6u𣥰aol%GaLX=ݬʉ65U-1X18DArDk;$TFDlѱ*v1 NT@;Bc*u`5xN⬉Mjp_)mִ 0?@Кwp>?v/C"da r;y|10y7lO=*jS8bY'.`P2aJ3A!m*@ Aj|KKҪ+ËE 2Z_coXR~޾ &'ҿO*mT@47}HwᲹ\@,OB82]9kdtiY9Cʒͧ?F di_iH@<ҁI&(͊B{ӟ1SCE馕#58j۪eATtoG*yDڇ,5}&~* ,3ǫ`}Y4BHpkI`DB(ճrV??iʂuїyB3k3Y:εGW;y"CӖZR~$0[宾&MH/3վ}AN)¸tM>uWOцBNjᗟG:hHy/BUKš+HT)s_~9W'Tl8trB+ dpߺ|PQehkĺ!Ĥo\gwfD^);lQo-_ y6qx;ɴhLj\KR$9eH$HKBRթJfL" 唬#H~@1'7HA\v^ѷR*Y ȏBSp"t֙ 2;\b I!PglL_SП `9-?+!TPluR3Cg}x.m9}V~?,P$'m]-[ "ZixxvJiGkUƧ 4{:à|=0SH,KZ73QJr)G- R(yÖRzRaۘ[1X.D·H-pZ~K8vDG븓An` kb7+2z,z8o{ꟊ½S  eM~ =⾆o'UHE0u{sŔR߳^p޻Ҙi **c[Ғ= VR<ǬAevvm3aX\F)HFǺN56'|iP' $?h41 b6?eÏ<5f,^x$ȴ>I[HpKv`ZJc)mvyQ7~NZAd۲n¸FppTdS<ݵSp+^\][I4lF]R'K&]5ifiBL@*&Jӌw l ;͜ ^{R6}ESm4q׼XEn 8R;HILn벇w4_e'F>'?bOe'A8vME<7'iY%%9%X@熵K2E Wr YE?Cw k>F QCl(_3{4ǿf^yFWa1Œu<:yu9CI\o.(7g Tr6DZۤZ),NL"G(D}w-{Ke61yPa7#(t>;| uK[rnhG+:^qD FBOLHW%o3as+G zʻwf|š*{2$'BsG]#W١ty1Bͣ=^ySz8WJ}yk8  눰V݁/$CԠ$0y\9I=rYЫ /a|[naiޭc.92)oI[ԯiuxܐa>V4/C.I㗞aЂ*pEa򈛭E50~T|˻8zک8,.|w|iZm beۊ5Oq;VjOwsH nl!;Y8`C a.Ȕf j ת::8f{l /⒓eH>_`@T..~/xm+6vB" \E&0̋8 ׬ ẗ́{UX6_@OWufj"ۼV!Rg(ts)>ߞpD%^}cX?~`GR)x< iRX(&sGf{>mc!VJ#"y`4uHQJj& ˥%eU-6wr2}A^ M {ةttNָzirAFX̆+u #Q#rqU݃Rig'`' Q"AJ-5^7 !P,%eg؟g u$y0ԯ|=g"/[V@fK&!"m7: !3'd i`: W|+ B_MvNI*`3"Q#D3ΟS'CΕp]աmpM}ū\nom2b.݄NzhE.2hPWuӪ%LՙWط$z-a,{s~ݑh){;RQб)ry<Oz{r C1{.]?d>G.16Q:JS )}Ҡλm;;›I"9M`mv_:=73y u15j!M:a.ƺXD=W_cfЉy7MUʛ!|?NJ RG 4o2^WGYwd)Q1\F˶{Z~#QR@_BY{3#g XQ8k|zקI2C;tI랙$ip i!tz:vt5` vC"e7@pJ(xW[?uK:S (ϧUaL=s)!|ЮfH)$^hAāJzcJʾݘjSb|pJMG >R*6'@keT TF[AEc'M!x1>lU (iy\o*ZMemoOD^&-T9JH=7$܏w_ѹCs9-@@~%]b~Yį2ş&Z vncwͶeV\%%c[6 ,ZTKekPβͪ%:h:&k-ֱ*,vĂzNe.i^Fsh̿ϰMDzDLC<ԭelKl8 mBCTx=#E /]<'EjCw7>/^{A>&$qNJE4DH\Cѝ.ǂ%~[FXLbxJ|AR|b6;I.0w.ȰI y:DҲav$oCSmJHg'yXw=\G?(W"wA~F\Sa6p^A xPԤF{ԥRoGuu?,N"܂k+Co9kL҆N?&/ѻS6* e%-GKEZ2gN,[KƘt\bHE.fS'-_t:}>3a)՗hWqH* 6Z>ٜ'YyV?|ffaBAaee4Vn0\S7'LiO?Qz #&S'h9- 7m6SV99`V߯|6ϥsK?y@,ЃP_Og &].0`~_VtEf}ofbd}wBllԎkIC+LK8@['n7oKVT\l$3SHݴB~D7Az_H_ᙇ tEJ QmZ8^2SH"# H:aN#vu(VNd+-:fxBxWeT9j{么 π2f@t͈7!VUzZY|5H :Յ9Eڠٸ,XF5V"FP0 JI911>=9*(O0!"k?7ո^䴻ű8fkl}J#K{MspXe֚PH( h&GmͽQD|r5q3ShDsF]Bs[ٛxLģ~[*{ӄr Yb|7]{pDb~{ a^qiQӡ,Xq J>%ۋjjNtoPC.QF; ,`wt* Ǿ&J0ȚuNvt:2sW*52,s9*ٟbB3 E9诋UeI9н/W l“wfE=w 9"B88cA˰dW E|; ~aj|*7uβҳ!hE6T !⥒nߢ;pBIs5jt3kEwLj0@S;,[E뜸ln;%DNG'6!ʈ5 D(CMoԛ۫^,_gq3ޔKP.+@a6XQT,s:`sŰWRk񯝇r*ȫ_y[nJ2K76ʠq335lXAAIIC!ѫlA+j0PJ_Z)Y+L[&ն /1RQP+JKזؿTqW3@?Q][7Av7&I<ٷ; (qf@!aZ1_SKhT mTj%aLyy#|,_DfȀڮck(M;C4G CR<^c`'6NowXv~}*.`}HUpxE6s~=h*uiam8)J mj|'f?~~c;0b@JM a$AS LdE3=*5]T'f8.Z+|Ȉ Ӆ+Duœճ;))OhiqcJc1RhtZes=$E%Dfw30 htjDѭy};Qsd,O9%p+ay|>\GXnX0\Ehpy i%Нm/ςNC15qZqB2Yʿ\=t1eKqR(s)ЇZdor:ށ`RDyz_5X]|T\ٿ*j;QCՉ~Xh4>yC,Pl%]:Z!Z^":ɍ]*k1aZp2Xc3Lnl - OxbE.c{ɶ6`|{q}Z/cK *ѰLq @Yh@3E%@Vu(RsgHw, n޼f[y3VPն~k{s*Wic =l3@ճd4Ûmcc&mv IQ@TVgH=MV5Q~|vG=%YT"dM>'.9f.I޽.Opx25+hSl}X E2j}KyPRQѠ&ɴf<=Պ1τrm@cd2=+?R}2 g\HԪa VvK^1{ wC뭰M``S%D{5M1e) w&8m[6[pa巖z^bm@"OgU_O|9oرіJmӎbh%}QL5s-17ӱsk30a r vh_y6Mz7E+O`@1iY;`Vgcspo4iWqIqRGekwqC5~u,s'O/hw;,zl_'A &@ +׾ A?!H^ ~B-d1{%4 Sx3.-cUlwTY@ $b?@R_\^TH~FTt/%꛴@t̞K<:%ziV(V8-C`ȗv\+]4H]?Q \O{#F^Z7Q'~󤿒?JWd0b)x1}u 0}on_ij V!OB&wb%+l-q|/YsV_(<";gWy$Rym2WJXmo{g kES<́Wb] ѭoZ,-RzXxL 2vСZqIkI[zƹ,drT%K˶2n.*nG.+=Q~;SlA^Lc])ڛ"ОOʻx $U@D!B1ܧ׉零?5nYϔjTN_#8gj|gp`.YTA 9!5j_ض /e@;(D",$ THH[N7tlW x &/ʣ3GD&bZQI{hMI{SF]CQ[R*X¬C&aK>Bێezk/sJ+_q$ |sa=٢rNl۝SByb0`_g@ז 913 8qDih0yj 4I<0v7 &5/5)aDY>A_ ^4eB"ۆuxH)v95kzRTl9\U-L9 'PI(M&}WԶKܜ:g4ꭻ;0IaLa>@U0d3%WO Cc9FIYEoaS3<V6雲[t8% c T{w&%L]6WzqQf|soe> B.! ˔R"gB92{O=MQ|OJiID.?8Сtx8 7QD;xJ<:ą!_LyVhNoRP:IpFJliO`}\r,#ラgSM飶8]x"mmPoXD  ]|cB"R )*G8EyR{#CRu T8}{@ \!9x)`p3+ h#CP?.o&H^ybzzEV"&}ėþ=E|#w=xXU͚*YD`y`CkBxpDU]MZu&Tt9-V5t }Ү%pHP.a 7ƌIrYuzgVuLuӪTQusBHZ5%9' 8u#_/(?8^jy"n*2Z;dw7|E AXg>KPG蜋f:u}` N[5p}Jbigդ>D>JZneܓڦ'Q_/iE,Kc<{4F}Ga\@HC|bSSFbm-6QxD Q-"UyQ&O\66Ny߯?XBTk{֔- L%X ijmAXEF^4d}~( w%OiJJv jb[*>@A/ߤdtHH!@؏1GH{FyeD[~X rϟfW4[( RĪc%h>AƅRjy:veml*C ˔)aPS; .MasT-ҕDQ{KXz$<]>Nl!y7 ohB!F2ۥgհtV&>igwށC#j0M5DWٳs`6BTW%:> hb!Rc>_ȌEhΕ铩s Pܥ9YBFoSjR^.㲩>wsMi9+25EsEv K_`U )tM#FeS@=\ CQ[lGP݌HD=!ӆIFT.] xCzKALjn2a7f?wDsng<9-:(a ԥ3he6eL5qntk}"LS?5phe7>gM]qҠ c9Cch.  X7Z]VaSʦsAqzM] ZI{~9Jpy ] !e:N^Z,%%vVlh"u6JS4hIˊ †Y_тv~"g KaqʀjUjRYPK9G'2,*-CDjHB,Rl¶&N*ӄZɍ :WP{*TZhYK_>TYu:r&,Phk؈ö_-aW}"ϗ~; XuOnAD"2.LBZ?D\k&AǗJ4v%)*Yk4ϹA2F]a6:a?6w =|=i8/ KDngĢy{g3Lb b=kJu q5ɛ d=Ld}K3Q,e3=PK2rx.rω1ĪuUb𭿮ppu6P&h'ofm&T7#%IbC\P? ,&0Ť',V*Զ쀽H8Xð$%C1m|7i/d.?r㱞cYڳ Jڦ{#݋לȂCCd9bCdH]k%i5h[Tmb.Fw^Oip%Kr1 SlK~8Lz7SasY-EWw ikT2_)惥MQS#0o;FLF7σT$ɑSBI1CQe80PL<"WoEEGޢLE@#%UV9#d_2dfͧt ||LSLlA`bs捎b>&s X^ 7a u/W߅TQjnp*{eGM郷5pcn#Lw f nԶC>w!msg| 4#]ը;">&\8Ȑw*8p io-P?ƈ9r9ӟU^ZCO+6]Od6kJӜuYWd\.ooq;̒:ܕcԜ (';ǖa:Jyեi}> h9GS@ rIԋ!s6>S)>\q7/% X:͕g(u~`.ibn -43$A~7k`Vl'/_d fI [ 1|󫹬Cώ,=\=rb""TExW̕3Fx\{arȶ0f ~& /#C}kfv#:{owj/߲`5*ѱT,b rQ) ?s;D dSO|ЦY3hRalDFR*y܋d]jo^% *i%~Vus<*[ZT"' #BIّa ~7>L&eM@h*Q &Sy/L(c CG|A}jsvHÇQ~ڠ+_PG;SD -08ܩ z:p^4f8pߞJAipQ}ɡvcG]D)i}]Iz\cN'e^+6|>TuQN1=РD6a(@=NbO߿oi2߈u 1,.aٽk4HKTrC7d?]%2Uti_.[@׺u^fUb _:kxaL#_(+uhK>HML7@PmJ!v -x;\s jh%7ίI*Fd. ,̩ZA㿰K\GHuI]Gyɪ=y!|9K)3 !iy QPnaX?+H \ƻOad.[ޒE%w{zAB<f@8ݒ[gjH\XX ! nه́hC9A N)'b.$bs; +f+-v=.BUw3TEYnL2faa8:ԍPg"tc9Qa|{y]ȳ[̌э0ҕPr!AD(c~&VɈimxQ([ZXU.>_*C;ݧRT/'UGK.smUWΛ:L+nbx/Ilu7| 09,.O5ƀ9ކbS qhI|&t,aU} '>I,aܷF$|"7mWsRH7 X%SCt{/Ӌ2QC$F]K[R.~*x;NWxE,]WA@ jzn7,=&do]^)TQRUy23yWHBn6D|xxv1pl(J?Ku&.$vNqŴ'sR_`-Ɓ@ J.wr`1}R՜LH= ӥ 7c]\qF3;PxTJ;FeC!o]V>QhuTzB@7C|fvļX\ԥǀlN+̼Υr<­2Qe*|:z@?˹eo4#Ȉelrxx\Zދ^ZHeGSߙLPb7GZ3ԓE^c~_&.-|aL Hd$ ʖZzVLgzE* nW3۴0KR/Bc_,vZG[=Vo^]Կwh'WyʢS2ϷQ5"@~j9奡1$ʸ/W;2Mf&lkb!؇:MӛC*`Ϊۣ 84)~~ǵv$n-iC0ZoW̵݌xlh*lyoe'f((#M >:H'n((E[&1^ֹi@x)KG>Qy1ؐT  gJ"^D'7Mh,^lU>Ё +7v/T'r`[J㉭< Ds7Lh?a++FXsK/Y$kfz݈J2R9Y;l4XEy[[h6j="#3\H kXI'݊#@-O'c/oFQkf[`ֲXYkYYV"퀢hg zDo /ީjbIPᄚ^կcƷ{>Q7P B3sf 2flrRWB )wm 4WN 2/OQýP"mՑP|M.G &,|L4e^x0`^ZcVXbXY|n'b?D7r@7*\kXY 3X6zNdڽJʽPQ};eijԢn_]\,!,ɼ#,FYՄNJ岑ya"3Ra޷ݝ-2Bͤb*@q,6 kö#dr ȓ,i+穀]py`9;W||ͺ3L# o6wxkL7q@KE9p{ۮd@k_@ޑrl2'U>$$Y]i1ɓײO9(Vy!v^㬋I`%t˪b5z8TF9flRƑ&dO3UQ~3lO=BbpbA5se2#T6Bzrqp_0FP/)[E]+!&[TF,A( an{ ?W{z1\~_a,f,gy5EZV [v*Y_-I B;1Uܳzp\ޫ2 Wh۝'!G@۽hJ[=VfoJ3s+0 9=ɹJ;֛\3ٽB*k2zұI^$R- P1:b)|95(TLr!>j<ۑM٣p(}?m(_L$IXi#* *o| |kpp_"OEkyv !1iMsn0DCc[:L8`8P~rh, 3ƜW F+ݷx)Ú2t%wUr(_沊 @hkOS'HsQˍư3 nc;G-3SS9ElH(=p_qce$wYwL slRN)=|;= CA=u800N*\1QB$jԨ}RȈ\O3S_+e=1"^Tٔ>867]9J/x6UU?J!`XKO+撸(+EOm; kbҴ>Z=1*uoW!?.jՊV$ȻGYsiPK֊tʘ^G 6ZoFXn`A_>3}]=F%p'dro5J7{ .S]xMhmT=r2Y((H|Sޚn8(Ф3`Jgg[G<3O׬24c-`#7b f=N4@oCլ4'K.ې$ZO'+%: u}P:?@PHu$J~jH L~Ag^en]zEL=)Ϋ l |V{s bV^NUW_O\.̨힩24Z1BыO,yXĞ5k:vv -8bьl~`=G3̆ kY!Wj!^n_Y󭚻٭| C{ܜ-&>BM>1:)ws^y~o@({ 6ȭ'X@̷HtAN8mxfnF-ϫJI%RT_D9\zyuL6x\ i"[Ŀz|SbuA)&=IVv͞v;H'/̵_< HA֋s$b-rA`?($ VmR"w1vFLĭs^i?/LbkazAcNV}';7lC,΀6~CCڙ(2%CKs+d-c)FG4B[ I^MMlx̌3x/ŗ`EEvVȾk, %]Nf",Ώc]bYQݜ<ɬYRHԲSZh@V!uHP">,o$nI7IT<N!ղ1~{3J ' @-U2r F=eS*J+ah#4a7a%c[]"2'UzH/Um\>dm{60^#NR:Tn:4M-9{B(x6.M%p~0h)]_ Dȇ4+L,FLX9RagX%qލTB]${_B?3Wj-)vrG+²Vyw\X5rsw8XI5bCq=\=Fd?ΊdVF+w(ÂEn7wOu;]Zx_|yYpVą@XeR:L ߗz quhX10-o(QY`Pv' )@ .\ 4:(Df6фbQ:O^yF.=: ) )Wxly"Mc 糁E;޷LE=!~x' A`-iNrJwH^j`MаZjaՄBmb}<̌-O{_pPY2IA]&:VիA_m~ uu,Xjѧ|*S&,kCI9je0B>ܣ7R$`YZxźCvc=Ԗ cQ5d 2ܡ<eG#Ʌ;Fީm4 3{Y@% R\!]s /7N=p[C,M+8z$QJֹ2-2CVQ9D1g 'z_k~Qhuި5x {)eS ^XuߐvSnx|8`e75`.E=9\J%y@ܩ*H@ ! NhRBNƜ+TbH@'O'(R];u 6n Vc7o+ri"ymaӿJ'$ۼD?BW 1ŒP'f E;pP*˞X, {8oo59ef8W'PĎ&phkB3zR6JXיij~y i=7%Zw["7 ~nw4z+ >WV( Wxa^ ^@O pcQeKfEA?4Qr8'H\th O|AGމ=*}'f ޓ~ -tEVr/"ǵM׻~SҢ@a ˜ f|95HZJHd1-dO5CiXsc&fgA>vkW XvcHs 76>ל( J,6B#t|lR@5rGA7Y+WQԙ2j*{G -O0ƴ~; ldUK2& ;ؔ9sCb`ԎES2=uLƧ"gx&%9=Ȕ6l 3^tPcliYȧ6vҔ5L8S#]|pykKQlz쟸=B׿F.3o JN7*A݇Z.K-sB-I|(Lvg K*{=j[[|>π̢_N%%hsz"=d|įa`<#V,a ^r\o]g#ݹH&>ۘ|ktScS#UX}/J:K5X h@I$Oy*vasiH6-Hvwt5qmޝȕDHŹ ǘΡ~ť0: eL%@LwfwK'˟)w6\;,3^"%!i~S^T%~N3%Zq4`JS=pH6PaUE MΔ )Qw_\|L7KRAXVpX]Aa^ۛ2#Mlr%M`;ǀ6ULhI킌%[sC qk"Y{*[? gS\1m^ Xؼ\Y-ʁ2 !Y"HO5>ʌ5NJ^kY1581B#r|yyxk/8Ea &+}7+j3|kJEuMԖOXT;U(room^G19pҪ--m7>n5-?Fve TB=Ib^djڍAUW}_cabMSK*KҿU}u5CApÔ QC\Upe] 5*UW+zsU啅{>wIY; v%$_zMdD7y|ekT I+a<_Ԟ7"(auS \cF%tUt|ϰLh$/K(f\1ƹ6Vhт=r{dj*WDºЁZ<%hibRvتvn=RZ,szQobJ 1 RGJ@6Nkՠt*nH(8a"S}wSU`,n}y(o )%*8N7bkCot?uOE ޖ~r g[G'>92\H0yn͟TIb8PGl3$^>\uuz̤fR@ڵΣJ YZ