From 75d5956bd36769f87cc369ceff2d7cd4206ed37f Mon Sep 17 00:00:00 2001 From: Jannik Fried Date: Fri, 30 Aug 2024 15:10:14 +0200 Subject: [PATCH] Adds Files in AASX Serialization (#399) * Adds Files in AASX Serialization (WIP) * Changes Prefix * Fixes typo * Refactoring * Adds missing Methods (Unimplemented) * Removes Recursion and changes Exception thrown in Client * Removes Debugging code - Adds Checks * Adds Test for AASX Serialization with Files * Revert AasEnvironmentApiHTTPController.java * Change license header and author * Change license header * Adds missing method * Adds missing methods --- .../base/DefaultAASEnvironment.java | 151 +++++++++++++++--- .../TestAASEnvironmentSerialization.java | 13 +- .../http/TestAasEnvironmentHTTP.java | 15 +- .../src/test/resources/application.properties | 4 +- .../test/resources/fileSerializationTest.aasx | Bin 0 -> 261045 bytes .../backend/CrudSubmodelRepository.java | 7 + .../client/ConnectedSubmodelRepository.java | 7 +- ...AuthorizedConnectedSubmodelRepository.java | 5 + .../TestConnectedSubmodelRepository.java | 5 + .../SubmodelRepository.java | 15 +- ...modelRepositorySubmodelServiceWrapper.java | 5 + .../AuthorizedSubmodelRepository.java | 7 +- .../feature/mqtt/MqttSubmodelRepository.java | 5 + ...OperationDelegationSubmodelRepository.java | 7 +- ...RegistryIntegrationSubmodelRepository.java | 5 + .../InMemorySubmodelService.java | 5 + .../client/ConnectedSubmodelService.java | 15 ++ ...estAuthorizedConnectedSubmodelService.java | 6 + .../client/TestConnectedSubmodelService.java | 5 + .../submodelservice/SubmodelService.java | 9 ++ .../submodelservice/SubmodelServiceSuite.java | 19 ++- .../feature/mqtt/MqttSubmodelService.java | 5 + 22 files changed, 284 insertions(+), 31 deletions(-) create mode 100644 basyx.aasenvironment/basyx.aasenvironment-http/src/test/resources/fileSerializationTest.aasx diff --git a/basyx.aasenvironment/basyx.aasenvironment-core/src/main/java/org/eclipse/digitaltwin/basyx/aasenvironment/base/DefaultAASEnvironment.java b/basyx.aasenvironment/basyx.aasenvironment-core/src/main/java/org/eclipse/digitaltwin/basyx/aasenvironment/base/DefaultAASEnvironment.java index c09f78268..70539ee9c 100644 --- a/basyx.aasenvironment/basyx.aasenvironment-core/src/main/java/org/eclipse/digitaltwin/basyx/aasenvironment/base/DefaultAASEnvironment.java +++ b/basyx.aasenvironment/basyx.aasenvironment-core/src/main/java/org/eclipse/digitaltwin/basyx/aasenvironment/base/DefaultAASEnvironment.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2023 the Eclipse BaSyx Authors + * Copyright (C) 2024 the Eclipse BaSyx Authors * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -24,14 +24,12 @@ ******************************************************************************/ package org.eclipse.digitaltwin.basyx.aasenvironment.base; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; +import java.io.*; +import java.nio.file.Files; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import org.apache.commons.io.FilenameUtils; @@ -40,12 +38,8 @@ import org.eclipse.digitaltwin.aas4j.v3.dataformat.core.SerializationException; import org.eclipse.digitaltwin.aas4j.v3.dataformat.json.JsonSerializer; import org.eclipse.digitaltwin.aas4j.v3.dataformat.xml.XmlSerializer; -import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShell; -import org.eclipse.digitaltwin.aas4j.v3.model.ConceptDescription; -import org.eclipse.digitaltwin.aas4j.v3.model.Environment; -import org.eclipse.digitaltwin.aas4j.v3.model.Submodel; -import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelElement; -import org.eclipse.digitaltwin.aas4j.v3.model.Resource; +import org.eclipse.digitaltwin.aas4j.v3.model.*; +import org.eclipse.digitaltwin.aas4j.v3.model.File; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultEnvironment; import org.eclipse.digitaltwin.basyx.aasenvironment.AasEnvironment; import org.eclipse.digitaltwin.basyx.aasenvironment.ConceptDescriptionIdCollector; @@ -60,6 +54,7 @@ import org.eclipse.digitaltwin.basyx.aasrepository.AasRepository; import org.eclipse.digitaltwin.basyx.conceptdescriptionrepository.ConceptDescriptionRepository; import org.eclipse.digitaltwin.basyx.core.exceptions.ElementDoesNotExistException; +import org.eclipse.digitaltwin.basyx.core.exceptions.FileDoesNotExistException; import org.eclipse.digitaltwin.basyx.submodelrepository.SubmodelRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -69,7 +64,7 @@ /** * Default implementation of {@link AasEnvironment} * - * @author zhangzai, danish + * @author zhangzai, danish, fried */ public class DefaultAASEnvironment implements AasEnvironment { @@ -83,7 +78,8 @@ public class DefaultAASEnvironment implements AasEnvironment { private AASXSerializer aasxSerializer = new AASXSerializer(); private MetamodelCloneCreator cloneCreator = new MetamodelCloneCreator(); private IdentifiableAssertion checker; - + private static String aasxFilePathPrefix = "/aasx/files/"; + public DefaultAASEnvironment(AasRepository aasRepository, SubmodelRepository submodelRepository, ConceptDescriptionRepository conceptDescriptionRepository) { this.aasRepository = aasRepository; this.submodelRepository = submodelRepository; @@ -108,11 +104,41 @@ public String createXMLAASEnvironmentSerialization(@Valid List aasIds, @ public byte[] createAASXAASEnvironmentSerialization(@Valid List aasIds, @Valid List submodelIds, @Valid boolean includeConceptDescriptions) throws SerializationException, IOException { Environment aasEnvironment = createEnvironment(aasIds, submodelIds, includeConceptDescriptions); + List relatedFiles = new ArrayList<>(); + HashMap> fileSubmodelElements = new HashMap<>(); + + aasEnvironment.getSubmodels().forEach(sm-> fileSubmodelElements.put(sm.getId(),getAllFileSubmodelElements(sm))); + + addFilesToRelatedFiles(fileSubmodelElements, relatedFiles); + aasEnvironment.getAssetAdministrationShells().forEach(aas->addThumbnailToRelatedFiles(aas.getId(),aas.getAssetInformation().getDefaultThumbnail(),relatedFiles)); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - aasxSerializer.write(aasEnvironment, null, outputStream); + aasxSerializer.write(aasEnvironment, relatedFiles, outputStream); return outputStream.toByteArray(); } - + + public List getAllFileSubmodelElements(Submodel submodel) { + List files = new ArrayList<>(); + Stack stack = new Stack<>(); + + stack.addAll(submodel.getSubmodelElements()); + + while (!stack.isEmpty()) { + SubmodelElement submodelElement = stack.pop(); + + if (submodelElement instanceof File file) { + if(!isURL(file.getValue())) + files.add(file); + } else if (submodelElement instanceof SubmodelElementCollection collection) { + stack.addAll(collection.getValue()); + } else if (submodelElement instanceof SubmodelElementList list) { + stack.addAll(list.getValue()); + } + } + + return files; + } + public void loadEnvironment(CompleteEnvironment completeEnvironment) { Environment environment = completeEnvironment.getEnvironment(); List relatedFiles = completeEnvironment.getRelatedFiles(); @@ -295,4 +321,91 @@ private ConceptDescription fetchConceptDescriptionFromRepo(String conceptDescrip } } + private void addFilesToRelatedFiles(HashMap> submodelFileSMEMap, List relatedFiles) { + submodelFileSMEMap.forEach((submodelId, fileSubmodelElementList) -> fileSubmodelElementList.forEach(file -> { + try { + if (isFileAlreadyAdded(file.getValue())) { + return; + } + processFile(submodelId, file, relatedFiles); + } catch (IOException | NullPointerException | FileDoesNotExistException e) { + handleFileError(file); + } + })); + } + + private void processFile(String key, File file, List relatedFiles) throws IOException { + byte[] fileContent = getFileContent(key, file); + String path = getFilePathInAASX(file.getValue()); + relatedFiles.add(new InMemoryFile(fileContent, path)); + file.setValue(path); + } + + private void handleFileError(File file) { + logger.error("File {} does not exist in the repository", file.getValue()); + } + + + private byte[] getFileContent(String submodelId, File file) throws IOException { + return submodelRepository.getFileByFilePath(submodelId, file.getValue()).readAllBytes(); + } + + private boolean isFileAlreadyAdded(String filePath){ + return filePath.startsWith(aasxFilePathPrefix); + } + + private void addThumbnailToRelatedFiles(String aasId, Resource thumbnail, List relatedFiles) { + if(!isThumbnailSet(thumbnail)) { + logger.info("No thumbnail specified for aas {}", aasId); + }else { + try { + String newPath = getThumbnailPathInAASX(thumbnail.getPath()); + relatedFiles.add( + new InMemoryFile( + Files.readAllBytes(aasRepository.getThumbnail(aasId).toPath()), + newPath + ) + ); + thumbnail.setPath(newPath); + } catch (IOException | FileDoesNotExistException e) { + logger.error("Thumbnail file {} does not exist in the repository", thumbnail.getPath()); + } + } + } + + private static boolean isThumbnailSet(Resource thumbnail) { + return thumbnail != null && thumbnail.getPath() != null; + } + + private static String getThumbnailPathInAASX(String path) { + try { + return "/" + getHashedFilePath(path) + "." + getFileExtensionFromPath(path); + } catch (NoSuchAlgorithmException e) { + logger.error("Could not hash thumbnail path {}", path); + throw new RuntimeException(e); + } + } + + private static String getFilePathInAASX(String path) { + try { + return aasxFilePathPrefix + getHashedFilePath(path) + "." + getFileExtensionFromPath(path); + } catch (NoSuchAlgorithmException e) { + logger.error("Could not hash file path {}", path); + throw new RuntimeException(e); + } + } + + private static String getFileExtensionFromPath(String file) { + String[] split = file.split("\\."); + return split[split.length - 1]; + } + + private static String getHashedFilePath(String filePath) throws NoSuchAlgorithmException { + int hashCode = filePath.hashCode(); + return Integer.toHexString(hashCode); + } + + private static boolean isURL(String path) { + return path.startsWith("http"); + } } diff --git a/basyx.aasenvironment/basyx.aasenvironment-core/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/TestAASEnvironmentSerialization.java b/basyx.aasenvironment/basyx.aasenvironment-core/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/TestAASEnvironmentSerialization.java index 9072f09fc..3734e36ea 100644 --- a/basyx.aasenvironment/basyx.aasenvironment-core/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/TestAASEnvironmentSerialization.java +++ b/basyx.aasenvironment/basyx.aasenvironment-core/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/TestAASEnvironmentSerialization.java @@ -25,9 +25,6 @@ package org.eclipse.digitaltwin.basyx.aasenvironment; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -39,6 +36,7 @@ import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.InvalidOperationException; import org.eclipse.digitaltwin.aas4j.v3.dataformat.aasx.AASXDeserializer; +import org.eclipse.digitaltwin.aas4j.v3.dataformat.aasx.InMemoryFile; import org.eclipse.digitaltwin.aas4j.v3.dataformat.core.DeserializationException; import org.eclipse.digitaltwin.aas4j.v3.dataformat.core.SerializationException; import org.eclipse.digitaltwin.aas4j.v3.dataformat.json.JsonDeserializer; @@ -72,6 +70,8 @@ import org.junit.Test; import org.xml.sax.SAXException; +import static org.junit.Assert.*; + public class TestAASEnvironmentSerialization { private static final PaginationInfo NO_LIMIT_PAGINATION_INFO = new PaginationInfo(0, ""); @@ -186,11 +186,16 @@ public static void validateXml(String actual, boolean areAASsIncluded, boolean a public static void checkAASX(InputStream inputStream, boolean areAASsIncluded, boolean areSubmodelsIncluded, boolean includeConceptDescription) throws IOException, InvalidFormatException, DeserializationException { AASXDeserializer aasxDeserializer = new AASXDeserializer(inputStream); Environment environment = aasxDeserializer.read(); - checkAASEnvironment(environment, areAASsIncluded, areSubmodelsIncluded, includeConceptDescription); inputStream.close(); } + public static void checkAASXFiles(InputStream inputStream) throws IOException, InvalidFormatException, DeserializationException { + AASXDeserializer aasxDeserializer = new AASXDeserializer(inputStream); + List files = aasxDeserializer.getRelatedFiles(); + assertEquals(2,files.size()); + } + public static Collection createDummyConceptDescriptions() { Collection conceptDescriptions = new ArrayList<>(); diff --git a/basyx.aasenvironment/basyx.aasenvironment-http/src/test/java/org/eclipse/basyx/digitaltwin/aasenvironment/http/TestAasEnvironmentHTTP.java b/basyx.aasenvironment/basyx.aasenvironment-http/src/test/java/org/eclipse/basyx/digitaltwin/aasenvironment/http/TestAasEnvironmentHTTP.java index 26f6a42da..dd3ff2b92 100644 --- a/basyx.aasenvironment/basyx.aasenvironment-http/src/test/java/org/eclipse/basyx/digitaltwin/aasenvironment/http/TestAasEnvironmentHTTP.java +++ b/basyx.aasenvironment/basyx.aasenvironment-http/src/test/java/org/eclipse/basyx/digitaltwin/aasenvironment/http/TestAasEnvironmentHTTP.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2023 the Eclipse BaSyx Authors + * Copyright (C) 2024 the Eclipse BaSyx Authors * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -140,6 +140,14 @@ public void testAASEnvironmentSertializationWithAASX() throws IOException, Parse TestAASEnvironmentSerialization.checkAASX(response.getEntity().getContent(), aasIdsIncluded, submodelIdsIncluded, includeConceptDescription); } + @Test + public void testAASEnvironmentSertializationWithAASXAndFiles() throws IOException, ParseException, DeserializationException, InvalidFormatException { + CloseableHttpResponse response = executeGetOnURL(createSerializationURLForFiles(), AASX_MIMETYPE); + assertEquals(HttpStatus.OK.value(), response.getCode()); + + TestAASEnvironmentSerialization.checkAASXFiles(response.getEntity().getContent()); + } + @Test public void testAASEnvironmentSertializationWithAASXExcludeCD() throws IOException, ParseException, DeserializationException, InvalidFormatException { boolean includeConceptDescription = false; @@ -252,6 +260,11 @@ public static String createSerializationURL(boolean includeConceptDescription) { createIdCollection(DummyAASEnvironmentComponent.SUBMODEL_OPERATIONAL_DATA_ID, DummyAASEnvironmentComponent.SUBMODEL_TECHNICAL_DATA_ID), includeConceptDescription); } + public static String createSerializationURLForFiles() { + return getSerializationURL(createIdCollection("https://example.com/ids/AssetAdministrationShell/3982_3381_6308_9332"), + createIdCollection("https://example.com/ids/Submodel/3293_1019_6578_9120"), false); + } + public static CloseableHttpResponse executeGetOnURL(String url, String header) throws IOException { CloseableHttpClient client = HttpClients.createDefault(); HttpGet getRequest = createGetRequestWithHeader(url, header); diff --git a/basyx.aasenvironment/basyx.aasenvironment-http/src/test/resources/application.properties b/basyx.aasenvironment/basyx.aasenvironment-http/src/test/resources/application.properties index 471b9a61d..65b3c5e1f 100644 --- a/basyx.aasenvironment/basyx.aasenvironment-http/src/test/resources/application.properties +++ b/basyx.aasenvironment/basyx.aasenvironment-http/src/test/resources/application.properties @@ -1,2 +1,4 @@ server.port=8081 -basyx.backend = InMemory \ No newline at end of file +basyx.backend = InMemory + +basyx.environment = classpath:fileSerializationTest.aasx \ No newline at end of file diff --git a/basyx.aasenvironment/basyx.aasenvironment-http/src/test/resources/fileSerializationTest.aasx b/basyx.aasenvironment/basyx.aasenvironment-http/src/test/resources/fileSerializationTest.aasx new file mode 100644 index 0000000000000000000000000000000000000000..79c53658ddcc07899929b5ee694d6c65f1dc7ec5 GIT binary patch literal 261045 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

8<_4E%g5?{d9wi$g< z`Mn-u&)qR-JHZ&i2*;&!KAV& zeUYx|KC^RnA0>fWH@(2;5b}9>TDfs$D@}1)bz%DM)e-}C`5}lF2zRfqbOZwL(Y_a6 zdodbX-!Y!=qGe~7&DEcd{yl$Wq*bplQ}E1rTB#cbB(tcvT=b3p_e7U}aPQH>k2iSM zPEiy0RKhiqZs^S(a@|3nELk0AWSnW?MBB#1na_z;QZjfaN{iR; zBC$w*yv9VZqy*{q4FA_Q`|cUpTdJZdzfwpAY$S;z%CvF^*bHyW#FFAM{OK-m9=n*N z9G=lWwRCfJoWi}ZZ782N1=~h*4N@|EXR8O2&3r7IqFk)cJ&#NF=cXa- zg$5I5953?YqGt3JC@QM-|VSE3v($K+SA#kPN6UiDxkh_w<8)GuHW^h~rkt5|jv zqVZVgJj}ugyivgSZf}%ToijL$z6l0zW9N&d>G~YQWwxwpbgG&IYsy7yiy+%*Qm*J= zqO@6M-Q9x9Bl0(Ald%Tx{e?dj) z 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

ub;Z8s&K~LLy zVnie!TlCyeS3!bkTa*jyoz!L717-#jCMPdMEO^*7afHWtUR{+~htFf6T|OQ{4DyHy z*Jwg%HcgZC-=~y>yCAF*tOfv&%9||u9d@Qo5}#TpiDXH>;&Gd*%i0@r@Qcof&R;WfqDM zZ<6j~{tov!3Gan8Tv_6>!pS~7xeyg&|Ddn8-^m4oa&wq%wTqeG41L*uWh zo-TjSXX72G+b@^B`7e6oZi5q6c>xh#*(tiHCFEjIJvQC!!aCjhgMJh%Pd9F6>Ut3} zOK-wa?_C{zi=(W#5IzlD=i_L6z^xZek1#I1E5%lYKj5Gk$9!GxqU1SXFgu)kcId$` z=k&#)D-M@U6&tqmBZea)FfD6eC%!q4S-}*~0u3KHXcT&!_$Gg=EGhp~vJ0Z3(V|i~ z_TdmtNk6Low1JH?1kMW>SmPJ$!GFX<0NByj}WIK%eQjn2cVg;7tixXGd&^t= zvX-PXxO%?#BaFjGsk2~?@&SnwzGdcdA9gD`ZgI1VC4idnZ8g|XTnTG_n(xI9B%-cR zT9qG9%_#d74ADt$D+AI;GiIhsk5IjK7qdlATnICIapmaG>@?n#$ktIs$k$o%;=zFo0V-nea`PKP_PM&ARUxknMeU><~fGAbnFuXVbVd9()O zc#%Hkrr}Z%fqgv?Rnmy1D44P=P2wRzS{DVRrTvH5Mg#&L^pLMVr!s% zr{O)m9zG!LgMyvGPk>Y_DG?dR+)Y^qbMe;u~hQmkCG$F{%{Pt zzdzeX?Dx~LSQZ1VTUv%rdz^R>aZ{AOm#5EM}&lr(zmE}!n3(x&oC3_sFT`ZmTTL9i6<9cn7> zKbA3aZeJ@2T5~L0+gMkY-Oh8^e@H!IX=7u0!zZXiy7L+@5QP;H#RWF**kofKZ|kuz z?d+Y{d#QB2Jty3p?~BF$az5@6Y9}CgP;P2%KG0TvzE8-O&-QC^CAtjuF*??0XwG4U zC73EG=hf35q3k;yuoat3o^!=`W5I5J^`3(%aV;xoW6pMMxo-@X&iBhj)3d`oUJ;j8 z<2Uw+sq5M;Ia6T$W19LL*uDF?bCw$9Do3TBJgUBJb2t!4u42~an$rsw$$Q$)5^EkV}YH4 zj8Fo57SE@8UtqJ}r}JlN`+x_KCh9~6?_D1>S@y-vo2$ewbyMKRAys-;VDb7_iJ;rH zk1d_|uD41EuWW2HXlN=cl3$-JQtGp?SfHCl9@bR>MO{um2zEb4w>KKqTAV2K zIIN#Jhw;X<4@IVB6>^`s6UfiIBd3MNh&+g~j%C(hbuD0Va$^~kqZ@hi?4tbP<|9E3 zi)^Pv+0w#<4KlujhuK^11l_QH@5`Hbg+pdyfyx&)#K|#Qw7)St*#6}q*g`+Qcc`_e@m`ceb==kYSGb7VJI_Si&_`ZqM0tYRs>RG2Z@=QRMeV%uw^S zXx2eFEZYk$m}X^Yw9%p_6X!HdGRH%2!Z9$|&fSnH9`en8h;_dAY%>LAA0P4Io^>^aTEpwjB>{C)dtr8+pQiPkj7BOzO{ush&Z z^-E+vNsSwg;LIL8tV$FetQ>u59eoQHGvxI6?j`dC!>z)$ToIqZ|+xiv^E?4H=%%OUK6GeS}LyNBvh!QYP$@miF$gxThf6=7Uck zO;y9*lYoPo9pLb~`GAoKTXQEX7PdR=lI;^}BNTWM_lKkxmtO+;3|MEdi`U&>pD(91 zJ#~^hkE`nAVMB{WT%sTWr96$*nlmGmUD}h&uk<~Be_V0Y71+Dc+7>09|BZ$(mVK-u zGJf0Gikd&SgxNN@!{l_$EFN?+`Vte?c?Gvw=D-|=dc#ihi)y41o2O72V(|JyurrL8wC&4H*G6zAtm?Aj$jdhC_-%yS7 zlTk|CmPhazNeA?0kL;hH&uK=VZ{5qxESYm2@{>g>BK7psjqRwK>9*b7MjsmxcPAdS+CC^5Uwyj2_io&+7-j*r4TrSFIpRgOb!dMS;cYv&)WKRdzMvbQG;9FtjEb zpOh&+0K4&sGq=g6kMQYvO}%wRUeyVmeFzdDZ*J*9v8nY_*mk2i1-+vcEEI;@sVp#T z9R=m??Tr;RdQ^2i@6oku$#2sSj6S+$2kg8(;f!sz5S3GQ!C>iO$ILk`J^0v?P4x2= zc6acc8!?Pw?D9DXhW!cYlCA zWJ__Kh7%=;;7)L~xR##1OAnGv9Y0mKKIDq!Jy5V<8bI~lAFQIJR6aMOM;Yumn@Icf zm0*7Pqf6uswK+`h=FRGJHs5evd8M zRm-<3%5tuC(vo`^f^ViP>aHzLh+O*}E7dOTR_BW`EGd8HOmGrW1 zR^b4<@RtHy^TnKa08`1ONlh@5>38ADc5!|nKs^xYcatXFU~5KFYMWyJ%U035pHI_O zfi#|e@PLDs+ux(X}8EZbknGpE0fh2vZD0(3T#>5AM;D2^vLH zU6$$3i3PV`SIjPjtWT>6uqO(cr;TktNA*HWEbPj;L7^i;vp+tMT@NyG#o~4iUA6Sx zkUm0*$s^ZtHuG)1{Y4^2Y&pI?&Jg3eTS0Wq6-p0xd`~ysmKY`ELHkz4d~-)q$SAMp zQ~&RQWe>j|qQ^9SfFYt6iVki62awF&m#PVg6)gMsU>bfG)1>-*e$jdLuHrNsXeYc zp9s=W;hDgjZ!C-9)X+j1<_df6;e;#6GTk{}tfneQ9hI3yAv%)k#v~*ZKBU)nskHj1 z-;|TeC8eGgv5KS3-rAV_JqG34VID2eHtxur$eBvvICj@wKvdD@fB=8 z>W?Th2(pIk<7nbFHsH>jW2YL}MJ9i5DbTmw^fHDMKn{wq;`GYr3G)!9GTt%flQZEH zJWso2HU`h6z@8i|%x}B_%Cd{MfSozYhVP}wdhKauT8a@2IAAYWA0pc^JQK3{)y|sl zR8Uv@P;tQbcBP};&PimT+^hx0;nR96Yq~@s_b?&EhA)h-LU+h=&XpR+!x|!-8BT`9 zp^Pu~J#@Q0XULh>d1Ws+;1l~H@aEs#A$(GwK67D&VesW)dcZy9N6=Fzii6ln)M5sk zOBppL&k9txz9*CY@_AR!jEk&%q8e;h--@xd`7!McPrhwaU0a^tJd^BxNWu55-N`ZO z4G60hzz5@)Lxdn8xgD+-PrY~%!{yvemp`=^62zZ-wt0*DW+rS_U}wK=zPy9?5XHV3 z7pBJpjHSX-m4=eKu=QZ;aj~HuQD7@sb@G^sO9K&%L*KDtzvUUIJF6|uFu?ViXs0lt;zvO%A?RBi(M{Ho z)1lx|Ms88sBcajG_XVhfwR?wuM#XyFl|xw&hB_-WiAf<7ioI5pdt6Jt7t*)hq?@#I{lFk~&Ea+dQoqh*P$U?N8T|;P?U&gFSRB5jVc0-7iNX@bk8+v-~RD zs-9Y{zf6{FTpjqR!S6Owzp`PABhNl-n;=Ma6v9Nv#bLc0LM>YiJUPD1*vcMAYydiV zx$dynr$bpU`@p@H=NGuEQ-_&6rPS58Hx?Ox@cD6ID=sYh`89UlNL6MCml;IC z@dW)lkrqHniHbppODLjbg8}|4ADMW=J82v7uZxzH)TutiO(+)fh3y_%ACb-{duRR0 zd}@sh01#pt4?7(A!yVEG3^55-iD9{FoNx#@sPuQdyKd30f8DFEOAlUp*PQHq z;#SYBP|TWw%pqHDcwjFmL9fRc@fylgt*vptIQ0^4H7jt%w8o9UyU8O8Mna+2)+fPN zxNI3USaw*t`ZdAwWRn`P=hV~3=cNy-H25#gu8n=AYk*)@0b1WrLCUg@!ABbU#&epU z9@46FO{Vn_SQxOR+9ydvLCuo00&e~LtSx>$YF)rt=7W~fzLf7M%RJUWWE6BT9LlD} zJ%HflCgCcF)B#;uYCF4~RWvMeSw*4awv1HtZx{JJBW!N(s5CsrH*hdM>Sqxh#dd5z zTL@p72V8%wh}t^?d$G}7kbmOvu)kNGo)kAVlRK%PJoJk>A=3VkynI@9OOqj!$(*2J zwYVXz;qlqpeN<`?XhuHKml}4F7BX)}-JN{}*#;uhM6ZlRzr8_wI|m7Rr@PAQL*Urf z1dAuPARW9!aQMyf%c%tU|7w2@l(%itRck@6IJ)?8ux|>y)HX*YMNcTor_&6((TpUi z61=3wMwE~nu;vy{VaOtdJ-m4ScmjmEY0wzKSpJcbloPOGGjLAb z(n(FVpvB`ytE#SAC^8tD%w{Y?s62x~rRhk5yzHyXbqts!7qT~4A-Z`u>8geTSL>@n zy?C@+-^`ap6(trL{r0-QayxAEmQlxLVjB#NJ2ZMd*?Q&pq;G1?ufCY!fW7$<=%MP)xy&@Hgg>yuw| zmx1d*-@}qP6~@FU3|+X(FxA)92&JlWhqV+O2)4yJ!bcmid-NcOyb7^`o{?0)m%B4B zH83@9UGeo}Kx@lw2vl}esZut!xOm)27|w*L_DE4v>ba!Hi_zLNjt#CgEjESC6~m z>qC4jKU2X02|Fy4XJoH_&sN;P>C#r?XN#6<)rG=h?kI__+B@9982I}?*k`3+i zyw`MOnk#*{3*@*Oz?HLcRcX8ww)`1R;^d=DwBcNr~+femR(m4-D-9Be=X{o!y6C5 zFYr0^N7~at^NajikV|62M+5iiAw*i#wRUr8C8)JsuaRVwRZi4#ewbhIt{^jbM(Ax;}h4_oS>!Vv?cbnmVR7aM_*aFo!{ej?aG`fBDC6`?O7YesgWnG8hb1^f(KNT#%oa?)!jwne zU%z~05%Pr~I=zb=y9alKVb&uScG~(JqX}Vp3FG4$A4#nWaaw zN)qYQc29#5CZh;Ri_itWaQ4HuJT7miV+pRJd3yv$pWQlk)AO81>%mJHE)3ZoRIe%y zc=q@9i=rSP7juLVu6cLWUT-0k4)^sm#g*alGo_o}do*lS@X~2xkTLMLhit^G=mzB-N0 zA&=c%V%Th&8otHOpTf}S{VN)U?PXBBS`zKQwkJEw;Q5M%3WueBN+lQvR4^xXc&XVX zBtO^n^xV2hk1hBqO}ERFLt7o5EM>|*dh)qO5pqS4AW^Wy<{%ZF>=#tdOnW+}xTDRuqVhte#0snhsc3d}F1+$%(}ZMkvA(KL1kviD{chmvAg53;Or z7G=|oO;5cUyG1vnQgmoQ17(~&FqegU>$W^q!SE{TY7WOzQ)4c1>`S=XnlRo8>U=ti zd0r_0)AhD4&V3Q@YFlrPL#(ktu87GzN&vSA?zQ!9@^U*)&=3a+6tWSOs;Ww4`#A%* zEtmcFhAm>NsMfo*blQh1N|_5UTilslE-o~C2kFdu4U7bHl*WR#{eZM>Fr$!=Fdh3# zVGiob9*g}3N-$F<&urmj$d#dlXm^2eq#iVs!jc^B6VuCP@B92<<*fHpIns2{X8=Ax z+pi}~gRw_=+F0MPxLCTA354H91=}t??(?Kv7+QL~G-IcF zDEq+J!Cr~L%66VhGp8Zhhk%XUqoTM$nQA@>PX3njmmKe=rtLJD+rqTWmw#5yP{kC2 z%>9YlrXSv4*z}#%JW8T^&>Hyk5Zi`iGpXx?z4}A0 zI@tdbNBWrxSOi)``LBFnnhCRzDdSU?t4lbpFx^bCJCpuGGGuzX)mHWe^=wM$Sh$`+ zNQ(pww8jTFD(^<5QUz!BeStotFnSYC$!v$?LHV#Dsu4Y0nl?yVsuJiL$R}KBNJu+6 z{bq0RLS+c~UGK{-l}k<2vQa1j)~oV3c!qW&5ie^j?*V7bU0$A8S9ba|{uW~LjqKpj z2)LJa7so(_t!iNA+{@NdW`A?VjYjWxz0Aw)!UKgAw1dsvmO(7bgHu_Te!;hgsI}K2 zmB&c@NoHbo^|#Q`Qjx^Lr@4$%rA^)V^Es~j_Q_B+Fqu#CzhS6iH@&jfH2g7FCvB}L z$Ca9#Y82dxYpoNo=JgMULSCW-QqWw{RE!EuRGWHAp1Z3jD046-M8|qHfU6SOB^A{V z?~F?d)~}9lYd9+PnDU!MZ4e~ME~+(g4uz0uZsQxf*;Ky%`GOoC!`#v39{6iusko90 zNm|H;By|u{gePKhn7;_gWl2ja25!7;bw5yTvFZ}XJCZi-vSm93^)DD^lhffwNWusP z<>7vYTxdM+IbB1S`NBahOR%+~7_=#?1m4kAJ$c0$c7MVr;my-rNhz*QFs=?a;dKse zWs*4EfAJYym#aw_&rPv?1OT6wojm6rNGXyljaPu{@>T<5Q}=kZkxM@=PQI#HpI(Q|bQXRp%sLyfoY>5+F4EcdADqQ@(C_uk5ol&TUdffVV&`bXSV*SCIjq^DpGYWR~*%M<87jH8iJ zao!oP8r-YSH2~iuBV6S_^6qIaZnIxiAyc71u|ajs=RKExGP}0ggEttH>)R}G*lXT& zO)2rlgd%(O(oo>&THEqyL+_cd2NgSYXvrH@RA{LhyFG?)z|k>%0|d~2D}vuayQ@Bte+2hG^v@@>$t^) z_4x)n7NLq`raF zH{U)ZTmqJ$FI9`Wd)i>i<%5p&+XcoATr=l*vuH#tYrX60e#_KHGug)YxT#n|a`LZA zMl>&749k}{;Db=xk+urI{anpeHv8~``kcp+>{MWB`-D!Uh6fUo$hP0(mTO2Dxb34S zxsAy(hS4r`hd`%qKvM$S-EExD?WC6=Gyll%?n^;iA$7^PB|e=Bk~bjTbHDFP*HZ!% zdql3RLkKxsO%{wKTVbJ6Jy*zOJw3X0`y|Bgh z;&<0&;*D#oTv~e=0O=Klk6aL;EZ4E$iYMBC%Oyo)V5DfUZEf(VHRSZMYT5 zOz`!svWAH#s(oXHs0yejbQ`N=p3Oo0mIWPo1#lN zY43dEw+MnnX)=&_j*r(%>elvudj7Fvur&rZXZ@HopAsjp@HCbkI5u}Xok#TPC-q}*Aa>Ds7}kS!^R?SNycGfLxToMVp$8Y1 zybRc-ghGGxN$MVEZmR4SxP-X@T$KOS?VU@k;+bhXzf;E?oU?P(_5`k2c|Hnz?W^Hr z4)Dd0ky2=)hP*JSSSMssMrTpReB>F3R*368z?Cx^=85r`f@8@tb1&a;B-mKW?~AD;mjQMDHpAAOs64S^|CUI8(;h=V{b#W`ChGF9n!f&3aU0-(U+C=~9y7I;g%VXPinh=3yzv4f`W%JQ9 z@LSru+4086vBAD$6SC@@=9kyp-JN$>4i8>t<_cW$9WIrJG$g{z-FC*?pae8RQ4u(z zRqorO@sZKy<5(4>Of+jQIzMuswfK;A^{NZxjpH1VN0?Buy+C6Huy_ZwYYf_xLG^bY z8^dhPb-x$$!sAbv)~$XXUU@zOXC8vAf}YweJ==h+Ohbth|FwmlI9mDS6YHxymyaB~ zXbczGqEb8k8~Z7J;SqrZgNqv*zpXvDOqpA4pGsSCqYSLrzvL&ekq5K6Wra#f3ZSBGD%Mn>LxP(kwy4Z#mM$w9He#h zk7%Hp+L8Zo8%W{b&i;}S`^zBMUpd46YLLIW@$VAzcku)p;s2~zP@rtC2su_0Z{?AF zg0X&bQC~fm3tK9AWC@*8RBsGWe;{DH(mL&O|Lpe?LM7|pL)9CrJrTY=8=3~SzYndh z46km6j}l%3n+Uh7U%l~rkMEN%Pp8*}+Kh?ff3NYl4Fv`Exa|w<5%@T|X!V|f z9>X1B0n4eB(r4}6qNzM#4}o`Dkm#dR?y=fnLG=e3#!8gyc1U8F4nJ69)^W8%ivD8U zge}BKf|*#ui5c;gwn~rL^XjX0qu^-rLDtu2+YScDl9lIT1Pr)72*7)W=3w}IhGBZJS{(fbhZx*%+!p;+tJhBW~m>rM<&Z31I%DKr>9 z85wb@QP24JUCS-{kp~1|c02a{ik2212Er6;Ho1xdoJ3?W#(XavK3rV^BpMFmWKp8eI_p$EcuO2r!xXLJqfRtj-N{rY1)q7L*F&I`KG0>^ zOvwooDqtlt7QO9`esUHg?Gir$a0nxsdWHtR&vj;E!bK^USvH}HxV0~AzSUD~aQPj6 z2vK^;q+#^afa&XUZF2M;zfQ;IN6U6ey^*>S?r$x1L-TFvB>!ObotwbWEq+u7<1)Sf z>9{)WvDxN(@U2lc#L6X7Tt=DmYC44XBU)x+Q>L$_Y+=wbUU5`TI3OTuOA)DEg0Bv^AcOgG5q}qz|%Kw)HI~7(o9@$ zE1{3PJ3-p+G*NC3;GBLB8taU7gA0}0ij5%QwWL%7+a`0de5ToUSLlPV7cki2DkZ;z zo==a+E_p>=o=i;k-IQ?m0P11s+Wk>h3O>LU${Wr5pZ4*u?_fIU1TJp{#A}M5?e3pF zyN?K7xhQ2|^mWJ;piZV5nvI}?Q(3CSUH-Yku7|8ZycsS;yjrhr(?CcR=X*tnEp6G^;VLmtvWEdxC@=Nk=sf-edS)TJW(}Wsf}*7l4^!DC*V~mhv9jGC3^9m zogOo|O2h^q!~&xq7lJNN)}F4r=Ihc!sExOy1TpbL<4c*gfS5Nbt1*B&uP{&p|1hK6 zO#D01LFG#isHrF+JU%V&79`To@+j&r8pO={X0e$Vn>Udas>2Wn1_a{g;A1n>Ut5Tf zw;&Mo2*lYw^-!WDW4&A9DgGw`2|Jod12Zx6g9ORIejNemrOt%;PJp%U6@)P2=r?VQ%q8E5{ug$0hNweu*gI7U^;bPeVjP^v z`Em=*#+$jou}CFZE6Fl>I9d@`gGx*xIrY2Gmi(Ok_n+^+17C0^u*h+!cQ( zaz&~D0XAZbyh$}>Yob)7ilL|TgdQgfyMDG<5&+|NF#^GK(-87zVF|uxiTVtmh^U@N zp!&|V2>D7P+ge8=7V01jD2z`~2@Qw{{^TA4c+_cgB?}3`Qv@Icx{LD>1v?=Q4dehC z$VZODW92&uSYUmGnyP3jGNu1iy@{&&BU*T*FEkL_<2n%rACXIfYj~P8X*gxnycw;0 z^2PT}Usv5EBIR#@s7a5eY!-3mXX0eeJmKCJBm-GZADIxC7ef4@L`K1s+a0UeYkxWD zLxc^9tb8?bkgXg9G)E?ud$`e*YVx9&4?egHl#%#)Cln!W`{g-T#740EIuQ6wC+aMgZu!eg8jp)wb$ydL0CZgESL@EpI6 z#!8R4w$$oGQHsGiqPUd?A;w)p7RR?X6JfP z36+mX3ac{_B(Jw5LB=}x0Eq8SG@#c=)wB|4!`cjCBO#1{+>HM-qmu*(F$ltMq-#EJ zA^?_jK|M~OQ7X3SDPJUx(wYi^Xd?`$N>81JMA>tB)J<}~sIVD3gm^w3->fza3Fa1+ zM~}a@`NPr_in@5=&E&C%B!a0W>klT>fpG{%BL1WIn#S1WIpSQU${{X~M?%C6Qd=#{ zNq`0V0>-PT4|6h8_ts3T@-q>y(!B`V4MhE=Ax37aTf~(QzYi&%S~TLN29k+`S^q|3 z2tta-Un;aw6y0wC<)tdZeCon2X(zB|UCKkN2X-tiYXH2Z&3@NEM7ug$m|@ zH-t~nvJb)ns7N5bN;fWe ziY*&cKFJ8iOD(*1l?|iE-dsn`qD=088j>Y45BqcNx>YbQy@5D*W(!c*E(9wW!%4v| zqW1P?Vw==wuu@bWA$HZ==~xvT5f67kzKI2Rsn1M;I*2@nX>>VOMMS{$2iRvshc|uG zYjkeJR;f`P5xsp>m?Rqz+`5>Xf2DQg5FfyBKVVFRYDVYMDIF zieh*!G}Q`V#|-v!5nr-+57oi=B+nyouHI`SL=s^__k+%MToA*of1)7`TFi&A5gVjF zHht}-KG@5QNuEV*^tsK%vYd$)2X4oyg%US%Og9k?2vYHh)R7ckyPw9ELWSuf!lgz( zGksn3=at;rR2pYA1(v6U270x!oFt8pE)4v6_&nB}#M!Bj)~l!9GLzv7kaoW?BIZKG zDaHD1G=}d)gDZFjgBu_cAG^?#b@}uuK}>QN!t|@S3vthb+f-Gmi&-B#sBXm)h3SC$cxKDn>00mEq{ zIY0h5I>IT9_}IE&`Fo=rD=ij-HW#|>XF*d*6A|A#D7=*lYet-w_cDj5La^u_#2B%9 z6qp@a3y(jV%pxg69IeG;3M>YB=5=Gy2aZwMR}~kL5et`o@mG-|9FEq{b@AuuYYH)I*G7_@ln zHi4Kpkr-6))7VbTdK)6t9fO$O&x)mqV zJ1m(Xs!?EZ zNO{DxsuCFl^KX-uAyrHT{x&BK8>dW!%naAfARwvTc|_w0i~qTo4wK)4uoI%@B|@Hg zVtxTmQ6Sfv zbY)S|WN%OB1OK?^^`m|(!>AiP1AJ`|3!xgyz0MffV)pCz}_7= zc}mRM9IB0M<1PaCJ)zLP4Nxpau5b4(KBgom6o%;==+b_xXVE29f{XPiP!~ez_C!?h zvkxBZpEe$3kH z54yfpoKBmn6N;&Ok=-VL;147i0sD_l&aeyk_O<&J2?YKadpAXOXU%o;3gk?PYi%Ie zprt#LG=kYC`@u3LHferEcJOC7X|LQH*V2gBdGLU_6fEFUQ3ENmXaDu?aF6U7J~MVd zMIhc?!de*62DdZ%PaIKi=4IIt&Fb@9y^*Qxz1P*Yl!`J4kOuo}u!BN*Oo^NDN;}}{ ztB@{=imvilWzRnq)UV*vEihsaIAZXP@g-*ka84aejEyH^jK(q0(7 z3fWF+S?I(WH26Pj{aSUCZ-KceX%l-H_1W4CG~j{pThZ^q>--KN(f#t5{?9|4p}{5Y z&@uQizrDV}G?KeoOM<#q6v#V#Ar1YX%rDPfKOUqxY^SKv+euD?(30F{pg=bKv+ot@ zrTf#0D$!iUlSUE3f>cxptFhOcXW%j)()*dg2C_f~427>kVDM$hp6B-mOFV#9mAi>m zB<0;`t~#d`yTBCj!v6$+RkGS~24dU*bH`2(3|=?lejwKPei91-@e3(1IOy_V_YCso z5eof8egEOTi?euZX#LLr7+I!;kIS6He&X8^Yh9tMx(ooN_p^y*dN;p%k}Edx>v2tOLRg)hGCkR+_N?lf$s+sFRl zGNw*GWrl7JTZ`_3aUz0K{dw^;a;B`e{q7NQz~Ww%^1K|Kqo;*^Cs$MgqvwKws!~5O zY=Ft%+NxH^TMzwmn$yw31aL*AvU>)UE)pBND|+>|UEdYn*YOdf1_IOH<~9~D5^t>f z4!l%B+MKoTSf-f!^{%|t{xU7s70BKdq~8AW;|0=2QP?nioqc)J+$SY&d3G3pB>f)7 z{H&w?b_2xeA34()CTYNV9CCGG@d*E%O|IZSM0yoUyLP4TX=yp0FETPX#M3aCJ&)v$ zz{|6fQ_lT-S03B8-`xN{CiG;w7+DMoZouxMS!BaJG>hCs`@GEdRX66S-ALy zP&AJC)6Bgy*tPB~0U5$96ffTM7|WV+o|~+3Au>B|_MTduQa^L5B24YEh{)hOz(4It z@sc`OUwQb6KyV&a(2LOb3a2zta~iG?82GJXm*o(U*YLhxUoB!Sths=GZC}^6yw?+K z@*FUJ=Lu7;a~}iNC@6^)BoCh+@c)sY*3X%mzApCMr-DwN6{;BnZzLNP7ah{J6@7Ii-66I#vTb>?kyDf*>D()MA}n2%4A_`9SSKMSTD!x2@dz(VI>}0XqQIR^cfYfA@9$7bMIP!>! z?rYnsK=Y%&l?SNqbk%)YDKBWmi=^t(roTV6#!spHqN;|toZu!W`}25~7FxQWJ7jE) z3_cFhB7D3K+stBfK*`(Xf_)tkp7leec{hRb0LcSArw1(hSVxROaJ0K54&U%5)0hTY zGLW2)Sl;V*670FuSvn(~P=&p^#3}~o(VuMemK4Uqbgcq7CwVHEH9kHFTgQaKy{cav z$j7{=-Z$gm6Jl?8|BEgcjvcM4$aVJ&>csPmKx!y{cc+BL^f#)Qw=araik*ouEbPtO zs!Ey$?bAJ_JR{>!$>E~QToot`O=}s~XBEHU7Cb_+4$Q1M;%j$#^o!~KFVyUtKq>7x zJ&@ibp^HC%s8gBbW5lFQhWS^A*6WWgkZt(UEt6@0Pb8+@9Hv5hA*)WB`j2a|Zkcs7 zzJep}b9LA%b_WDZBcCefimiOcKUH3~m$!x+y~-5}54qe^-g^BkRWq!QF-CMd+P>3s zoepxZD*Hx6jd3DCk0)PU}wA*Ipa*AM3s`b0x!NU4-&(xV>&q?%)lhz=s@?5r`x9?vgww1V90c zBRmKCMdaE4IMrwJ?OCGaOeud=6lMwIj)6cW8LDZjO3@mSoc!48kseu}E4IA@S$rOJ z^JE&JXmlacN(FkG*j+7n_AfIrQzXG6D+IyQ5cr+=W_Z``und~W;1(EAlECh;n$0A? z2#$?uTZ3t6BVG`cgLWa`_`zq?=6|Afn7JS8wvq>2{vAaL?5TxEdc0&AQXe#Ve$c$O zQ4uo39|U}1Q$XwicY1Hi)QQ~WG^1A%tc>gR))Ln5bpeecr?j@*~4L&5oUTxTtvkq#i{xgYkFARqT z{Y{Sk?z$p<;RZ12z!_^-)OlAv&x%M>UGLe$ik0D z)4=u47lIW)DL*pJ3jD?(x>4HkX3$IIQ?*l?CMVHXjHSOq>LGvI)Rpp!>&h`$C)3c0P%)3Y>~cbp3ii7 znTa?~_MIVhsih`0@pX?PRUnqZn9pr0epEzxAVBDq%%5psrd_waqANf(2Fh7$q4a&w z>`M3sd1~rw4rb+kk~*~B!}@w*fMYx7YST%-gOZF80aiEP+vD~%dCaP#=SsVISHx1Y zDai^sUVgH8<+;_gj)-!fy2e-zkJiL@yvjZ)DSQyUsQvyuzbFOm9u+W^sgVSPFzH?a zX*1K_$t?YyrsMSk!NH(&arV&Z$|dVrO2Pck??^*`bE|Umg~Ka;W40hSx%_6ukDNn_@{buX2InTf(5qM9R{ zpclVGrK`?0?7eCtpC0`IGNKGG(he+5`RLSh%eMXac%%`&HXuaRi)KVLciv{!tvmM6 zhhO0-#V$(bq(ur>2V^Ok+F2vFD5;f!+tBK-?((?{)|M*z9E;L zU(arl!gGU{l7g9aPM3$#N}-fgkE5lMioX~-aEU^C0sUc|H zx1YpQ){2M~>=)`Co;VH@BGXEPhb6hSd$4EW9ldu0J`{p7x-U*|LYUR42E*;X`7f<^`wVHtggRJ6;y-aT&~r!stvUZTLIeUj{w2g;Li`mCA`kr4 z5hObNCB$Ds{9Qi(@W5X?;twVM*A1#{hXJx*>R7psP4YDaRr`p(dhucFD~380l-n?j z2E+KZ*-izpzM|e@K!&0JD9&VKbHP{Q+p z4BHAdw61&9t}xnQyMLH<*EhbavnLZyyYd1bfQyqiI{( zY^bx(>*JHsW!*N#o_P0Zd&EwfqLEos>r0#RPRx8cug|UPxok~cdgbC>ud;-1u7y#B zX+dunj~G8TV=_ILVg9zgMBgM}SQvUF72ZsqbcH{EU|1tcA^THs+5eTSg<*{Uu`$2$ zA2D=@ZTx8jl=+V<3jP%xh9Uh&A_gUjto|u~JHu4|lJPHt{FSr68U%FWU)_lPU1G4m zi|1dn;ICQm*KULb;jj7qcVqFt#VlBBd5+@Mt9g!38^oji+7`J47 z>S3hM+7{Rrudt7MY>d-9h6phg9m>M6QZ17Xy7rkp)Q!0xM=KR;w?w=7lLs>w<{iB3 zb@K+@_u-$(b(FL9DPB+)!(Amop54Q%WFWG$bv)n@!!eJelTY2I1~v~eNFF!osG+QH zn3CV{d-74jSaIUz5?|d9PY36Zgd}9VE+JDHck1=*AR~j7t~E3q906W*v>uYA&zp4Y zq-SzDI%zMwV6c%Sw_RCp#1gl&@YavL%F{|zx28TaZqH9HKGZ|#p&3#u;1{9$j!);f zZthgb9rk;xI@=ZcV{`A}_4-D?p=$2mrxqU;Exo4#zXK5ZAz|Z>A0N+Js@qbLae>q7 z_)*c(op0Li7fm%x;hEOo+8;xBU@8iPoxiowPuVdij}QIMB4In2nB3Hj3A|v4BN8H% ztCvpoo3QZ1>oz*Ge#6}c($zjRIgU?F0^deP$O-Hrcma9^h(mi?IH^A;JI0bfE8dVY z_NcaK`rInFwFj`o>$WEX`OnHHxNNO{zb7On;$4ZfJJ#1(#TN8^VEIz;^wx8^j!!?X z`mcN$_x>!E`}pg?vNzu}A?4B_p(cwVLHyMhDmiR2BR9V2*3O93n-7m2qm!;{wa300c3sT>-6tf--E-{d z}7nO;tn-Kf0h868SdXzzlOu)&r4Wk z%Eu~!6AXr33Ce*J9eXWhGwCP_%SxB~puL>yHud_88cuIqud2&@R@h+^z9UrVpnBsCJL)qg9T~aF#X_vR0)ZEu$rs6z z1OzSb+NjN*8t(RKrzWVrnZv{$jk_+s5Xs%hdS@K8gM6sAC`-s)V#9d%;q3j*lb>SkmeFz<&{*VZV@NfhUqo@8?uhsM(6_XC zXB^EN`!YtOxhesjTOz0ht`(iS#MA3Jh|Wr=sVfGr_;!R=Y#Y$0J=JwlZDylIk#$-s z_u_$aiF8yQOFkz}(9Sw`)YT0JJsW4m`8<|gbY@T0E=u+3)7EWTKRm`B7e?3A9!{ul zO{~ts(tA{~@rga4-a4y(Kkwk1V*@P_m9rC7ZyCHn-ub?5ST)d2To~@YPvXY0hlG%L z?{z7)2dBatCwu6c4E)q)*CHxCq{hl^jDK%slGEqAYhcphM@$U1=_63D+I*;RCBf(b zyUndf43So8_^>gam5M<2$$rUOg_A!thG^d|IolJ2{xGSFtJf2J<$i{ZnFPAom1ZQl z7v?=ApBFDGz5jH=_5gpuE!U-uegpc9~cb2KcUxo1pT_fau(xAIHFwFU*;>PM_?TW}a=@2Pd!-iVlxYAe#;PRV!MVP z*!%I^hW9T()uq2LS+3x=9h<1Xv7JTQhu_c}eFPN2x<-O^G(5LQ|I2XlkiH`2#qg^o zn-3lXeO=V}?cFO$q$+T^#0hl*H6xRI(a_h{b}UG)S=U+kT(NjM*TMM$$ES7_1OgE* z<^TfSzG!%9xN;$cWx1xd$nE&iwyP3T`D-^bxB>#*J-?-@5OV!aZX?WmY20g0r6n;+ask!+JRMNrxxvT}3(+7m~D_Eq3K{cm!GH`KRHoA12aO4F)MC1^! z>-5?$BF;{H))`#^0tw5$cxb>g*BnRy*@vzw0FVd76bsCS=knf5?^)Y{D;j?}cW1K9 z9zKbRYDE(>47(R{W*}qUP4v(mkc_ykRxA~KKkrgzA#)Y8W+DbTbPOo7(GHK^)amb*a6;}3wxYI58Y?DT0))nP$VVM zpKz=S_h(@8BJ#N_p!CyUU0SXXuWhPwJTMS>b6=XR$Ru8x31DEU=w=y^&(kIy*Xie+ zcMS~&j85%jtL1(G_Dw^*RUl5#nt;(~bX5a<*fjT|{2rkpi^-dP^)1G~o%c}@+GCP% zJ`P@wh}n)!vamFisAt4HC-p$Mhz^@cx$R*I0;qq+F4u0Xp}r@?EAqgOhGSh9Gf`*? z!#fjKyUJwRyWAPgrbk~i@@%nU=-wrCZm-hi|EQ6^E&W|cN3R74lSuAFV$b8NNd+xg zEdtaHT2ZdE1Z;bE5r?HGKzXN9-_9wwl4YR2rE^JlU!EQD;)Tz|_>sTCr2KTtdFP_} zZ_YyJ92?VPS|$jmbyCF$5F~fyR!)gWwl=B@e?Fs|8ToHSrWHgLccw*F+ItgTQWNik zAY2dwgpH{!auFKJgqA++0a(m^#{+FgP;2WHBCjlRrO^-b4xVvTEMZTZAn0OA9U>7g zA8qzq)VIA1E8N?KAsfv&+Qe%F>R`B2MC0%H?6}~$rncV{tC|1Vl;_(ARikmO%r7=4 z%%@wF$ljQ8o;<%b;K~{Og!#>hoZGyv2pJfT)4gPoaW20STfyLp3BQvzQRveZ+N>U0 ze>yQJYe$ORuOVIaC$~edEd91BjoW#@+1Oamo_{Yw9(#ap6ah96`jp(nscCChDIK(4 zD$ZgVY5!zr6&{Zk_6w>~x6v_PqF1*iMB2o7eM|iS_T9kSw zWmwIF-pA7N^_cgwY{{iONVau(NpM;7C@+$3m44EGQ0op3K=kNtO* zciKur{~={Pih`CI6qYQ{D98yR@%uMOek7F@)>3R1HW?#;oSB2J@Q zmEM!XLM$b2!kWK2)&Km9fGt*u_(xA*OQ zIiTM3hyh-bQmx)K+1NyD0|$5n1L^XZrO)OyCMGU&B1n>#NlHpYn1$gN*R|`pmeR-N zZ$79k3V$-!&csi+Jn~=F3L4rwk9*(XUAPq)dGo1`W`ue*VXON`zm`NDS31tjQu0G` z_Tz_Lfr=-upD(*RQ{*<)*|9x+j<3&K`D1PN3Re(Hsj7ypC3KM#j8Y#)H(+fv59jAhCm zSxSr)LWqPyqJ>0*Xt5<^lx39cp&i-U$i7CF5Mzr{DU>avLJHHukmWt^8G4@I_y2bs z?|U52{YT5(_qCk+a-G+8q0|5Ooz?#PLfE?F-`dCkpNPT!@^QP^Zu)>LcB7`{5ao~n z`pFXktQu#K9j_|&!GosT$82oSjtGhj#<}>A$Ank>R>dK6!5^MdtF-_XA_l$Y3q@e8 zcTcye_qW*4&G|nQN6GK^vMzwQA`@HpLz6nPbH-zfoU6qv@h#>059vXj66~9VQHX`P zEaLvqYoeO3K_j=dbw#f3Gi>ziUh(V6W((@7sx>ctotl4d-^186 z5yMC*3~u%_sXD%WAnn1glALik%TS)$7#)?A3RIi@@l2-0gglM{RS(-=00$)haY!hI zoxMwZ5+|N|eD5>$cu=FV!DhJjq+2IgdtP0pe=NYTHisUjnO&reEm(a^>^HdGc)5^Gy;`aK4m0I7?DyoGb&NH~3RnJ@3QT(_$ zTwe~)ZP*PBf8~AKN{#+;#JpluVG-={WxfVaO2jjh1!9qqD&|>vRbJ~shO_sELC_ql z7V>3lA-z8XDD^cS{4gLkZKe?y~()n z;Npgw#vsgazX6?@_O19C*Dh#LE#CV!u{C*fpBK<`k28H&DoBy0@ z>IqJyIePsquQgprOxVq3WS!oU7-1|*=T*}66-Vw%qRqv_({El-KbmiJ9S%A1vYk|`K7}qxHj8Zja|6rxCxCw z?nFsq&uK^RQgqR}TGxesjYOlT;US3nEt&5Fg~^ldCg{a59Qp=~f02uqUFCFR%!a3MwCeU&d60bM0KRI5*9(`8S zKvOx0?jj-##=)IyB5SKEEEU~+fIHrfzed#Pves<>{S?10$S$47@tI7?sdz&ZcR1Ax z9!5$Iw=1^z+!g=7hJn=?8MFv7?$6DvW|t1^plvhT7`{BA8FtpqT=bd2I$;>q?+y%yzWL_Gk{_NamVwvj0&46a zLGhS)XNN3Lra)smYg3FgV>coVcD2G#_+)l7d5P~~d`pj$C%0NGq~?JlBF*YicZ{Cc zq*_C7i~BEKzx==`?v1o49A; zb2@nT>Cn-yHu?7Lq6TzHCTTEWdSi|+7tM@H`@-Yud@4x&$rI3OrJsQR1uHH=0TOrGugE3Hu5f7nFy^0yJbhSL~Ff6;i=OI|^ClKX#GKL6ZwmHCczn7FZ< zRW0}#N9XCz8B)W@K=(%HjO&K+O}g@Z;C7_)2@dHjR=<*M#|iN;Q4cI6ozY+DUxrp1 zsaY()uo^sEyQsB|cLvVt>Y48hl0fN5m}GER_d#{KA}^@d8(|e&zRk1LFB=q3dW*AUHF`h^QsD)^0m) zfI0aJRSFQ}F?h@F(Ds1{z6L(QDZ6n~oSd>`d^Naq6CMI1&mzUX%lo{6lZjH=>?=b|dfwtGPeV*r zCgZU3SYx{8kd;w*wa0{O9T<;oW^cHq#k6?bF2>%7>^wQYKp#sEJ&+gf_1mam0f&KN zAwV~cjrJG6aVs!Nn%WqfMh`OU-5IR$nYF2{zd6B%#D)d&KMfy>-8m9;m7h8gmM(+N zto}R0$hbrD2~_<#)^dtg*jXjn@YB(EH^rH63ckkJAt@zIXYK^h6NVid=6Rs?UM~*=y zGq6u=hG$*(QtwWVY@_5x>Fp=5cFGA$Hl+_l6;AkZMHaHsJ!7PcQ4T1#*+Nmm^H<%7 z!XkN_lfto-qYHwmkUZu{>fhR z5E6|_gE4xBgazp(?e5IjKE4LS*zl<|W+zd)vx$6V5VgaA>vOniQ^XaC;=efl;})MP z5jDtgSlcZ0zu_$Wth}TXP!vjsg;2?mgFHc;5HCNP%|-PE3MGOlF^<_te8ha8GQrny zWo3^m$%7FjltK>PAvQYR5TnhhnS9)Nci{HWQMxUHlg%02U<9hmkSjVOJznjid4+Ts zh`!5EH!qf`%NRkBkug?!W!6BMkd}yJq7Ja8(L-SbS;H8GzSt%NI9)U=^iR|c{PWwH zneLe)h&4m0Mq9&joRDM~-wdU$vGbM5#5B&}DZ6xkQ;64mdF@YSMyN!HrUQyV@Nak! z&?i>oV;@eSbt*RAcVtZFE5qb6{)1eZzss^R6Z97s#%vfb_3ttIV*JnY|CD|T{+}Ar zmALbN%@`O!|NI|H015x&5QrzU9f=kfC<6J5zR%?>^m3FV0#O7hQ!We3;QO)SFjsire{JBEInEYZ~ZK_ zR*sE&Qg0-uU++qj;i>+LKeuF9k?ATNx1N3bkERg+@*4LF)ory=qGWe2mhPE`uMv_{ zk-w5hMJ1OOxW-Fm0iyc9s56wIf2eDxxu|a3vZwa85AXai!&{r1GzLo%{kELUzkG$m zX~E|_S^vISw6@VXR+mKJT2M%94DNqjRsHBnRs1#T`%>;)^_?i2EYOz>uS7CY`FPXK zlr(MM2XV!ygu$8kifIF;PM$sI_Ip$Lgu&~ZL)JlXs&kKjqz0(B|ehl9F$F6a%+A{Gj zzm&s)#VL1Kk(-&MmxTQi=^h+D73?;VnxRD6+_tVGzu$+m5yYu+1U9{ehrL`gf)XLi z-snkSuoMM;JSWxtXV(VEw;G2p+?`zUvK^6~5OUO{0y!UO)7gQn3i>|9x*Z~PWr{+SqZ7Yc=uHn8`+xPq7 z8C+IqTIctGMyKA_^VrdiHW^RHC(2$=Jo!sZ)5r%RaiC!dXC zkg3vy9=OKEGUfA*V=Y1F0@cq;77m%cy1W|}8Y4&XqS6lM#Wiy0kFl#k0AR{>+GB8e zDpflCbdx{buh-u|hfounQ9ijZMZx782ZGyhx^crLh^tYL5?Cz@!_Xde~1KseGR%|ThBUYB_rDP5FuSn+>?@`*o5DZZls~^ z?yHHS>1!d2Fsv_+5aas%!j7n?482+$05+pv3xr?=yoxmgv#D*~ZLW!Oe&2=Tkorv& zzka^>pt7@VJDVpo{F6xBK_$Tv*t;AhClsj>+9RN=e^90F6lzZ#kgG_5(|G56my{XB@J{P zA02;4#r0IBT^z_Xs6Gor%yRkO8{Xm?SE6P=iBmGWH>Vp_d{tfBq`?^!gtzrB?I}7P z(sSTr^01gcR7T7h9G3)hLNEJBN=n!oaD3#U5ZaeL&@>F2p7-K&e@li<4O=0ffIOV( zMPA6?vg2+gC{a4%6Cg$sVZLd5_To|GQ#DS2muax}P*R@spf)5!N`7A<-Fd2QA-oK= zM)&J`xZB9)0wM)(O3wZOiB&_>w5p11sD>B4}cwbMg4!a$UtBeg(*_8B2#P->l`qQtN{3 zj^D1u6e;>IC2tGSV?jtsb9Y%l(Vxadi8x~-3!E%j5kY+@pi0llRAayC)buNn=%=L| zm>Kqxyd3TsM!xaq_pBNnKXPy|8A4)(%B2$x94D;C4n7-#5%1RjB2l2TmM|wY7u1@D3>QJu#(z4{M9!W}_Pe8slwO4Har^MPND={jO9H>J9H3qiSCj8tw)o`9)n)){|$)RV*os=ukJw zNF&Obo7CWrqgNi`%|m>S0k>&`M!^b*IO`2MVUfg2Na>N;lMEpe-h8jV|9`TYi z6@P^`%h#Y6p6K2uO(i7yiZwoQe9&5FfSK(J?hq1hHW8q$k*3}cjBbRPlcMNKS(vQi z5mH)iG$+V%4leIfrtFb^adutS?FIq!(~Tq6yK6N1J)~Rg?ZaEdGOx{gED8$gWd`#U zPTL9u?=q<|xrC}{DOAhGDm7!4q#QDboJ`;v7AQ_MB+kAm-uwa|I={iyxSh~3gzkptwnBbH)+kyMA@^64yK0h5ZQ+!4% z#2C~7df^aK6pFh?lhG*Te^5_@)A?|(D9w_@C~Y&mai!cx2NgxxV1eUZewh&(sfqW= zLzQ>pv|y#i$p#i3Wl<-Q^pdOV`}sU+FU<;l1TU^?N&B8K&EcO&IE+@-+68q?r$`!N zS~!C%#9De1KeiCf?g@&h2T(g6ncG8wGy*<+WrKLJoTE0cvO3U;?^#-?=P1rKM2jt?Dk-SHSqfhGzCWblce6h>6O_bCei|o z>S1q59M#NBIJlr4W$sY(*+=X%_=B?OWuc_) zk(M@%aoL-Ygd<#s$@lUoc!$4@Cz@u*EGVP?$9qTb4nNVA3+@mfmE<^kZFr$6@K|pm zSle+lJ4`U5#`oU0>{c~9^r7?|lJGK{aAo_`nUmknv1UQRq~6V+uObWoY-==(iL%Yp z^qYAg)3N!yeFPJtuZ3zan}O2{&gyxMcchSnUHyEwWmuh;&YQEjoYP}|6 zn1=-KtjokoeoT0A=@wDK(XX+2fn@?zcpu%~2t``rp35I!%c3uQGE<;5)TiQu>-{)2 zo%~+{LtNfk-f^@yu4{#}&Qz(1{;}P4tqzucr05kwd0(Lb1!E?^mK5g1I{zWLG*o<- zB=**Y(h29`uH8PY9OcJkZU>WtNThqIJtgbPaPR@WXQ)+OX_cqw3lz8M%#v zGdusB=xo=#S78FHn^*X1p;WfoliJzv)Q)ump9*v?r!TNhK_WKF4!?DSDhDFVmnHD` zSv&6h$VukJXt60{f7>>-qz{!5MvZw0YTQ58 z#H8)!!`d%@{ZcyY%4+jf3^DOhJ@r2pZ8_?UKZMN!b==UM=|kJ7&XJl=RT(1J#6tQ^ho znz$Pl&;DTRtwjEX9jQ;f-0I>%e{-S&G_C9TphZ1p&OqX@h&;t5Jz7K~8Nos?-r>D* zU$j$OGlgH=o>%*ZkD4v{Z4@HsXC_8bt=JX5L+#LQRhr#;m}lD%$B!S1tF-`1N-$^0 z_VdbR6>Y5cz7OV1Ts^FqTXMwLs8#V#W@bASQ;SjS$n4K&qa?fcsJpfwblUTK)Ypj< zRO1L*+)>{bm(Oo^0%Xa3SL|Wkqju%wldL6CqZNzfc&|;=&R1By!P=`_9f@^8c)2Ng zFrnz3T}aJK$;Th$q&X1xh@oQl8=aWXH!m3ca31P*qNIPZ!PfO9rV?9JZk$-xRaDtf z220#HI%OQLou*)2K4d4q5@|s2x^Fo8w)H#xt>?I5`mK}KfFc4ewTQvf{R>5u9bZpr zp8TPCF1F(dWWZzT{7{GupciGtwua*c_=^+veakp#w&0fCv&XDMEa_{fdSJ9QIQFD# zsH}bR+pyniT9<|7JvXqIWALP`h`f`0>hy<-CyBHkWdXgxxa_fxC~gP$q^qD_@EcI5 z77S86y-x+15NHOyVTuSYzKA4v-YDoq!n{wT2HRW@1itLjI_qU#c|)=?kidKUgQ zO;#B*Y5U8K?BUZ0OClL>QV+X!^xJGoHrcCs?*j3ac1Kj5Uy=D=@A>V}gpR|7)h5l- zN2NDTX;|%Btd#as&^FG#?1p`lbVc)7NY5Lm_G1u^)tk`y$BklP^)dd2AQS23({Pzb zhPmdOR6F`iX$feRz>a#az2e8F$g|9515q-&nFmk8K=dNc8mYkzoxcUGuzF1OUl(*Y zX6KC8jGAop(?7F`s!jehuS>7kV8J?@I_fQngRbmNK$We797c+5N*n1VaXX%%tdE29 zkGpPN$S0G{lHIlnV4>Qv9z&nj*5e)5F3*Z1?t9*u@(lVv+#r`$aF^WKand-`qTh6H z0r)WlR#brzlT^O84!_P}so!&~5p9zFaG~Zb)T*Y+{PoOkbW0ac((;y93@ZBw)@BEt z&pJeWP8`^tid%zpkIpLW_)hMtZ0tTkOG&u!b~5jeM{3}+!1E_4WU}m`?Wwb{hVD+U zK+~JPB9_E{03iec8Dcv5-0i+~vO7`U+sg;*z#tE4{!he>Bgk~CMt6-DIz-NWmfg)n z+MdX@&$VEZ02o>bSG4l6WO`fMUtXkJ2CBV!&O-0AiEZTE z>U}7o&2G)g?TG9JZEuLeOiSXslA>!9gxJK8NGZn}i#-&FoT2DNPxJofec}Y|Df}TP zr*pmDS+IGcm%fY?{FS%!voBhI=GwAdtnc>Eovxdx7pw~J{^GHIGS!+8RW}az1Fxl{ zUM++Omyt@|h(et}NxHfyE`Ve;#VYmARR-?f=9um02;6*ISU1S{)Co-v_!qAv0+Hn0p^ z@M6AoG)n5kkf`_Rt$*Jd%@!_IvY-SCoTyL6XWl;}#ty-&8uO;LH|M7=8{e&b@=m(E zPCRM7#+aI1C)C6B(u>Fm7tHQ3lU}mtAoJcH;uYu9X@BSXu4VK4Z2hl~(p33{5kmQl zySNOt2rp<|I4a|3_I)Q;X0w~L^G|Jl*!)1Z<;yNPyw;x@c@feazhyDT!#>%p=2=Un z?%A=Z9)sr3Uk&~<>h2%lz1%+&wz>ZLoVbQ$MU-T==z*m5b%nTF)}z3kjLI`u>PEkK zv>@(3nzU`R=WdrXJl`=gzb?X%<*S8^8NW^moxgrzE5MHEtDrfRL$Crd3cU;Zo4}|lg+9hwK58+; z-}Jl0;cwEwz){2cDfFk+T1TX)+SrZ0{bZ${5#FKCR{FAOqJ;GigrMf2%{1@rC5~qM zexl_Ea24imM-I;)%t(!c-5vBTqjIa2F6C+b_u)gkbIu#kju@5PS4`bJ-e^r7cmypkR^ zB|wu(I3?KX0(DP|4Q=gr-cD3;Bwv!h7hM8_Z8 zgEJFv|DJ(S==H{dO?O|#cCdLNMQeJ_#&&EMGu*pl+{Z=!q)X~wX8exKhOKgS05E}# zF1EFz6Aid9OQh(Ac6*BnxGoQG7SGqFrU=ztOkCe-+WdJA7SOfnQNe7$uOwBFc!Ea3 zFz$+I1IgmR_7>qw9ZByx(W$TYsH=)NPuH-J28df+xBye9;@OW7T{J?)BX_L3F$!sj z@AP!#kiUmLE_75J`QGfN=*(BFR(7+qcxQFxjYjfN=Y+(Kx809MWu4ENgHOj8-oMQ6 zgLw(DNL}`;p$5{s%kGZ7eo=Y2?AP^iMv6Idetgxk-8?nv%|yDoqf6~Vq5|pW6V+O)vpxiQ`sX5yS~rNU_W8S--BP{JMd^Vd8kq!|Oly^t|ix6S?;|`4A<&@v55H zhpPk98~L>Xzw{z`73}?lOQY+M-|gIv4?nGsyD5PUE_?_rWc|$CH>p~G-G2Qhc>+OR z(=k;eC9y8~9JAouxZKCN1a9PlU{+IdZ|iHYUsi9UVvOF4^$lEols4whA#eS44vZae zWd?(TDt+9@q`*&1NaOVS_5_K3zCBLaS+6tGN~&4Gs@#Z5QqnkoEzxZ&NIqRT2EP)0 z%hjg(9l>)I7IU=?VIIoKrPaQ3laq7(R&)4zgQ1Qs#8SQV>b2ne`R!2q@yO2!8DNu$ zTVf?Kk)w$I-M2$EpM^c#L#y6pRs#x;#}IQ-u`a7_V-i#60V}?INEq&?+YK$bK2=tJ z4uq@SZHwVkRi^lB4{LT&9zRYF5?wr#Ju(qN9^zH+?sgFgD99IM`IWW>L4MQA#0&Z4 zmuN+Cy7@r>*kx=no)u*2i#m07XL(m46vkTVi4g1@)YiQ<)Va#K3Yo*yOf#jmsc?Czvl#~Q&FitL_m7c627yK7vx%4Q{iT8*dAaj)un{D-*O$Sx)+ z?rTgzKLef2oG9#@a$NPo&fcV5OCq-^k+X~a&&Pxwv$cVt=+)!uG7=fQcRcI|?MxAz zL*UD2W$%6yeoQenzw37ScDl@1_2w6swg(gZX`Drzg{fS_F|*x3F#7#Ky&aX~?mpKU~Qs z!^OUg=9wG*?EZ+=UbfEe83V*zP9@L2Ey&xj^8)@J2*^A=4tohjr^;q~SV`VQZdVbg z6Bf!IQM?g#-16W{N6fGkwL<8%s&PT%*o{%ptLO>i2qGHI|2)ahnG>ob>rKq$UD=@3 zIvF!39fcg%FYBfaoy|Ojv1;1T=uK6AJ16Sl)9*5ntnG}M~q8G_>(aGHRD|FLczI#Z0E9GEK{7fjfPMM#g!O1fP z0(xnxnNt=H2e$u}4g))yl}+wAoRXI|?~1wIbQ&}|o}LYIR}9AdY?`NXY!E~e<9y`J zikRg0;f=B{zrB3_%;7ZlA)HK!h4^*Dp_+mcP7P4_^(4A>x?8F##Nyx-y&W;z&BYg{ zRMTv3cc)>eTvmR2AHQexw8qN{D59NsI*YfX?g%{1_Mzc2U>?CMq3Ynfl*BC$ijvBl zV3rLFg5_s9(Bl5<`V->ysC|nX%{XhKeD34qM!p7>D9QA@qBa~;4~nnyqQ$25^n1Wj z8{XNZuuy-Qw+$hbSft{gbLx^s*&K7MA|A0By~ji^yTv}?!@~!R5#M99t!O=luXO@$~ zu>KQH=L88du1T~{XEr;({hcu{3nF^9fpw@@LRuiq<5AqcA)!O1>3==pPY!9ZjZ5VQ zPQn`pi9i0_?s@uq2?D~0s3|9nA;pFA_Y;MWhyS^iYJ(LqV#w5EiEkqKG*b;l4= zz?q4kmmiduK2e{GTc<5Kd~bANb`tmILDaa?QM)^%1zCtr%FiYrdC#BB2+mZwaA_TGOG>nD$xmMSeMN{f6qGs}O!YR~jH=ek%Zd~}x5(3>zEjaS z01H#}s0W`>uDsv8!mh@XqqjIp5h>#GesS_VRzuBiUHsvQ%4*y&)xRsMwDMjFRCWm_ zKj5$ZgS*K2Ad)HDy7uS!k#{P5vrBhSM{M0o~pks2-D0 z7rpOY_m?Xf#Nw)nbJkNf$*OX_lUMi(wi4y+$?1NvQ=B`_y*LuwZLtWbK=1xVq?mS5 zAurD)#d3*aRE5ng+6}xN|9kc;VDZ(R`G?VZeSH9deZO_9Mc`H4t5eSsBGjf}lL(p$ zgzQ{o1`)1LM-upVQSW1-Y^#dz57vns@~J9=>&d!?jOS-!xXXsOQ!XmE2yfs2iYV4Xyf{U!q{1Uo-oO-PK5U3X7;gMxC7tB}Fd^;Buhgw(mkC#UR9YMy4# z0Kre9t{v`qX$I}>e5Zj(a3MN!#mQamTC-0QuPGno7r1fb*R>Gims$#O@r&_%4TC1U zj$7oymp3Xn$fB3Xn9+UaJ#W`=Q?LHoKSOw1n|Oi^(TUpCUYtP`)@47`YQ9kI@*Vet zGg`01V>~8j$ArY+R^E~Rp|t5ObliZ0c^?HFUjo|3?CIUScn|wD8eRk;DyJPTip~u~Y`X@XLUrNa`)A}tJpau?6(haSc+R}R95ak} zIAS=NiBEl6Dq=tr%MvVchTXgenhMcX9Ueh5q( z7AW+PW-0q@vhnJnlx-MfdXtC!d8Xc>l&z{cfDehg-`JN`?~Rl9S1C4y2p;lLbv-C1 zLs8zn(6c*}Ur+TGPMyyS(VH3kpi~1^T4~k@RN4;4dL}FoYg)9q5bbHdG$cJC?+H5P zqayYJu`2Fw!f+>#o{#SHyJCY)kDuN>nBubJarPDv1sPm#=Ygv(%UT#c$@b&zo&iHeiZWRaK|2v2Y=Fxwbht#qt7fIrU{{U-y?`RtdHau+sxqX?1;VZ|s|A`})6w z+Ex1{A_}oXmq?bHc#ER{K-n#pzVau2DTGm+EkeMnW{kzX*NZz)JW(;=*W*3vSwOn# z7do(fx2;5+TzJfrteINxOfni9997Kus%4?=KX7YMYY$lte9L;XXT{#Y*^;0;nzD@~ zNACW1&(!AlYY9yC@U400)gG_qvy0_7JYNj#HQ~A&V_h?3SJf8a)u8n|7wo%c>cZQ% za(*I(T_BYR-WiqE#Cx~{kh%1HA95pBzHE(SgR|oWq97?3I+db;nF@|&ftp&N*E3{NB4qAU?(8%oQ?LlZx3geq zsgqojejz$C-h47F*jMAo{D2z!9aUe}weM0Vg@)98WSa0*Zcpm8wu92S{oqtz_j$;@ zFbf_kl{6UBP57=WrQ1r}U;Vi1?t;Ix)Y@>^i#dC5+$&0W?g8&<$AIXZ9kD&01Ka!4 zwk%aBo6Si{g%1lJ>M|z>os2S;mJR0z-WD6$tW~n4Ju&F7t!57n;%$0WIwvT6(^#wE zwo@Tf6gI;n1MlkCbtDMGWU~J8e!&^9JE|MbtKnp&6eO-B;PxCo`0{k%RIB;1zB$3d zo|-A3FDE?^TNBeYX))3x(0DUKSt8Cl(o24tNQ#AouymjeVr=6jkVQ z4s}6F!H#E24U+wY>vlI4j%0$BYNhWM*?QpM%T3{m@@l*>)g+phg;Z^F{Rk79cL*0W zymJFrr8I8hsd4#v7+Enj{YP8IV1-{m@uzfNSJQ(Fn>GL?TO-k&;#NUf7RTxLQ$X z!*nxYeZD%B*;UrU?fA!RzQXsg44md^bEWUZsuEDuFm+a9J);Fqe0enlwSpE$St zJvYXDGKj!Lzq%@#=-f*!b*s3^)bUI7c~yv)edlwXraG4Dgzu?a`rGc{1oU3fPLlGP z+;Y2!Tgh*;ghHa^L+#Bz6+d;>ipt6UKfUq#X6lZs)+>(id}wGL09#MwBgNYEy>{*&Ie}0Xbb!O&ZkM zDiTnGR#0an43mQ=jr`jE(7~6s8Xi42DU#nZ`O~Y%Id7|^HJ|0LOS1?iM#pIE_#=I5 zQZ8a5OC`$`TIeyhwm=z~C|EE!e#N{*=Xfvwa?sPLu1IrQ7*~_&=MW2-cyH>j!keK~ z`#_~xRk7Nc6js<6MNd~jAD^n7lr93%yi-~O66W^qBuCohu`P^GJk?x~#}7hN$At^? zQ~M7WCN99OOL{{sg)LdcUT(P3OaC}(MA4^4p}91|=zU5!pY92qkUu{)qFh-;ZrX;l z?$ks{Oz;2^zUgQX?SpaQsdw{L^{~4$5cYCbwaC6|@?_x9Vuu0nCql?x?a}>n?qiy3 zXs*A^2H*|k992Y{afw*Hy3?tPs33%$6*kahm;V0JSG7kvEEhIm*xjkX5~2PM&WNV( z1A%|^n#OwVuU-~~xse|ec^s+M`hoAezr1Ia;DxvP=TQBIJ{PbL`a>crI~yplx##)r z!*kNQwQfwn@GJYY;P22tAz{hp$3&s!oqNkB{p~fy44z(PqCQ(h=SNdPgCF#{9K%1= z^lQrcpt%TqUQfdZ|M22pKSU0h8aX1uGXx^(hL&SNW*=AteF%c8GtYvO9TsF%wFcvt zCoXnfLEq1>k`}I)!=Yc|UWvNVH(jHR5F~)k%#42{`kAYELw`t6T%8R1zZ3tb#6Ri( zHO;c`d)Qq>sj%{_+xp+PvM{o#E3Zh51H)GSCuO}#HS~wp|8pGn|C;>|B@8zCAC~|g z{wFvnGyMNmDcs(%{myDF0F3oNbp%NG|A_2`6jKp>2=8~4KStRE;+@F8a%IUaTaedx zz&ORQBQ=nXKZJ4A3!DB^ms)Xn#aiw06EPri#1@X!RSYcW<+r=pu^=^Q%61_e!fqUw zUXb7NVk-w~#lhLh+X*{=olgZyW{D1cv_ho7HIef2rc8S;d|UdpYtjvZ8uVFL85K%> z!rqJ|psvITSqq8DhT$8uskB8{<3gYNSx;#%K06_;=!Q#SWeZ8&tJLXhbngS+It&kk zW9jl7p>L5a()VVj+NS6S65<)NAc^NyKen;qLfXMaCtZPbwO(`M$$vLwvIImrQo(;tE+XeL54cp7+Xy02GNSTV!Lc#S)tkx$bJ zJNu^l%Y&F;cc}cMhDCRFiD0KNHe31lmmWl3)RDr0rcZDQUhW_4rsrfJ2NZ#m4EHdD9 zPhDA=p?-6m0VX8TiVGP*&rlGE>5A+$#7yPwWFV|Q-Ar*Ui63Q#dytK%JFuaCEB(@% zVK;I&WDg%Pk+uQ!2_^@&pM*lbe2taH`|X<_)81Gy(Ua!*qWfoN3^Ak9VQ`8A*D}qDMw_FRMEG%k((|jUz1%CDNxLwp+k61{KHN^!8K9)WUyVYBo>$_nG z%d%3=*A4;Zdi1hXJPEL4hzTL~n{-nz0=-au=mh`M;qOZ(i2CM;t0g>Rkc!BI$ov zkrihLj`RU=di4)%&-yp(wr`gxoBLRhLP*<@jzmjSPfn}=ia+f&5><-SZx;0EJ1URR zqUcPvTxP+T1XAk#q5Dhr4`$LG$c}uHkIu1$Brz-*cEj2c`VbC77=L=NDpK?5Y7-Ml z^531+9Un*UpFwN-L{Q$-gH@|w%&>acS;AFDL&Wt*Pq}iTyEGEme!>Z%#o+{wuN-dx zRsX{q(#$xKK(y$7sOJjVxO)XD1pb+-&QK_Oo<>ji3Vif9ne!j;6yIIcLps^QNF*R- z+Kek|$QD+{(1&EC6^V_8R(t@26e=~1FS0sScQG*p^fvg9qgTC&PGFl5u9`q*(P|d3@NlFp&=)1s- zBs>DRBKT$)hqS^MB{Q}8`>dmxTCYQEC1@>a@Kj{=esDe@U+Y`ZJ|2BfClmJ#D={0= znc9N&WRltpbS?R*B&%EUYh^HTT3B-mi@28Yk-YgO>Bf$F!7GVC^mMj zG}`l9J?$|kQhE?l!lOuH>WVn|th_cOyFfltorP2hCJ3)hM-`+8c2=)2R(%*`tKZ&q zLR`OG{lQGI2wT+>X1xq?A{>TI69o0>oDaOx{o#B(-&Y8PU}xOy?i^9akapmca3tGE zY3h@I(_Qy8QhtiL{xb?K$fxQ~*1mnQ?po=u1>%eOfN{*DLl*JsC`@ zlQ9wx-P&ZgChaH(R|(H&;r@h;p{37yN}nKGwK)~^FWmbOt@=8@&3EFy<6+g;YrGKA zuGG_n^8E2Fq2zC02?@K3G%k0EstI|u_-aQd3!jyMl*wSv z?9YX{pecIxV4E42pyZLeL?$WQ1~MX>&mk~1hMpOWKHO!;%oT(c)-qmgZjWKvwUQq} z)+>8bcD~t-SZy@p(!X9()5|UWePUH4w-g=r__~Jl8G~g>NZDi(_)v|}A5zvDr>}}A z3dpUMQnYo*i{Rt&TTzQ7;pk8b%hfef8*OcGuV>a5$dRI&VjNA4S6ZGb?rHBj1Y&G* z39pKnw*I^iK9>TzGJ-z(#u$*Juzeqq`kF(#oUp4_VC;J1nae6j$1P~%^T#HEXfDra zfQ%(*o}JhYgb2U_c?ZKUt!Ck8q<%ZgHH%$Z)WLz^2x2uIB)ClJ)Cbcm!5!vmw}3Fqa$80=?{cOF+Dyc zB&%!Xx6&&uJYPwLH5z_BeEU%}i)DG_gCifEAEoTK|h{(*| zfT}ZCJfh|db#rPmtEfb<+6C&&EcIqUJp8_ve|W)Pd!*UA4-jU{4+xVhslkQw&F8Ep zps+Ea6vrphI3#l~XxVHSNqf`kJL}TJbS@&~0OW}|N-F2qtkQ=d=afOSIn9(P=jeoF zW^xEfW-F`!)?rrn5yypCU%Ta!eH}4VYLEHB*Kl#uiu;K?q1gshRpq`z%wB*ole_(; z=>q2Y>NWGo<4%j)A{W1L*FQvscf+9snrv9n!|N+uTUMjI#8Qvo?g9~=+v&W-XJB*K zXyt>%yOKAva$8>T)@v$fuSZ56Un0x@2NC{_XG-zNu|#M)61|JE{r!rQNvgDqo}#Xa zX2M0lD-oEI<*GtJt_z@ilj(?PY5=6l4?)TvuPPGRla9y7q#P67ZMFZ2gZCXJJlF!c;or<>d0}c%w z_zy~sjw@N#+<%6o06%@&XX`+gqTY^Pfk5A_NuTQdq!Ndq5XiR2K!r%$xz(2w`G>%{ zh-LyQBM8b4a!dCgS#ge#u~?jf#2F0)#u7iWCMv$lVMWg)V;Kw~(^B5tUNW&A8Ovix z+1#o|K(v0ye;NPg&=Z5aJ_K^+dk|#wO~}fiV>N%@yE-FUCW*L=%MzRdD&wFc=ntQP zCdk=XW}ec%e73O!C6x<@K+nLAT>3*Q40xnt|70AOVF;`^#Q{(yu3{3|Uo6OWi(Qb#7nn%j_(Xszm-O#HEB*pP3 zBS=cu(e3waGH@AR0B1*)+hgqijYZ&6wG7NVi~Nu?<9h7`(qOU@1|lTYKe<<1k+OrJ zc?OxwEN_eSNr%n;UiHTkFQwng%B|*Lf2|7`L0?Zuvt}``!gl&Y+fS$c+nGMLoNyxD z&StREvlWewWPbni)Av0|jU)^dK6MQcBOS&j9p)0W`hn|bHb8hWg}JP8V-V}92+(UA z{;8pk-lC5wT>6}#hRTe&1PaGj>4bOQr~7LvkI zEi_NB%mq@sb7x4|YXUUm2H^~qTJ`qu#%|0_$V(JCmUN{(^Jg^=omh%f(0#{Bas_EP zm4TWve+FF<{SD_q2cB80{|jcg%?vPO@oNPy2s_=DF`c>%Jh6r4R3x+$FtB;MY6YbZ z6yC|o%@kzWh7#WpG&85Pj^Jt-f~?mEB1$Wt7Sx~5kt&W_HB9=}AY+M4CMnQ{0vuR4 zF0?Y0*L>cDk5T%n`tv~fw;KP|(-X zhKwz(yhXSx7)skD0fxIox9|Nut8AFD(J6!YI0+dC!kUB_Lx6>4aW1Um?`U}n=Qjc1)#ns7ZeKN_w zNpXWEJIaJNwsrUo&O!3ZAxsD&{tLBaH`MCIz~99iU;2lz7V#sZsZ5Dj;DtFY;eYtm za#!SW!YZsyl!O;MfP--cW4Wu+{MuX9QYTMchs9D2eTz!inN?=MmoRYhI03(gncfyT_<9W}Jov`5r7tSSRvMc5}N`KGPZC*YlX+oljPbG(yazOV|rm z{6&zkcTy<6E?KX7ugGZWjW11UN0~a(09|T_*F^0%!0bD-D)MKgQAS$(l&J%#RL|u? zXC#cYQtm3J)!PJHrWHtR7O!_dW_5)0;r|#i1iS9=-Fr-lOaSPIC@^GyRs}P$)vCi0 zbaqEL+AZjy|FBeIG5}hjZp4B&0y(mV8Tr3k8#1J$BUxXy z-WSkgW_nwsS~@J~&x%Px60@PpgHEJzAbjE_RK{+v68=dqkmvC`R01c7;)f!eV%tM(%yOp|XCoV!mH5He-Yf37EzkW#8ojqXNL(g9g(P6Y5@ zCfl7^C2zt*I=c3=oJF*WlN(qsb~__Y3X(g-_yJb(4=dTH<&kFJ?^ zho+sDV9nmGdOsNl7-B{Y2Mx2GnI=qkrgg0(SD|m7HwE`7D+t-|x>dEl0;M~nf*(G3 zeF|L0cZg0X%onR8EbH)J&9uRk5lf)cM@&S}Y0oy9)S$b*8BhLCRM4!q*E@qLBgX#I zpZd8VXt_*}K@kSNFaFQZZd;mm`2e0nq|LZ2SLAFJo%*?;eu_R4xL*eVbRq2E53O>a zzI-0tzK6a7s%xqIw;?0FiVCGTd$3hmB;v-(faLG~Xsyo9_h8+}Q{1m@fgh@PeXSUl z%y$(d8NY%Lrxi?|e}>W505yTWM@`v_)z*=q&3mocGhzTVtt<|K^f12L{~D88Y8=uE z)?2dqM&ngqL*(+?0K;p5Y1dlS4E5NB3?2KOhjAI3mB+We76KEy`=9Se%EBGKTgarf z3+8+sC+pDVy*g-`lj2u1*67dz;CwCV_LzJBaEFWvq7I{+JLxbW;bVHR!F7R{y*}SS)^~FWC>Ay7?QvWk43fJ|5geE@h=pG7MSTGO zRZ&X3l&Yi>&cR-G4PI#hD`|7D@-Ngu=u<=QGke?sH#}S4?cgrT4Zeo!t9bzg&$435 z@`1)>dw^r$Ouv7A2kbV>ewcp^DrHrxjIGa2 zsjtR{I%RN&MTM&4{yCnAWhp9U4J_thrMDern6j8v&^mU}?fw&{^`_7xICfBDudTIe z`Rm0P{$l7Jkm~h{bT>L^VAVgBVgiN#4wDfD12%&TW32U$MGY82wq71ocMqu<#B*oZ z^tHHEv?V-FhbZAU$2fJV|~a~DVS{oYRmrf#@m>=N#FW}i|rZV zgt8THF>4i)Qwc|2bRD|;H1r`bsjT^bcxWv|W#?FA_a)*?2L2;r2=@~~wsG(l6@g2x z-}=&o4}0Asz1rD&CD0%5!#(MNxao_Z6sfSH2imJ|%k=v@g6?0_j|RX$pI|V{y49CQ zPvn1m$DME!G=VtNbqI4W_;I+I9$9^T>Yn87tlWt8oDU6PLJYEB=4&V^SpDF&Qz76+ zem&R2PuGD$xmpF?7HhM9=(>&@U!Mm4kia@wkj_hP%W>Ifjdy+!L= z+3+H0w*aZQ!BfVCU})FAz2~+k@Dh|E9y%oP*xoPs8$|S`s}VgSRb!P_kfy+5sR8@> z0(Shz5Rz25bD4sWC%{u@?tE!NQTuass?(3Y@HK>a7_+$na;JAj9#wP%1hdjl=_4Q#Ad^h$DO1#zzZ(^QXP{pFW#$CsW}5Eb(V z(t`Afhjo{J$4pOmsnjlbNv^r32mMW@FRF*fFVDRhT62wwaN9v;{}GSnwP!$@-^sPd z5JO8JP#Cj+_*IFkX6fhgD}z3F8eimZcKq`7foa3y)isM3!dqBc<@J^a#yU$+xAN-E zjT~ucL+UFRw3Iaz_8-x+Rwi@<8Yv6K=!Ilhkf8G#AMf23>xyfENof zTQ7I;Myw?7I!+wRYp3OpzD|r!U;NyV7OQ3D!a&+9neZ!YcR4RL#(trasBN7g8p%#v z$QFW@D&88H(aa@)3XGGvVuf@}Q?zt?ZE%YphHNZlGQafz-4zZ7{)`#A!dAC1`eukJ z;~pgVUH2s75|flv)=G!*9$cB&V>-#trs%qV!~f#T64B$pEjv8Lk>pfUaf$03od~Wa zHBcP&`w-*%jOtf%yk5M*S0YT`{*?^YO+FU*^Vd)WjB;6yDWN39Hmx8y)3Ck_MVI3W zy7V>j`)jsx@bIb^T*+U$AHs3!=JDm3&S6^PQ0%3q7Rg`<-MvVf zmD*1+D%wbfhf{)4LZWg^59*P;8&=X63pp0@#>o5I%wmscY%pbbafCMn8@FF~wu75g z_2UX3utqkBzbhDal57*Z;%gUG%c-Wdh)3C$R)dx%{E^eWlZRJp0l55wX6DkX95@hH zeG)EBNn&s);EBe3)N=~)X*<~oIa7k>uz*kXpNF1?xGEDOvL8f+BZmM1f#Yw6Y+j3K z{Wy@Zbfe%76C_J>pWK@OULbs=Ox+&P-pS;o8G%#My=${T%{m^-^ILLhV40g&Z_!{5 zt~=b>xI{W#^)R{qW~C*QlxgPs=MV0z*X2aYu5k-~N@F99+l0)W!A%Zvq%Y2fhz?$y zFxusWYyA0g^8-t2;b5J(M9tr~3O6Mq?BSF!kCOp!tPc{7qOfNxTa_OaBnbu-^Tczh z7iO~}`2vN%D52}dw0Z)N*v;W$vy+1u-k~~i-3z0SihiBx{3B%6_VGvV@YqW@tZuO) zM2+KHwJQrD`Znc(>Y6o~P4-fFbJ+Zo@Q`Le78D}xE|MUXe~_RJtbH!bfi&}lc!|~h zp(uQ&jY!twlQTIwEV#afOm}@ba8_?E&3yA(0tY%R6nWqWkYoey@r3Xn=W4$72zf2s zw>WWuU1<0MlJ!mC4<{SdaA9-l@G|o0Cdp^NtTY2IHmPYN z%`PC^LTP0zT@(r{=>*K-xXV!u#ADchec&Oko|c52NJ`W&8D|yi*n~UE`u5$B4aV4O zaJ@Nqd{^U$pf{o^A0STH1c03WaL5#~5@eABf*olZH|&;Ye!aGVJZ-Kkf{^)~xcFNv zow($i6E?i&qE_0cNJ!}YKUBSWJeAuQKmHtJ=Gl=c%3S7I=)_gjA!R6%IdetkA&yXn zNK|GWCG!|c%8)5!I3*DYCvyoQWBRVgy`S&*_xtC*?!B+`Y|q|%t@nDb_gZ^DjkN38 zSSgxuO&~6wZj7m^rqptk^N$@3MKSvCe>cVX1SGx5!^R*=7d3etv{XZqA&>QMBiS(? z$c~D>bojV;8)pCZz|7`SJhnNuPZ2re40DkOZ{)SQk0h2X?E3bEi$h@#A$IP_M2J^K zQ4oU#S=in# ze(}|ffp@eBZ_ldPhF|kMg+0n)LE zaCqg@;k(-QAqKz3IeXtyT|?5vj4ob!b;E3IeE$~?OttQgHufM*wkY!_wV)OAfTf?O z?J5Ed>yf&`^2H{RFJ2VMfF?o)5k1uL;oguE5MA*XqgG;awz)AyEd^{;~@^W4<(3cG^=ukAsrLxr}r_9J}aw6&xv+nj|E@ifsui^C!4o2>N+$=)jHg*GlPr%sBCm zWyAq!kJ!XN9EibieSbesE#XZb)Nzy|DCIomy&gZ6=0xV=gd1-!jtNHX+HbJfrjxlF z)fRTZ>a6%Esvq&Q$f@{0X%exDgxtE8UO}6my0@=Y14#$2DbqVcBXmjrqyNsQxF?BY zfKeLM-5*hWW|pbdrgEv7IwFg|MA3c_oEUyinDk)L+!qxWYjXGXKZua8yobY-s#WH9 zO@h+G=nc+!?;DgKCADco7E7@wY4<}1hKsa?pzRTeTNfby#H?o&(c;`__y$+0+J&N7 zaPu^L3_(;5(Zb5d+2FWdsipX}^2h^!m!i%Vu-FQcl^;vCA*E0dyVE8hC0EAvfKo^q ze0Ssd_MjOHAy<8a;u}Xht-fyNiJkG$#oG;wmxVCSCb74-U+`;Fx?ltU{mZp9Qt(Id zX9>$~DYOxW$@Lihln7ZlZMzV{rb0ZA{^#D}`la!#6iq%V7ZxC;m9-bC+Xqb4k#mRe zjLFOUDTK_H{qK)6-8sW^z&6xxaTR}vCh0}U%BhX<{C5-MUsuwpNg<#$IV@8N@}wl= z5fSIptn6a2Vz?r_8Kg3D4enZmpfzsU+uvSTGXgeUm!NmK^C!6Pu2|vQMLC4m-QqjJ ztJa&k{W4UJ43_Qr#jxUuC5<6w05b`NMRMvnA%ram2vM|)uP4WklJvcjwp!M&-EDXW zK72%$aUYcoK9z@OFue5Cs9pSPty?1p3%wiG^gX z3p+A#W3Gr&Qi@hnR3JSIf;$`_&)jdV-?%2KyiR9&f@y2YfO%vK`XGMn z>nPvE6MyULBmtM2nvwG-`v++=29bm3z=>K&%W--_>q}#5ba4^FiIs!=PPzdMgupo3i)0MewvHx) zL5f~3JfPyw#P*9z`AC)@!1a^49|%&77OaqXr#0p7cH3|1T@-TXnV&a#4C!Fx8UhOb zOfEclUlc|ti|haV?f!4IQUQc8?VZnn;2hcvh<6l zGWPQhq$|(WW+#L=h!` zMp&!r;J2nc1rg)gh%aOZ^L7l>P04iZl=u_qJEVa`h`3}v$TWJP-mMbZ?})dm||hRVQHQ*$?b6q#?%n(vAK^m9iCNS0|CjwhoGaNV*=no$brb zeDgJ0OKFru!Lk*ib@MiI7s`a)?G{9}&^~B;0n&^hyrSAZtLP6$8_USZ$7T$7!6VjV zBwt8{tJWlpUqh7N`xc<*(NWIw@?R5 zQ%PC^{R*4zPT3lvj7@|l^=|2|JV#|>^@5=LArZwTXN)6 zv38+Ecd{cM2HzYCtik^N`PKLaLTJ^8nUQ#`JzGN3F3>iWv{D{k9;cT((7c07X^ly} z`12ZOdj9RPkT+E);Kv|B!jB`gLK?WygYdP=$6887M|v4!`LZbFQyT$s)u+(_HvO8~y_inxR1m0c7L>)YO0 z!fGR~P)Fyrt8iVA$!+q1+O@RNV@tma)YC=<2VANG>b+K{rL~|6@)~<59NvB!lrC_| zC40UPw)O%@zsiu6v57v8@%jZtrs}g_D!hOFj{Qm@Qq)+<%8XB-g>Ouvdz9pCDUj>1 z@O$8W+yx|+o7PN7fZ2=U3di}G1Ap_eCyQ4x`h&amGne8hknXgj&hUV^ErsiT59@w5 zB=4Z0aSW{)LCJ%KN{!&Rzaj8l4Gm70alO$QJ_FLk51Ad3sL4SmB(0r{;N!**=C*Ou z6Aj5-JJRdrNIYA9$6Hs>GrISX!Qdh!2p4`U@FlU^w6~j8B65;^5<*%!yEwkqcnz=1 z+DH#O%L{>xUAXs%Veidhf+QjR#JN@kFC~bt^yB|l52)C!DYRseUpHTcBfQv_LqlmSM5uj$mLg?rIvClXvfIvWI9 zW*(FYz`6i{-S;UauH8g5 z3%|`+mM{TQ{f0R&`Du`Itc&XFi(2Jac6k-sZ0u`S48TP6L(X?Rv zn|g3x&y+Qj{+kIt*;z`&W;n3MxfVv}+#8)ywjk#-aDed@6)tBVq{-XTWSMudcRO5X7YT?s-9x}5Bjwf#H{@eS~7k&Ez-C|@JwE;G^9zTgx0?7c0jbfava>gMP``0Ec-Nv>-kn(&WivG zMa;$rzrS_%xYKI<$VX|K7%fHUGvU{SySt$<4M($QqLixR!0$6-Xz}Fx5<~%Dpg!yc zhOZM~u`f~6j;Dca@&EfVJm$P(MDVkK#1Jq@1$J-W>At`RbWNM7MvREue*bX*q5&}f zC)f|T;8Y5VCQ!6o4m@%v!nemLJwf2}3K@e+YXFMosl^N7*!LtAuj}^{=@5CU>Zx^1 zb;5Vez2C|uL^Q(1b%?Fi&*r_K?)owjxUU-{NVu*`et^D^AUBfAWfFto8SE|A>WAUl z0b-D*FRdxMUTZugZDzPpZOA8!_R3TR+{*=jT`mTq;~FKx6LHiFaK4?v#ie|MJm}0% z9N|9_{`)!rx2P~6m0g|I|6Y*qxUS2KH`B@jG_wT(S-31{Gw-I8%a+$pJ7GjlakSs_oMkiL7@$bHlE*6O*CR}63Yptmf zwPSS52;%laYYAbgYjqYR9z`{84Sfoq2u~V0X+UE)x~7i{qxCtUk$BEo|1DJmmfG?XGNcDT$meUrq8n@{Qal?T5iin#73Baj;Z)^tH zhvDNnTDZe)5eF|ejODCEQiR7vuix@IB?9l@Z2)6#Cv3qNE^dRt`_eSqdJ8lD-BpZ2 zT-anC!wVWK>yO4x8C3?7D|LY!n65OTmgSIikU;`wOH92PqGE#a{_=3EP>Np{F2G z$P+6dr80%&U?sXQhFmXP-TC%W=<;RHjY(|dUj>|1N`BO#zUH=N@z7oJBkc$uv&=hT zOE$ZAcPaNO<#0y>u(9`NcE2Bss{gyws2f;UBq)GAFw6j((bANwC}m+C2`psay3MN` z5dm%%Y^yGf@2z~o^m1mjO0>!CyT^76)iyU5ThJ=Nnn6oH=ie7?kKR|MO8v7bap5&9 zs0{qfxh7-Sd@ zG_H{`F}E4{`6;tcq^9O=)zVM4OYWS>p!!1PY;vFF@6Sgk{#UN;-S6k6 z^Wq8w(y>XXtP#?F-HcY0w_+FEPW~Ay`;@F3jHEBV$FSA?Jc93EHD>CcNW?5DdGXGJ zmAn1p&`Q_pHS(!(d;PCsiN~LBF5k`h$^-57gVs+ziu^jZqr34YY{O>a25p3k{NfQf zz}^kLnTS(Ygu2cedCJ2#Gm$Q5>niIJT9@a4`@W90n)~K$J`Q6@_m+-$V;JX6;C>c& z$mHx9&(G)1)E5Wwh%Bay7U>I9CY*bM^GT!WxL~m za^Qk^WmKd$ukz(CpU#)u9|vB=a5(H#4q9$I+}H^{*OTSU72FtH|92*k?EJFua-?C8 z{qk#U-;Ld{vsb`#UlqoWnEoUG#UenZ=0$A(X@?56-D?}I;hwu+Y-=~>kExBFmAZxA zV%k@D03jr#bBZ~gCe$vs@Ol&(KEdFY)3m#8&GZJPM@h-viqBjlWDU9DzV>wgQQn#N zKW(@AV$4)Q|Fwk&=c}Oa$Gt6=`4+#joIb`#Pk0%~0$uXVz@vL48J$gN7N21@%Pjph} z*q>_24M7Ol|2LE`ua`sbQ^uT^QXB;PSSI00d8+5PZePg}O4X$Qf$LWf~)VJUIqEe1Y3%IxE%PxWy>cqd13yW1Mi!d z-M&5Ng@b9Vd=ZtsvYnUe*M#ou{tml6mp1VD&m76|oHo)FheqSsXtgV1)Nf{ubkBGX9Lck(8Sk^pkiRYFvjY%!HmexskUHR&t) zS5SdX12)uqGh4EaGih2CR?EO2vO%`BbOK$UhicSND^_Kr1d+%Nn9#`GA9=vTzs$XR z*DR3agJ?Q?+J;r-a0V^3$eQac^oU-p8g_AWs!^W^bn4xoX#aka0$I{T(-n=!Do(zl zeLpzGyx!pCDw&CiR8*fU`l;YE-j9cTY=`+Oa-6a>)tA~|t+#BtuiFd}_53RHYE-c; z%Kh1rto~3`>jTXbAuiyH9jdaLMRdge@lqJ5=wl%0$eU#|9aWD1tn-E@-l2)6hkEtH zlecGDWNo&^zU+pydCyi9zYvTZvuYSDQJ=hY#R_7KEwr8?$Z&6zJRiC3jZu!BFo(*% zrx?zY9!TZmOs1n*E8HoA)cP*ZGG%o78Ce~ojU;9 z_cE30tbsv~p@qloqRf0HoKzCbOhO*dFM6l8%iomdY!c&eNN1SUK2H7`qkOlfv5NS6 zGNW@7{XPsjp;Gd@7s4rRJGL)a4KgphsD52$8rc~WE~i#uBaF~D(a@{3diIiKoYiv# zR9tirs+w797%7-r!kS$|Y!Kf|3kRIg0C(lGlzfKr^lqKImep*<8)sVFZrj{ruP%v5 zZZVccU*=p5C1Iq-%Oqw_<~Vuhg2jywjGS+sDFSmRsNs`Hs6AFcC^YeSKKRtop?AwY z8(yyC7)QpCN1yjsK|6<{Ln^|IBi57;#0vCYT-y2Lf3sEn7xX?#7~^FO@3;nFkRj;A zfVh)t{?^GW%I@`%p`M-5#eq9{|4l|7xsLxvn^B_>ICRQg#YH2^jYBLiV|Qt;#dCXw zOSvzN=VwB=eaE3O6WHoKi9tms`g6$xIytdVl@>iBtb{MIOb3#iTRlE>sh7#W@*hui zD~M0?U^dHJ&b%5EkN1+2-{c(QYFPex{T5$J-`Pmfkw)WSQ!A zQrSfx>5zqctV;%BT0X^9LE)=FreAO_Z)K3mY(>T>es_r>`AH{s%WAm-8R=XOcL(eX7)(Y%|r8{2<59zGl_wx+qB zt8z7t2Epx7g-ce9RiD8yFE%u>DcH5#)7=hvh)jOW?Q>RfUCVq?`}(UUR%a=LP3qlz zK%Fp+$+gfe<5C9u%WDSUpy$^V5)U;L1K{r&jWmp9kz^p3*Ir>!KV3y7bS-mbNXkGF zEKbGc6v0hl;oj9+Kto01DX-S`aIbWw$u}r}#X&s^LDHC*fB4IHdnZMnAh&81GkrFG zq*lU>s6Tlh(L>IiXrppgjd$?KQ^yp&tv;zC-C$DpXERmw~N6u|H>&WeU^` zx5$f)#XQ zR0Z57f^*fi@)N&j?tXmP1b*0ZXIk+(`Xc|mjC!k+Kli8fWWA)+#_f9EUx%3Jk>;wNv(_A1^9%JD@=+E7h8he`pah;RoW- z(Sj3`x%pY@%7xaam<+md%&Ijb!ep`5CFa`a?wZ~sQ9hg+Gh@tk)4~TuDCPW=Xt+Cb zxb;FKC`+cd@a2$+?G1~Tzs{`O|2H@;P^iDF?oD$mDZ1MEWoPnOu{A{yes8eQHqaI(d2xLA8T+c6o!5-7nz!{ESoDcb4leYa z*Axh9-{eFJG*IU~CtsSd;Fu+I#If1QD;Ds6KOvh$dSh;p|F>uCkF{Z7!nCP`YWNWi zgT&fpf^yXVdI4Uep^@m1{!?GCDRRN_lFb!8(TfA^EJbvM45$>iZ+JX@B2wQ``tuL3fjrd!f;?n$N&I+Em#m23YW6lE zmBHqDKRlO6cM&G(bGOe5{&OV_UWO|Jd+SPl_&J5qdq$QPHy$^L4kj?Uz(FsCy+6q= z8)OK+@DxnuW1^o+D!!XL`Q{bm(jk1e-!K_Mk^hp@$nmVm`W4h`lbzN>P)E97^!y!_Bmj?$R(n@9%XgZ_kwG)a+Ad zL58}f72qmcZFI-k3(xSI%UP3pjrFa}0-cW&Q)gTqky*`f?dKeQmlv!=%e?NC+H*wE zQX+)1U#A5T!oxO(uQ8RO)ZeJ%KmTs{f>p3P9M6bkfvNco-;i-% ze|hiv(kA7Uw_k3b3AMs|5FpAAI7@rGQc8KgN6ow8y z5#EA`0plYzqBYm}mwgB_3YiXqduO%uEX$~b-=ljs#d76lP>(Y!E+0j%FN9JJHgd(Y z^im~7B(Zg=^KYIt7aAUs(WzUI6Fg*O{=tHVvL_sG#=t9=W|vK-rqyfYg*jjuE8h5# z14}rBnE`|^Gf*QH&`(;=x_BHxis0xMJY73c2QMM)VU6&>eOmipFv6DL19HF^k)Dby8%kdlT28g(j5jiQe8!jZPuvw$yV z7?-NyjW^S##zRFWh7Nh%l>&xL#)8Wpm@JVW=LO={A(&CX2Jyb20=#Z*lNpKWKW=XR z$R}52#lP{qx3%pl4czvo2fUUWZ`{mDlj$KT73B?03L;mFI7@+vo{J9b&`&gU*`8U} z8LZZL-rtGc%CamrtYpekv!!6eWza2FCL3kHrP3WraLq%i?KfJ(O!8wd1b#^qhF008 zI1wGVTgs$f%(nSAZ&g;B`3t)|-Tozs=P(=beI&8U}Yz%m7cJ{_sPpEKTcrN98@NR?v>p5t(xTY6TrJ5AlYN2UPSph|+ir z%w79-o42FpnP&5Je#9lJRBvE>R0wGPT~n}_SL||j;-dj+W3x*^S7M8;S3XlEnt62d ze8_ymT<68i!EARlG=hQ@J3MsU7na)P5b6tlQwLMBl%_Qf>;hk7f2g7PC)Hk|l3D0z z{Qe&z*^OlNlKwic?A!qR5EEpwH2fY9YL4a<)GCA$#PwJ4F#j-$V zk9W?TxS+N4K4ZU6JuBx``yK$p_TzajN=wkf-&xykfIsL0hezN;16($(EP?y`nCsN_ zWNujqYK6|9UAp-nb+kjy6#yuxJm>1WG|I@4VbpD;q=k@Ti~oL4)xiAAAmGZ&>t64! z)@ey!=!nb$Wi8Rlqcz&(i|x@-ZGT7&{(WN5MoJ`*}d$@+PEARyviC+=V#Ys1Wam>F%92SQpAR1Am8sZu(S7jALo5u(}td- zO2E!uLTn^zHfm%slkrLUjYHkmI=x^pB!TUZ`w>E^n}gVmXI1SU*UZoMT?p@CR>C3G zy{7hl{lzQh<-IABHXfnThO9_MN)88Y^8mwJ^uU9VD7ppN4weGJa|8EnljDaBZjdX6 zk?I1KujQsc3eL}HUX&P$7u$zeu6;UuvISOco*FJaL(d5#eO_nZT?M+^0-59)HxXDy zc>kFy2BIFX+>l{;`U~>r^}>_R_+Mu@s1SoMA=?2wTK)M>u=8|iD!s%XuIbnRZmua_ zuyiz!$L$-fmLx$71<@u#*6Od<0Dwo|Q(3*?@uAQfQa zUw$>DwFU?Id1PN&g;qQ(5?nkOV*acupf`4=)Ov18Jvjs#sbV`@1A`<({l7F^f3{i1 z0Y35xO*59B45zMD{wR|l8JTN>R3jM{1}{J{6fu|mBX4k~#QKq9r)m$Yv1VLz>*~^wn2D z!56_Xd;vUILZ1+0!Q5>xSsVP(z2#2Ga;>$M4ODaP>2~FJ2(H}!7%a&b(LWM;yA@aI z59o)y+RJ?<8;n&;6GkV6ZP^EN+vz$hvd~RjilKC)tYDg;^Q)?UogL@9%KLUGzE56) z`_bH_LCDPJ=QWdw`6!2M=;Cf-&ea2tD;l)we)j5wkyzWyL`PMqP*`&gYOuIIx5Wky z;n=SGd=+^FuFx^x73I()*~WVhT+Dh;95w;7(5WbX9T~s}q2ot4Zx{i)>ES3FsBYuR z>!4aGc~Ipfg5&0J_+z*G?eBh>h9FY`cz6$sh=Iaqi7@TTIt?Yc5)5yBGm?SmJbNQWWr@j$X2btJg!-Te2& zs>Z00qQR0TnjzK}w#xSue!pgy`>nFdl@cm5wjv=`FI34t-GE8kdD=F1!CpOp#w~=v zVDbC@iwFII>G$!wz_Wv;kYgm)jiuwp^OcwZieiKEx|vy5DC4cd4uz;30`bhJRO zf8IsUTJ|rw)p4kEvK7a}KUA)bdpgjLKj+}Ds6P5T@vW1}FTE-%WR!g@D|D&1vqDXa z9k%r2E3imnH430o-PA`)JHB(;3UmCn*N`{9EI%nX=bflExt{5)ApffW2&Qd(B~xL) zhL_NnTA$bZr5ZMWdzt)#JAXf*;i*9G@Yc|~55IygSXuX7&ayi7ECr%DFXqA1oSWuK z*EQ1AvX33m3Qdn_jC}nJ9N2DZnd40C2leYNHUZxsJee4oy9drVv<-TEa z-M4I2<6rL3_^t4U3Ll&2xUI!Rd=?qw+O{)V^W~GlH=f{Sb=pnUu=U_GG3PRPzOx*7 z?X6G}vUv`q!`c0dmhg6DsFWiG1;e#96+cSlGsc>J0?i-?|zLlcrA{XP)Mw$``P~V+eBa3j$UeAs8r@L z)!A)&1d*VEO(xLC%2oh5m%S@^tS2lL;++oS_B@uoy1a88G44| zx{Oit?V{L48|b3UwFM9|-nVDSj+O$Y9l=c^oRimbUyzI51BuM0FqYgKLFTWag(CF^ z-<)(02Rbc7@moT0krl#8Kn)lQTm7-^R=W{(UYF;SY6^b{Taz%RdYUtBC+LR^HIJ2+ zXm{R-2Uo}28P^W1%RrCWEHAo@ zv0m>_9gg++eEz;1V?EdTTNL*%d1OX2aaN=pjPh}YZ%wcOr9MTa{u~l3j|((OF*92) ztkrq7UxiAc<^uatw0YHGDDVIb$ol^V07vIOa1vR93y%i>2)0o+uh-4(c~)|!CjDa9X8 z&sNZRn%h>T)JlC^6(s&B!R2wqzqHTF$Xs!Wa-#20eKbX~UKTi+X}L2Htb5Ezx?yAf z>>{)+5bz=fklo~3bI9c=>%E#)oQgKzV5I6gVl>6iE=YtV>85f#S4n65R}vnxIjwrs zr?>qhnJ*`LivNFBYsi4*r#C2UX0FO^6wz9E}_{VS#cXet%3iRt|)*O&`-1D6>}McKh~~ z0dQM)tt`0%mtX9_p6(0xX!Hnz-MFC!0s&4oW=Cw5HhH1*DI zxI*-zP8q;+L(nyeoduh}lK4x{sb*fjsRC?rvJ==N`TXxA@D1T`~s)o!2LFrr2X z^Lsc)sC|C5gTdC)cyg{mFRK9W-*)=hoA5tH%=crNIID}~FLtjat!-4F@}{0Vf3`7# zc#6FJ4X7$3Ak(>8U_4T2OBa!%B>1VBUiMFS1^H5iLIH{7fWia$Ud`4(mMv%L8pSL> z(D!g9+AJTH2*qOBDwVA?|1QsYt}J}(S(oCi0XZaO4=;sceG0zKzYMnx1 z{DDHCJ)dx^uj~P8oC)dS2Hvl#~fgcThb;p<|J&N~{St+O|t1_Y(5iJ1t0qg&VVPd1ZR^=ofTIj$VN z$N~5DO-7)zk9mm`jd_M&lWvK;tRZV{zj=o$woE0Iq?jvuneM9k%zLRB&Httwi4wc- zvMm31?VHhP0(5<+9iUVY4NnsC*n(;)qm_7*8}EomlGkTngZ?05Y_*&TYf0pSyj)f< zi|j}~dH2!uxUBG^*dOj&U((aT9<4cFe82S4^GL|rSK|wtzn;qZ{xMYxyDEq38}~(4ux#dsVOOg`;zzB#E-l+cvq29d(L|m|40K9W%@|%$D8*_X-UeK z%F_^_XNJF|`%f@wobIQdgf7xVy-dpxaO{~p?!opek0=mA$rlX-xqp9e>6YXB zL*D(<5ozxF8j0;tzbn!;r1TqzBx-q=JnB3@MTEpI3ZYX}8A{zlR=cTpDd{G04&OG$ zn?k3+y(9O$p#!`@!eQyT2gk;2X26_MP~MrSa2>XULoo{3ahYo_X7$r6?7zBv?1`h~ z?IpFE4Ro!J{awZaOYWb5sntV&6oK0y6<#fo!34(QaqtS%0!?*hTsCK4N5r(ChR)h^dtjg>mpuzq@qmg968Q!oh<0^GNPsYaGUbEODaSvVQ3PK8#bsbB z>R9Y`M?~o|F4VB6#2*w`I2fg-euA7iaIz{US1JBYoW02{Y0gBO7stXJt5}Wc zm%F{tAiS`u57eqFI2b|bQ89{0MZQnjKd=8-{$iHoRkN*YqOT0XwS;a*#uyZx5+2## zA7juoBRP5ABLJk8SaGWRr$YKx(bNkfc@!`{mM6}yTWArX#ywvpT6+thQZS=W?H;?N zI2!#=B%YudW1^(2k@(L*b4?ycGNg}_BRyw!`#C61&2{A5m_S2d`7sRvU@oJX<{l2f z&I0$gjRNSQ;Gr1P%WG>i!W>B?B4#pXoX@~);fqO)xAf=MX~s7K9p$LJJAnlWX^LBw zvE8)|bx`o9Jjmh_`OsCO#>(o5w{K~ku=InB;-z-=sXhNTil9jpuko7EOnR?G^Qu1= zv+1|?_r^FK<^gLySL5z4TW?FRZ+|AHtL=e)q5=-#rZ?NEbMc?&4X+iG!xZP*-tj*w z#aX*}3dKMSFjufT>YyP{r#5rEAd1UQK@?PnkuFF8>Z> z#)vMF`z?2(S+dyj0TUa7b?kSKZ>xBh0kmNN^24rA z?$DXZPAb7{V)Hp{UWpnrRtT#!*u3;Cf#ekeIxH0K3P>o2RUsvzo~F2;TclYdeaqdx zgU0gm)=|=F?Fjv%`ToG--LW$Yl@={CM<&O5&K%ehV5!j4d<&<$Z8yvd(Aw!<94iP| zcC{2RP?plJG=v2rx28ZE=0>v`naF3LJS`Rv~814hyg z)|Vrzl7L;@9FU$>SF zzbFJYBSX@v47bzgprlit&b)SWTK(M82yg5+C?NOqGbWOzjVql35#;xt6oQk{H0bJ@ zd9-gN@qUaiPSw>`D89X<%9^Bfg1$1)0T{=J;}}RLZlkOCghF5VR%|0AT>z+@Fn!yT zd!EQ4t6^AtNb*fAI?PAV`p_E133m>1IJ@1S>2-f_90CRdkUKEalc&X5TC%9e z0uk4G*jYu>5Fp!MeKG$fAUE0MgqaRM3S)0kF@KVDKV}K1+Ddn}G8~gs;X4tSKC9n# z%|qhh%HYpndt`t8TGxA2U;&%WyASH-9^<#g8y;lJiJd8=H2~Zk1?MRdR=lBC(8v8lpTzzxpwW^A)UQ8W7c@84x zr(+ZX=b_r)A(Ce>A2@%UH(i~0q3mlAE0|B98*)X?hm70!u~i7VirSrQuXTX(y%Hof z`DU^bm9vfG%>%BfA1Hjzd0a^4sS3a8_^4r-#tFWlbvHQc{Y)(&uBJ6g#m$XTQY5 zAv{#)!vf%?exsr@c{TdgKF~h)xNr0X@Z-;H?(O<;INZVWA(k#J(G+C1bd10uJf1hb z{rR9=S}JDuVz+wdCA&awjrr+kAFMw?Ud4?Wde2)YeaYziV{67@P2!42y)> zv!AnkifqY~R8IaX1FQ|g>hS_N@sI6W0}opN3xf17BG7Opq2jx*6Sv&D*t|6roXwA; zMFF%s%xCzM4A84RH$oubowoIJ1~D)Xd+!1u-DAv^{IlUoyj9K5Udd;rD&fU%*{3(Y z;+7fR=!F*|q8Y>aMJ6=j4HBpk<8ym&G_I4ZWN++u_JZGeG1X)!4R7P^FvCVqC|viw z`&nkEATRl`-7xm{W8gI{5T*`iAHdxPQ#^}`uBXsyBN6TgG|)BnyC$}E?^d59F^lYc z%EOe98+qAZ+{2JJ{U~urW_R~*j|tvC&m2_c-_570kx z-n!2R@gEJ`*UMC#dZgy|b^W~ZA2t5dC*n+Awt9VDtD-3({kA;pT+4slXmTfm;3?(ei4l$Hy;O? z6R%%nN4|RcV~mngAa1#5>=FYu>~EGh9Z3((L*v(PXJl{#_=>%NySdb74kjx>OUgj0 zUc3cRfvR0z7utBb+{@&v?)F*uJdwho$+LXN3a%P^zBpz>mvR*jr}^}^UI@F8Dd_c( z0+EnF(U(8YP8qgcw<*`xO^+9ib718knLGY*pm4>z^PX;HZRmqQzZM8_*@-@k_^DTY}cdH2^)84o#ZpKDjy_0e1?I{-y;vq`MNw&8c{TBV9*aZ@ct+1OG+P{2alP^9 zy{q$Kgg}vKgn`B@*+KncyI~`H6Ge)lT$6H(a3&EfADg`{g~&i^jiE4;@1c0K25{ft z%eZN*THWh+nM$0~vq}jBF={8XjWog?aONUSYI46OW?2n-k zaiXMlb>%(%R{d_ZQW$O%c6!x3B;`{;n0`O^{~k^(Y|XtqZyD6Ao;#(;r+?5oHCtfL zM3McXr8Nt9Jbg+ta1p0J5GD^88&R|&^;}^bAO#=G&;_Zx1HF!vz_0Kpx*C7!bh&)K zUoOy5k%`Qcmg()!&K~;^eH?4DLd=AdjX~c5@p6`TE7sj$H_#KO*t}RaqAZ4?nguOK}$BmCd0Y zl7J70)-NFD=;^V&#w{V|*Gh+^j}QIG!yh{M6r}$TnBWfqI7_c!9mb>g(AHG2-t))V zp?Fs`u~V}RE1?CKcBzhO|73$N5$`p$C4g$d+MBQ%D3WVGZ0YBwZwaj2jrNB@YHD>J zFK_m6j{Ho?Ne%7B9A20}y#HeGFuVmCP!2T<2v$=}Hus>}4`r56W47h($G@i^!-bM}(Q~S+ zfQ|?>y~P=zu-}w>1HXHy6zwyl^vj(fROeCKjyORdU~N@}dD36rx>A)-<dja_h{5OU2rrdr_F#6VV;RpH0+HkU7e zcv`I#h4am7^gCu%x19Bt7FoqHa)Q){pTi(^O`y}@jPUdv$w|0>w$l)OOI}^VLaLL2 zB`Sj}f3Ln9FPO`fp_92rth*ZeOK#^^%{7!S{Aomp?*NAK!eLh!_I9NyO2h)6_ISik z3`zP#ilMXv8n=b%D~uN~Wj*(P{9~xslebyam@6ON^HU6P^M%|J$ENc=MrO-EQ

! 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 literal 0 HcmV?d00001 diff --git a/basyx.submodelrepository/basyx.submodelrepository-backend/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/backend/CrudSubmodelRepository.java b/basyx.submodelrepository/basyx.submodelrepository-backend/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/backend/CrudSubmodelRepository.java index aa5685dd1..b1f80f289 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-backend/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/backend/CrudSubmodelRepository.java +++ b/basyx.submodelrepository/basyx.submodelrepository-backend/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/backend/CrudSubmodelRepository.java @@ -332,4 +332,11 @@ public void patchSubmodelElements(String submodelId, List submo submodelBackend.save(submodel); } + @Override + public InputStream getFileByFilePath(String submodelId, String filePath) { + SubmodelService submodelService = getSubmodelServiceOrThrow(submodelId); + + return submodelService.getFileByFilePath(filePath); + } + } diff --git a/basyx.submodelrepository/basyx.submodelrepository-client/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/ConnectedSubmodelRepository.java b/basyx.submodelrepository/basyx.submodelrepository-client/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/ConnectedSubmodelRepository.java index a4d10f14f..0fc9c551b 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-client/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/ConnectedSubmodelRepository.java +++ b/basyx.submodelrepository/basyx.submodelrepository-client/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/ConnectedSubmodelRepository.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2023 the Eclipse BaSyx Authors + * Copyright (C) 2024 the Eclipse BaSyx Authors * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -246,4 +246,9 @@ public void patchSubmodelElements(String submodelId, List submo getConnectedSubmodelService(submodelId).patchSubmodelElements(submodelElementList); } + @Override + public InputStream getFileByFilePath(String submodelId, String filePath) { + return getConnectedSubmodelService(submodelId).getFileByFilePath(filePath); + } + } diff --git a/basyx.submodelrepository/basyx.submodelrepository-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/TestAuthorizedConnectedSubmodelRepository.java b/basyx.submodelrepository/basyx.submodelrepository-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/TestAuthorizedConnectedSubmodelRepository.java index 18d9a0239..8d64e339d 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/TestAuthorizedConnectedSubmodelRepository.java +++ b/basyx.submodelrepository/basyx.submodelrepository-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/TestAuthorizedConnectedSubmodelRepository.java @@ -155,4 +155,9 @@ public void invokeNonOperation() { // TODO throw new NotInvokableException(); } + + @Override + public void getFileByFilePath(){ + // Not Implemented for Client so Override Test + } } diff --git a/basyx.submodelrepository/basyx.submodelrepository-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/TestConnectedSubmodelRepository.java b/basyx.submodelrepository/basyx.submodelrepository-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/TestConnectedSubmodelRepository.java index b8ecc55fa..9946f1c8e 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/TestConnectedSubmodelRepository.java +++ b/basyx.submodelrepository/basyx.submodelrepository-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/client/TestConnectedSubmodelRepository.java @@ -101,4 +101,9 @@ protected boolean fileExistsInStorage(String fileValue) { return file.exists(); } + + @Override + public void getFileByFilePath(){ + // Not Implemented for Client so Override Test + } } diff --git a/basyx.submodelrepository/basyx.submodelrepository-core/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/SubmodelRepository.java b/basyx.submodelrepository/basyx.submodelrepository-core/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/SubmodelRepository.java index 2b0381ee0..d34139fa9 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-core/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/SubmodelRepository.java +++ b/basyx.submodelrepository/basyx.submodelrepository-core/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/SubmodelRepository.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2023 the Eclipse BaSyx Authors + * Copyright (C) 2024 the Eclipse BaSyx Authors * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -44,7 +44,7 @@ /** * Specifies the overall SubmodelRepository API * - * @author schnicke, danish, kammognie + * @author schnicke, danish, kammognie, fried * */ public interface SubmodelRepository { @@ -272,4 +272,15 @@ public default String getName() { * @param submodelElementList */ public void patchSubmodelElements(String submodelId, List submodelElementList); + + /** + * Retrieves the file of a file submodelelement via its absolute path + * + * @param submodelId + * the Submodel id + * @param filePath + * the path of the file + * @return File InputStream + */ + public InputStream getFileByFilePath(String submodelId, String filePath); } diff --git a/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySubmodelServiceWrapper.java b/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySubmodelServiceWrapper.java index 1a0faae40..4716e9e8c 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySubmodelServiceWrapper.java +++ b/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySubmodelServiceWrapper.java @@ -134,4 +134,9 @@ public void deleteFileValue(String idShortPath) throws ElementDoesNotExistExcept repoApi.deleteFileValue(submodelId, idShortPath); } + @Override + public InputStream getFileByFilePath(String filePath) { + return repoApi.getFileByFilePath(submodelId, filePath); + } + } diff --git a/basyx.submodelrepository/basyx.submodelrepository-feature-authorization/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/authorization/AuthorizedSubmodelRepository.java b/basyx.submodelrepository/basyx.submodelrepository-feature-authorization/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/authorization/AuthorizedSubmodelRepository.java index bf221b333..e75bc4a2b 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-feature-authorization/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/authorization/AuthorizedSubmodelRepository.java +++ b/basyx.submodelrepository/basyx.submodelrepository-feature-authorization/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/authorization/AuthorizedSubmodelRepository.java @@ -243,7 +243,12 @@ public void patchSubmodelElements(String submodelId, List submo decorated.patchSubmodelElements(submodelId, submodelElementList); } - + + @Override + public InputStream getFileByFilePath(String submodelId, String filePath) { + return decorated.getFileByFilePath(submodelId, filePath); + } + private List getIdAsList(String id) { return new ArrayList<>(Arrays.asList(id)); } diff --git a/basyx.submodelrepository/basyx.submodelrepository-feature-mqtt/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/mqtt/MqttSubmodelRepository.java b/basyx.submodelrepository/basyx.submodelrepository-feature-mqtt/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/mqtt/MqttSubmodelRepository.java index 5eab00484..c5b0a5f8f 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-feature-mqtt/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/mqtt/MqttSubmodelRepository.java +++ b/basyx.submodelrepository/basyx.submodelrepository-feature-mqtt/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/mqtt/MqttSubmodelRepository.java @@ -217,4 +217,9 @@ public void patchSubmodelElements(String submodelId, List submo decorated.patchSubmodelElements(submodelId, submodelElementList); } + @Override + public InputStream getFileByFilePath(String submodelId, String filePath) { + return decorated.getFileByFilePath(submodelId, filePath); + } + } diff --git a/basyx.submodelrepository/basyx.submodelrepository-feature-operation-delegation/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/operation/delegation/OperationDelegationSubmodelRepository.java b/basyx.submodelrepository/basyx.submodelrepository-feature-operation-delegation/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/operation/delegation/OperationDelegationSubmodelRepository.java index 5efbc202f..6404475cb 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-feature-operation-delegation/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/operation/delegation/OperationDelegationSubmodelRepository.java +++ b/basyx.submodelrepository/basyx.submodelrepository-feature-operation-delegation/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/operation/delegation/OperationDelegationSubmodelRepository.java @@ -173,5 +173,10 @@ public String getName() { public void patchSubmodelElements(String submodelId, List submodelElementList) { decorated.patchSubmodelElements(submodelId, submodelElementList); } - + + @Override + public InputStream getFileByFilePath(String submodelId, String filePath) { + return decorated.getFileByFilePath(submodelId, filePath); + } + } diff --git a/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/registry/integration/RegistryIntegrationSubmodelRepository.java b/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/registry/integration/RegistryIntegrationSubmodelRepository.java index 43a6c87c0..071c0e8e1 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/registry/integration/RegistryIntegrationSubmodelRepository.java +++ b/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/registry/integration/RegistryIntegrationSubmodelRepository.java @@ -215,4 +215,9 @@ public void patchSubmodelElements(String submodelId, List submo decorated.patchSubmodelElements(submodelId, submodelElementList); } + @Override + public InputStream getFileByFilePath(String submodelId, String filePath) { + return decorated.getFileByFilePath(submodelId, filePath); + } + } diff --git a/basyx.submodelservice/basyx.submodelservice-backend-inmemory/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/InMemorySubmodelService.java b/basyx.submodelservice/basyx.submodelservice-backend-inmemory/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/InMemorySubmodelService.java index ac9eaaccd..ab232f2ab 100644 --- a/basyx.submodelservice/basyx.submodelservice-backend-inmemory/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/InMemorySubmodelService.java +++ b/basyx.submodelservice/basyx.submodelservice-backend-inmemory/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/InMemorySubmodelService.java @@ -299,6 +299,11 @@ public void deleteFileValue(String idShortPath) throws ElementDoesNotExistExcept setSubmodelElementValue(idShortPath, fileValue); } + @Override + public InputStream getFileByFilePath(String filePath) throws FileDoesNotExistException{ + return fileRepository.find(filePath); + } + private void deleteAssociatedFileIfAny(String idShortPath) { try { deleteFileValue(idShortPath); diff --git a/basyx.submodelservice/basyx.submodelservice-client/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/client/ConnectedSubmodelService.java b/basyx.submodelservice/basyx.submodelservice-client/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/client/ConnectedSubmodelService.java index df7baf690..78556c15c 100644 --- a/basyx.submodelservice/basyx.submodelservice-client/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/client/ConnectedSubmodelService.java +++ b/basyx.submodelservice/basyx.submodelservice-client/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/client/ConnectedSubmodelService.java @@ -30,6 +30,7 @@ import java.io.InputStream; import java.util.List; +import org.apache.commons.lang3.NotImplementedException; import org.eclipse.digitaltwin.aas4j.v3.model.OperationRequest; import org.eclipse.digitaltwin.aas4j.v3.model.OperationResult; import org.eclipse.digitaltwin.aas4j.v3.model.OperationVariable; @@ -196,6 +197,20 @@ public void deleteFileValue(String idShortPath) throws ElementDoesNotExistExcept } } + /** + * NOTE: This method is not implemented in the client + * + * @throws NotImplementedException Method not Implemented + * + * @param filePath + * the path of the file + * @return NotImplementedException + */ + @Override + public InputStream getFileByFilePath(String filePath) { + throw new NotImplementedException("This Method is not implemented in the Client"); + } + private RuntimeException mapExceptionFileAccess(String idShortPath, ApiException e) { if (e.getCode() == HttpStatus.NOT_FOUND.value()) return new FileDoesNotExistException(idShortPath); diff --git a/basyx.submodelservice/basyx.submodelservice-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/client/TestAuthorizedConnectedSubmodelService.java b/basyx.submodelservice/basyx.submodelservice-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/client/TestAuthorizedConnectedSubmodelService.java index 3bc805e86..039b832a9 100644 --- a/basyx.submodelservice/basyx.submodelservice-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/client/TestAuthorizedConnectedSubmodelService.java +++ b/basyx.submodelservice/basyx.submodelservice-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/client/TestAuthorizedConnectedSubmodelService.java @@ -176,4 +176,10 @@ public void invokeNonOperation() { throw new NotInvokableException(); } + + @Override + public void getFileByFilePath(){ + // Not Implemented for Client so Override Test + } + } diff --git a/basyx.submodelservice/basyx.submodelservice-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/client/TestConnectedSubmodelService.java b/basyx.submodelservice/basyx.submodelservice-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/client/TestConnectedSubmodelService.java index 7ffb7b6ed..a6cda20f4 100644 --- a/basyx.submodelservice/basyx.submodelservice-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/client/TestConnectedSubmodelService.java +++ b/basyx.submodelservice/basyx.submodelservice-client/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/client/TestConnectedSubmodelService.java @@ -80,4 +80,9 @@ protected boolean fileExistsInStorage(String fileValue) { return file.exists(); } + + @Override + public void getFileByFilePath(){ + // Not Implemented for Client so Override Test + } } diff --git a/basyx.submodelservice/basyx.submodelservice-core/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelService.java b/basyx.submodelservice/basyx.submodelservice-core/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelService.java index 776b2b909..90381c531 100644 --- a/basyx.submodelservice/basyx.submodelservice-core/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelService.java +++ b/basyx.submodelservice/basyx.submodelservice-core/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelService.java @@ -185,4 +185,13 @@ public interface SubmodelService { */ public void deleteFileValue(String idShortPath) throws ElementDoesNotExistException, ElementNotAFileException, FileDoesNotExistException; + + /** + * Retrieves the file of a file submodelelement via its absolute path + * + * @param filePath + * the path of the file + * @return File InputStream + */ + public InputStream getFileByFilePath(String filePath); } diff --git a/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java b/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java index 9e73e7d40..e3f1e43b6 100644 --- a/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java +++ b/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2023 the Eclipse BaSyx Authors + * Copyright (C) 2024 the Eclipse BaSyx Authors * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -40,6 +40,7 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; +import org.apache.commons.lang3.NotImplementedException; import org.eclipse.digitaltwin.aas4j.v3.model.DataTypeDefXsd; import org.eclipse.digitaltwin.aas4j.v3.model.Entity; import org.eclipse.digitaltwin.aas4j.v3.model.File; @@ -553,6 +554,22 @@ public void getFile() throws FileNotFoundException, IOException { assertStoredFileContentEquals(submodelService, SubmodelServiceHelper.SUBMODEL_TECHNICAL_DATA_FILE_ID_SHORT, DUMMY_JSON_1); } + @Test + public void getFileByFilePath() throws IOException { + Submodel technicalDataSubmodel = DummySubmodelFactory.createTechnicalDataSubmodel(); + SubmodelService submodelService = getSubmodelService(technicalDataSubmodel); + + submodelService.setFileValue(SubmodelServiceHelper.SUBMODEL_TECHNICAL_DATA_FILE_ID_SHORT, "jsonFile1.json", getInputStreamOfDummyFile(DUMMY_JSON_1)); + + String filePath = ((File)submodelService.getSubmodelElement(SubmodelServiceHelper.SUBMODEL_TECHNICAL_DATA_FILE_ID_SHORT)).getValue(); + + InputStream retrievedValue = submodelService.getFileByFilePath(filePath); + InputStream expectedValue = getInputStreamOfDummyFile(DUMMY_JSON_1); + + assertEquals(expectedValue.readAllBytes().length, retrievedValue.readAllBytes().length); + + } + @Test(expected = FileDoesNotExistException.class) public void getNonExistingFile() { Submodel technicalDataSubmodel = DummySubmodelFactory.createTechnicalDataSubmodel(); diff --git a/basyx.submodelservice/basyx.submodelservice-feature-mqtt/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/feature/mqtt/MqttSubmodelService.java b/basyx.submodelservice/basyx.submodelservice-feature-mqtt/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/feature/mqtt/MqttSubmodelService.java index 69e41f74c..3d8beed4c 100644 --- a/basyx.submodelservice/basyx.submodelservice-feature-mqtt/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/feature/mqtt/MqttSubmodelService.java +++ b/basyx.submodelservice/basyx.submodelservice-feature-mqtt/src/main/java/org/eclipse/digitaltwin/basyx/submodelservice/feature/mqtt/MqttSubmodelService.java @@ -149,6 +149,11 @@ public void deleteFileValue(String idShortPath) throws ElementDoesNotExistExcept decorated.deleteFileValue(idShortPath); } + @Override + public InputStream getFileByFilePath(String filePath) throws FileDoesNotExistException{ + return decorated.getFileByFilePath(filePath); + } + private void submodelElementCreated(SubmodelElement submodelElement, String idShort) { sendMqttMessage(topicFactory.createCreateSubmodelElementTopic(idShort), SubmodelElementSerializer.serializeSubmodelElement(submodelElement)); }