webdggrid 1.7.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/webdggrid.js +1 -1
- package/dist/webdggrid.js.map +1 -1
- package/dist/webdggrid.umd.js +1 -1
- package/dist/webdggrid.umd.js.map +1 -1
- package/lib-esm/libdggrid.wasm.js +1 -1
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/lib-esm/webdggrid.js +343 -19
- package/lib-esm/webdggrid.js.map +1 -1
- package/lib-wasm/CMakeCache.txt +3 -3
- package/lib-wasm/CMakeFiles/3.31.6/CMakeCCompiler.cmake +6 -6
- package/lib-wasm/CMakeFiles/3.31.6/CMakeCXXCompiler.cmake +6 -6
- package/lib-wasm/CMakeFiles/3.31.6/CMakeSystem.cmake +3 -3
- package/lib-wasm/CMakeFiles/CMakeConfigureLog.yaml +1 -1
- package/lib-wasm/CMakeFiles/Makefile.cmake +1 -1
- package/lib-wasm/CMakeFiles/libdggrid.dir/DependInfo.cmake +3 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/build.make +391 -343
- package/lib-wasm/CMakeFiles/libdggrid.dir/cmake_clean.cmake +6 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/flags.make +4 -4
- package/lib-wasm/CMakeFiles/libdggrid.dir/link.txt +1 -1
- package/lib-wasm/CMakeFiles/libdggrid.dir/progress.make +99 -96
- package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/dggrid_transform.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/dggrid_transform.cpp.o.d +675 -676
- package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/igeo7_bindings.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/igeo7_bindings.cpp.o.d +714 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/webdggrid.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/webdggrid.cpp.o.d +692 -693
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgAddressBase.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgAddressBase.cpp.o.d +662 -663
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgAddressType.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgAddressType.cpp.o.d +662 -663
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgApSeq.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgApSeq.cpp.o.d +669 -670
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBase.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBase.cpp.o.d +662 -663
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC2RF2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC2RF2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC3C2RF2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC3C2RF2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC3RF2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC3RF2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedIDGG.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedIDGG.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedIDGGS.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedIDGGS.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRF2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRF2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRFBase0.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRFBase0.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRFS2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRFS2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgCell.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgCell.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgColor.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgColor.cpp.o.d +669 -670
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgConverterBase.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgConverterBase.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDVec2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDVec2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDVec3D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDVec3D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDataFieldBase.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDataFieldBase.cpp.o.d +662 -663
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDataList.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDataList.cpp.o.d +662 -663
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDiscRFS2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDiscRFS2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDistanceBase.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDistanceBase.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD4Grid2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD4Grid2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD4Grid2DS.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD4Grid2DS.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD8Grid2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD8Grid2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD8Grid2DS.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD8Grid2DS.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdIDGG.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdIDGG.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgEllipsoidRF.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgEllipsoidRF.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgGeoSphRF.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgGeoSphRF.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgGridTopo.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgGridTopo.cpp.o.d +662 -663
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC1Grid2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC1Grid2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC2Grid2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC2Grid2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC3Grid2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC3Grid2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexGrid2DS.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexGrid2DS.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexIDGG.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexIDGG.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexIDGGS.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexIDGGS.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGG.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGG.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGBase.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGBase.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS3H.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS3H.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS43H.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS43H.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4H.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4H.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4T.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4T.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS7H.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS7H.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGSBase.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGSBase.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGutil.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGutil.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIVec2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIVec2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIVec3D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIVec3D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIcosaMap.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIcosaMap.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInAIGenFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInAIGenFile.cpp.o.d +691 -692
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInGdalFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInLocStreamFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInLocStreamFile.cpp.o.d +682 -683
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInLocTextFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInLocTextFile.cpp.o.d +691 -692
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInShapefile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInShapefile.cpp.o.d +691 -692
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInShapefileAtt.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInShapefileAtt.cpp.o.d +695 -696
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInputStream.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInputStream.cpp.o.d +682 -683
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocBase.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocBase.cpp.o.d +662 -663
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocList.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocList.cpp.o.d +672 -673
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocVector.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocVector.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocation.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocation.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutAIGenFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutAIGenFile.cpp.o.d +691 -692
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutChildrenFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutChildrenFile.cpp.o.d +690 -691
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutGdalFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutGeoJSONFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutGeoJSONFile.cpp.o.d +691 -692
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutKMLfile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutKMLfile.cpp.o.d +691 -692
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutLocFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutLocFile.cpp.o.d +695 -696
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutLocTextFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutLocTextFile.cpp.o.d +689 -690
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutNeighborsFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutNeighborsFile.cpp.o.d +690 -691
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPRCellsFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPRCellsFile.cpp.o.d +691 -692
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPRPtsFile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPRPtsFile.cpp.o.d +691 -692
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPtsText.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPtsText.cpp.o.d +691 -692
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutRandPtsText.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutRandPtsText.cpp.o.d +691 -692
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutShapefile.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutShapefile.cpp.o.d +698 -699
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutputStream.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutputStream.cpp.o.d +682 -683
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgPolygon.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgPolygon.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjFuller.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjFuller.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjGnomonicRF.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjGnomonicRF.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjISEA.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjISEA.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjTriRF.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjTriRF.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRFBase.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRFBase.cpp.o.d +672 -673
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRFNetwork.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRFNetwork.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRandom.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRandom.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSeriesConverter.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSeriesConverter.cpp.o.d +672 -673
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD4Grid2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD4Grid2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD4Grid2DS.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD4Grid2DS.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD8Grid2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD8Grid2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD8Grid2DS.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD8Grid2DS.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSuperfund.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSuperfund.cpp.o.d +662 -663
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriGrid2D.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriGrid2D.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriGrid2DS.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriGrid2DS.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriIDGG.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriIDGG.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgUtil.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgUtil.cpp.o.d +669 -670
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ3RF.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ3RF.cpp.o.d +674 -675
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ3StringRF.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ3StringRF.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ7RF.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ7RF.cpp.o.d +674 -675
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ7StringRF.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ7StringRF.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZOrderRF.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZOrderRF.cpp.o.d +674 -675
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZOrderStringRF.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZOrderStringRF.cpp.o.d +671 -672
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/adjlon.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/adjlon.cpp.o.d +128 -129
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_auth.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_auth.cpp.o.d +132 -133
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_mlfn.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_mlfn.cpp.o.d +132 -133
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_msfn.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_msfn.cpp.o.d +131 -132
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_phi2.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_phi2.cpp.o.d +132 -133
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_qsfn.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_qsfn.cpp.o.d +128 -129
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_tsfn.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_tsfn.cpp.o.d +128 -129
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/dbfopen.c.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/dbfopen.c.o.d +24 -25
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/safileio.c.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/safileio.c.o.d +27 -28
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/sbnsearch.c.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/sbnsearch.c.o.d +24 -25
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shpopen.c.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shpopen.c.o.d +29 -30
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shptree.c.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shptree.c.o.d +27 -28
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shputils.c.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shputils.c.o.d +21 -22
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/igeo7_duckdb/src/auth/authalic.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/igeo7_duckdb/src/auth/authalic.cpp.o.d +625 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/igeo7_duckdb/src/z7/library.cpp.o +0 -0
- package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/igeo7_duckdb/src/z7/library.cpp.o.d +720 -0
- package/lib-wasm/Makefile +81 -0
- package/lib-wasm/cmake_install.cmake +1 -1
- package/lib-wasm/libdggrid.js +1 -1
- package/lib-wasm/libdggrid.wasm +0 -0
- package/package.json +1 -1
- package/src-ts/webdggrid.ts +369 -17
- package/types/webdggrid.d.ts +209 -7
- package/types/webdggrid.d.ts.map +1 -1
package/dist/webdggrid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webdggrid.js","sources":["../node_modules/fzstd/esm/index.mjs","../src-ts/extract.ts","../lib-wasm/libdggrid.js","../lib-esm/libdggrid.wasm.js","../src-ts/webdggrid.ts"],"sourcesContent":["// Some numerical data is initialized as -1 even when it doesn't need initialization to help the JIT infer types\n// aliases for shorter compressed code (most minifers don't do this)\nvar ab = ArrayBuffer, u8 = Uint8Array, u16 = Uint16Array, i16 = Int16Array, u32 = Uint32Array, i32 = Int32Array;\nvar slc = function (v, s, e) {\n if (u8.prototype.slice)\n return u8.prototype.slice.call(v, s, e);\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n var n = new u8(e - s);\n n.set(v.subarray(s, e));\n return n;\n};\nvar fill = function (v, n, s, e) {\n if (u8.prototype.fill)\n return u8.prototype.fill.call(v, n, s, e);\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n for (; s < e; ++s)\n v[s] = n;\n return v;\n};\nvar cpw = function (v, t, s, e) {\n if (u8.prototype.copyWithin)\n return u8.prototype.copyWithin.call(v, t, s, e);\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n while (s < e) {\n v[t++] = v[s++];\n }\n};\n/**\n * Codes for errors generated within this library\n */\nexport var ZstdErrorCode = {\n InvalidData: 0,\n WindowSizeTooLarge: 1,\n InvalidBlockType: 2,\n FSEAccuracyTooHigh: 3,\n DistanceTooFarBack: 4,\n UnexpectedEOF: 5\n};\n// error codes\nvar ec = [\n 'invalid zstd data',\n 'window size too large (>2046MB)',\n 'invalid block type',\n 'FSE accuracy too high',\n 'match distance too far back',\n 'unexpected EOF'\n];\nvar err = function (ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\nvar rb = function (d, b, n) {\n var i = 0, o = 0;\n for (; i < n; ++i)\n o |= d[b++] << (i << 3);\n return o;\n};\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };\n// read Zstandard frame header\nvar rzfh = function (dat, w) {\n var n3 = dat[0] | (dat[1] << 8) | (dat[2] << 16);\n if (n3 == 0x2FB528 && dat[3] == 253) {\n // Zstandard\n var flg = dat[4];\n // single segment checksum dict flag frame content flag\n var ss = (flg >> 5) & 1, cc = (flg >> 2) & 1, df = flg & 3, fcf = flg >> 6;\n if (flg & 8)\n err(0);\n // byte\n var bt = 6 - ss;\n // dict bytes\n var db = df == 3 ? 4 : df;\n // dictionary id\n var di = rb(dat, bt, db);\n bt += db;\n // frame size bytes\n var fsb = fcf ? (1 << fcf) : ss;\n // frame source size\n var fss = rb(dat, bt, fsb) + ((fcf == 1) && 256);\n // window size\n var ws = fss;\n if (!ss) {\n // window descriptor\n var wb = 1 << (10 + (dat[5] >> 3));\n ws = wb + (wb >> 3) * (dat[5] & 7);\n }\n if (ws > 2145386496)\n err(1);\n var buf = new u8((w == 1 ? (fss || ws) : w ? 0 : ws) + 12);\n buf[0] = 1, buf[4] = 4, buf[8] = 8;\n return {\n b: bt + fsb,\n y: 0,\n l: 0,\n d: di,\n w: (w && w != 1) ? w : buf.subarray(12),\n e: ws,\n o: new i32(buf.buffer, 0, 3),\n u: fss,\n c: cc,\n m: Math.min(131072, ws)\n };\n }\n else if (((n3 >> 4) | (dat[3] << 20)) == 0x184D2A5) {\n // skippable\n return b4(dat, 4) + 8;\n }\n err(0);\n};\n// most significant bit for nonzero\nvar msb = function (val) {\n var bits = 0;\n for (; (1 << bits) <= val; ++bits)\n ;\n return bits - 1;\n};\n// read finite state entropy\nvar rfse = function (dat, bt, mal) {\n // table pos\n var tpos = (bt << 3) + 4;\n // accuracy log\n var al = (dat[bt] & 15) + 5;\n if (al > mal)\n err(3);\n // size\n var sz = 1 << al;\n // probabilities symbols repeat index high threshold\n var probs = sz, sym = -1, re = -1, i = -1, ht = sz;\n // optimization: single allocation is much faster\n var buf = new ab(512 + (sz << 2));\n var freq = new i16(buf, 0, 256);\n // same view as freq\n var dstate = new u16(buf, 0, 256);\n var nstate = new u16(buf, 512, sz);\n var bb1 = 512 + (sz << 1);\n var syms = new u8(buf, bb1, sz);\n var nbits = new u8(buf, bb1 + sz);\n while (sym < 255 && probs > 0) {\n var bits = msb(probs + 1);\n var cbt = tpos >> 3;\n // mask\n var msk = (1 << (bits + 1)) - 1;\n var val = ((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (tpos & 7)) & msk;\n // mask (1 fewer bit)\n var msk1fb = (1 << bits) - 1;\n // max small value\n var msv = msk - probs - 1;\n // small value\n var sval = val & msk1fb;\n if (sval < msv)\n tpos += bits, val = sval;\n else {\n tpos += bits + 1;\n if (val > msk1fb)\n val -= msv;\n }\n freq[++sym] = --val;\n if (val == -1) {\n probs += val;\n syms[--ht] = sym;\n }\n else\n probs -= val;\n if (!val) {\n do {\n // repeat byte\n var rbt = tpos >> 3;\n re = ((dat[rbt] | (dat[rbt + 1] << 8)) >> (tpos & 7)) & 3;\n tpos += 2;\n sym += re;\n } while (re == 3);\n }\n }\n if (sym > 255 || probs)\n err(0);\n var sympos = 0;\n // sym step (coprime with sz - formula from zstd source)\n var sstep = (sz >> 1) + (sz >> 3) + 3;\n // sym mask\n var smask = sz - 1;\n for (var s = 0; s <= sym; ++s) {\n var sf = freq[s];\n if (sf < 1) {\n dstate[s] = -sf;\n continue;\n }\n // This is split into two loops in zstd to avoid branching, but as JS is higher-level that is unnecessary\n for (i = 0; i < sf; ++i) {\n syms[sympos] = s;\n do {\n sympos = (sympos + sstep) & smask;\n } while (sympos >= ht);\n }\n }\n // After spreading symbols, should be zero again\n if (sympos)\n err(0);\n for (i = 0; i < sz; ++i) {\n // next state\n var ns = dstate[syms[i]]++;\n // num bits\n var nb = nbits[i] = al - msb(ns);\n nstate[i] = (ns << nb) - sz;\n }\n return [(tpos + 7) >> 3, {\n b: al,\n s: syms,\n n: nbits,\n t: nstate\n }];\n};\n// read huffman\nvar rhu = function (dat, bt) {\n // index weight count\n var i = 0, wc = -1;\n // buffer header byte\n var buf = new u8(292), hb = dat[bt];\n // huffman weights\n var hw = buf.subarray(0, 256);\n // rank count\n var rc = buf.subarray(256, 268);\n // rank index\n var ri = new u16(buf.buffer, 268);\n // NOTE: at this point bt is 1 less than expected\n if (hb < 128) {\n // end byte, fse decode table\n var _a = rfse(dat, bt + 1, 6), ebt = _a[0], fdt = _a[1];\n bt += hb;\n var epos = ebt << 3;\n // last byte\n var lb = dat[bt];\n if (!lb)\n err(0);\n // state1 state2 state1 bits state2 bits\n var st1 = 0, st2 = 0, btr1 = fdt.b, btr2 = btr1;\n // fse pos\n // pre-increment to account for original deficit of 1\n var fpos = (++bt << 3) - 8 + msb(lb);\n for (;;) {\n fpos -= btr1;\n if (fpos < epos)\n break;\n var cbt = fpos >> 3;\n st1 += ((dat[cbt] | (dat[cbt + 1] << 8)) >> (fpos & 7)) & ((1 << btr1) - 1);\n hw[++wc] = fdt.s[st1];\n fpos -= btr2;\n if (fpos < epos)\n break;\n cbt = fpos >> 3;\n st2 += ((dat[cbt] | (dat[cbt + 1] << 8)) >> (fpos & 7)) & ((1 << btr2) - 1);\n hw[++wc] = fdt.s[st2];\n btr1 = fdt.n[st1];\n st1 = fdt.t[st1];\n btr2 = fdt.n[st2];\n st2 = fdt.t[st2];\n }\n if (++wc > 255)\n err(0);\n }\n else {\n wc = hb - 127;\n for (; i < wc; i += 2) {\n var byte = dat[++bt];\n hw[i] = byte >> 4;\n hw[i + 1] = byte & 15;\n }\n ++bt;\n }\n // weight exponential sum\n var wes = 0;\n for (i = 0; i < wc; ++i) {\n var wt = hw[i];\n // bits must be at most 11, same as weight\n if (wt > 11)\n err(0);\n wes += wt && (1 << (wt - 1));\n }\n // max bits\n var mb = msb(wes) + 1;\n // table size\n var ts = 1 << mb;\n // remaining sum\n var rem = ts - wes;\n // must be power of 2\n if (rem & (rem - 1))\n err(0);\n hw[wc++] = msb(rem) + 1;\n for (i = 0; i < wc; ++i) {\n var wt = hw[i];\n ++rc[hw[i] = wt && (mb + 1 - wt)];\n }\n // huf buf\n var hbuf = new u8(ts << 1);\n // symbols num bits\n var syms = hbuf.subarray(0, ts), nb = hbuf.subarray(ts);\n ri[mb] = 0;\n for (i = mb; i > 0; --i) {\n var pv = ri[i];\n fill(nb, i, pv, ri[i - 1] = pv + rc[i] * (1 << (mb - i)));\n }\n if (ri[0] != ts)\n err(0);\n for (i = 0; i < wc; ++i) {\n var bits = hw[i];\n if (bits) {\n var code = ri[bits];\n fill(syms, i, code, ri[bits] = code + (1 << (mb - bits)));\n }\n }\n return [bt, {\n n: nb,\n b: mb,\n s: syms\n }];\n};\n// Tables generated using this:\n// https://gist.github.com/101arrowz/a979452d4355992cbf8f257cbffc9edd\n// default literal length table\nvar dllt = /*#__PURE__*/ rfse(/*#__PURE__*/ new u8([\n 81, 16, 99, 140, 49, 198, 24, 99, 12, 33, 196, 24, 99, 102, 102, 134, 70, 146, 4\n]), 0, 6)[1];\n// default match length table\nvar dmlt = /*#__PURE__*/ rfse(/*#__PURE__*/ new u8([\n 33, 20, 196, 24, 99, 140, 33, 132, 16, 66, 8, 33, 132, 16, 66, 8, 33, 68, 68, 68, 68, 68, 68, 68, 68, 36, 9\n]), 0, 6)[1];\n// default offset code table\nvar doct = /*#__PURE__ */ rfse(/*#__PURE__*/ new u8([\n 32, 132, 16, 66, 102, 70, 68, 68, 68, 68, 36, 73, 2\n]), 0, 5)[1];\n// bits to baseline\nvar b2bl = function (b, s) {\n var len = b.length, bl = new i32(len);\n for (var i = 0; i < len; ++i) {\n bl[i] = s;\n s += 1 << b[i];\n }\n return bl;\n};\n// literal length bits\nvar llb = /*#__PURE__ */ new u8(( /*#__PURE__ */new i32([\n 0, 0, 0, 0, 16843009, 50528770, 134678020, 202050057, 269422093\n])).buffer, 0, 36);\n// literal length baseline\nvar llbl = /*#__PURE__ */ b2bl(llb, 0);\n// match length bits\nvar mlb = /*#__PURE__ */ new u8(( /*#__PURE__ */new i32([\n 0, 0, 0, 0, 0, 0, 0, 0, 16843009, 50528770, 117769220, 185207048, 252579084, 16\n])).buffer, 0, 53);\n// match length baseline\nvar mlbl = /*#__PURE__ */ b2bl(mlb, 3);\n// decode huffman stream\nvar dhu = function (dat, out, hu) {\n var len = dat.length, ss = out.length, lb = dat[len - 1], msk = (1 << hu.b) - 1, eb = -hu.b;\n if (!lb)\n err(0);\n var st = 0, btr = hu.b, pos = (len << 3) - 8 + msb(lb) - btr, i = -1;\n for (; pos > eb && i < ss;) {\n var cbt = pos >> 3;\n var val = (dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (pos & 7);\n st = ((st << btr) | val) & msk;\n out[++i] = hu.s[st];\n pos -= (btr = hu.n[st]);\n }\n if (pos != eb || i + 1 != ss)\n err(0);\n};\n// decode huffman stream 4x\n// TODO: use workers to parallelize\nvar dhu4 = function (dat, out, hu) {\n var bt = 6;\n var ss = out.length, sz1 = (ss + 3) >> 2, sz2 = sz1 << 1, sz3 = sz1 + sz2;\n dhu(dat.subarray(bt, bt += dat[0] | (dat[1] << 8)), out.subarray(0, sz1), hu);\n dhu(dat.subarray(bt, bt += dat[2] | (dat[3] << 8)), out.subarray(sz1, sz2), hu);\n dhu(dat.subarray(bt, bt += dat[4] | (dat[5] << 8)), out.subarray(sz2, sz3), hu);\n dhu(dat.subarray(bt), out.subarray(sz3), hu);\n};\n// read Zstandard block\nvar rzb = function (dat, st, out) {\n var _a;\n var bt = st.b;\n // byte 0 block type\n var b0 = dat[bt], btype = (b0 >> 1) & 3;\n st.l = b0 & 1;\n var sz = (b0 >> 3) | (dat[bt + 1] << 5) | (dat[bt + 2] << 13);\n // end byte for block\n var ebt = (bt += 3) + sz;\n if (btype == 1) {\n if (bt >= dat.length)\n return;\n st.b = bt + 1;\n if (out) {\n fill(out, dat[bt], st.y, st.y += sz);\n return out;\n }\n return fill(new u8(sz), dat[bt]);\n }\n if (ebt > dat.length)\n return;\n if (btype == 0) {\n st.b = ebt;\n if (out) {\n out.set(dat.subarray(bt, ebt), st.y);\n st.y += sz;\n return out;\n }\n return slc(dat, bt, ebt);\n }\n if (btype == 2) {\n // byte 3 lit btype size format\n var b3 = dat[bt], lbt = b3 & 3, sf = (b3 >> 2) & 3;\n // lit src size lit cmp sz 4 streams\n var lss = b3 >> 4, lcs = 0, s4 = 0;\n if (lbt < 2) {\n if (sf & 1)\n lss |= (dat[++bt] << 4) | ((sf & 2) && (dat[++bt] << 12));\n else\n lss = b3 >> 3;\n }\n else {\n s4 = sf;\n if (sf < 2)\n lss |= ((dat[++bt] & 63) << 4), lcs = (dat[bt] >> 6) | (dat[++bt] << 2);\n else if (sf == 2)\n lss |= (dat[++bt] << 4) | ((dat[++bt] & 3) << 12), lcs = (dat[bt] >> 2) | (dat[++bt] << 6);\n else\n lss |= (dat[++bt] << 4) | ((dat[++bt] & 63) << 12), lcs = (dat[bt] >> 6) | (dat[++bt] << 2) | (dat[++bt] << 10);\n }\n ++bt;\n // add literals to end - can never overlap with backreferences because unused literals always appended\n var buf = out ? out.subarray(st.y, st.y + st.m) : new u8(st.m);\n // starting point for literals\n var spl = buf.length - lss;\n if (lbt == 0)\n buf.set(dat.subarray(bt, bt += lss), spl);\n else if (lbt == 1)\n fill(buf, dat[bt++], spl);\n else {\n // huffman table\n var hu = st.h;\n if (lbt == 2) {\n var hud = rhu(dat, bt);\n // subtract description length\n lcs += bt - (bt = hud[0]);\n st.h = hu = hud[1];\n }\n else if (!hu)\n err(0);\n (s4 ? dhu4 : dhu)(dat.subarray(bt, bt += lcs), buf.subarray(spl), hu);\n }\n // num sequences\n var ns = dat[bt++];\n if (ns) {\n if (ns == 255)\n ns = (dat[bt++] | (dat[bt++] << 8)) + 0x7F00;\n else if (ns > 127)\n ns = ((ns - 128) << 8) | dat[bt++];\n // symbol compression modes\n var scm = dat[bt++];\n if (scm & 3)\n err(0);\n var dts = [dmlt, doct, dllt];\n for (var i = 2; i > -1; --i) {\n var md = (scm >> ((i << 1) + 2)) & 3;\n if (md == 1) {\n // rle buf\n var rbuf = new u8([0, 0, dat[bt++]]);\n dts[i] = {\n s: rbuf.subarray(2, 3),\n n: rbuf.subarray(0, 1),\n t: new u16(rbuf.buffer, 0, 1),\n b: 0\n };\n }\n else if (md == 2) {\n // accuracy log 8 for offsets, 9 for others\n _a = rfse(dat, bt, 9 - (i & 1)), bt = _a[0], dts[i] = _a[1];\n }\n else if (md == 3) {\n if (!st.t)\n err(0);\n dts[i] = st.t[i];\n }\n }\n var _b = st.t = dts, mlt = _b[0], oct = _b[1], llt = _b[2];\n var lb = dat[ebt - 1];\n if (!lb)\n err(0);\n var spos = (ebt << 3) - 8 + msb(lb) - llt.b, cbt = spos >> 3, oubt = 0;\n var lst = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << llt.b) - 1);\n cbt = (spos -= oct.b) >> 3;\n var ost = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << oct.b) - 1);\n cbt = (spos -= mlt.b) >> 3;\n var mst = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << mlt.b) - 1);\n for (++ns; --ns;) {\n var llc = llt.s[lst];\n var lbtr = llt.n[lst];\n var mlc = mlt.s[mst];\n var mbtr = mlt.n[mst];\n var ofc = oct.s[ost];\n var obtr = oct.n[ost];\n cbt = (spos -= ofc) >> 3;\n var ofp = 1 << ofc;\n var off = ofp + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16) | (dat[cbt + 3] << 24)) >>> (spos & 7)) & (ofp - 1));\n cbt = (spos -= mlb[mlc]) >> 3;\n var ml = mlbl[mlc] + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (spos & 7)) & ((1 << mlb[mlc]) - 1));\n cbt = (spos -= llb[llc]) >> 3;\n var ll = llbl[llc] + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (spos & 7)) & ((1 << llb[llc]) - 1));\n cbt = (spos -= lbtr) >> 3;\n lst = llt.t[lst] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << lbtr) - 1));\n cbt = (spos -= mbtr) >> 3;\n mst = mlt.t[mst] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << mbtr) - 1));\n cbt = (spos -= obtr) >> 3;\n ost = oct.t[ost] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << obtr) - 1));\n if (off > 3) {\n st.o[2] = st.o[1];\n st.o[1] = st.o[0];\n st.o[0] = off -= 3;\n }\n else {\n var idx = off - (ll != 0);\n if (idx) {\n off = idx == 3 ? st.o[0] - 1 : st.o[idx];\n if (idx > 1)\n st.o[2] = st.o[1];\n st.o[1] = st.o[0];\n st.o[0] = off;\n }\n else\n off = st.o[0];\n }\n for (var i = 0; i < ll; ++i) {\n buf[oubt + i] = buf[spl + i];\n }\n oubt += ll, spl += ll;\n var stin = oubt - off;\n if (stin < 0) {\n var len = -stin;\n var bs = st.e + stin;\n if (len > ml)\n len = ml;\n for (var i = 0; i < len; ++i) {\n buf[oubt + i] = st.w[bs + i];\n }\n oubt += len, ml -= len, stin = 0;\n }\n for (var i = 0; i < ml; ++i) {\n buf[oubt + i] = buf[stin + i];\n }\n oubt += ml;\n }\n if (oubt != spl) {\n while (spl < buf.length) {\n buf[oubt++] = buf[spl++];\n }\n }\n else\n oubt = buf.length;\n if (out)\n st.y += oubt;\n else\n buf = slc(buf, 0, oubt);\n }\n else if (out) {\n st.y += lss;\n if (spl) {\n for (var i = 0; i < lss; ++i) {\n buf[i] = buf[spl + i];\n }\n }\n }\n else if (spl)\n buf = slc(buf, spl);\n st.b = ebt;\n return buf;\n }\n err(2);\n};\n// concat\nvar cct = function (bufs, ol) {\n if (bufs.length == 1)\n return bufs[0];\n var buf = new u8(ol);\n for (var i = 0, b = 0; i < bufs.length; ++i) {\n var chk = bufs[i];\n buf.set(chk, b);\n b += chk.length;\n }\n return buf;\n};\n/**\n * Decompresses Zstandard data\n * @param dat The input data\n * @param buf The output buffer. If unspecified, the function will allocate\n * exactly enough memory to fit the decompressed data. If your\n * data has multiple frames and you know the output size, specifying\n * it will yield better performance.\n * @returns The decompressed data\n */\nexport function decompress(dat, buf) {\n var bufs = [], nb = +!buf;\n var bt = 0, ol = 0;\n for (; dat.length;) {\n var st = rzfh(dat, nb || buf);\n if (typeof st == 'object') {\n if (nb) {\n buf = null;\n if (st.w.length == st.u) {\n bufs.push(buf = st.w);\n ol += st.u;\n }\n }\n else {\n bufs.push(buf);\n st.e = 0;\n }\n for (; !st.l;) {\n var blk = rzb(dat, st, buf);\n if (!blk)\n err(5);\n if (buf)\n st.e = st.y;\n else {\n bufs.push(blk);\n ol += blk.length;\n cpw(st.w, 0, blk.length);\n st.w.set(blk, st.w.length - blk.length);\n }\n }\n bt = st.b + (st.c * 4);\n }\n else\n bt = st;\n dat = dat.subarray(bt);\n }\n return cct(bufs, ol);\n}\n/**\n * Decompressor for Zstandard streamed data\n */\nvar Decompress = /*#__PURE__*/ (function () {\n /**\n * Creates a Zstandard decompressor\n * @param ondata The handler for stream data\n */\n function Decompress(ondata) {\n this.ondata = ondata;\n this.c = [];\n this.l = 0;\n this.z = 0;\n }\n /**\n * Pushes data to be decompressed\n * @param chunk The chunk of data to push\n * @param final Whether or not this is the last chunk in the stream\n */\n Decompress.prototype.push = function (chunk, final) {\n if (typeof this.s == 'number') {\n var sub = Math.min(chunk.length, this.s);\n chunk = chunk.subarray(sub);\n this.s -= sub;\n }\n var sl = chunk.length;\n var ncs = sl + this.l;\n if (!this.s) {\n if (final) {\n if (!ncs) {\n this.ondata(new u8(0), true);\n return;\n }\n // min for frame + one block\n if (ncs < 5)\n err(5);\n }\n else if (ncs < 18) {\n this.c.push(chunk);\n this.l = ncs;\n return;\n }\n if (this.l) {\n this.c.push(chunk);\n chunk = cct(this.c, ncs);\n this.c = [];\n this.l = 0;\n }\n if (typeof (this.s = rzfh(chunk)) == 'number')\n return this.push(chunk, final);\n }\n if (typeof this.s != 'number') {\n if (ncs < (this.z || 3)) {\n if (final)\n err(5);\n this.c.push(chunk);\n this.l = ncs;\n return;\n }\n if (this.l) {\n this.c.push(chunk);\n chunk = cct(this.c, ncs);\n this.c = [];\n this.l = 0;\n }\n if (!this.z && ncs < (this.z = (chunk[this.s.b] & 2) ? 4 : 3 + ((chunk[this.s.b] >> 3) | (chunk[this.s.b + 1] << 5) | (chunk[this.s.b + 2] << 13)))) {\n if (final)\n err(5);\n this.c.push(chunk);\n this.l = ncs;\n return;\n }\n else\n this.z = 0;\n for (;;) {\n var blk = rzb(chunk, this.s);\n if (!blk) {\n if (final)\n err(5);\n var adc = chunk.subarray(this.s.b);\n this.s.b = 0;\n this.c.push(adc), this.l += adc.length;\n return;\n }\n else {\n this.ondata(blk, false);\n cpw(this.s.w, 0, blk.length);\n this.s.w.set(blk, this.s.w.length - blk.length);\n }\n if (this.s.l) {\n var rest = chunk.subarray(this.s.b);\n this.s = this.s.c * 4;\n this.push(rest, final);\n return;\n }\n }\n }\n else if (final)\n err(5);\n };\n return Decompress;\n}());\nexport { Decompress };\n","import { decompress } from 'fzstd';\n\n// See: https://github.com/Equim-chan/base91\nconst table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~\"';\n\nfunction decode(raw: string): Uint8Array {\n const len = raw.length;\n const ret: number[] = [];\n\n let b = 0;\n let n = 0;\n let v = -1;\n\n for (let i = 0; i < len; i++) {\n const p = table.indexOf(raw[i]);\n /* istanbul ignore next */\n if (p === -1) continue;\n if (v < 0) {\n v = p;\n } else {\n v += p * 91;\n b |= v << n;\n n += (v & 8191) > 88 ? 13 : 14;\n do {\n ret.push(b & 0xff);\n b >>= 8;\n n -= 8;\n } while (n > 7);\n v = -1;\n }\n }\n\n if (v > -1) {\n ret.push((b | v << n) & 0xff);\n }\n\n return new Uint8Array(ret);\n}\n\nexport function extract(raw: string): Uint8Array {\n const compressed = decode(raw);\n return decompress(compressed);\n}\n","async function libdggrid(moduleArg={}){var moduleRtn;var Module=moduleArg;var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var isFileURI=filename=>filename.startsWith(\"file://\");class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}var readyPromiseResolve,readyPromiseReject;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports[\"P\"]()}function preMain(){}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module[\"onAbort\"]?.(what);what=`Aborted(${what})`;err(what);ABORT=true;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module[\"locateFile\"]){return locateFile(\"libdggrid.wasm\")}return new URL(\"libdggrid.wasm\",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!isFileURI(binaryFile)){try{var response=fetch(binaryFile,{credentials:\"same-origin\"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result[\"instance\"])}var info=getWasmImports();if(Module[\"instantiateWasm\"]){return new Promise((resolve,reject)=>{Module[\"instantiateWasm\"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name=\"ExitStatus\";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var HEAP16;var HEAP32;var HEAP64;var HEAP8;var HEAPF32;var HEAPF64;var HEAPU16;var HEAPU32;var HEAPU64;var HEAPU8;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);uncaughtExceptionCount++;abort()};var __abort_js=()=>abort(\"\");var AsciiToString=ptr=>{var str=\"\";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError=class BindingError extends Error{constructor(message){super(message);this.name=\"BindingError\"}};var throwBindingError=message=>{throw new BindingError(message)};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type \"${name}\" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){return sharedRegisterType(rawType,registeredInstance,options)}var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer]:pointer=>HEAPU8[pointer];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];case 8:return signed?pointer=>HEAP64[pointer>>3]:pointer=>HEAPU64[pointer>>3];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0n;let fromWireType=value=>value;if(isUnsignedType){const bitSize=size*8;fromWireType=value=>BigInt.asUintN(bitSize,value);maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>{if(typeof value==\"number\"){value=BigInt(value)}return value},readValueFromPointer:integerReadValueFromPointer(name,size,!isUnsignedType),destructorFunction:null})};var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},readValueFromPointer:function(pointer){return this.fromWireType(HEAPU8[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+\" instance already deleted\")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var attachFinalizer=handle=>{if(!globalThis.FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj[\"delete\"]()}};var delayFunction;var init_ClassHandle=()=>{let proto=ClassHandle.prototype;Object.assign(proto,{isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},isDeleted(){return!this.$$.ptr},deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}});const symbolDispose=Symbol.dispose;if(symbolDispose){proto[symbolDispose]=proto[\"delete\"]}};function ClassHandle(){}var createNamedFunction=(name,func)=>Object.defineProperty(func,\"name\",{value:name});var registeredPointers={};var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module[name].overloadTable.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{name=name.replace(/[^a-zA-Z0-9_]/g,\"$\");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};var embindRepr=v=>{if(v===null){return\"null\"}var t=typeof v;if(t===\"object\"||t===\"array\"||t===\"function\"){return v.toString()}else{return\"\"+v}};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError(\"Passing raw pointer to smart pointer is illegal\")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle[\"clone\"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle[\"delete\"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError(\"Unsupported sharing policy\")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this.fromWireType(HEAPU32[pointer>>2])}var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError(\"ptr should not be undefined\")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var InternalError=class InternalError extends Error{constructor(message){super(message);this.name=\"InternalError\"}};var throwInternalError=message=>{throw new InternalError(message)};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError(\"makeClassHandle requires ptr and ptrType\")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError(\"Both smartPtrType and smartPtr must be specified\")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance[\"clone\"]()}else{var rv=registeredInstance[\"clone\"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this.toWireType=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this.toWireType=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this.toWireType=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistent public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var wasmTableMirror=[];var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var embind__requireFunction=(signature,rawFunction,isAsync=false)=>{signature=AsciiToString(signature);function makeDynCaller(){var rtn=getWasmTableEntry(rawFunction);return rtn}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};class UnboundTypeError extends Error{}var getTypeName=type=>{var ptr=___getTypeName(type);var rv=AsciiToString(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([\", \"]))};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(type=>typeDependencies[type]=dependentTypes);function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError(\"Mismatched type converter count\")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;for(let[i,dt]of dependentTypes.entries()){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}}if(0===unregisteredTypes.length){onComplete(typeConverters)}};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=AsciiToString(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(`Use 'new' to construct ${name}`)}if(undefined===registeredClass.constructor_body){throw new BindingError(`${name} has no accessible constructor`)}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+\"*\",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+\" const*\",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>2])}return array};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){return true}}return false}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=usesDestructorStack(argTypes);var returns=!argTypes[0].isVoid;var expectedArgCount=argCount-2;var argsWired=new Array(expectedArgCount);var invokerFuncArgs=[];var destructors=[];var invokerFn=function(...args){destructors.length=0;var thisWired;invokerFuncArgs.length=isClassMethodFunc?2:1;invokerFuncArgs[0]=cppTargetFunc;if(isClassMethodFunc){thisWired=argTypes[1].toWireType(destructors,this);invokerFuncArgs[1]=thisWired}for(var i=0;i<expectedArgCount;++i){argsWired[i]=argTypes[i+2].toWireType(destructors,args[i]);invokerFuncArgs.push(argsWired[i])}var rv=cppInvokerFunc(...invokerFuncArgs);function onDone(rv){if(needsDestructorStack){runDestructors(destructors)}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;i++){var param=i===1?thisWired:argsWired[i-2];if(argTypes[i].destructorFunction!==null){argTypes[i].destructorFunction(param)}}}if(returns){return argTypes[0].fromWireType(rv)}}return onDone(rv)};return createNamedFunction(humanName,invokerFn)}var __embind_register_class_constructor=(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf(\"(\");if(argsIndex===-1)return signature;return signature.slice(0,argsIndex)};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=AsciiToString(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker,isAsync);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var emval_freelist=[];var emval_handles=[0,1,,1,null,1,true,1,false,1];var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){var value=emval_handles[handle];emval_handles[handle]=undefined;emval_freelist.push(handle)}};var Emval={toValue:handle=>{if(!handle){throwBindingError(`Cannot use deleted val. handle = ${handle}`)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};var EmValType={name:\"emscripten::val\",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this.fromWireType(HEAPF32[pointer>>2])};case 8:return function(pointer){return this.fromWireType(HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:value=>value,toWireType:(destructors,value)=>value,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var __embind_register_function=(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync,isNonnullReturn)=>{var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=AsciiToString(name);name=getFunctionName(name);rawInvoker=embind__requireFunction(signature,rawInvoker,isAsync);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0;let fromWireType=value=>value;if(isUnsignedType){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift;maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>value,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var installIndexedIterator=(proto,sizeMethodName,getMethodName)=>{const makeIterator=(size,getValue)=>{let index=0;return{next(){if(index>=size){return{done:true}}const current=index;index++;const value=getValue(current);return{value,done:false}},[Symbol.iterator](){return this}}};if(!proto[Symbol.iterator]){proto[Symbol.iterator]=function(){const size=this[sizeMethodName]();return makeIterator(size,i=>this[getMethodName](i))}}};var __embind_register_iterable=(rawClassType,rawElementType,sizeMethodName,getMethodName)=>{sizeMethodName=AsciiToString(sizeMethodName);getMethodName=AsciiToString(getMethodName);whenDependentTypesAreResolved([],[rawClassType,rawElementType],types=>{const classType=types[0];installIndexedIterator(classType.registeredClass.instancePrototype,sizeMethodName,getMethodName);return[]})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=AsciiToString(name);registerType(rawType,{name,fromWireType:decodeMemoryView,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var EmValOptionalType=Object.assign({optional:true},EmValType);var __embind_register_optional=(rawOptionalType,rawType)=>{registerType(rawOptionalType,EmValOptionalType)};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63;i++}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):\"\";var __embind_register_std_string=(rawType,name)=>{name=AsciiToString(name);var stdStringIsUTF8=true;registerType(rawType,{name,fromWireType(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){str=UTF8ToString(payload,length,true)}else{str=\"\";for(var i=0;i<length;++i){str+=String.fromCharCode(HEAPU8[payload+i])}}_free(value);return str},toWireType(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||ArrayBuffer.isView(value)&&value.BYTES_PER_ELEMENT==1)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>2]=length;if(valueIsOfTypeString){if(stdStringIsUTF8){stringToUTF8(value,ptr,length+1)}else{for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(base);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i]=charCode}}}else{HEAPU8.set(value,ptr)}if(destructors!==null){destructors.push(_free,base)}return base},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var UTF16Decoder=globalThis.TextDecoder?new TextDecoder(\"utf-16le\"):undefined;var UTF16ToString=(ptr,maxBytesToRead,ignoreNul)=>{var idx=ptr>>1;var endIdx=findStringEnd(HEAPU16,idx,maxBytesToRead/2,ignoreNul);if(endIdx-idx>16&&UTF16Decoder)return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx));var str=\"\";for(var i=idx;i<endIdx;++i){var codeUnit=HEAPU16[i];str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead,ignoreNul)=>{var str=\"\";var startIdx=ptr>>2;for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAPU32[startIdx+i];if(!utf32&&!ignoreNul)break;str+=String.fromCodePoint(utf32)}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codePoint=str.codePointAt(i);if(codePoint>65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i<str.length;++i){var codePoint=str.codePointAt(i);if(codePoint>65535){i++}len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=AsciiToString(name);var decodeString,encodeString,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16}else{decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32}registerType(rawType,{name,fromWireType:value=>{var length=HEAPU32[value>>2];var str=decodeString(value+4,length*charSize,true);_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value==\"string\")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=(rawType,name)=>{name=AsciiToString(name);registerType(rawType,{isVoid:true,name,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};var __emval_array_to_memory_view=(dst,src)=>{dst=Emval.toValue(dst);src=Emval.toValue(src);dst.set(src)};var emval_methodCallers=[];var emval_addMethodCaller=caller=>{var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var emval_lookupTypes=(argCount,argTypes)=>{var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAPU32[argTypes+i*4>>2],`parameter ${i}`)}return a};var emval_returnValue=(toReturnWire,destructorsRef,handle)=>{var destructors=[];var result=toReturnWire(destructors,handle);if(destructors.length){HEAPU32[destructorsRef>>2]=Emval.toHandle(destructors)}return result};var emval_symbols={};var getStringOrSymbol=address=>{var symbol=emval_symbols[address];if(symbol===undefined){return AsciiToString(address)}return symbol};var __emval_create_invoker=(argCount,argTypesPtr,kind)=>{var GenericWireTypeSize=8;var[retType,...argTypes]=emval_lookupTypes(argCount,argTypesPtr);var toReturnWire=retType.toWireType.bind(retType);var argFromPtr=argTypes.map(type=>type.readValueFromPointer.bind(type));argCount--;var argN=new Array(argCount);var invokerFunction=(handle,methodName,destructorsRef,args)=>{var offset=0;for(var i=0;i<argCount;++i){argN[i]=argFromPtr[i](args+offset);offset+=GenericWireTypeSize}var rv;switch(kind){case 0:rv=Emval.toValue(handle).apply(null,argN);break;case 2:rv=Reflect.construct(Emval.toValue(handle),argN);break;case 3:rv=argN[0];break;case 1:rv=Emval.toValue(handle)[getStringOrSymbol(methodName)](...argN);break}return emval_returnValue(toReturnWire,destructorsRef,rv)};var functionName=`methodCaller<(${argTypes.map(t=>t.name)}) => ${retType.name}>`;return emval_addMethodCaller(createNamedFunction(functionName,invokerFunction))};var __emval_get_global=name=>{if(!name){return Emval.toHandle(globalThis)}name=getStringOrSymbol(name);return Emval.toHandle(globalThis[name])};var __emval_get_property=(handle,key)=>{handle=Emval.toValue(handle);key=Emval.toValue(key);return Emval.toHandle(handle[key])};var __emval_incref=handle=>{if(handle>9){emval_handles[handle+1]+=1}};var __emval_invoke=(caller,handle,methodName,destructorsRef,args)=>emval_methodCallers[caller](handle,methodName,destructorsRef,args);var __emval_invoke_i64=(a1,a2,a3,a4,a5)=>__emval_invoke(a1,a2,a3,a4,a5);var __emval_new_array=()=>Emval.toHandle([]);var __emval_new_array_from_memory_view=view=>{view=Emval.toValue(view);var a=new Array(view.length);for(var i=0;i<view.length;i++)a[i]=view[i];return Emval.toHandle(a)};var __emval_new_cstring=v=>Emval.toHandle(getStringOrSymbol(v));var __emval_new_object=()=>Emval.toHandle({});var __emval_run_destructors=handle=>{var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)};var __emval_set_property=(handle,key,value)=>{handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?\"-\":\"+\";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,\"0\");var minutes=String(absOffset%60).padStart(2,\"0\");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||\"./this.program\";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module[\"onExit\"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var _fd_close=fd=>52;var _fd_read=(fd,iov,iovcnt,pnum)=>52;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);return 70}var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0};var handleException=e=>{if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)};var getCFunc=ident=>{var func=Module[\"_\"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\"){return UTF8ToString(ret)}if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type===\"number\"||type===\"boolean\");var numericRet=returnType!==\"string\";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};init_ClassHandle();init_RegisteredPointer();{if(Module[\"noExitRuntime\"])noExitRuntime=Module[\"noExitRuntime\"];if(Module[\"print\"])out=Module[\"print\"];if(Module[\"printErr\"])err=Module[\"printErr\"];if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].shift()()}}}Module[\"ccall\"]=ccall;Module[\"cwrap\"]=cwrap;var ___getTypeName,_malloc,_free,___original_main,_main,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,memory,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){___getTypeName=wasmExports[\"Q\"];_malloc=wasmExports[\"S\"];_free=wasmExports[\"T\"];___original_main=Module[\"___original_main\"]=wasmExports[\"U\"];_main=Module[\"_main\"]=wasmExports[\"V\"];__emscripten_stack_restore=wasmExports[\"W\"];__emscripten_stack_alloc=wasmExports[\"X\"];_emscripten_stack_get_current=wasmExports[\"Y\"];memory=wasmMemory=wasmExports[\"O\"];__indirect_function_table=wasmTable=wasmExports[\"R\"]}var wasmImports={g:___cxa_throw,C:__abort_js,w:__embind_register_bigint,J:__embind_register_bool,m:__embind_register_class,l:__embind_register_class_constructor,b:__embind_register_class_function,H:__embind_register_emval,v:__embind_register_float,a:__embind_register_function,j:__embind_register_integer,k:__embind_register_iterable,h:__embind_register_memory_view,n:__embind_register_optional,I:__embind_register_std_string,p:__embind_register_std_wstring,K:__embind_register_void,y:__emval_array_to_memory_view,e:__emval_create_invoker,c:__emval_decref,M:__emval_get_global,s:__emval_get_property,i:__emval_incref,f:__emval_invoke,r:__emval_invoke_i64,x:__emval_new_array,t:__emval_new_array_from_memory_view,o:__emval_new_cstring,L:__emval_new_object,d:__emval_run_destructors,q:__emval_set_property,z:__tzset_js,D:_emscripten_resize_heap,A:_environ_get,B:_environ_sizes_get,N:_exit,F:_fd_close,G:_fd_read,E:_fd_seek,u:_fd_write};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){preRun();function doRun(){Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module[\"onRuntimeInitialized\"]?.();var noInitialRun=Module[\"noInitialRun\"]||true;if(!noInitialRun)callMain();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(()=>{setTimeout(()=>Module[\"setStatus\"](\"\"),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}\n;return moduleRtn}export default libdggrid;\n","import { extract } from './extract.js';\nimport wrapper from '../lib-wasm/libdggrid.js';\n\nconst blobStr = 'v7#aSX2zvB[9o+z3XXBr(5i\"|RuU3nL4Ou$93{*Q,qS`Ut*dUVb>810v>x#;\"Ud_E*wLQ%.MO@a<*1O:lxR8=|H6bXTv$6rX\"iD\"8zLEkn59w0|YHTf>bgs6Y0:I_y!Y*S&6Z&/cRI4LzaU*c]76i|Vuk_Q_c:!X0&u11dWk;k_eR]e!;3<%m+P:c!Prl2E6b*O0#ebbh)8]iR^H0+!NyYL_s.<^={7/K1d9h5s542a&@2j?hc([~wh2nU#I=ihx9cgxYy!!nUc[#_=n_*(4N9|`6O^WgXK8I[@TSe[+a4D5_[`P;/,@]KOd(rE@&C_[1L55d{?Vnpuu|o;>;,55/ulg1IBxop<:KY\"X+Bx@Nm0Sb2Nb16OxHh#mgWPl0Sb2NbI[mmuK/<PH=Dr%\"Cy9o2cl!@W*tLzzzvS^[_fqV2fg+XXF>:}<maQ{<d%(jx86hjEaL_3sCPg_f,e3p/ZG>[^rF%D0BCn@)~\"w7Ow4H7$uEST,ScrCE]+OJ?r&5d$\"Ht14NO(LKR7q8v|1&I)[`Zyx?o#wWV*9&wcF%U[IaFmVU?4L(4\"|2$#znbptUbov&?X`B,U[AnBV\"&^SGNi?UT`2m&O?#i*2&f2K5T/_gQJu?ouq8?&=Te8v&0)J_4=u(qG+kH/#qvcBs9vOXG>w!=aGf`gq[C9$HyJ>u~/|@ce^5o6~}G3zL`FI:[Y(da@eA5*K5n6L!4mN)!2pAXnt:I@<:Rwl]X*M?sxe[}}HQ~b$!RbgEI.[c)RqA/U4@adJ5}osJ>Bg$zfOukAKTGxk^x;).c/:n:mH##,F~.[fE[|8HgEx5m2cjP3l)N19V;y:qvIdT?:R.F.(6jXtvZKUB[W&yqR)<Fd{++ocU6MYaZk8q[Ku4#Oi_otq8bHo]`f&Y+2I:G:(nI9St\"t9IRec6qUXi1%oL}W{uWWrNt]T+IT(W{T|%9RC(_`}YrUh!%o]D=|K<{Y`roh1ptuf6Uw~R^?1E}vTsnt|a3],Wo[Q\"y:%v\"ywqp6t3]3xkpi0PJE@=3MuJ*z{DxDF%e7UTUQEc4t^FFd?jn2VG|J(Y2w`;<9V<2gN[)UFNu=`GNfzM[L:1<d2L:psQTbY!ZYIyG:WMQ@Ibb4hhB?2b^ytd!@@j1Si4F>m&OO4`FQaC,,Nw`1F>m|?JF;i{+~}I5~*.b*L5ar~1[R&L4RFboDb%=iiT7[}G/Q*u2QLC6%vlSVL7J<x%a[5eUsd%W6|;m{SrJM/PYM,cd:b>*pMDOf.R/>T[~dZ]40[1ihl.C:6nf!b8G<uJ*j{y|.bqdR.h\"+6x=MLXU<g]|zy:yOecF;F]$])&jx)WR\"qn~aR`*v&2#7y)PTIy1=chH|%ISZuEyi?F3vwJkfdufn9.1F:kY$Fw`Y]g1s>3fPtrpe=0sfNy8)Fr~Flm$Nh6>&kxv4,=h1~Cx#*lZtUD1>/Hl0#oG3%}}rQDCyv+8@.fphw+8*~tR8%XBQxCL)[A~s7C)LKp9.XnggT/5]_Yc.:.@}RA}Gx;/{#GTF#s&R+cMWL?.OK*mEa#.4~+xVZxRa3VZNl.7BNiS6q>/$Sk7kXbCIH%k>41Z4VvW2t7!gckpMr2lz*n}4.jhvkue9&U+YR`]TlY7<xfj{;5\"!vX>G.qd_TRY^EmT}$*$(Q=z!`)w]`%.8Vab(?y$Ug@7G#!Q9wZsxep:Y0&CsBzCbw)7R~.3Bu,Xb(MWt[n{6US~l(0eXw\"w<gVa`3i_Lr~2nUE^R@/ykP!bUJg@xg<74%@uIE&gZm$0aD9JJ?`jQku=`x8%jnUNttXei3DMOFl8{*|8cd`#3u\":iu8pucw/8%h,HscFcp<HT;5oJhB_2?E([^Vp]pz9OQ1iq*ZrSQ/XYy)!Rpm@aq({O?vS18ld3Wi8/.Q=V7Ksm%b=laf=`2R55<!70/<:1NE`+Sw{+3O9%E?:6^i@%&>9iy)eTG~s\"&v9gJryQ]o9v3?]y}&.*b|60t3v?dJ5?$KNYrv_P&rd&p|Tulq:\"#GLUbmlc:.lbiD>1/;\"ZtE^O_PB7$[d9W];kt,92DS;BuVtnp#SdnUXVc*R}`W!G#*F1%p9w7g\"Sv]C.gNn/4TsVRv,VS%79&Krx7.~/{f%,eeHjLRDe^JtKw`;)j}]E1}]cCS:hKd!)%$[G(b`s0YH?`&;,!]:>y=v}][b~yeB2P#1P*]wET($(P<3f}xHkCvC|j4VXxKq/+_k2RA(fpndMi<%eAzC+eNn,e%;gytfek}*3<jP_rj{yIY_Gae]j!aLqh9u%f1%b%y9a>=y%i<{:F[S%::Xa!(H2PQyW.q=aBnpppe}[.P_}@\"Bx=M[A0w>Kz%e`G3{|64JM?Z0]fZ]{ziZxV``xhD_1fhU<c({9Q<5ND1?SZuG;^SZZF}yzB*wkgA2+;0Lk[#UgFvV!Dy9)Od{c]n:7y}W;U19l9@2J5&3h06:_^e+!9G@VV7z[}qsEsF&U.S7rSsNPh#mm/5&c;K{!as{z(,J~)AWBm`O0?f~!a%[R4]nV|A(rpLnRQ5}S]i^Gvr&7#zo8#Y/ch2uqQqk~ACuXFb=+80.%n+8cQ,8d9nYTk,Fks86T0k&LnB$}}Ln;SH}FI({kQSy<{^BRfSO5CsD=g&KZs0Ff/z*/Pz?;`mf{T56w@K$N[rs=|p(zDc[R4G3o[jexv0ejegy<Wn7|&I}dD:od[s~@r(wqV,)n@e{2.moV[LU<B^WK:@;%@Z[p/4%YG1%q&>V8,#pt@n&?(i&BX~/7j0e30mp+8{&Vr+8E4|VZuJ`N.t!(U$hJsP1,k^[~4vOG[5.ufr9bB/4uL<PR9cV,<t.ch`h2uY\"q^L:bp:4c,7^xwK_N.qh16gXR}QSvg$FJ[(.>342TsChH|]onW}zGkto$K%k$i\"2k)6`;}~O&ZUY^S@=tl+X;UgF87P[3vC0~:97fBWo$Kqb2.F6|]{WO^QnUrS/f>v9/BI7~Wm&Y`YnWcou<7th8%pV$?I0Ki*0,9lK@h&Wgr2v8?X>edxA2PE2e#QbOKOckJxbkOp*l,(6}Twj;qO[w%;;TAou2R)5c2\"bD{A(,qf%`#U#c{h3P4fw3[>|ePTI,Xk[FIj{GuS6G|(Q+!hWTIGqp*]w[AdI8.FC`wug!z:98cp2:[(3xf5.Eui:kYL8/ws{FHg<kY2T4/JCOc}ts:kY!b2Hp8%5A]4vL/</(\"LTYlBWO#M~7.Y/w&/|\"@enm%}}FF(^GQwIdbF}S>7&vj!%H(_!<g2v_.fp^qPE;F]$pVi;&p4L:lD>m0x}O4Zg/F1%mY~Gr~!av#o[r~H7@&%3)?C){rMHO4&s,`xcX`m};6R444p/V@C)QLT3xduv;ZY[R4vj{%,`(Q]tN#%a[5iOo1l/7pG%0VkB5[i[QLT3(7h4sqxb!P1LG%KT/P*;PYqFf.1Fcc7p.1Caa=.`aREkz[shIu_}O/4&P:C~I5[*a[QtWoo$!BF,FSR6Nb3M#1KTbJ8x/CuOf}~&GaA3v`1W$4*VR6_W|nTKR9=;n(0w;;p~GOCJsI>,iJYlo+^!B.fJ^<+N{>>y{#%39<U@7/Ak!x<NEx*qIlh2(h(~d%K_fhT.^`cV5|%~d.+|0m%uk:P>_eCLr2eEkFY2bOR2:[j&<R>r!WUeA/;%ZZ},lQcz<N{O%uFH_&Kc\"`X>G0nOUr$eBd8mN+b]Bh!#@:9.ST]Z_POOalL0KiQr#Y3&/X5Xgr#Y!`S@PniNr]l_1/$SjO,q%<26_W?GZ*kYz$^3GOYK?9ed+3qjEx*i$3P$QbvQ?/FE^lrD~gPbIqv9(HHEj4Q~I_)y]+6[N3;|}Or{G\"M)1|ZR%7od3WACLYChvYFsjvr2pzqKn*cdqwf+1$J9Vr0&Msh8GLM>}[$OMZSpdhsh[e=D_alFqN<e*b7[A=:3^]j(e$Or:qJ[aWS+s{5`c&%{S>adhd.eO[~K(v8{;ed}2vBnIAspQabq43Ph_|m8_:711h0~qT.sdAT;LQL=4Vrj7pHT|jZ,N|ab}$Qv/4CP%hmjl7q^W)2fmrl{:An_Fdd}\"{2~fq]NrnD$7Ul_Nn;&<8QbEr+9*GDhMTYy8&jO*bS;A`:<q9(%X&ZrvY[gCV{\"bpHT[5Je%XW;wFRi6{RXQGy}`1K8v9U24GT>+I1maTkxRg.B:/Do8osg,[x>n?A$k01Vy}^^@J&_@%~,5!+Rj56pqR!vp5`VklArvdC`OmCyg`:<[MI2OQ_Mp??oe^cl[b\"}U2oG5ZXFuv05@;5m,Zc>#6Y52q%]k&M7jzJ:7^@noN!vSuos>fg`l;SXsRokDE,Z^4(Iz9T#d|(6G!q0S2XgH}Z<S;oUI_T,V;UFCV!A5<(gCV1vp5{&>fusN{_N19s&o5e&A~S>M,)%f*yTT;]4b_V(S^iVLn=4{^;}Iq,Zpd.enyCn9^DXo&_X}?T!hKL>9U=m&;n?+eR_ucQ>rysn{|TK59#v#X[._P/.X&i}ag$Q62r//KU&hrun*<C[+?{$beGLg8gdK5#HxJD}`rob29g>lbVwi|q98|E4NQ|`Y]tFgq?d4]Y|O_@;<e56KYNQEmY5.)EfG\"4.ow&Bc*3\"QB&E#z^#@QpgmnB5_J,[K1(TYtRGo?D*BETM>)YDLZsMi${qtRe~5}`qici6$jhT=>][>RtM.>][h$V99[~Y+T74`28ny5o=$(SF$nY|ImS<X?lq:%B^A!t\"{B^w%ncB!(Ll*n1\"#E]Sob<>RBpf))%$e?!C$V]SgH~+:$}(VE}NFJ{%j=@TVUg,|WRi#OybioTFaVoka*?Oow`2>)]VK{qbr?<4_t@.UPow)T_vev#7)TBw(w{+[`JprbjoGEQa)6b*~F|)LaV*,6.nOE&oWEo]jdvn.GLUuZxZ.kv?Bw5GJY5iCw1wH5{DBMQ*DGRY]HD*FUrvLPV[qyP$Jt)A17R&ln0?Wt}tLG1x0k=`hdk=F?@Y1Cdj^#p.wnVu^IhXqC,$*/+3IHc$J1mnDubI;(%Ne4#(FE}iS]h=C?MC(M,T3^=J`>%mvnKu^ITro.It3?jBCk_U?8&TI)5E8WIInn;t6)CF%XJV&$Zt[GL(Wuig\">/BUJt5igA?[ByPRl$^<>MCQyo|\"XvL4azw4Q`I9*W!BYFGXYVC2hxjbvAG]oEw2wNMYCCdx5*5}LJwJ)Sw>O[(77=pjqBMGwVM+wTPgmX;{x(pK>SKEG[Cg~~rSJB!=[5/h]ct(:M)UyIQ(pMoKF81W|\"6n6vYIxWd*1vKWhgsKF>PCM/rZrLfx?<kiw5wSXBJlk1xySjt4IL7[$CMLw&G_*@a%JUn.0MH~LMwvcH*4LIyEMK+w<og1P~LNwZXP*O)4G1u<UR*4GMZ2K6wfuWNFb+KorK+_w|utfr65!/+9P08=Iljt)[iSvbC{vdC=CzL[%y]s8{a@I,!BzJwJZF=`,j+`t/Z??cf,!}yZwsgCQmxYjCXmQj&_w3!Fzpw^bc}_ak+YYcOa./1y+eYTJQ82RJz(aBPu<c<z+?XxP%j^aajK,Uu;T;H6E9!MzGxQUHThf1+[X2Q0\"2{7!wjcMzIS*Tv#PXjAX5HgM:IY/vM(I3+ee@&M{ljQX^5aW1pZ|1W2L8FnB0jmMoJSu`Y)RLl./#8CR/!WzpEZytjsMMd{yf<:yGF7#<rmV,p`NBGhDqV/wlxdjZXASz]5FOD`!kt`Y)R./05?Im||`~1^=8P(k]4MZq#/+w6@1r/RN=Kn2t*vfNce,]PH<Y&RQ+HZ;#ku)WutCEF|F$ogwFh5DC0($=hO).\"*YUF;d1xJ\"VZ\"6#C(J:/[Xdy]kTXsFtN$XAum>)3$KWV35uZ:D35{BvxyKlVskbh+GM&,$bKSTf#)WBGZl!|qYZGa$woOJs_:kZ5YDqZqa8]>Vva]i!<j4LCfKV#T5Oxj5YApu3N&u|NQsyNF\"HX}bOH:/Mu]k]A]Xq#2/^4UJD!mX#E$c1En#&4jC+89pfS)4_D.f+ef^)<l4rCk&y63ke5exGQ|n<PU/!YTIJ(aC}q\"u(Krmd~&K;m&\"iybRt*1E*<Q\"UXcF/x2x$k4XkF,|7fTtR~^3AS]+f+2k6XQJM:=J=PaC4k&tHNmldZoJ5Sd?v/i^7Wt/?8k4)[yNyWs/3EoS)[dkQT4k+XBG@w?D5.8&!<t#iAwB`Cyc5C^(e]q/CTK.<V`oRZV:{Efq:&5FT/8CiG:/w6<Xm;kSz!T5ny$HWP(L[#tJR$Y!JwFY%l=,]o80em>!o,[P_Udh54[U=Btqv;CTV!,CW!%k)Fxe*xFA;GD=RtBB:jZG$Qmu_|Fm[!DC`yB1E$DNtJC!HCA%Mgw2O<R*mQf$r<X*!I*lw2Vm4inE8m!i#EJXvmIm&<Ou~cd=?juHZmY.^`[%Cg+(CgS<t*z5Fi|EBv6NzJT<Yu|ilBk*P.&k.XZGQ]>2DT,4B.+QBvRQGk?vg^lLO=ATIi(I5+ueG$IisFXNl}CtE2;Cd4J}FmMBiE9R.Ww$uawJt|4\"(3AXb#^q8Oob)32/9&7l!lz2?[Z$+$[`okwJ5+8@RF*UH$s!>xQnXP~exWs\"{!^CG?AIGTv!|CQ[@YG\"M8W+v?v/CTP/7[JI~8}8}8w$@s&6x(z\">i_B#HLfMg*,Oc6(](FiJG(noISc]>S<yCMIUU=J\";ETjAaB4QP(lBE=T\"GBeEsGa^[*z^MmdB4C(.e:E=a<T*!*.DZK{)@D&P3#>G7FpK.Ww$ok+B/K>))v%nCwPMIC4sqC)$frAf~Q7_|h`(x\"GBWIeIiEfbj3OWe~+0pIA!@Tu_7(^t<BdCnvCCw^g{k6?J6nx\"XElpW[:%ZeB<U!oi^)=v\">LU3vJX\"iL1ubl?7L`F@XtFNQNQFG(urb3?0QwwC)6H8:7l_D.HA!ft^iONLxaK*t5ID5D?@(DM8Ctwk]sX^a[`8+IYuI~R~j6Rhw)Gf0raoKM]/13+bBcG9_}@3kF,.YlT~Bryme{qNmB#eF)eB`<8w%W/hL*(tt\"AgB;D+u8M8ys_2WXA4BKGyGya5*[9Hm7iDI:(E0Z4Vt0A/DcGUVJ9j,A5+WRGduFlxJ9frSs!XC1]vD[o];cD9tB+IO{9&uT,$@su@\"{`bSEm~CZD&egOfEkMH;qBDJn4!(M{HHgeFcp3X/Com?X(v^rx^w&9&eDYUDzz#byl~VAoCK_J=TUiT=E&O=0meRgLAz!yeGbX^9n\"~c)Sc:O])m|HBo;dqg<l&p)JC$L=AK~!nfzZQJ3Zl<p^q4o2D&R>fcS;3=#2qR[S}g}@Bnu.m8%b^A{UueuoH@,f}%*8;d&jRhASFS,lY.QrD8C9r+kE:D^ymHAeiJ8QU%Y=/j;RB2G920Yr;<gCl8a$h8XvD>#9@:O0p,<SWap0_CY.g+=vml@SoJX<rjYByCFAbf+Jx\"RcNc1R>\"vL/o`i#XlTC+#b6FmN|x9c_y0fCjr;zI[Qz(`_};<Far{N\"{8I<fM^\":Syh>Hy#lAPwpZi[R&P1,hTO=db96|CdV<HQl\"4|uW65x[53uaCtJaSwWADYYCg|<<n>dqgwO?=lvY)cA.IOsF=(pcdXvFR>HsR}iqg?UPL(1SlVi#71<SUMu:@mmgp+$j.d5OUL$T,FyClBh,PM.ICgc#/Jamu2!ei7xq##kotA[b<B?`+/fVAW.?\"gYpNZ<VU!%$%0;PDdv}m=x4mB_;l+lqm8kjX4E`voZP<{5cidb#qy16n}neCGJ*edCuRt6LSn`ZD5x3REJ)+|oso0+}OCm<zNJ)n}4#(B|?/:SroM>B_SUzQbr_f8,]u<^e4.Dj&~11ja%P:{<u$!n!Z=RMIuW~3e.eWO@S8?k0!Z.+IeIY+1rM9#CAh9u3yCAOxy2:EA2};URPWUa=4Bv0;AoPz@tvTyN@4A&LE=J1RvLfG:1M3#]nfX)ru=<7+tdA_X9Ko0N7};&kX!e]CvE.%Li9u+F{VL?Y+L=4:y|^Kxi,hZxA)fL]9t?oCL=0p`ySD6&L&gb]bgo{0BPeqRQ`Z#kjNI5.UD$V2}E$.e{fmggSH%BIJXN;n$.iKy:)$*UZe?<{OIJi8_(Zvfy&wx6gkY$3BIJic.txEtKEDQSO6hvxECbA=P!%/+L0EIJ&8?(Zv`AzFgk@Y#C7txEBe^h7)KAnCQSRBT3*UwpFQV|}9ZEH9UH;PaW$twvZEBf`:b`b42F`1k@|;6YNCsal)/`30~;MC&mE<fZ.`rIO,9{VWTbM,]HO4|zaORtkW$tLC4x(()W\"5%lcYmBXErO#jb`~u.vmBKO0DbLZEdLCiCdb#y\"lBbL?(C60kmBPv~M}|(@cYmBlaO/3[qOAQ%dNHK0sOhLi\"lBP0,B7F|P<7P5\"5rHO4|})0VH!N0Dc4wP5DAEsN{9ZE5DY8E)JdAgueNHuI|P{9ZE:0.uP6FB}^E8$eKO@jaC>$a*9c;_.S|}?t&eoD1`1fdaQaJ$}y`16,n?WSXI1YDEYaAxh|u0W4q2/|?]S?:)u2)f~&s&;2}GXllv,`nP1fmP+umk3k30lk0$,Q)!84{|f*||Ip{UM#r/+l%n)W7sl8Ur5h]H;|k^6{&@`&F(UrY_J0BXzZ?7r$tzg`6N8!8TKMG2Y)/+>bc^%[A.Ak6U:!gB#/,KQ8J%V7_#!B0<j.CkASB2B.lEB.{I/XQUECjCSWzq>lRS1&sWFO!%wORf~oya5o#M?:,@b>:[$viqxVACfFvV+KVX.FpE+WQ%_K;)gcQG>a`V5v`Wuy^4Nh0u=_`UEwMH&[@p/F`Uua{F8][AFMTGZ+0LquGo[C#C:_`Um+fL`K;)6ilOmKeMXZU3HG{@@pUcAWo+111#|KUjjZlOIU^5:,55g@%1SH;1WU(Q:cXj|`kX7X7qgwSHPJp`kXgMbq=[/uTv\"V#[iLXy?_kXz)_VnZ**Jl`VnZV`1/2D=wf<3O:c!eK]/u;B[FeZlO6OE{kXj)7X/1SH}G15`V`v^COx)IXZWRKVC{kXXMQMLXuy!<U6SH<aAY!jWYUDiZAL}X{K3:pu3d}KX60.BF(|^Pu`/jP2<I55%PTe>,C]!#Ywt=*/glvGAWsaf//1As}0FN65tLmx\"_>V~D;*55rxhISu`Vt,KK7qKHlxWMDZ%t~Vt,X\"WZ{1,hgCAWt,h/Ih:c!3Pzc\"WZ#qucL$/[ulJhguGW~DZOoh55Um{/gl:FuiXZLGFnf+4Wt?!5%:)K9#pZlZXZH]y9v3bf.L!VYIW7tur/rZvWH{ZW7I/J]An?!Br{0.9[P{V/0`G2yA!vfuBY4V^`v^u@W|22?9+3DO?l`S.3d)GID$aDUgm9XwR5jP+A{UU3ebu`PnERZ@*2A=okH0=g(/fC#h:~S4[btlfpY#Q=spsdYX{b@f.3M#j8r%#wS+Q@fYm8ElX`4&alSoaJ<1B.Gy6;Noso@[cT3n44d:k8ih1.];o8v^z(Y=>FW)tTl1J@kI%U>jv95$w*i?.P:MjkD8Y{gDPF;;I8R>BhjkH@X9&;*6MY<d:Uk_HpXkbOuf[Gx99c0Sq~y`6UZ[h9x}d%(JXFgqG^?Tv3S>ovL2/;S#d|mdaq6[j&m,Y`>.?<79nQ[MkyCn9`=7$J6Gm+VviRL@?|rv8%;<?HMbG|].92vod%AK}]Q[wF&cuKmVBJ_|ac)7[y_#j$:X5<r.:E;e^UDUuK$b(wyz}tL4n4<[ov+>*cOF4}qU]2@zieB83p.>6N4<d]8?4#LsH8OsY^$hA#8*93:#z0Qsmh(>=;VLqsn&W|Q&8$\"}bN/Jn`H~`7q@;}?ed|}V3~:[0(~q`S6JG;,nkuz>h3oGdmT0Gwf[XNCIrUYrK0zhI4oK!r=qsh+6X#/cA:rpo]zW=*^L\"T!vv3y~b}?U65&hK+y9)9l@?z:Fv3th(M:LQGu0BH#@;WhDlPS*hn/[pCm|BsAR6d,4{XidT`sb|^pvj|Aia7iqzv~iu>n6y)O;vo;|OE&ekxvOWx8^]yP_egCo?Y6V!`iE83[|s20LJ^4TGN2L/S65!hY7mlF<9oSv=`DR2N6gSRdI&g^}pV>UdI*|\"3U5Q~z{Yr#H)[3&Ed~;o[iEG~g3/z%K;2gus5u>Xx=ZhB}*=rs=zakDhyeQdIaU:|Jso/BC)Ntsl]Ujx3;/rh&;`2<p#`Y$&>gI#@h0W!N0yNA{M2?~I}FK]E&qu`aOOI/J&?},s1v_}v+J~q3T@@<?{}m)Tj*ao1v|Ai3_B[BUU$ar#hH}`_>,l`$`},O?{vxL;41{k2=iEIi,V#j.ki9/ib&.O_zz:6pSr0D80obZH}np<ed}&eZa2pT`C4`>qv+>HW\"?2V.3&KB6$n&0O=cAX#DE)+e.Z+4}Be,9np.>B2l89TwN{S[M?R}Vj?odbor1oqpkIiZyFa1@V>G&^]Tr9!Oqm3bU8#DqlTgazclVAUsdg3[<6Nw3d3i?CpK$=e_{`Eg/hE,ep)cJ=|q0)gQFMbD>4:^%L)X^@nN[@[P[\",D2_1(6Ll|bc7i3Ph(;?.2c(ss=ig%6Eu[][ty>i_2^f>+lU/nUxJY25+$kT8j(VWt}b(FtQ|7[@EK/|d\"/U;v:E}@=;g(hm2l8c[]mg`]Q>O/nNs2X+U%`>Cp9Ks/.T<;A;<!GAaKEs`N7rQU&z@N^E3k9;oiz8zId.Fmq1@@;fF.e$4=`PnDIokz_2iR_43D)u=R_;.{1dKt.m>g@<(N]y9iV@`]:4n3*=|0^ZV6L<%~H]G#7h|Z;x!:3W/w*3jWf<ou^_%o]dpR`%&[m0FQq>h#@doEW?:R+b`~1WrV{j(sfbz`,[2dEz?gwE_H^&`lCMZy>H>N<J>~4liWqxiv3BHY>!)li:e:fR5%63B#y;|mI`|+LY_77(+4]f0%(Gc?7tdf][eCs.;=(V&d3W(O==YkPhVE{AX}H),]jTR.@L]{aF={#0pUju@xgz8bUIEGc;[m{1Qu>>!3TE.A^s)>fJ*ip)_zt5^}yhk0gYBKtz%9XF#?=17_rcyEpI?_y,s>d!Vi(?r^^<>550pGMo{aEB;\"(\"d=m~psPtT]o&;UO*bijsmf=_x_J3l(>V(^64Jmq6x?q[2JNj?%XO=VXP.`daqUM_@tY5[PS9ypF~mMc1:N/zYN0T?}Hcq12Qc\"_:gEV71,ne}IS>#zM#Hqu:]~|bu:9_[FWV(;5Wrusfat{A`x>L?bzT325<Y9nfNPuPN0sW/1tTrdCs]m<#&\"7s#JCuj3]|ZO&#pQ_TI3DswWT\"X?o8DJTV>m;:[2lXrp/?||G\"P21H[),T{.]6VN?w#n$]V%W_}|G^_CGp/z7nUc4C)#O[0agdNhmOo8`ry^R3D1Wl65BGMkXuaecSw178mg:\"=~gf[A(j5^/yhCV=Z&?%ON+F.lFq0brAukPk[jDl8:9cq+<1mGI^zT>6<{]^g!b!??u^RWr\"GY*tdUm*vT@+&]sa}1Rd3nd5%\"2=O@Nt6#HR]j&M7R/f>7&NUji,ZZbYP5CVDp~uH[XgdX`FKeU[Mp?@;KcC0`q37g<~QLU~/n|t^ON/Knnr2h5Wrny3qVn[bX`ZhRlB;*=E6.G?9a,iL=~}+[Xtp_7B}\"Nf}b=|_0X4wn]^2DB5Sop[y0?:;9TiSGN%>\"dJ!Ls`{(r[Fs?OUAdt09$VaB{Ts]`v::tI7vX4w$C~we`d*U~)_px,hMykOUzPqUO!KgPi4E$e@E<|elH!vQKgy/Fq`vvc,uuc,p/}tn[Mc_mFN#d:qX(F_w@WFPDl8[0MvN={|xv8z``PKJjilB(}psae>2VQa];HuB:P.,FBs^OEf#y$b\"{:`@3/JE45,_=v#Q=7^G?{C~^b.;i9S~Jdg%P?0o,E2q,Zb0b/K*buD)(Ul!4J>Mn\"F*b&vnq]PMoBVJML_#vqup:t?s;{?j?c^%xqvp:rJngZed^$RVX0wmv.UYEZ;{zfu}0{/[+.o{1^_?|+xV[XQVvr`n7!)VVg%kZWUnk(4wi~xblS2?/bn0c>5:l?ktv@{!+bpAZCr:1[b@Z6pn?#W=X9eo7$G@X6L#v<m?cNuSC4jiIin!Bz+&nSJi`I1$rP#$(>6x95;QO5IGxGuQw6..lp[Y!K3aVVL\"vA*[/&pzNM+||#Z7y)SR*0V%7Z9<=aKi3={ZjIoenX{nxSJyLa:hp@OUa<om[Fc;l?=B_AqC_Aq%&LJFs4&1oHqD@Aor5@.f:f$;B[2S#^SIF6vL$u`\"_42v.T@MrPB1,X.O1x8~a.;KW77lt|/C]tdC_K`d]c`]<=qoWD&cnxK$`U>|pxtG7FdL6Uaji>yO%<2Y^=_eCAo^b4T.5@qI&A7,P;K4hrf*(f`W1Ncq_p^lFkZLnv$Dq*|\"JCojV^(CN)MbnC>|*SDR3;)rZ=v9T?<A)iRB/q24G;3XyOPp`\"&^qHis`Qg*[oX*/%m/45@reK\"=))LEQ<@vYA(Y5^`Z$d/6_9v10S#oMa_w;RDWB(q>9%2l&FO!r0bz`XKf1+;)SlHM2z0g#12dm&OA%d3i3`6{i:bx}G6zoO[2%Nlv3y#$SxoP>M,.|fq_/,q^1C{Fdv~e9hM39pGtyyVE3X}HSv]?1WWnk<F#VFqWOpNS{)nVR.VWZa38zpo:WO=v3WE7g6@#K}jb:tXT=oEfJJn+&zokp|k4]m;Pk&5rC\"bq4<c{N`_ulVwCnDVZa/M}SIFR6CV&XMY,|nS/:}MUw]f_?4z@jVQn/nBb2K_1zc&06y`]5=lHps:|:6pGM7qb9SebdtI`3?s6ia}bt&oUO!YM/oP7+k&=l^ByQr2^xB?v&fl||$2K$E+:d=csB~_9gw5TL.}e@ZoGzzedP=DeFUK=D6BYwv,&K^{95Gq}%Ujm$m[Cq*7njmADGH3aqJ0{vFqeU_&S@v>PeE_&21eT0z@o?7+K,/),c>Z35nP{Jw`.g7|dL|4kO}*UlcA+gsEIRx6wwKwf=7\"H3f$K,aT!@{Fe=HST)Ja$FcyJLF_hp44K,KBMZlOM[C6+/V(]<Y`d%hq__.C}5!|thG),c<DX2;/KXdJZ@#D&@gz&X%{/1x=8xi3nk<p0P]VV#hcf<Go3PjKpxqq7Sau_npUXE`Nl8sqfFKh4v@oI0yiEy]}wyca}]CO8x]vI_0ot|fq@V2Sv9\"Z>w^/W#Nhk81pEaCmOCD$EaDz{`sfakyj^[BR76)yeU&@*qXn=y\"_1`LInixK\"T]Gp8[*.9NU#{E2weBCPYb=r&2`9ar[p:ma)2l&A[OU|+~}vvSTaW]r^qK_6b5>8m9~^Z[{F_6ru>5LGj{MU*y9^?5`Q&3xw*XMph<qzGE,!^?r0$$OGLbd},^)HYTm?/2O@bR2gb:}lj55cB0Kr/3\"[B)[(L,Xi!&iQ):[^Lzy2.7$n.r$={S4p0*N&:G)MVX&_o^6V_%&,Cz6@\"a>W!8xKLnNgTtj=a7lCUS7fu!MF3CF|BT<nu$I3)Af:yc#0wX?/,6CR)qh$vO6FrI$daX1}ac&r.{?P[),=h2R#v<[pV(DBir|_U4Yftroowf?WE\";c/*aj)G*sPjN.$0)HDA[WGa5>v&KEEBiZttE~qsiWCQMB!nDBibH0v\"WNVnOGCBDSQNRn`P[QDfBVOaV.Y4Z\"YCC,@FZs)+$006\"l_Hzun)*|#25Cu?anOSYd/FUWGC)AX^l9CX2x*o4r%)E2C~$g$~[f&23nuR3zoP9tsX_g2K,J[Z$LqQ.)Nz`O6J[QD/!a2mT]TBM:tTk9:h%5os{H[QD;S<5P7<X9yjVWfg2SPc.,\"TD8Vk;V(;:E#/|bkGk2`k2d.Z]`*:tB+D\"W;dn}Sz`2urKr1>.C[,[Q.DA!4K++qKS4X>#dU2D>Mbn}MbnaUQO`Ey2LwbDlLAK+8{VN.a$OxnzgwR2t.JSJ6)?dN~/Ek5o/1E:?nKcF{7gq_m48``73t76]>s;|djPO=6q?S,/7oacswc[lXl6+q(j<w`5[FVXvL^9FxD@F[(K>B`?2WQTkCOYJIgF6IT(6/3o=I=?St#$hUHIDqBBo*L+!yP3Q3FC=bOIhy]@2%:qcBZ9)P,eKF5aie,X}*2f:_IG#F$rj{3#<wc[b)lic[N32`?S_]?>y!IU7h]4D5WM35G`A(+fu4dHRZw`A(,tKw+s!v3ZQN<XI!$SN($+DhG_K{Ly}[\"@BI|il7UV4z/vI>)vXZF_=*(g!FDyx=4Y4L}SRHQZJ8oj7KLq47@yEv+e5{c0^0l[~}c|hayK`7zZ&,*V#i4Fg`YWv3pzdd43eXnaB/fNlVqro4Wo%vfZI35`#3_7*|xv#HA3<dO~q>c2%c|[Xmiw!$$bvutb5e>wMOtu4&riT0Y=zzkU;=R0hi3_}@rrsYpXk8h81D_BP&?plFE&5)}05`|1ubO[LKZ|WK`:mdvHI$g=Tdf)Vs.qJnRQIT;<|#lh&63B$2#6{+^&Fc1L<:H<OT)t<^:;9TC,;isVt:C,aD6@]8xc{kRqq>6M&Q`dT~!dGM7G!qn7+U[p)(=Oa9[l,Ze.=_iRt:mr5Sv>Zzy|SN&L;/^)NqT(wKfJjyGwHr6[{i$Hq)r&M&Wj:/[uzMjTT;bN:#ke~T6T~Tk*MW{1|oHpK&0dcBu:&+F[QT*]hQb!./]bBFk4BR_[!4m%`72vv3*{`GZD!KE}IPzX\"5aCEb`EX<!k>%3%M4\"vjzeYfAn/.[YUeTZni8%[M!gwFrlvk}i}D.[q:;E~~1tOje45UJf*|Eje^4k~R@}d6$UNc2({=IFs3a3]2@m>gf)y`/lNjNpSoL#jqn)H2P*jPgK;aMc&!(97a9ddsUn*kP86ix=EYEHLh,n:Uo>X6L>.gMOlBxZCk$*er.3gR0f8GKt>Q?MQZN^rwXBVh9S_>F3]Z{o+2]U]t4Q;458!a=5i(L5Ua=5UN$B6wGvGoDL>9sb)IJP?R;y~5e4]Jr|)4]^c0:,&z`iyGuvtFg[*Yc:0WGXc,3xcvcktFeMvUEz*dKV;Gdw/T*NV.)X=~ixY,l]<ZUiH[.P9}za=d..[R_rVI#;3a=*Pz5H;Fd%d/:Tm?B+V@HDo*PU+sHamZ;Pmse@H*&(iFOk%OwX2z{k2<LCQ=n7;R;4l?q:/KrY/ITaUMWrQ?/za\"`}G_):STg3bh\">6az.Z2$yq:nku?Q<lRZWrFeQ(K_/Qa^LL4zp)[\"F)L?u]{&J8)+ZbR!]3l!%&=iq*a};|/bV@bmB{bT|!{*J._Z1pv9=uo0h167R,5RZKbggl[2tmW>ONoB7ehw|lMY/3HV\"pT/]tv9ZsHL|SmM&KCVv^LyG_#H}zl#C|W>|R^rD2]q~&&.D&mlwb(x(/<3rhz>p/16hj!Lt:K,,cok^nNOBX`Gc^KM*q@sw`G.UWZh}%$gELl#wI63Mag_=S!U:|:Zc%kXH~6r/<!aEaLyCh+T!^U~t$<:QmcmkuH..d<<d%oW=z@>$V.eWr}qe3r:U[u[gF!^]bs/w~9;?|j(E(\"^Q&(Qz$s%U{S2{|J`N.}rz$u2l%PlW|4lM[[_=b:;!VQb^+j}i:q_12PKN?_T;>Ec3bKfa]Q&L1BN[ju$4u:IkcJBo8+=g$#1/~d]%.8G<YD/$:}u4_>K!e@F>wIP{GMY|T;q]s:qB%v0JpJ,KhzuF?E(TFw)z{[[?rxvQ[f.UWzf9}JsLn?Q(uLSz_=i^rH%_x&?]%7aUp1.{PuT0fOsFG*nZ0aWhyIhX:l*+#wh^i@Ju48!)B6qkQ;pf0c.fqC~aZ}`z_UFIP&q1^aXIU;pP>tsenAu,Lu025a(M7!y}ts<D/[.A9:3oI:{*[sY&:H0;Ox*I+x^>7CeyE!00S#aJn10qH`#wfkyuQ9CI7%!/w&eFO=2`q=be^t0fu_<:o69|&|r<dz2C:9j20<Rz{{PL@d:N1OEig8D;tp9F~R~j40VA?gEbpQ_G^=!#(D~veAgwUR6l^$,O,Pf2uH*T{ttF;iy%aojeF<%p[Tmh26GMy*]qieI[wqibxn:^rFX&K#PCoS~?hq*8]5hQ:f,+Kr/+H0;eKx96poDkce>t$Qb9jXGT<h>T0eR^<qV?Wg4Nb/#eX~(:[qiQ#iP*?,H&;rj%t#HuPv]Xza&t,2$Xr_]$/7U,c`coGj&WEiVpiW0OQ_M*|{$}p{yh9XS_bxKi?Q0f$f}a|$thVI_A45m^=XF.Cr`)SOsPL?,`q+!zEY9%`UewB.Cs`Yf_qv_/$@`r[hGA:W2)UZ#:SPsHbATPVIKep7O+ckJxcfP5B6W8MfTYtwCy&hMa>K`42399$[]<LE*BDZbkDpW[aetAi(~Z}rD@sZfl2!#lpg?@4+K}Ogn&X/6OYd:7iF)a]QoR&aG~EGGAUo.Q_0qzS^_B&x`+>EcVBw)ZOs#6$]%M)mPOqP&KuE#!.g]=DgNF#\"_Aek8A&z|R.d=,)rwMWXh&XE<ItPntQgu7pMrsY{AVlB9j.3?^{J3UGS1:/XuRQRBBz90m?!Ec)onCg|D9IWXm{GZ0W0H\"ybxLv]t{\"Xc_vWJHuhL>J^D[y@!eMACa/(mbDpnB$m_$Q`i%}TXs)/$iSdV\"Y}$tPcuc?tPcq>/bvv*U,DD&E8,[TXkSyEXMIcQKK7GQvfv:y>v:lSHT@_Haa4Iq.EE9Lnt}qNJ?v?PVUvXFPWFmR.0#D`*2nLCK7*h~B(tE<<c[BMGr+5d$TAY^pa6cuPO@,)k&g~B!n+BMGvEV*`,CC|0!cs.gI`i8(MPk!6v0EGC%+on5e+aLAeP+iOFgtVqMP~\")mJ14u=?p0lU5v%IW)wIC)ou}TKI/)[vUqPD8%B>!N#/>o4I)nqUa6<)/T!J:Cp5l+O/EELO,O5*E!64f?SA_tsUww|y;7xF2]7L[kw=kU)0it,ttBF{l+KI3v/(38,OW@VP^CG$UQRM}Q}R%B0nPCV!:>OGw)|v>u*y7X(q1c+Iw5<_H,,D+(Af|>tP|L>OGGG+{$?(f7%FPJWF<W(ZBX:yaOCu)v4Lz.>G]tvnBNCud/J5)0BG^KF*xgOG}Lz*2=qi%x>+KIyG{T``h9_d/3`D_qTo6af2=I*PzvGk_||8@`BzQU&YUOwf4fp_ZU%ku4Na}B*)b7t#)M:M<oK#,b+.bU)~1Fj>a=i&hc=SHH7LL^]iFBU?u8#rgTcYk|RjHBa!1,jtd@OWAEbHS94|Bg?jWv^H+ivu;Sl*.y(g.u2P^vtg\"FjXY|1X:\"8H.Af#Zx9niNZRMYM*v7j+eM6n?^Y{uG$zuV*[<,QQX:tL`Xx5W&zHX){=B_kysc5:2GRX6Wmg|5Do7kMMmuZ?L&/lB&S;ef8YhcS99x*(+=WxH*Et3OBpY)FJKi]paCLMsgDVTZAU6YJx\"_\";KKM)q|wjOY%n[.Bx4A/OzHH)<vII,kdR1O_yXh,LGYAw.I0Ow4Jb{/.h]Ci|UkqYlLt.h1]4mgoYtM~jKH/4E)hmdF)nsu}Iq)U2Cuk,yLzFM0InKyotS@VDR.;`qs:o1.de^lg2I=kO,Ub,^{RFt\"[o0HgwZ?xbSfq1QIJ:8!$E$1W6tS<)^h8FRQ[?06zKfjOSMuYG&f2ekFQzi)yu$Iw)C*=pZN91<+k#8P%tk/5lCC0F{A3[~F|L@0guta<4i&.kgYj,hV!JBFk?B^q=/VwEqOZIAwO?Au9c:*6+RV{CUX,UzDm?@m[QkY<561etYR/l5uwM0LMIQE~F?vII$PJIi+1(DN/*1n{1HHrQAbI[K:6W7rEE%P0uOG<oyK2Ae4SQz/6iPd<4yAYLnB#LByc8aL~eQE[Wz8%Fhv~2/]bi8}=5OG+,4;%[5Y1J#t*FpBxE#.maB.5I^FXkNdG`@&GG&Y[kzdy+t.:|#YNP3&vf\"&a=8SB!8=I[h7\"t/ll9~]$vSY)ihF2Z?OF6icSv>CK15B^w%w,}T+viwtJF54|>5&0zHQHkm%uZEG\"vR.:owIpu/FFb0_A(f4VZ7)8Sm;r&f6%o%<rL=:,k^$4$x{<X&r~5}OK(LW96XI=8+icx@DdHnM%rxQ^?5(DvLbX5Yj972q,xEDD_ncX_YTa@_[*0zR#`cV*vZ9`5BcTZAFF@7g0WV8}5=cJ*;m`/x53q2/~`$I)pB&UVZvxn5@ZF~|#JaC35(F!*OegG,c]cNl785l?D)p\",FS.?F*FJ&\"M7U98LYeKy\"1:or7/$KK5g4kWJ#!arMwI?H[xQWXRfQpGCm).$KKiV_QlUXv0I<vZ?;l<h*a%z7[WGxM!Y0G$Z,T7*DvWx[Q%*vn%Q(Aqn\"16aNNa*6a%)tB3Oo+O5K?\"w7X(q2/:yC]gq?GXM{W6+*gJ^:cGwa)uay=dJ9\"rg&Ijuy!3H_wf?axCuqZa^Hd2HM11t|eB/:2?ZuZ6q@#:iIkton/7j0O[0p4w`1cUDbeB5a*LJVWqZDZJoJktoP4U4>KWXTY8n#CXK$Fz@ny+8S>a=cV$Igcgp_W6GquPv<tz,ZX2)^WlZ8wq@~^Aq6v3gFESM}FeHSMC<~Fp*{=u`ND*iB<ZF&Ynx2e}`>G=!^2AI<i?$QYzw7acvFZv|Cg3Do?PiP;16zOrIME1LD!QQuImHP+qyEY9FgDk!/>pFQo5Yb;3zFwjKNFHi,$`Z.McGrEbwUH`24I,t1_E^zHnQwQ]Yu|uMtxO?jgtN8G.ZdRQ:tqGhCK&a3I=PEEOIBxeD`HFXLf5zSb<4i&.kGm6CM?zP9M=j?$ZB!YSJvM6L6FaCo|ZYJFyt^>W07Lk7(YR.\"@7gA[\"LT:[jCC{RQMtZ\"2FE0ill;R#Qwf[}WP!Z]FlaUw9Aq.ZFVb5Q72IY2nQ.=HvkRHrvLJ5/y$,LH61&=IP:}?a5`mb6_`\":I<0Y;OaIZw@.q25Sm#_76\"Jz|D@n{9&iSronTaD{rLTcv?).2L3GkYM3I512WMeLdc)Fb9Bx\"B?MqhdWKdV9{r2x9&Fum2iJ}`Bb37)5Y:%SD}rtvQswET%qjRXZE[Nd_Q85|o<+4<N1iyrY;O+MukeQ}|ddYj8mcOqj1XfXog1j>0wYiYM1X)v/87dV8TZ$IhT2VMUwGI:G=gtdVbkD:}+fq|5%lZ*$oY0$wYNdFN+qs>=X|?O3lS1G6|gyD%8);1/]>FL2w`zf@MoH},2,AWf%EwALQ<PoQTb6QZ}`lHZwH#[1zo$3Fw$RuTEvTY2cV0PT.52552f]~F$vRp;;EoGwr@q.NY=lf{H#(fEEz<fGjFM,*6{$4Ojo7H`F3cO7xVr7EPpY+iPImFuh&1WT[ud7IIE[8Ma)Y/!y|?Ob@n[8&nl{*XHwYJT3d9L6uKNa|14ObN\"c16)xfRPDoxN[R!w}MEZl|~Cq7Ql:/**Q^wud`rc:AcdwiyVah5Xm&Z1;izVn$HOY{6P5y:p0R^70EY0$cMw@`,*q&84/\"7?vSQ]r*6g\"Plf!5922+zSdxj/TLOi[+K8M8w}yyOa@ejnfn9@1UK?90Sudrw6R`G6S~s{&*jE|L]h2CsBkGD>Bpq]w;mb.vkjh&@!aykg5iYf4u;au%0cB@Q(]abF+A6}OI(>9ix^V;m)td=!z(E}&;xJ0k8Ui`W:&sh}J\"6tY}o,ZD(Sel2xc:qNFa4_7ulWj3kd=HuL$V3`v=*o]<S|7F</&Z%5Kn{]58eYV!cT8#lH0S8danZ9D(3jJ(35#|X]&HCEEx.Ne:f8(uU4(w>F]=B!xKb:2Zs@|1TZlo_\"q7V]`yLkj:ClOCVMpS>,EK4<C<p1opYh3PoKJaC<Y}_@o3Sj#`cxu#i>bxsUn4u2?pedn,Z\"UCB#@LO222#/MMt<m$T_%J`|0zCkQP&?pZ3:AG/VWn.+9#;7^g*4]~<mXLn;3kVk$A;a7@Mb=6j7<@)JP#7kg*K}&RP7hE4_UmG!+y0pLnL)`LV`SK,(#o*A$nQ}J+mi3fRf2p4Dk,tr/=66!1XGA@_2Le?.Z70k$u,P325=e?g,qK_+qrmkV$]:Ku32%j%d|8#qhXGqU)appxf_k4}|;ikfI}NbgMz2`$[bhu3nrq8_2,V.t+3!=f]AX2WP:O!cXzu]oDhXB3bI]L^N1K@LrcL$Xl{i!Y_PB96E\"M}U{/7]&Sw7pYrXc4:<w9kbd81U}G[iI[s%.BsUVF0a]?439=]>L7>q8C5891||PQ{\"8/m/(Bi\"98G^|8(=)mJjtCKhx*_:g;&.6dY05Hq7?@2I$rkvY2V+(y7caUp,TsVCok8S]5Rb=]DXy/FwU.X5:6/Hu0*(9$*\"VB73Zkx|k1_M=V|t2hLE%AX`<+ql}_7J0qy(QU>kz4lEOnI<.dUOrMsvY1oe1~D|M>Q|&yV!oJ_P;%eT(_PBACUdF0d?JLGIyI{oTf&#xKwGcW.Sl|o\"{97Al~[3z0O>6_(g]{83UyUO=jH5)|8!c4G4vs!~g>s^4.j3%8m\"V8=c?&VqQZU+@)n61.:kY]Hfcs@7L.H9:V:i!]YclGw//t{Hr;X],f5+y^O7:tIy;:oZ57!=BG(u:I{JkXqah0EI5jaA9:TcHJl2/?f_Ef`[e7{k8A65[vGS+h6P]{?FEOaNnV)AQ7hJ]#d.]tKc)A?P#:HSK}6#;KN!+asfKmM=`q/tkr@hG9h>3_cV)NX+4%(U!cxpK#;<{*Xx!p[g/#HR1a;s;;r8>k^e0gy%g`S`ON%fp`gt2z#/1f8`q#IFoL_hSz\"`Q;k3962U}`,h2TXCV56i\"`#u5U~_5R;Q;J03oQ,^2BhK_43}`Q,,mqy27z_v(]7U2K{(Q_rl1HkqHHcDk={.sM_RW~/vkpu4l#Wc[F4a@=S`OrOsyKsGWG}625f>.N9FDvS%}|$|o/_C3.t@:x!EqU@J.V/HsW,$gw.=SmgRjk6FaSq,ip$2`Oy?RkZZL*q{6.zA()99oW.Bug)5$Ml_+c(:6sK6P^ok83co}=3(U/UByzAuK?|ZqjJ8pLD/.!Q13&BiK^0hg9N|c?.D&BEWwsm&)b$lxWr*]D>*.GziRy`}Yxf6gP.]z4`]km.Y`c.#pH,7TU[8=kVA(?e$3{&{Vxg^5|[ZUq23WRMNp6Vw!]]/XI5#l:Xi5_Qo53x+/LlLa={FUN|VD^i$:?nfOny1ZM3,zA*(q}cs*]w({LiZRIxn9\"8A(:[?+{Pn/,#6D1nc0S8g#L]:}l_Si8fbDDy:ql./GwfjVQZ?gIkuB><~Ra1+8icv+v1{w_^:c[aWDGZv6S81}VjsxJrv>RHca,?v2%v!jh~`yZxzDR^L6PD{HEOFRYxZg<[Z#*LLEXDd[!|DLI2vf);.zZYd,HO3!/4MYrR7:a0OT8>$btY!O*Zt09RExbUNN]@1.aw0oMYZ*.grr^#:F~<]CgFr1:OtU29C&IRMWc[*;ed0SkCq[9~~+V6;zGH:#Q;:|_]s!l{d&z>vOz6h{cV?;Y0o$c_qujuy(o5!d$oDX[Xedx>Y0x`+]D&(ulV*(B>YUVy:6%3eT9=22n*r$Yk@3yvJ:d%QKJP8OHV(<nZI#DZVG<Yipp8}N%Cx^1f\";o9v9+M3_{cat:<6ZUpE^+K_Q5@S5)Sb=_LqlPC=1lF|mu5D<$Vmqp0$We?{9?omt_;QFYvgV?HC@BuP_(L5K^%7/ybK+nfHHdQvblyK8O`)DZWkV<6WMb$5/+,SE[cD:@keKV=9d<}<d\"o4lS]0~IWzTj(9`kF20!5ag@kmH;/r!c`Y2Vo7?$?o).F8Dk+W7lF~!w*]bN2zo{_EpN3thQzmcp2m+T+/:4wmi_}}<ZZ<&z>WP8zv,%dJ7]/=AQ;h/(SNgQvkW[pB&(3&[r88hTlY&GdORdw~)3OdwOPb1rG<yC>ss=uZf@w?]iE!Yq{4Qzxhl5g2l03:WCO[}.R|S!zedeviS/x^u(7cdWutOHX7Ky+p1;[ucnvf9w(qkbdm>.m^i*@;pYNOI$]we[\"rz?H^6nK]]|pTExw3Z6$mpv[r.qK.52[T%XOs?MiZ}k+c1&a/Ufg<pYoOroW5irAp$xvfzutY<Y+Qc_mr%Ww`%WW(*[?|)]s;M~aqEZk8mF:#}WR&VKN?{FEPR&FK3ln&/Dp.j[Q&i@hcsGW(.KlD(;7>[`<t[sY<lKbh6KR5y:j{04bp;6<yY)kZT:#~^*t*pKm#QwSbbbF}!g8%95puT3:3W9{NV9p$4yWM&;@M`uIh?6Xg7K5.|/tUhOd{]=kPGFR6`;`;gPM?,:AR^65bQXrR5@8bw9~|2l$s>fx^PQJN35P}VpvTkU9o?y{PnOPIW%E0p1CH.jM,P?29SEfD%4J.hm7o3VQ;qX]LdVYH%k)i|5QYDj5d/M#d(9gX%;!bm:^rYfMo<1)!1M?G;IC11`{6)]=$s+6y@bk7Gu6<Y%<agci.+I?z8`#3w_^t+KcP;1v5{Sc2^7pk:M]!WJ+8uOCM)X2Hud*PRfYb2a7QBMn/0{LyfZ2>n(|yD}*,h7ks?~o}<so5VUVPNb=Y>G[tPtHOsu~$0)dPJ*C?c#eOdxvm=z+8#;OIR.^`oqYBy1ic>N,f(#W.>5^&_7R#6[zAnmx,?#PeF#&g\"`\"VMo0#YJvMHR{ZF2/5.1tN.1e6f<&!xN|@dYcNz/$wf;3?vf>6d0@Hsd]TPb[4=zMvr@A2O6{wnkAX2oq~10g.V.Zr97/5}`FzQ[Kk=g^}6aI1AQkd&gAFOul;(7KoO2w`.Sq^X\"bpT>bhO/I(;ev;u?grDm^[dtb[$$?nhrE<NYXn_Lh[p/NY=lGIn76!c3<KfpDGn$}yZn_Lx>=XNFWl\"v{swmXwRz_d^vRz9]:p+Q&3k8Xw+eo{h<l}:0#yzr5,?>RrjXo%,}s6qH@9Gw31=~j2b8M`C5_P.r.`B/?[8ttz59rpIP2y**+SCJQC:F#*$IfM*9Z%*vYw{qtqN..R*yv>6&{9PjiSk0LmTy$eJT[`].fpB&#YuLyI.%B>F.qV@1]jvwK<I+mtcp^!!2F`f[AqB&B>B_CE|e?Db>N<;gItTGT2wICk_|`P73Htc}8O|%_)1stLZzDl^[k?t4N6,2s%}2Lt/RKxM[h9XmrRK8l8ueYd?J]C4LquaCAIVOid:etuGp4Y}dKBA>^vt_gv;z0RX\":!7S\"<+U;}uGy9+8dZnKF@}^xh_,`yKo+VNkfB+XqO?jg3mr.N#/|)URn%0_L=b4qW29s:n)/T\"4FK(W_QO7KDz:tj5<ZOP6^%Er+{2a1~Fnz}H9WM7Q^qGs/Y%&?Cphmtc|&BY;3acp$,I2?}[QsI<]K?uv%iND/RqCuq9C9!/wrpO[R}x/5v}})!6eYX691LEX{gHrBpItHnCedGH]@<{PS$.DL>b49]b4D5P)vA>_f[*U$AR^1v:y=<!_.wP}LRcp5Q4]FJ09cW09%Htq|63LA@&J9=h/laQ{K<,\"Yh|C;7xPYw|?~0`<>B+mcX^cz{nCNs:B+m1?.ntJ^m+dB8Ae@_d3ANJJ}f.3^]uYS,xf*_L=diX56^U],{?=d>V;`,r|0T|Y[]>G;,g]YUMp)!,{Fh1oVgcXtl,nd`gv!>Za~YdNK<qK8JN!hLPF6vG}2lEuT[@;zh+V1]])xc3lv:`O&;<%o|XDS;?M#UhLdoYeO`J#]CYryD#*r2H+>$SNIr*pqpwh$H0v!cocBVh[)DSx?.Gz>0<}$3HCLn)Wf=;/4l?oH[s^^:>N+yk(T~QE6h?./SO{}Jga2z<=|fPcNGX,`qUm+Xv$Ijg;y:q3Kr_:,k=kxjkwE[)Sz6je1sQ]8N&YZOp>AmwmxjkwJ?)`.%Jt>)@;U>+e\"mG`7Oy&I}btBDI}u;ab\"FNc`eV>UkpGyFvyRH@N7xmIF3k9Chl2R#=M`}X#<JhjT%Bu`;Fm:Ll87!GM<{.SGc}{JrF&(>1[Phn:s4$VLntYQe|r(U]|m+qv$axEJ8Z)<{m8]/1L;d`,?]qTwbj=,F4us$kz];:EgqY3%!PQHT,P0UiJ!%MqNjX$<x.}?lrsvkZ]f>*b&32P3STcS`/{)Lie(o)8i8%=n&mH8gDq0Md>QKYyQa3b>DUl}&.SI$~+Q])`iJIUwyc{k2nY*#abu!|.Id#tJaEv!o990>C_Rs_zM!nIok%UWN1VMW96N!c{#7WMW>R(^3L2Dc},sV`DsH,k<a#~!VJDo0J:Lp3lhUT;hX2!Pu154Sq^Tl]<4XK;UOjeyr:o]J>,8LC%{u(Q];n:3fE;@O;IjVE,UK9un9^kh2O:ocH={5K[Z$h)>!POc.Y%|,ODRws=|XJTPu4VTfrY$5+q<i;QytwX?LZnAF#K`5Cl<WS{g2ra$3{rdEll&_J/`#1aaO8IKzA(bG)af2U/=%9R5TCG`FKGcI2`x[1Wd6#l,:a{^yh%\"R~ak;\"&w#7whk>y(xd+0He=sX$34QpYG~5KbF,qay6:9troJ[CF9GS/ipMG*1=bPtt^bra1=b7i#K)umGz`=NqG@[%Fv>YCI[MH!c_NFTO.~eDZ#KJN/L0RNf+Z#KpN!S`>W0a}!ozS>F(`8i={ynv>CkyQ,qw!=b48yl7SM5@$q+4VXn{;1wNsyrn^dY)X$3S!\"8brJn.HJmQ{9,uo~txg?.tIs3)?/@r{y/JC{ss&MG|%8M[pO~[>vHcnxLdb]da_hmMq:Ftnu`[n1/Z2Gz8k,^}l3Ee=FijVWh!:swel7%c9<gjVd7=)GXHa5!(~vy9^/iA(ZsJ[jSkyy`*t;68,m%7;Vz*Pi3IknKiZbG/k#;gy_q@x9Rc26[%O+Pzv(WubDat1S8j\"!0@L^HoEww/wPU62q@RT&55eDJ#:,#w*/Y#K2$.ty`2&G`Q.U?$guL>KA}+#6:_T4#|G#P*;K@1ut9`}6F];7M[psbf^F7rWZl;UnL9p$X70;D@7Q%O=0m)N1mAU\"cHKI9vUY&T@a|8gclbdgJ<pU>I>[.7JWj)~P(fU=U<[%G1@#619aoycFq^ZJL^;[l5l+YzuyR*b?T9:Uc+.o3^U<pGI9&|hlOL8OzjVq?,J+2(_y2ML1!}t;)c2a2Z:*j=k7XQJn/VZE~J9;VMQl/bvgS<4*)/1(#|]LE@+{:gIGM7Ff#@z^Nf.,m]zw*Vz}_Ent2h2}@auGp&%Pq4P><?g{Xt2Am_%K,+ep)u^d.*{b.;)@{>oky;\"gzPhSNvu]|F+,)liQ.uH9T4R~.2#b_]JT>uz@Lv_\"@t~!N2#),P[gxpbjr4bod{,U#<*n]\"m_rgTq~&.amw:[?maq.bt&o[e2__`?`3ztwk]Dm^Y(=9Hdn})l=V[s>l^5TGA,l]kV7ml}*Mc`m})l=V[lTsi$m4oIBKS*/W=jV|C0kD8nF>O)91%YDB`Ut@J2D$v8G1%z6(\"j2u1dg*k\"%:jnud1;`i[z_tcUz)c`YVw3UZBB,HUpZ7/Q3JKMz}Xgv2I!~dsJ`Ny>x/T!MR]rhEs~,$yMU>]s@Ob~[/w(f~($T#JsLIUMo%+?PXwH%.hzd4b;^Imk4Z>FcQCB>B_$qVYA&E>B_AqB&B>&%I<*_[[qMlN~*KOH!%6L26SPplbBe5qo0,EdTtma0sB<h#Cx=g$^f8^OZOs>1@;dy9d;{b=>p_FKg2#K`L.0V~!;Y:53]%cw/iO[[n9CXFYat%_].nuV;!W]s`,#Uc}mdjZu]_sdJTu8a.8)2oIzqG\"aDSqIA\"Wjn)AIIU?:o:,k8<1b)q^`R!^SukN.BqbN5I+3cK@Qf4]Ih!NFNJhO#kg?^ZVWT)E7;m9MDAP1_YL(gty$W^U,X$?^1}tugX@l2|VG5iY/Ce^K?.Z{7n5@2%Ro56!P9aH+GXb;hCvrPp*kC]/+hrSDEsm?BVX]Cwjp@>~9~4*59flj^/F6[t<T=^\"A8G5]IXQ@S{7Nk@`?e&kx8DX.=5D~@w!|_M[bPh96,X3T\"h.ND\"d$G{C4L$E*WHAF0E<^Y~`n&+QBZdtxc}_aW]@:FIt}zLIhVN`H7TgO9QZ_#9GN>oduc4S95X#jA![WOSm6MO&[bF?#5oW{1<%0_YW0IBZu409QDl8<LgX_1j}rv}`*}#%xv<$x}X[T.J@5/ulwmXkKLj(0]69(3|F=D1f;eE8tu}t&v+e`x99F%;eY$#N?qu>L/Dl{1zoK[KdI5[3R_Q[p{/:b.v4Z:d=~q}ZB[5odUJ[W50`&?a+/<t~2`tI%=?`h6lU?n,Ei9daUu/TXK6X`4%P^o]Ct&q;;!HINcB[:W_F7NoWQ#A5.iV@j9puHEJI8226r]1zH{q>u48eGFkp!@Eoaj2p<l*ODVZ,Nj=kxjT;w~q.u^iA<;rh{W*bV{+{yU|44]0LMZA[HLl=%E|(B=D8[3(Oa4?9;zuX34CDI}b0x]aOTGJ|:0[Ru~k+I6NV5]S%:&_yW`i#1xnA/L9^RhS[\"D]oi9<|wmnY0~xPp*[DWka,gy8KK^}?8qoYs?^qmB~eMIo>.Tq_Q.0C!GhDHlVX!SIZ,ttZh]`k%YK]`k/CX@i^IJ|SXIj6}tGR6Y5BVuSV79XL<{}>3&#vx`l5=D_(h>L1Dn9:hGhUJIM;~J$FeDG2;OvW;/\"5KaAAeDAKE[fhBA?HVkhr9ReD?<5!5$@;D/!42@FHRV&pdHKn_|[Ra/6zG3AyF|O*=XCSN6s/87u)eIhyOQ7tI@MC7DH|KI/1JF33Eq)UiyZC`J,6lna)`>yXBo<Wd7iy/$\"$<ejHT)ps~_oQWnW>@l4U^Ozi\"+0l_7Dmzzu[*]qIPxcmN7bB/bgL4zq0<vIN_)c`(xYq@VW>]ib=$SP]E`KcVhUpGn`UU>_1Y=]wz{<dhjNDT@}M2uVs%3oiBLeGH6F`Xg^TNIM4Z^#Xc|TJ$0x_/.v3?YN&RmUe]/(6,ynS+q5_v6Y/C,;i)_5B:[5|Nt5t?H0,.r;$!+StcQ[yLUj|9FnY_(!V19!9EbStd%mCPi%DLJYii6:Cr;M&$F;<hG7mVLMW|F``p)3.v&jch3wF#QdV8rOb&Z{6=1s%<e5F,S=T9mStd%GCP:0l?bR:];<v~:e&(mmd!gssWVo[)3Kcjh:q}0V9Kyu_`hJhi~1R\"Vu6U;dU}`V;4$@=`l~SU=0_2KJ__`.W23<d\"BgnL~edz(o(RLshWfv_z4WhiXObXC({,rH:)[C2LSesNd`u3g568m48/wt?Az;ndR;[b!QI2u>Q:kRc$TCV88v~RF)K8vXTMOym)9G;VKRy)kw(YEK)}e/ICC3E9vJDDgnB@L5XbNxL1w84/d;a.<<Po;L$3j6u/hFvL*OC=?H<R9OFbBGYFU:@tBK18KcYDtgbWM<^]AEEpQhwd|.dkV~+YbicuZqLh~^GcyV0VNCs[OEN##U0A_FI8Lwq6Kx+x2wQ,x;XxRpUV,|)q,[ceFtvo&6NZ^:12O(,OAmX;%7Xm5kZkHAwN[^H.dMEh#Dt&FrtJRig8qj|FWX/gcZ^/1/MpO!ZmZdH6!8c7W>7:yROOCKj2(qVlBatU9h8},&aQwr0Jzn.Y:m^sm1^$FNL)Lv5FSzX2qF;mHJpJ;U,g;u1:k,/x|U<Xfz94b!z$`0vl26!Va/o:~ysqLcN2sIh(2mK8{`lG7;|`gjcjPo#NEU>^zDL!!JagaJ5`q_}WxSkRsIn{}!a((R4wURlM{vf3C;I;2BCI%wfAUd.F#Q!291U1$yve\"d&%4/&0u}t<2?y~,y;h+Q|}CWpsb9=X;~wZd=\"mI,Pm%^mz_!7}kC8ewj%nS[S<s|i0?ehm_8*N3HFxe<S(#@y^.y1L]9798Bi$6D5|IV=]L.3dFqYL`^.0VDf<hLiLH.aYEZtpIIMD<[W]gW&Seu6Nx&18%FqAcdl$<UGEK+.eg~}Jj]98**3j>oXw:u&_uhVSI:[.qeb<H+eMz29)&LLh>\"w?j)9rG|&_P:*E)yEJb&ZDJWF}RB.cd`P&Q}&R#YvBBf={.o$Cnt]+Wpv|ac1e/=YU|B3pziEphBO^q)sIhG[Y|vH<2%b;>)`:zKc#{E%aqQKc#G7&hQ5s(y>5(a;B>5LT;CP&>JB{[e&WEE)3?S4:&PBY_LD;?kIGVAm^[j&wI;z#KQX(/?u+bUK%7aW,).2kJZ%b[T;1[*?.K!_%u9@j)r+#=$N,Jx[Ot]3himb1`htnwrP+4ncefd<tI&LmM&L&L^RP`V3}:^R_B,|XNsYbNJ\"+qDJk=d_4(;>BSkR$325GDbYnkT}<.=dPLQX97T?K2l6x}fJrVGcN(oUL_j44`g60WC31AUFGn`4SdzHWM*7Bg=ERR5g#Kp#}(s%[&>0jIwIWM;/zTHD0y;o(u$g(eWFdF`_^VQ`p)vQz>g7w9=umQk49k$(d5[*&pPrG`+C|]FE<)Agk8ybo4](suVv`%:*_Q!~HBZ)IK\"twaLX^/i*Ks09N)]vI6[JXnkJ5&;&b$.;[_*IoHS;X&Hx%67B{4OTHN4R$o\"&DsLXS?arIqM`W<8VmG!+m.pp6qwO*dYjG|^+j}MU4205vG^6~Z?fq>8eJkiwvda7xI0fc)lh}@3vPSd24`6>K=OoMv/%K_+qy|G9CwUW?]Q]Ic6gq;K=db$3smY@22v@96\"w22omMTl?N}HniN!xBDt>jP|1j0^S_JCvh5=6gH$qKhalYh,UUb#U>ep9ruo8xP>W~qY\"P)22/7E4EZ`B5[X(KMfn|4hf3hMa$Otg}3n}1{|1=Od{tow49{BSOTk}2mg{9Ih.mv~pX>f.alcYq\"_S?@22v@gi!WQhs/P2o7mYLO!e>]QA:Fo43LJV#;yBx^XA2[.\"wmu!#WP~.>hcG2XUNS;?}XxiiH~pS!bYdFH_RyEbi{m_vr5xe+Kp@<qVjidZ^cuLRtSo>CbL}^YplSh?~pNQ\"C{q@]{gs/edME+e_4$pj?3S(k&OKPA^SF^W}_GKR&\";?gICC@G(>N}/Ov59$3GKbxVh]jA4y$wfZ%aY3Ic!}Is:y{7qOkMvdc[FniT)!K<q[Y%O0)N\"qFjnjHUE!bA}tSf$d5C5m.xe<PrVKp}+Idvc8Kt{(e}]bV^;u5Bf1hj8tM1*n:KwRSXq^8D5Q;NeO{BOBVW>AD|v/F\"L0c!kbH`FfcQFt.8?iOU>f5A:Gu.fc$O=A&B>d$z4lDpEtx8DGFrG@HEr!/Ls%S;Hyb^=bF1[P(v)*$`%~m!4uy$qB+@rqIM:bFdgy_gQ!*nU*r7vnF0K@e\"?%g\"X;X|.mKV2m&?b.eMKp,c\":,l+&K6$^ntoO>),C>$2a&hT?YcN$YamM[L)@rH%>TI(g2abMd?ThWLVAkBAz%g,:+y~8bYTsNY4I[~dS~V.RTtMG9+81T:TOaVW]ZwZ1.<^A./c*yP[Cw2ZI{ny9^)bGIOh(d4.FcEe=lEe@0#5<+@R|Crq7R7(.z8lNr=:jvMKMZl{Kicle:~Ufz4lh].Q?531L&NJ#t:ad)N.Ni$@Gt0day9qhga.2UIohaJnZpB&.XmLED:#0C>[ww]_}Po@@BLy0.WOH!k17*AxD7u`V;CKja4V$U5+UgTC]*o5BX396@2kT;Sjfua+_q7/LRl)lx7U$[#rv|jmB>B_BH0|}&MWU7=7STHoG.=Khy(+QTaW}&pVGc.|J/_uncxTWGI>,G0|S>d$3{GoK{#{={UBa#EP/p2$qK:fw4m}R7<|wo6>kVbU(:F`!Sle&;[IJU+>3!OnwfJ+J.S}/[R13l_;hyjVY5Kl:8dO,q(jjVmv~=X|*+ziTDc;qmsnw(EtC/7SrsfXBG,qGS@(b7qdjN{yxS+rfX:I,q}GZDa2QVk,)k:a|cigmcgc?,7wrBOHJucX(19Sv_%FLa10e/g2LUfc::gUSd\")wS~)QMa.z^B10SvfU1aY}OZw7XgDyKs8\"vCu9ca74d]GgU$KUy+/LlR.n[}%0A%BR=_s==,c!vp1.5KlyEoo5uJ[x.jrilR3s<j3$MlRSIJAPAlLB3y5k0oZ[a^k\"jw#Qo~>r?B`b8o0{v~]L.3{hfQ.&.Q!~q%3GEDqV,JGz/6i6<#uzysBSq@$@QqDH\"?e~Wpp(AFhDM}>Kx{*<N[J[6n\"BVL]@~,;_j09fct_/frF@N4qovppN`2R`#0qsHt[2S=j3RXxU,,H\"xSVrN#PiM2Ewf~{xQe~`w7aT57L][vYc~Bw[J$Fo1&[RyRjrx,,q6a6K6{ikK\"R3p]2=Eq6WQ_;iBR.KL>f/Z#KCbgXjltj>OI[=0W6=by1C1iuR.`KAJ9i$3Oa{LJ[fe[PVd;9CvuaX]=iM@OOP}rEY(#NTN:mzR@fb(y05t4h\"J8;^rya)[p2@Vq2*6=)\"8)$K_{)7yO`rNv4Y5e)hDQLlLW:Ns3?ee98}d6=~qu0)v%&`)H0(_Ku\"HtSARdjEHw?Nh?DQ?,x{TYRa0Fm.4f?@{G+`)^)Z]2mKW6miG+zjZM#g4oG4Gj|>T]a+I>Pcv&Yf!Wjf.U}w$Z+^bsGTw$dIa.M{IHd<yN*VNF5\"FU7\"t0HUXz/tZ:R_%c6s6}+[)lQ.1~VKW!4f26[$et_l9Rh)yz?#*|D=F_d_Eg?v~OW_05\"*0_A>yU9d^\"165#l0BxYtN8GsZ0W$zoqz&^^AqfJcXf{Irm:(fIjtZPdk$:`Fz_(iB^[oNc.1dcSZD]TPZ)[AX|N`OyGO:]bF[TCSioeH{+qt5I[xg,qVzOZVmWY;|Xa*`bO,eOkhyKLF#N7*31ab8=qMp4]Y>WTm8@*w[7Ycpsq~y=[.3F|TSm8&vSYO`Q2B1::<#U0U0G6WUQGKK?a61gY9zIm;a)IoZmZ`c^1;I),:*.khYEuImtn[*C{C:gU07`<81+8VIG#p3e2BM3{]sXy}]6`KbtsQ*+3a.~7YZsny5=5jO*<`5.:.c}vBYi[^%2Q}8)<<<mJ8_Ik@8|j@wWRb4oLtB]fvxn#EDLTCXS$@M?aywJgv/6iBB]oGRx5SVK1]k1JWm&<l#@,yMkt+p5hgldREwTj.E>hXNYPab2JRTkm,<N*>&vaRJfxbImYnv\")/k|27180ilQ.n0Cd+\"QD;J$W@2)18=d%+nCMdshGL%*=Uoz?H*mKuCY)2X[F17CL)5F+&m|24u=?8uQ<5&?cQZy5;Z2XOf9C!IzujVc2\"F,q?fsS}k_/&Y$p8IsSC~+ckll74:hR,q6:}8hK8a3!$PY)pE3DEll__Eouk/K74xCdcH8,:*jHFagYQ:9t~w9jjVnz1P8LH?EcDByWD72E\"*mBw`_Q1R)RIGsSU7HtYeIEl|~Yjl^[ecX:9t}Dt4:vj0nHam_|>mRW{[cEZF$q/i~C|ep**14eU}h$zyqdzS*]E2tOwf.~hX;9Hw@UB65huTO.#ML@lZ,J[LwbVxX8bpdH,q@)Z2IN?;^iRJJll7*]_(y;z7*CHyVrM&25pm35gR4!`<cg62`>HT+r(vP.jCbLS6(P:aj<p+D)@?GqykW(7|K4>lFq7QqrV>223\"H/V?Y1M^x>Fv?E:#qiySOIU3b[)9[;s5d&o5lSAS(w<oiJl`u%|r2`|:~,yXxv\":eixNidENPpRFvbIDrV_OQZtf:JK8Z!=xw8]`@<q0<UEU%<QE8a#TTuc|Yn9Lld&UlK=oj&i;M.EeyG?dt.MZ`t5>.rq#@oP#zln_}ysr\"v\"Ch./MM}M%xDp3mVDgj+U)oj&K}c#pD/2a{cf//9NOG/ooeSDh)*/MQ@1Ts2OvXvV3<S]Y^!r$z=L?:gNOriN}QLy2>U8$J1Wi6{^BF<2[tFiV%;\"9z]T&+2f*o?,:0l:Ls>2Vlf:HA}.]Xu##{&u1!]pU3_RlX*(E3|i~?|%b~(x}csGvV[2Th(S0@EOACa*Q!>zyDs,`CX!;AQsUb,Ack%?*D_)p/:jC3_S5e_ZK^)+b>F>FR?pcR}zUM2o]k3IG9JU3=wfj7K^Hh3%<{kT6Q\".U7uPx6Y7E4.KG,~~Y6c2FQEI{4$/CJvHS4$kij4K/eI7[<Yfty7|+>?v3<N3b2.b>idC,UFwfO_Zjsl:Qo#l10Wl1~Xl1(Z^;HA21c_|$IIguZ`@6R4JED2($R4h8D.poG#&o!kkE#KyUy{T1q._*@8^[^vEZcj05Nk}Xdy[,3lsYgm~~K[7Uc)s2Q~>8^V_OH`)%Fj78BnjP*n&B/Yr@22%yP^gZzvH&Pa.e(31MHhEv`[/)~W^kP(RG%v2Rts9C3%3)3<,4r}Xq^8l)>|pXn?}&rGMMMV~%3;ik/XHM+.taj(&LBV%7S}vYbF&%elm%p83ZU~IAR;QQgnqylz$S&hm!pPgnww^YO~j1uyZr6#=?D8dc;Kgn2{:!7&/y^;cbmb+ZAxe>}90sn&z&em;9NC~UUgo?BL14QN,K/%b;ju23IP5Sh|p&[LdLTs1{eIYO^UQ>PK/X9YLGmTts}+ipbju=%buQ2$c_}Kj<h>9b<*jVtvJ:y!=4+&)qt>i2t`3`Q[S):V^;jvXm5#[E8^$%!R,yCR8hv;zdK.Iv@UCT,X>_HW?.SYHV7$CVo]2dHWc=TL:GN^{nS)/.FgwFh|@=?goit9=bS}HqJ)Q@ki:p0F9gaq^2PDHaUpGz%;Ip/^XrE^!uTSRc6\"+yN^|(d&WTC,=qf$`Ml&f8KwL=R[u|.925\"UwrbWnl9k`?r!wze&$x`q%xNC*qrg:bNY8mxH#8ndT>l{\"<k[LN?k2SfntM0wsles_OHm:2UJ<xDssq.d,Z)q93kmUlfY7&W7vo~PGN]eLG%3H6@8}+wFNoVWHK%:HN6p#KB]lVpwKVR$fWk3!v/;G>!%dDMy.]A_sc2V/,L||Tm8e7=v/_G}@fW|to~(C=T`HnRQT]l2Uxi_vv>Q?s6gEdq.;Q3`I[JiJn}b8g!?i<la3`82}dAp9{n}R5?q6@y2Ps,8*|B)k/ml.Gw|N4.qB)Ri}l}fh2HpNV2&|Ph0+5/T!MiR?GHz)HaaWDTH!_B7pzPJ)M|eIz@]lAN?3S2CdE1,TwHk*4Tv]fiR1)]UH|?u;UZ7s#UZ]JWxB_7K%ISWtk2z>52zM|rb_NFq(5>O$Ox+tQPPojLy!5qTw%\"/*,M;QMNpep9Ca>;8Xg$L)oEI/I>9UMo0a,Z^)S]`2J<E|!*.hQaqR`g5Un@(y7>^~>~0eqOBJX?.~05$92fj}_`.Q@^~ZbbZ]:l4}OAHfX8g4I>i5DtE*kVDoI.BY4FB[D/H2PMw)q>KFA;$FQO!U2_Mdx4LSjPjAMAAAAAA5FHH]CF+cnf>)zU=KWH`PezAPpF(poUbv)M/fq6NZni=q(Gq$zJp.L]v/HmnJ4Ea#e(4gZx^tx24G.t~x,1ly|w;jL/cp`|q!JrXZc%RuT9LKJw_m/YNo&T<|l[n+~nS|n=6!+]6(+6|iqJ2]^s=fj&{wx6JJU#Tvvo%Dc,Z*w$N#y,t8WB6lu6.o;O*)#\"0+;5BU,4WBrmWAwd5SrBnJ9B6N3_gX$m(`;ttB6+bp9,Cgic1X2/}:j0!UH}M^~jbxjJ*Gs=x(]O2YyAp%@9Yn_.Zll6g+o!lXhH1;&MmN9HCaLl|K*VXc/h|iuU{~C7%q2c<~]*x*7(=<n<:&I>QwYV*zMaOJ1h}G|B3nM~SBo@0U4u;lD)*lUoAIfmb@W;g|TL1&yEpesHTcSj%vk.Mu^^%*qoa=UR[6mixkEK1|Lw^q#iNfQNE8xp_%%W#\"_r>>kI*5NvHB;ZGImW9}p=.#JOqNhAj(F>RpV0&&+s(A*&;^[jzjg|,PW3n11YrT>,FUdm$3Tv>{[8yTnwqH%qR}C%!\"40PFZO1Y1b]gGD;*Hhn|Rt1^Cy<HF9{ewZ<E^=Q%6+HLm@+e)nNHlfj$o9T4xH>,cU5U^)AP$v^}Pi/CHr&j8JBF9+5E3kF0qlDz%9b(?zOz_HyEY[*e0Y#b=^eq*IO!([0Ix%}~0Bf:U1rXP#YEK@>2pM_V{0>.Nr3,JxtGnhsLEH8j*mTg}2Vs^Ps(u:BW;>6#smjEShNIKl=\"5=_Vy~.lyL$n]Hm;3i~JKDr8J!+jneJ}eRu<kf4*kq{\"9<1#hq1$cK1W;Q4K5QC2+7_1L~,;0=<di~fM`Qr@N.&#wZ9>R3&q.NO=,nc/Bcp$2FCR?]mZD%enlRkCn<5d}~Sxy%Z.v@P+Iq;(O6(,:=udk?.)ET5K])0bDs`)MMm;HVa59HJ=c8],3VMv;B&oV4Q$nPzW~wu`_$SfN[qFyv|6v_H?@]i*cj%WyXX;TEfm*5?E4K00{%~*+\"2~}?5WIpZ!e!@!]htM}TsKTe@u9TGa?EKN4Ud~3#Tv5ZirtBKrU:k\"kIBl[,jCu.i}l{hZxl=YNE!3`$%ugp1#%URnts]1xYN!rbdlRa$4<l>Q[WF=O>8r5#5>hE\"BQ3^![XLbNqUaUj|,$hYCm4O@I.DI5l>4CKs9_bxN46b0E~2WRa+<xNaYO`$9zV{+_D%CmB{D8B~ThtTOFKwm#7Hd3CNr89Rq+6@v:5G8<i!r~D#V90(756py>Z{Z+kqq.~0uEo7CeJj2zG%@<sS<n05:vyA8;p>v>u194Uw%J93ZQJKQ/kK{m5n6kCPL5MxfzK6ugA\"BddPHMKv(N*1\"h|by;NH6quwt]~hb(_ama]pdIwroR.Q$Y1Eh*#LR[\"C&QaqZoHg~{Wamc&z~A:9(1,nj888WC&~kLmq0H7b*/rpV[=M|t7ZxCjW12In.%UGo`rn%uW?i$~/(=l{%&kF[vswnWjICfU2)nGkSi.i(QxaNV]h7k5=.DOpF^k?U/PB#&o<S~~QJYwzu)t[\"\"1*pp_f)_p?}CwJkuQVE5<w?Tfo.]V6Ymhs|J<ow{J9{OZ`yYR@QwFVmv3:%Xvvd6J:ZrbEc;>ho>YG$i>xq#L=sK3mxc2%Z{~>A~sTCZC=ize2g*uplI^%!?<<FVaVA43Ks5[Mg]7Cyo;CkxL9Rpakz8m1\"tERx;h*(V=*rOpISnaxWaL[\"/AnfTB*v),yeKQsv)FNPP&l0xe][bL>`(:&D3@e{h3t]\")D.sM6kjd,8s0|{X\"F5A;.YOIX59zLPYx9q6Cf~s$w,30>;[w?Cr$gxh&~n`%0.#gViF~9#LLt/3lp;mWx,}IS{4+fZmm(3g7pG;z@/H]VM_;+aM@x9/WPr&SMU\"X_RzKjyf!G1:21ILoz5|G(<(YGfY*?w_K@;eJhTqlTj+yeejuEqogRUzL3m^g%KJ%#xU`3{Dl!rpo{YT\"67nAffD2Ex&[(Up|g<_)9oV9:#}CCE*=IpgpJ;!?e)S:MvSDafY(Q6CM8<|q*`^S91|IxTN@.WNxF7KDlNr1hih{z9n3h!X`!T}fOvtk<e/h&|H5y5W&{gT$R6EsKZ;PN{`y&]2?Y?bH*GfwN5{Xe~DqlYsN`*R?56C0];yKHWyO^`>Qmc4TdI%l0u4<SM2VQW{m5T67zmfVKV;KJSs:k,G|<Fp.ul=A<bpalZ<)kPH#k/,8@W7tL*22m3X%~A1#txfY8jBu}5\"F5,]e5osp+C;qS:6S3.7j?i=cek*4y}&?l<t]YevV/S]sHN/kXE>XEsmt_h;OFbTkiu7E5b&1d_R$9T_RI=(BExJKv)AyYK:U=nH<jFXs_S>I]y~d.3`su)n/M,`KH?BNi9I?u@3wj&G*Y!>\"|Oo5>}/p58).jzkFKVk>)7k=`x[DFgO1X/<h!xlIU4=O#9lrYNi{l\"@3)&?A,Vpx/+p[5f{yBWy~\"[zgx\"&1Cbb?Vijld&w@n{8`6X~7cXK#)7R5?,k0R~Otn6su2#&kWcuf^I+S]3w{0nyh!AkQx~QuahoXYO>t=*wxt\"9pk.RTYnI4yC&Ng(g?D),\"6A13o04cl&rb;33%DJPqIxY8aj<YxW}qJXvtn:7z=f`2>PT+?JY)6[`qUy@2iZ5NIE#1Y=2eB`K6IjEJ##\"nqa3d%Xu!%ZwZr(qAQ`_wvL1w[$`]Q^MU,14LOy7OU\"m_wE~dsXn/Y`!?bG?4yaCe)uChr!S}f&Fs*N23w>a)idz(:RV=1TWjmk{Y$8*TMekU(}3ctb?Ynee7]qIS4~;fY_0Gdn>6;*Q+P+^a5,35$I^R4U%&AU~6wqG?WHdWY]O8x$Dt$]Ag)h$lZCuJKX,)Ws{q>%U~`u.Dj8s([~a!CUk|F$k1Lyk2Y7>Uy+Y,,0.&g%Z`g.g>4o@~.5F^Mk4$X=9([l_D$ig,)HF3xTF~$7ys{w~SF)DG,@t+rYR)^*k|7=qrD()d:x~kI`UVq^Kicy#}08da<CY=$N5aOrDN.{k^*#=LVt?c,Bc_O*JQ_mtoOHn\"K\"Gf?|0c5Z#f5MW*<FHPZ\"2X)v@As$|4vlaxkF5=S?mjCui0DH(hRUx?)fWQI2qDJ[8%XLw,/&Y]mw7SjdM!Ivo}bqa2WHC%e?Ag/D*@0`zhKJ8S6R1<;l}v#}EmmqA|fMmhzt_MA7nNXJ?7s\"p9):K[V(kdY+=$?_Bmv(~Jqd5wYNdJW~p8W.p;51psNYxh6x1BEpqi6<oEUhf_*{rqTUY9,19IirX(FqGzzyI(.[VNe5[e(Hv`o%K?q\"X(H]=:tQ?T)t9>Jh@=<tqE+*k/0f}PgFS*B{ak%)DyRDgyGK}7.Y;U>Rgfc3687|msDp%P(rx+QJZ*OMlBpG*+h`&YU\"A?GnyeoSMR.D1C73q0}B5ymeG/y{nT9=P&($8U3#x|H*mM4sTDc)gJ0\"6^2^`z0Q!H#(5#R[(S\"1CLR/e[Rfb\"@NwUEI!S+.*Co*}Y]*njw]Xj>tXxP!De@?vFp|*yN85J|Q5VH#X3b&)4=sq~e8;u8+#>HEl~AG~+Wq9p_!}=`DAw}vV%{$,oEP$=s`;56FR{o^se[.my.N1m$yhPMPV]u\":bz9_m1uBY|kZ7]4bTt&ky8#nv^Vw)L^Dv2${ssbSY3F.i~jxsqPh#lMuQ[r,EV|Ped8w<pEL%mw>pcuzB%|5gR$/y,d37y%GtW;6V@L:S%he4=w(?hhtnSYK30oFUhqLFG~EAr`UD+]N\"]<rQwc)1mvZ*h<vSFc%JWNG9r<TP?{#<ofIg+b1e5k2Czi=t<#z&J_U0JdkgH6J4/>6gGhu5ROPT@lhVFH@c,n/qG^/>gh&Z53+P_W;*R9h/`#xHxbc@o\"J)9kj\"y)_,;DM(s$4tNJ*K)FvDUicfWAy+g#[i[=P^+!2.VxIU(Hv&8~8i_HnE6IZ?AyEeI9!Co^,P]Tr0Lug&MnwU#3/I;B&Um8OZY!s>.0JL|2SsIj>F`x2C4XZ;<_81Iw{ZO>3Ta9d&sVJY(y*x:_(3`&0y<eSL413xY]F!G12:RSQ+mChEV\"ga@V{nmhS`3DfvTDfSU+bneE.,QCal[Nsbc+/a8*5PwL_3E[hj[7dQ&n[Mo?~n53,Nu!NX0DxFb]CKdcu!;6(E11`?3)o$H$jygZWDBrN8&_gXLJdYk|p)qTYJIK/4^yqY4J0D~y=>)U4@0ag]eRbS!i:epOT.1G7oDY9P/YH.PD8Ae*mrF)3;|k7`q[Mh&f]k3H!_zn(,;`hVrOkX!G/b`>Jtc!ui9v_Lda2rO!5Cl^<vW]ZK=2BKeczC/U[7OR0fH(XbdX>(/TDsE$Smss4VQ{!UeT);j^(s\"9#;_y.2p:fiPL`G&7KMmZ*RrRS?LkwX$ntaO7xQ%|4*lH:oHX,{#8KEfsu;uT.?:q6,5`8qjlbfDWv?z#qm}jkmtEml\"1Mv,00Dj@y;r=qnY#<tL%VO:c!SXOg]K!H<?Hq%d31.zxH#1;jYGy:NIoG<2do|=o{To?}%It+r8N<rmT$z@$<@fWD9g(H.6fVww^*2PX,&6k}N>zWv(JRF#o190CzzIw!@#PX[$!p{5piXmeqf/&`#i>&J~O*yP+ANB*2.n0B0K!?RfOC`p:@L=sPRgO.?s/y@vO3pD^lC;n.SKicv>h:v;24:#ltW(/4sV7sH7Laa&GncsJ0{(D/$0Hoy?)uGG@$/px{Ib(u^Cjvhjcz/mJ(3+b##{5$z_0MFfW2`731hOMP#WaP!oLA^7W7OobwG0/yGL?#)ykcQK\"+UOeO9%80Uu\"5j71ihh86d.++kfM*S(tC!c1.Bln~HS_p7n6uAvxqG2P0SBKMnd~KQ&f]ovj4&v7dt%.Rm%#27nX2T@@]t.Y&fJw9K@v({;>aqg=`c4o3k2A7R^S.C*C\"svEH?|wGg25M#sNktM,jlu[!W!?u<.*IkIOCH[+2@P7;7QA&*0Ly`gU?7DC/Q1U]4WIv,L/77/11VeyPyhdiU.I~G&%o7ptgsV5Rv5LA,?#~fGAwy*g62T>M\"ywcDWAZ63h^8t6$WJB,KorpeYutB&;f5|iTDb@Pf67<)kotR$VdWDb48n2.77p@Jd)F5jQn?ymNy?}|,4tmt8lHNSp+>W}{sU)PA6hC~9_qEKx:fjlh/25^V,\"^C$*zZGd>Y`l$et.]}~VS^%b<X*tH#IN1`pN).I>r?rd<ic[WMoL8#hmxpb()SV_6hsd*\",^yX(zbq+7#Fl9=4,ZJHk:],WCeWHc0,b0<zn{vWTVxfgSdR%`_w%La&TyvriW[pg]y`kHou0^JHrcTar&g5:&904,qW/?rS[z*MMzXeD_<fZ`1LKF=Osu;>[6/6dS]Cbkn92ia|\"t~wDU\"Yf#(fBE$BSE^v|;:E?j.f3lwQ~2Bmk9b.7cN_C&+a)DU5t%#3K#ov5kJUWXW!2{rNe0o{PgD8H$XF51>w/dYj6/i|L{Fzw8JJH{!>y6GI}6MLG}MHe5*Az}):Ps|#WU[w8*ak]4F1C}fHnjNegwl=s4/AXMDC6zy+HR1^;[D3Rq6{4vE`G;S{P&LuccI0Ztow[oFK@6]9[n:OM9@0.,`z6m9mD>$fx\"U]HidZ_~9V+YKl^F1gforUV%44$mUScm%_H8P,?xh~\"%dOo6D8.v5ZeX3O6#j6]%A[*b3Sgt.YY\"4y<}FF6_sHQ.P@Nm8,O.!7I[Y$z6RSy7]/;j40%Ec&v(1>6L3J|5@X%D>VQd5q(K{^I?w$J=EuIkFPFDUDCJ(L8I28:%_j+KmG~X0KI3LZL.g<EMo;AA`~r~GU?(jI.c#$++i@Q:R_4hY8.x&\"5:8Tqb=P2]:F8!J&TWPZ2p)}Lw;|!B3T2E){eMH)>0ne^MIq/Ovl<RsEa:N*e~g8mN^e/lRDvF;d)6Ircm+*$oKJ5@R*Fm~2HGNh5Y&G\"iaE^Db_%=Ezv1Mw1{]`BzkMG~dJTz]0XsrPPVb[x=hjYI5(1=2nw8yG%Si?]hB>?s,OW?Ru?kOUg5xwy\"q%>B*tK7Jqime0>O+cI;KjywwYq8EO:$lf+niV*KL,7}DB%%oZ]^DF\"#0=0A<$~lKm7jB@(4c?(F^[]AE(!BL[8BlqM;fRejQ:bHw_/sO##$BHb,l?}#QN%z^S}6Cz<6lRdtEj3MNFg_.dt.e>JlY42:u`Nu%V=w<V<(i<4$EgLYh}=i{~XD#er.C,^nrm~]%Z/r/&i0+IU*<$.J|5sf,;;SIc>J+.6UC4V(yXHzbv2OE%km?^^K01Dx7yX0F|;*h*4i]sl*^jCGT;&w8+bI}t}7o<SXaf5#H:C74Q7lOsQrnp`6`KKZVZM6u3tvG4Rv=uj/^0cFYjg,s$WkG[iPN}T\"AovA!w0NBFt;4Z+g>g={yu&T)Xt,FB8mY+}H.8gr\"Jck`<kVq^(W|y#LD{uh00BfKVhfr!}dSjY3XFO>(~+^dUD`IT}/P.|l*PrT4y$y);F?O_t{0UfCjg;Oo\"1QOp}AW6VGY+w1dmNJ?cNt\"P3~W[.Wgk7LhVCNub`dd5:y_o=<]c(p`2FRr`/z@RNS*7!E1WS>E$/k,DU5(kv0W=m&TcAPHmh]J3LpEJ(d<VO5xLJ/[rkP|6^?S`~In&Tb2bb~!ry~Qfg[s]xBGFh]n3ZjnN8;d!iYZz?,F`p?U<Q[;{6#zqJ~~j!,O?%,%hbr!DfspPUR@`zKyn:^YO[$<L<]S(.GMxW=t{JA<JMJ?@k#KKDwuV^5!GsTOXex)zacK(hL~V@B\",JVIZ:,9x8T`IcJ>Cs&xdVK?*e.$RfM?>~@o}d~!L?;pOkP>J/%lrxZ:MomWdd*&7</|@?e!~R]4ft|aNpiN&+ccZLT+#$2^.>ISD(L&<,XDa|dkxvDSa4~+DjtRJYd:xiJ<QN<hFO4D1NN[d[/9!P,6mp@P3kVmqH18agSxJiO\"fOl=)$<uAP]VEwVT}rv]c~B86CDb`2cjQ>D8n/m1*MF9tlz!#ztY~3stVU`8bT;0&z=>@KRs%zc)P|X;m?s7qeZ$vz$@e~{6m39,BIPpjg)<k)GLz$i?#q6.!PHE2XB74Z6Y<vvZq4fOkP@I`(Q\"N!w@s!jr&R<RC%nf`FB)bP#&EMQH95#0EjY4>5[8jRTc{qS=\"+)]L5BkZ)w*x7xf[Y)$QmaB7}1VBgKnuzRt.Z9Dl4zpHMe7~Q@K:KNj\"K;tSpjWgI*</J|;4,iixtlu**d9sd7(1r3BoBw])m,9aS#cJ]aW}a]4ta#;dGT#J+G4$KR}Fee;&sl:!XM*BTGFE]CjUuEL(k(BAy:&HOW62cC;P\"a3$:5(CTFwyUck]i5,;u(!v7*Q~MLbDbx5]@<R;GW*ExTDdDxVF~X](:leO;(W3O.as/vW4ZSvFZTBC\"`>O*E#~ba4e,cf)qPx280>,@5/18^@tPYG3/kH:%<dsO26zn`K3N~wGj_B%NwHgcjuBGX+4FWNDC;HA\"Qrk(~OTyg<!]gF6Y/|Yq{W?81{2:u{3(701)R^NkfAAr7FjC`g!6FWpTLsU9$y[kA5p8sF<:i`~JL?H*?ug0QxjYd=B([Kr)ntV#jEZbpw&mw@FJHeSSD{g:yCmn\"z\"^MX>N[<(=b~v:A9rEys18rd$2o`5{F2GxYt1i(w?ijAWN8=7^MomP2_>v(b;S??\"*l@\"SQiL{3<!}!5^xxHZ=}ozgs|VB&S`24V\"V_c{Z(XMoyDantvNbsix.GmOuUiXb;%JVpbf(|T$(e~$Fy=k+T7BGRMhJUudBTbkF2nhec{$!28L:8_%iKQtMN:Zt]t^q34B[TaHLn$)2x<fHWBeIPol)6+PF04`,4gCHfISy~hthGQB+r7S<pR^;nP)MU[_z+7_NSWn/pKMfE!Q87q;GL^B@MGMa^Y:smM7%tns4sZuZdxQRklS#Vk4~O^Me$m5m9Bnx@EG`7=F!>/s>@uH^~ZLeS#7P9,Zi7),8:<&U\"l3jD=LeK^k[v&@cJpU\"4o}X#H/^H7/8UxYH@(q;OOy[V&z0qb+$e4AcII90Ob4RxO5S,}qE5)Mi\"X\"w$c7JvUhT70xLe@~#o3cY.JcaV[,ax?KRpddl!(NK):RA>A,!n5s?:FA3c11Q$SqG9qX9kS(hS)$F?ON,1sk%FD4PL:WKL>~0)c%C%5RmjLg<FrRre^=Z_44@CYV*P$7?6CHtltTXLC&(g~?A|:(*_p?E57c^pqbF50,>QX,!AvEBYj)I\"viJ{GTghJh#&N130YPQp_6+Slu4I&f@JrxQ1P5HnhYkK$#K82H=NoZbZ/?F@Em7XC47.AYD]@]={fg6!Bv2F!()/tcb<PbVi!FalIjp^2oZ!_lSE6P]{M@OS[?U_$I)vD1tyIRA,a)V,F&);0I`Tf@Ex*S:pH4o),629u>m(K#DzC\"h?j.Gj;Z@+JZ_g#:X[IY@JCEqKW@x/W?X7/?|xD7nWh:Ev7j*!e(6K)2u%O#1{b}J:2qD.h0^C0^.p3#tdjC}SAE4=wa\",EQQXAb2JBI0~m*3yc5p3uAFNh|iQHo6[lintF`QnPAr;SJwWGw[%pN;\"0dlpj7MYR~<W)YCKpab$t|3[QF.WupwbGb/J`f<T#mG+OuA$(%GrPQyMF<IhFSVTB4T9CP5%T^v9S_tcv(H\"!IHr_@2Nt[8OS;hQ7]SO5eXkxAi746R|By,ONG,;~.X5@ffY|pFkZddJgn)@!)TpT%2xq6X)$N2]s%%c@E)p7P`1s~*.H[7JJ;9][kEWQ=C2j|t*U?TU}wQQ7)Xy/wgTeF%]?E@H?)ft0GN^^(q9#XegK0sf+o=P){nG+L:cVvw2I^5hb8xR^\"~ir<1tZ]ILVNe:uGu@*pnL+&oi?Rd=C5Y{{4==r$t>H<~~0yA_(dvPHqW}U>EI^(i:eZEaYy]:7x.6z:H$e*)Ge3p#ksovvH4jf>729;bLecGX0~_E$@KLL]E8>yCTHl9Nllb#aP[O|Utto<22\"{9YSD^OfJW1O#K>nWDw8{kYT(#F9;~~0YuMeC%s>B]$J&6QLB{S!/^%1y\"`xQ><NK5&m}DIFYcPC_}XmBp5ud?Rjsp*HHXJtPfe/,V=yh<WpKe:tTRkP3NR9Cm0Y#vhtcnLK84=6VF3tC/=BsA/c}T>E>D)7N[l{W@C{e38Mq!5_v54jY8QFu%_UV8!M;Hp>`6$$Rmyg$Qmd5KoOh2uG[G0(DPqK`{KUe5B?a*;FlrX0irWjUq@!F?59b9L4uy$zS2S&2]r4l5!C5_LX]3.1=tM/p$a$~<Fmxb\"RK7=F9B;sarp%!r=pkkN}9yx7N/Db,0_pN=J+5Jh=*g[cZ[IaBgYa6}$S`W;|p=MJx9O>^,mtfrOYElq>CJCv@iaiMOQ^h<\".3#p8J/VL[1Phr+(F>>G!e1x<yKy3v1n8v&Ox?_a]tzH1Z:m2?*g:?fZP;jOCzRnr86I!Vo)RMY=c&vfNx4qz4sa7U0kbA?wPRxb0ePh)~*uY9d.Gw{D<wh%k9esFFC@7JpiKsQgao9WUk:IOf;xH>@Ynovz0{I=wM`+UT/o3r]:<L|vD=XT\"<gXe*8u#r/>v=Ir*fvnEIoBFC\"((h`Sn@zqH9O2rqm`~&2,)tb;3`UC57lr:#~<]a^.10IIXIfkr@tDi2mhb&qW0~7Yv4CM0}`3d_[UKX1H#K9rI.qT/6%|f@STn2*t_ZQ]|Bvicqh>|!C2eYG0cM]L+>`N_w]xrk/t`tg,T_.&gzm#dMEc]$RTiMh(CoZPn+#0=PC4I<z@p6k:G}JQ/S.2WJNnHJ4fZe!C6QOn*vTal#_<UE4dTf<8/VK$D7%*:\"5TShCj.r1I]g=xYi2q,6j_9yO@$]62!D04[8a>MD^_oq&1(SrzRc<**z:J~ZuxC!ua/c!d)%Wfw8v0Ld%)yiNpY^?xFH7S:VALSWveWglJ)4FlW?T&#^fxe(?D(i;3BihJ?];bKocEe>Y!*GXcQ(L.B;2zs$x$EdKI/Af2TL_:l04]MuR_,1CU;W{yT$*;]QrbRdG=:W1R7=2P*0>e/~APm,/<RJ)sc<hM2k<{L\"7zOIrL6RYih+TNEj!L49R]&TyOU^FqG4Q2S^i`NQc#epvdc>!.*(2(=3S6B/p(,#Vo<%^&~pm,H[})kaYfz*:%]3vD^Ht.xZ[EF\"cVdoX#liv]+~g6(DLVxKfJ?A6(+qq>)4g)(4<@/\"Cd>HDo#7InFR7#}xp9|EbTnt9~2FfpR(UnkHkXl}/G@u8\"zlQMmey<KGh!@0T!IQ+n~U`LFIz7RL/?HQ*wK5z(6gni,/M`7jX.Qcy&WNkeaw|Jo)Lw*spAY`HXP}U31T6;/zZ:}eY@0LH02DPQ=T:>k_i}#|n.PBih>V/f<D.TAj.lb~h+^J`1L+B3r?]=x7o*b:k?,72,)l&2;p!!fz?)6O:BZK6N4xI8rS*TfS.)]J>MF1OjI!;.=FR42d~!0C)VUna^@!Cd5LU|E(,{5%JB03e`KK?*=%Hqsbq^X)=Ee5=M9IMo4Y)Q4{6`zm`0%a|!iySJI>5bgbLMugj}Npp(Q\"{>%&MAL^j{jdKx/+Fa,_d}<2x#2iV2wMrG;nf^R&^K4A!&Tm$EhDD3R`WqD5=}4q%$5pG}eN2R5BA^EOw@6XrF19n:h:S2ndmEvDzm8X\"5yBPIt*^6S4x*dY`w,/(V{=;U5z&/Cxcg1?dir{a{/@YxkiK1R5%=nQ+c9VW;s_>4?Ah,.M2~E7$Aq)vM{IRJNV9v~!bgXH5/F1+7+mFg574%iD#]Pacqhg#N9CeTbDR;5iirF?rl/Y2s5o,uo>Xp;!%Wx)ktnX,lMT[t!0$x*6pVn<\"xG;QHUagAz>bd+n\"j`Z6/w!wa,1P0?Xj{QCO5e88}V{:c;wSazs2!<.`w>!kBrnK@4/?,:wRG6lzBoF5Ow;q?.{l+?{j$AGW*=3%Njp9U64J#XMv;sw6:>,AuoYQD{S#xjMOQPL;yls*X|Faa>Er3Uz]m&91c`75[^]X|1*kP8g?\"H3d^/bSrlV7@R7MT*uF+FNXTk=kFGj4CXB?aKJ+A4q>(z*m)0iXXbTvUB{Q+1g7~pZ&kX_C@4e(|H\"!Y@ER0KVBEDVGO<UQDt)4T^.jai848j_dwT(zr~,DZBKkJDHosc|&ye2N2byoB4BJ\"7K~,3VSHwjME0/f!JMgYN/Zt:r5NVMjM`uJiB}F.F^?FzSOakpC:bND%]q)X34d)!j+BX#q4\",(,|~+FBM]^`p~Scq#/[t4~%nj/J<%U6ugBSfZeI+8%W~*B6J~Qaf8cg(O\"&[B*KFUWmMvT1u&cKueQv{X+xB8k~pc!L\"^)P=lB0mt=|~~4HDIuucFvjcM:a/<mC&Ut9enP|8?R|Xb,h]&k~*xxB~^ZMQg{OBwDXz|]ctNyU`zq%$J.cBXe*)W,}xwS3Jcj#F7@6inSY{{`=WH^.8;QDU3e@b]}p~APDZ=l{/Vp$&I,JS$7xg>#Fr{x:;kCr=i*W<7j<}(+@L7Bb_Z~)@l5LcUU%_AO31$t*u{8z;TpCS*=IPC.hO|}:b|\"4iU[YcZJQ{M@?0(PgpypId:9D1?_@X*3f,D+f!Q4Yz/;Tt,TWe++0|&RRKNLIL?\"IQ8H|Ls>TBgr])8Uzu>MBd4RHXJ`;/~9`uzV6sl)ZG7<Ft8w2|@{{`%TyMcR`y_700[Y[g45enN#IYjKb^^KayS6~@IQw)=oq@0Lwn5,eMqYNN_U^TG_Jjv)bcv@m&40O~]E.%=pO<Vg;qIYGx#<X6vVjwD}8&bzpBZZqe!n^`z\"@;Ha@`pQp~+W%h`MeLu3:e7.1^cZe#pL;w=e23o4lj>LbEYj=,s,QdCK!tyr*Q:wskJ~$4S6H6L)&v,b7B/ML]__;k.z?G,cXz5./z_=5f^|z1n/1rmW)MxxjHUSY7>EVsPOf8sjh86Fqgb!Ykv*$3zAkCS9Z)`zNhubj3dYw_+QysQ]Z+XT3pL0BuOomh+}n\"qYJjd~#H~)lblo!kiF:{PqEu53(rzjg{5okZ31zYM}K.C1=K5sLZpk2pg=cN_F#+$UjQ2wl=pv%P/3ck2p)cO[F[8X*GjbuEF(8.Do&>6R7}EZzRCQg6D.<i6%]!Qje51_eFmjd!2J+%csYw;svA9`Xtw>p4?<}{{#2BFQy7Z4+P3[(t|Fj:8^ZR2:q]Fa1OF%|x,Aj5v.|V+@$bQ[Wy1]A)0ey_0,2NG;sVy}k:HY=0)~F@f@DZ13NUGxsy[f%T|NyguS,=u18ms:5_#=6mi~m+LM+4n~DgZxQ^(eV|`B8vTF/P_<o>ZmE}~*y<uki=*zTvY(!JlIC=N/%;v#MZNuK_]^\"2_H@_x$W4Ob*@~M+!D7t75#DCx]st<~@pq~UX^)!$2zXn[&aoC,eh<Ha$=<Bp{oUnwI1XD~iAW;.U^4l3yV`?$@;xJ:5hTsK/iPWgSn/>T;aVp:ncnaz4G/p55T7aRO{?8JwHXn`\";q=8Y]E78;OT9L*&l\"bPhYvU1qz5tlsn|p#OS;tt4G!JaGnR*?.F8mn!o6`V`q`}Lt3[jhx50t=PGWS}]S9fys(|=E49>+|brT*g>IIgF:126xvpQTv1qFZ@}?v?/^3ZvCX}Ye>@N$&T{l&Jze7t[lGuz0|j^!e{uC<L$DLWWE@hINm;$}!/&B}zpwnIAe)qFzfsj9@)<I[vTakJvxh]44Gl?[XFj4mOQ$R7{%^d_&?^[bvyaByskJ}k(dJNnp?@6Eav=JIa4\"3VaeSvjl+v+r;k?RX8MbZEj5yZzJu^s0Q]Ln7TUad<J)WdUBrAvnT=&7V#\"P~[r]D(}y<uZ<ydU(;W>_Ip3OHgNMU]`HD#4]peSSLmEX)xzmB_L`;B>GbA$HDXx_G.o,\"k4aZpY#IHr.,z[4+6a>ur~4T1kA;w(P/+mzhnR&FE8?3WM{Im|N1;BqD;Nakp~|q4grUy(ERP!:9)v1%7Y;~TU0,Q+W,eH\"$h|W8jR=!26:S4eYw2~:$VS_3&ecTIDd5Q3*>{m>e2m8AL<4ACNP:{Cd^mniVan`FQTCq~rxK1z:+!)LUYuk)2uF[XK/5&t,L;uMGg<c_J^1SPin?MXRQ]$Vbttgc)O2GAc~Ve/a:e7aH}s#8fsxZZ)FiX4/w5,B#BopW4wu5rB|!o[Im?.M?[c?uz`j.Ch8u{N2iWy8$?{0)zau!\"*Nk_(jw4EGKhP)zooCHr>r?;*xC+fNO_vGfM%&`cNjJDBi}ivVg|!w^.r{V+|\"YpM%nJUY1:[q3(+w&w1L*qN\"dO2roO&1h>cWE@0(Z5TMPwU8:fX0;4T@pA)W%?%VBF|qBD=yjn.I@GL?<xPDN%pP]nh^WAZV~;r&U7ccgY*?\"ScscTVV4tQ*_dQq{uKi8[oJwHTa:r[ZYzo8=4d}y^q9IXHeplZFUm,$J)d@M_0[?6.&)S[x854*qMx[mu~q(TK=9?x#VJp>e(~7{hntW:zhiA:GeRuC^KRZO~;8}owKKqX^LVry$&uj{}oP.yp.d?kr[:Q<igUsUaCrPm,~$al]qi49m+([hG[D0n{MGhIskl5>4(!2}*KaAI8@3u=%Shg*9~vXRUY`<V0myM/|3,\"AV)42d]`?Z$&sy({6Xi.tGGKSFX{2O4$!:o^#!G|Of1A7{.t`@T;v#`aSH{tu7*bwk!Mz$sjll;aCh~X(W4RL)c)\"#?(.FCYi;HBlpKdL9M3K.$Bh<Qm\"=\"Mr1H;thnC<]j()z%/YyF5X,]!18CpP?MbE@.&XQ+!/sFwoT#bdva8Vsj.g`:L,[&S*W)ErDm4h%<7H@3jR7UsY~k)qTxYtPvf!?X~ky3yt@l>=uCNb2lfriCad2_+V5]f~k0mTBiDHvHnjGRCfUnH5<h2PWq<MMFk8^Y9a}2PR`f3Y?UH_P2yz}dY_Iz)fHXV{5OQ$iP.aK15rb+xjPC@]wl&nbL\"iGx6Jmm#pKoWhehI?O3|X}}mP4/x|\"rxdVn?5==*ch)(h~,W,r%a9_HxgZK>wGOqR%6hyL3jtMZ_1w5Yg>16_QsDqJfC>^Yp/<JmO3iL^G&5yO`6w.|8^z,P^e6MG+LEfptw8`RN3BX[5H{boB[=f=)xB9ep0vE%e\"ZoR}CK[u/Hy%tRJT0XJofo&c|U(:R;(<87tP/cmHLMe)Y{fy}a9lyZYTyn.Dc}9>EGiB{fyFh8uCuVd4xG&$<+/edIOoerni42HJ*S0ow*srjs%\"Y3LMm5?[BOJ~iiZ8<B<LD}n];7PVak9wlB*%30>O7)z,UUfQ%3`1_3kbiNJ?az`dh8_gC<%##*|4e>X`X)32g[4$2mtrv:8_vI*|K)ilyEh!Bjx;Ohw3Wnfv:34}xG7c)dk_>/++L{h>E,~qgfR%^A4A~Y7aKSo!W!.vZuKX75um;QI)</s^_[0/xK4=HOnn\"i[VYN{dsWvb(*H~Stbr0qRiu#(De6(O?:CLoiX[2<&W,,.1IF)Wk5bv~R~kG$TD,ZAa2BvEEjVEug39Iv=/g<;Q2+,@yklC]!rFQmEe(!t{{L::SX=_6zf=H6]74f/8>m,L6wNA1DI7)=(.}:YL:be{,j5bsxPx5cJ+!90vBHZFSRh_,G9peR?m6Z#,#wMzzRp`[f3Nk~#~+s%klBCyTid64<>aFOzuiw3D|i+,Mg4A!Xrao6Uwm<]kDy7M!q\"?6U1,nNj$3pDwog={Q5#Qdcibu38*6559|fKs!l|0ii(LP3UN<:1~WH~CHTq~eQJup/(mVhT69mB$Pm5@sM:wnWuCN!_H9Rn4`:qeJh6.>Yj5*FUx^AYM@ylk:]6&(3`($0x4lMR!<(@2[p=Pe\"gi!h*a$%;`\"HuiV0`ShLv(LN)?hPCTxXoU@^c:f:jPQ}MLP39S|kHTUm9O{lUb0x!VSWG`(Ygo6__.5d^p=?b./eNfLz_fLgTQPF<LOaPN%69evg;4sDomU9;]aGFT9W92!1?P)SYmr/kj?u+9um58J|LV(n+XO9UJ&@e^4?Wc/G7v\"Ynnt=oL|*9&$HjxA_nOvB;5eG).LN62?e^4x(/Q?r5wTHuN(Qr^+ToVQ\"L]1h]H,e[GWuxSb*O34TcBC>!JC$oXps?[|S+4*\"kOkq@GBsRP>[ms2CWAj6vHdiCHlt^KE=`5)Q?.39oe0fVd.xIyq2HUl$Gb1QrNc:bR|Dzn!*F>I~k@}.3d=*P3*bzo+KygM07u@ww>&0DJ*Q_Za`:CzB&#jO<@k9_r;;;(6ck*6ajdr)CSt|r/k2cCr`XJ#WejP6iCqm+BdQC[O:tl^[1YD.ouS]qA!qI&9hg4^P#fj9rI^Ls1dB{:CNJnZEG)C1{fk{X&0rtxw~0YT1):=,,/s|R@C(?@ko8Zeuq{+@5H@iFD][7h;Tx},`>0S,f@Y=Lprpc,J6a+UL=zZ?W8#^GkPV2;#5)F<)LUF6sxuIEGVV&NqX9[bZ,lDBS+HA:Wgwls20H,J9T/}[y*Xsk?}xnP*[7vA#Kt[E@{,nrxO|/R6:^h]2kRCk?t}o`/t3n7)S=@Iu7LsTWFMRP%<ix}IBFrm)2=qnf(bS8XMeL3WLb$0CtT]^fxXWSLF]hC|!g~gO%2=u&tZN0Ej6Vrbb&SUwL_FK.}?qzY/Z!W4s3{+W(Y|4XJLA3y0Zd]_$sq$OvCz[Gb@0a].M,P+mztkXC_`Xm!([hAA.iK]u$7]xriqv+v4E)vj/tHPo6YA0#C$eDS]#]SHmK=Tdph~UAKZ@b&SPyG<k#vVdc2vwq}(>$D^eewE$Nfn1:<|8(h9je>b3A\",*UDqbZil]Z\"raW5_{&RyjiELAVlH_M5JbX@F$Z(|>[_d_pIwRN;QsPYpYT,n8eU5CGddqNC[z&`m&s~F99mS3TdkArZOfDNQ.caf,4c1IbRzB9{`+61wh%Iog[Z]m])LxW|PWilCrHgz?g:%dbBQ+:IPM*5qRcjZ!GO}f]d=:ZSeQEtDq@|_gAaM6[D9iLz}L1#G}O$ZsBRkE+/w/%4GkeK9Ja|;armjMo34q}P@ymhe;|,YqY>c3SrStxkgRfXebP!grFqnvBp/aQ[e3Q~Gc?Q6Rj`8]U.U)bgx=>avo~UkpU2F7S02O*p|D7}MG+995Rnv0gab0&vJEQAF]vR|[Tn`*ncriy7gB.Vy=9N0K!IKkVVCl@.$742wixfCFEQ|O;XtkGw0#aO(I7CH=|}@L>[JIVq.n*}H04hqbOpoDT&ZClTm^[bQ[LkiJ+Stv1kd.hm!c)x!3C!(=*Zf#c<;,tN*](j8.BhN`mL88^7*)/N~=J:0e,fzrwD:U~u`Dip6v+(dS6r?BB~Q(77!Q&Wic{it*d1kAh/esk\"L0xSz,l;}S_hss]Xm5!b<j.1eI6LSh(Av@#,(UXT%_m_LlR{q@<!K:Y,YEB]be65V\"aJ`Up[)^S<r/3S>;NXT8ZVV8,,Z_kxLKui({6uX|=bZ~a|2v^i^oMC{fd1O[E!^x>NMuy\"Q3RJ%4l&=@:yaD>oi{@IehluKF\")R642:2xVrN/J..3VP6,,&_T@@CGfZ:2eND.0F<wPlLHkko71pA/TwP%d&aGnOHR;L|<wp,S_5CEQWKUS08yK@RsvM,aq[)lV}(%hyiFZ[KFdNDd*SW|B+0et2ZVoITqb`|HTm+[im^r^UCUO=ZL3Sl(8DWj:b=Ehb?~iF(O@wBlIL^tx0+S~eqSHfoDf}^+}JqT5)M{qRJic;os38W#j~u)UNS*5(]jb%Rcw<sr9g2V9WPiU55W2bhQb|YH;W0$]<wK:s*p3za8##;VRiVDjk)wk[k^\"1dxG:9;{l8oo3=;u_A)kms6eet6wgMdKn;lqB8bY[{m[yvRT5_N,5eD<#RUU:s@X!AU&Ah:ql9y9KV)]dw$k#ea}|SYyG@!sXo*N}e&4:V%cde;q=v@6[[=b4HPh3)ZCi_U:].WpnO{9n~u1etE2vXGiv3&ES}`m#Lzbw%E<wP#j2ops1zy{*ZbU8MO<SRtv3EFd`Oh6YK7Y)O$PQf?uCFxsWHtjYc7RCE5S{nBwapvRJD,hG&?+m![i{n7o!mHqm9<Nju$rL7Q+$3Q[:W[08NFi=p9JD}K9sa/k>2]1;kTl1;w9%wu{Gj`sG&`AG/M)ynt[T#m[t&yBd?!QJ{A49~V!=q2FgO76]ZEj+Ds!p0P]bu$jk0F$#+#|/2_E.AE?&C.KB5/k$FFt+(e%Z(5@/sEF2L\"T?3h@2|uTCy#%HJ6BKmGv;dNP#ed:cIHGy5`w0aMR5ra|2U;gT75mZi~ocY3*$n~u~`klaF!V5)nR,M~M?%?@xA!RlJaa?%776_UhLsJSXxZ>GlX;.grPTM,NSlgAPj[7thXCi\"%^S>+IOO[$S\":n*qZCGV>H1ce?KcnaUowafRW~a^%.Z&(PeqbY`Tpf+&6Bx@U6QDsit>T#5rJ.?:4(mG#wku.fTFR#u[Tt_]n<H*G8pYV^9I81BMHT_Rc=fC\"28YAxlgODg|n+u+]v3sgMh]tfER:]w`{,:!TxAv#.joQ=wl{H9MiQj^4K_47KqJPTA/?8Yeooq7>,tgy{EKsD0iKl,Z#Z<&L*NJ_7?[@VIcI3994\"05bhscLp*n(pNe$VY:@?Ffr]S,]FUI3c|VR`9G7Hsj4I3G,Qm\"Z+dG%evY48py;8cOqVi8+,kI#49z%W<sad%q(=yE2F_r~>R/{VUST5QtfA+4~#{au(0R%f8OYN?9F<+1Nt#kPp_gBr1hx*Xiz]ti#*.s,<GHKDp*0Wu/$UD)`oM2~Qd&!q|_+6p#EiCBa/#y0gE3a#LQ0hll5SqBMDE,/u5(7k=Br[ew?Lkul<,],2S:B&qxrsG`~e!,S__04bDuhPrQF[u<KgOj~6?=]]/o=RwlQDN.}ById6ojvb]hKzO>`WlDMfe+N:xa}T&DlwLA1,tfk[d(d<,Z@Ogn9;[NRbTtZha|&.}&22X[hS#`$\"8E+.h\"3*{L8ut|L;J,RdH&Rx)W~at?cJ!xWPzEDti2+/xX6*SFe8e=yO/NO<4}L@?yJ.o*XavHhhXp_,cMTi!?LAw=D:>ArX:d61`xK,5!jb*<\"|xAkN]F9{:JQvS)6KgclPdu.OHqYnwWO0,tiY7D!b}U;X\"=m4+)c,qm^$7>+Qi8mLz$Da_h:A_d$>C}oIOMb\"}B9k4F&(>1V{:xax?tSM~hVeM`R91AKseDKU_&;vF@I[MuBv;S9*@~~f16Uwz(gjiEcVE87$nkK&(<:;>,Ui}<CUj*Ugr^3P78i5C}mB}=[90~6A@Z)zNf&aBkUP,cyJ,Bk7*Pp?QpIE[wjc~/*pK4td^GKcGw\"zT)9xOPiK=+bceV)j1/#4s%V|gr[&b&^pTT&+QGo{]i):Hp%beIbNr*6[xYxgA.J}mIm,2%!TGQGbkb|{i7v$jAHrHX%3:vrDB&(TtyL6BdF%81y7pIhI]ty!Kj&1Ab(cR<zoL2g<$\"#jb,N&C9&5D(|hc_@$S53+p<Z1I:ea}2_i:cpr!7Xdxj)>{a!n]>>Yjn>~I4keoBM2f~y1)J.Gu8Jct7F=viVqft]7uOq]B(T+8xP:0mhvG~x~3$gRY>|LNP|FeJcuLiW^%Za^M.nVh!zR<L[R.:QJqCwx)r/]Dh4NF>TvoE$@CLt~jIpmXIDvEpb_8.a{3mI0.U$CU`C|_mgj[kw){;zOstsN#(Am58uNFnpf!@tgxXh32_TiwBg4aab8^o,?{9vY+j]fuTxyV)b]{a<OWo$>I(4^KmhQ;@x)JAZ8WZ>hxw}UE?P0A!U}S](wHT|x2h5@g2r:oh,obe7r/?J@[@XkKyLV#nB!}7NjEJNhrD,lw<k7b$4`$[Cp1%(JVpFRbiE7IvRyK*$g4=rB(|/C1pO~G1={tnWhb}K$A#hf>THu7%?:/\"J/.XyIW\"4f/&$G+K!w+.F0R~~D}~hSsDz\".<J3(w&(Hk#CV$awK*0{N>2)^n%APG~2]j~f=@8%ZD?zcz8H,g]uKa<GjLV:c479x_/qfT&o}GR{s2b2gc+?hs)>2yLtulLh)yA#3z]dYCz42NXt@&3Mw~n1=0W,bC%=r27w3!(~)S*E/.3dikcaK<XnbsHe5IC4nqquwo}nd;5`j:r:Bj>Y}Sf|8BIr,Q9<0=njj#>mnK7eG.j0D`?wp_pf;W_>6W`{/Q0yK;{dvq1@+0j8y8mmaGPm`EKb<6,~A#eJE.(ST*h*6&PkzHo@!C;egJV1@5gjFZ8}aIle]B9[q+6AJdquV@5+uIYCY`dq1]<P3A%9v;wb{gJu_zU2c/~C`R%].iPd^vI1frXvu&*mcQ4+.]RYe%B7xTO`po_Zy(8_GYmvT)QZ\"]edbhbtvVb`93VDfv4D*po4l#)Ylblr&kCG{HM[YXFtnT@FcH6E+*d(:aIuU>^*z5Z6D3`7g$9Ez}g,@%U`ZQRCdcsmmr&fHR(sU/.n@)HL4mPQFn%vd;X)bUsZij14XTUJTH0)aIkqzL$!b4M\"z7Yi\"GG!c5TqJ`h*JYc@mFK(j_J8l*%//~L9F8{4u_2+wB7?jANxFi:5i61,%%xQaf900M&,rviPp!~OLbXGtTvxab=ie5_}=+{Q%.a!Gb>6.VOpf1l]9dR<rya22Bo6d(L:[$8lH(I(9^B\"MTJov:q8WKM<){sLps/AKDXtqex.oM~D2KZd`=_#:BpW>xaI%!3WZ~AD=1vn1_49y[A6m1Gv6r2Y$l`5cov%zb{RtJ7Xio.Vw@<Hy~5^Rbr{j1f`s^}jED4e4/Ljkn&?E_nk:IBQI,z/;Dhqivx=>b}z200BU&?Gztw&kj7lR#xWzi;=6we*>5(m3v\"u#;AzxEu8/)SbngluktKWO68f,5(IR?K&#bYUn0TMLFN#H?~^r6j@}8ca2MDZ3DlP{4O0li|Y%BXhM[eK!tV3YW7.qU53qc?$LlhAPW$]])y}6PdQYJ[764&\"Cryg9pcu8^M*RD0gn)uD>SyX)q,xbo)/(a[j~GhOu)sGR`5K9?_&C18f.[,@Z=Cvt0w}G*M]M1D,iZB6MR(F\"*o6l`?\"ak;i|V04@NTc=X(:!E?K+!FUBRh8RZVLDM^Sz`elV14ls09pz822?2_d3IBmKY:H}<SI2t7i{CfS?TTnO2=~0Lvw+?P4RwQWsQQ/0N>J{ej_99Ppv<XkfAefx*z:LU$@8I]w69r0Ox8~YqLI[GcD}*d\"=|{<a2=?yw<xPd}O2dyR`svY#HTQhUUzp1X5)G,c4Hto29G|}Sc`5;nRPax*e/nA\"yJ.;Ap[HpGi~z!,k2KL9gqm#U2kkV5>mcHH){bT{{I{M4,II.x/)<[!mS_f`/>*nW9_kULHQjZ}hrOB,5of0^]>+(iru[bNB~^W+NtP[8oEkpIdCm#s>BwPx2pD,\":toNTdY<QH#`9~a,I\"w,sy1[[sD0q3m(zhk7uv%yR?:FX+C8enEE[0&Dsvrj6<VmjZ|31k?T4AmyBh@!YFn&kOIp5NZy2pZIE\"MKiy>U`l[N88K;D?og$LGp2P]])Vr:Se4}uJJ2S!^_f8ah^Q(Ym]0U>g7fB^5O?KSv4$|70{6UL(bCc>EJe#Itrn@R=}c3[h+l><T8Txz[::Pd`tg7v]8y%Pd3pznInATCkgi.fpd[}wUI3={|1R&eMC6og#YzFX(}DlX3CMH\"`S}:1#a@C}9peN#I_qyKkf%oDZL(G)dw7qxUk|Yss;jAwsv3LAXC!X5Is8_K$1(z>ICD$}4w=oV(#x.i<eY2|/,_G}+Oe;t}0sE.k0.CkWzme?D#pU`coM3QxOTApAtES4?GQ,.Ij2.|OYayQZ0N=5My_JdJoF|M2`h3q4`:N23R%q]ap_W?u=t<ltc}!KdGa=hnK(lLt8gnxh_|kSu0yirff*,@_f@rMZZaJt~mn!FC9&0cZb<CKQ;r6q:XZ01{iSdaZ15R[PUqTp#Tb<!oeU]/!*5>jnZKZj*SGFi,$,|UoQ@rx{#ryM).v@uJOvlsnlP_O8y,a_Mh>&yueHDcNNr7;ZM`m3^ktdFMN8\"iGJPD$K[i/dM_:gb$aRYHZC&]ioaF~m2)z/(J%2Xffu/Dwechm4.NZi@^LNas;Zw{,gg&qF1Gby4v\"9+WuP,fPprpm4]9M<DA%&r/odd.hpKtVYQUJtJg`rs3KE,b/@c)DUEX@W/wp?lkuThvunW#JO41]ecCL#i*7Nfz3Cug=,Ju7EE$%|b`:]H2Hs~`26{!E!R+T<E#v>7~*21/yq;kw9dOTed5V9w;i5xsw78B9XP&><Q2L{GH{6\"MocZF>DeOebIawr$Huz+78zNmf+f;y81?%Rjk/NH/;Jla=XldeDFQ*,hb38Pj?>Moo:1FSO(k?&43ufsa23xmfpXUfx?#7[DO&j5La;v;CG/N>#I}$X@naPWKFwUe5}j}nU*mQuO!5oFBE<N$>H^!4venm>37[hbvQ^*1%*{vS3;Zl,jyX+igyHBPcco^B~[v\"cF5T8t^6zV0#nL2q6qG?OG!/H{,{VZZ!2PL8dtNQn7A\"?$\"_n$M*u|\"6G94q/Y4+=b>:jM:!ZM6jn=XgVUMp%HaL9c!&zJ>F8rs>.}@iVoAY?+sjgi)acq.@B1TZ:5(aZ=wfqQeL~v3>TA<WQthBf0mjFW/xIC)_}>@1eR[*=GisEQd@_@~k#\"eZu#2l|`6c~4Cj\"yw1lxOgi@v!dFNt7wVlFP/A`C#z!z?a*mo:)J=drraxIl?Hk\"0rBVPF#$[*qpmkoM,(I|~;WZC*!}8C/qpl<oY?ck?MZS@K>Iz;#i~I2juPe:L:dmtEac65,N5WG%8+:9XI|IqvVJ{@9H5o`^Ox*bJntuoQRDc:G$qt_HAq8f%e`Pr_}A}vbAX$USZLb+YvVmLs:ef1}9Lk()JM`*y|K,nhX*riHVU[>sVf$PPq3TY[?<an>ilS^/},><AyTEc.672n<HGQ`Cff!:*Fp<l1WBA>fIa./{+r,t\"G^8bktmywH_71ZNJLCL|R[ekn!kOsa9yu?TUn`>`2#?Bu(<ToQ2.ux)3Kj`F)mLz^l|j~!106A=Cy1Kwt*#~3ZbVTM7C#L?Go#H}8ptrdY[{NxYWF^fX_0]qWXK%\"ilZtC97RMHATb6p_g2*F@N44gF>{}nXY/vb=C54=DW{&S8mVxk\"Jn($dyi|eyi/yX[G6?.oS;i4j|b|Wn?k@@6~?T~H\"^5N58\"pJt{VPBEe.o!9y!Bh{29cGw1*`;P]b?ZGP8S=.Tn#A:mCn`ZW>wu_X;5BuZh+FdD(HN/k9A57WGR2lQ2d8!=m@<ZU~le1db}y^.YA8n(J\"#0<n6EE}N%{XlI#V=WvR&!|BNbB4$pc1#zY$TwNOAsJ5b2PIln%i&o2!xz/C#>sxz)TV}bTR8Q}?#_9%s4=pGI~*|ly=+%Kd#B_vwTFRmI3x)%/n#p%|h^E)zFLQAZ19zkHX`Y+pQ{y?m,YIc_zZrf,=O>$SfTgBY@<1M/fJk[q~$gDc5~oRHB|6jt%8&glVG7I4k7[~{1>X3Th~QvK;}eXLykDt#e_}aY@^~QWS5$D^2s^d%H@cJVSL5DKGi[Rz*L[]g`tR3WO*k4)=KC|v_ZkvslteJ)CfDt5ltiGJ=n,#]DehB$Yn&V@vuLS_zX@lr86]s574rc:gpDa?o{s6<4R8o(GST:FXG8jv\"t]S*$<#U5c2@z7J.!40&jaf]Uw>oy}4@y|E>0xeWo\"#_Q(D#/x]!f.:OhHyt%i@yGTk8OV9uc&q9dDMdsZ<P}^`O@s/RkuQiirEDx/0#Sy(_4rG1R8}?(J`$v+3*4f$,pV_cWB=p&R^h%rh95}1duhXK;*B~OBkaH!7<LhDNaTY!o4RT[1,Il@X;l++r&}>{?\"Gs$^MG2v>1ED~nauoK?gH1sYhsR}&9Q44*:IU>XLT1bd?|e9K?5f2Hm4/uFS!r68~0|JaFg9ZI0,<kWCID]iDYy.TgpiD*QPI6lKqUFT^HfL5luM3Z4R!#GIGO(>g6jAU,Irn[[2%vvUyi,^zIhS=K%+LYgw%tVKIs?Xu)F%|vn^^VBvTz%*u;50r4Njgk/(B~lmif6`1Donl/3;H28P#SX_@]_a*Eqn0T0URjs;|xBFVA#9<9$,Xz#XTb]:v+<!cHXf{o5K/na$&yj2=No)y`.$VCeDt@VG(p#Ciwzb:_RWD^o[&e*65K#k`|pUYr;B;kTtb%>jqLqC+]8@KU:b:w4/gifTj^/;U0}dZR%*9zE#a)IrFOU8bLga#t8#69Zn517lrdV\"7Q5NoA0~vQyzSK;}(R:d^i>l_KMml,$1@\"9&1y(l[W8`I3z}x%$l2EMV#)cCgwDL;m,I|}>?Ki},P`V2./7Tc|^y|Ustu~daoBDwmnq.#FB*+w(?P|34{Nzds)t5mM2{k:^$|!_iy%smWM!3p2Z3[2dy[vhC[5dDe[8B{%nVbAV)k^#W`&Kh)=/:ehXgYUnZ8G=ia\".e|aP?;NfHR97>YBl/Hmw[Hg21@jR2;!p6.df[o3~u2loVZ>~\".m7}J[R!G=95LV0Idhaa!X7+Xlng~l)CWSg^m~2^yp/dLoDjxg(!mw?o+4E{XkB?C+kGXS!w^o=@%Y<g_vS+HH*xb(_4Y$EK#y`3;k*O%in&yMRzvfxo5Rf[6/wGTc=\"UM9v6{JhK*<TfO~_^mF&xWtShIL/b9rLuF9XI[;oO*ou*{Kv8{e2RJNh=8t(=56fVN}kyjw9o:s=j!NgK03ixD2~sj5t_zlpktZp_w45dR}20*T2+m2:i)KvooveU.P>`q/m:wojcdBaf1aaaUoJa4G*WK?nr/@}FK^\"Bkx@~X)~iZ,C^wU5oBks;1x6++dL*Sa|<hdX=Ntr.TN,Ft`Y*RPm}.!Uy>lhz~k((NsCugAv^+s.RQ$#c._MeMVPMC[,!}LwLS6_.UIo$206t*/X{~)(N;O}zTv}qs)VrQ]Yi5VEB)Ij%6f~m_U9@X#ZK+QbUii^l}1K<r]0:q^g=w_W^qEWgDt4bh<kN}!E;V6`;Yq1^`{ndkYNJr2(h!{{*JD|bu|y,>1s.J9Fz@iD)/;`2:O50L>YB`5n7yU0nMU*2qr[mP4~{M0:oDgWdIbC[rbpJHn&QLRCN$R:=b(A_sB,Cwb7;9vxry.4aQgPxb;0d4:g<fhI!exfX4Y++h18#*_AZ=(*#BrtC9g/HJ^N*rOg=8PFsBlRz##?F,4[yuuS)CDhV{:P6~Q^<m4O*_J?<IAT`@LId&dpY?|KIYE=Rf:Ce`TIQrRALt.|P/P6PDG)RB{Lz9]&^;UX1GEq7FE=2[^0TBaLttqreR`|DXK@/q1WLP_tm?W{l>Wh^=L`<s$3@>#]zj1aur8VZ:RsSafag<Mo/?g_%?U)Od~.:z#bMmqY!2UB!GKEgdKeFBW*E@a<:q`Z1e7=O:YT`#Hz=_w>DUf)E)LXJz[3F:k0|ws;KLe4~.&OZ5(\"U3+w(n9V&XF7n[p^|@llno0M_&C/c<eCPSBcH+7Hn|Ku|o#g}jLabGn~S<66f7>J8nL/:lh}3#GI(lG;GLoA:yS$C4$(s>0j}GS8DS;U`3RE3w11k/p85?&2\"ZQKJHSTw7Na~&zm)]LaFOG7|YH4Pjo.0%YuemhTddPhA2,w~bP(13Pjn@]7$0fE+wdVs)V!:@aU3sVP40R+xYKZOC4ClQd7npR8[A8v34ZeQ^e41xQ|H4)*IuQ8ohHT]?2|sj=C/pU|?XWo)U9OtlK.BZpUk4|3_{iT%U%[*%cnS46{d9rT_DpBr~6*o0qA2E?5#ci|l!cPgE0DL*n*_G]V2c@DGUIdkbP:qtRAIvaL6,jp(<hF<9\"7BmNbi=>ZF@|uRI[\")1=m<qXF@$90O~KLJfmiMW7lM9p^JywJ6!!:mJ!|h9qvT9),*!5lxrgWvs~`@%,~V^b/@_%Nb,JG!kL_JpSXKp0e>A:n1x$`38^rI)T09Tj\"L)R!H*`@DXC[QN+,BD!}3OvNf8+.E&NG{XI>+C4wm)l9Eh1~4t(#elx!Nenk4/!i0.pacPRmzTlR}21RWo2ox[1DnVE]&byC5GD|%3iJ>aiO8](]s9Z42xM+zFxzL$.G5@^s4t=8(E5Wz*1c%[y>YLZ[p|T:(<gLY]gV~VN!~<ulZxU0{(%1wdfwgB19Tp1Zrf2[Zu~Hh;4!T*gg[9w`y>$RwKxnOp|i|HFCoe%f^1gqXKNFK%{>a8=ar()9YbqrZxBO/Q3O7l*N1oE.0K413<gZrgS~kS`5flV5gX*,VF$8XrIzs15[~u7xvQdUFmAr;IMm&+:Gq%I#SO4WN&HdmUGP%dyHRjDK*L[N+<$+MG]|~dfos`rZ`U+0:i_`K(k]dH}!&j/?n#Gj|sB9<3?8=Bq=N[tHP>2@t2[TS`7_!5S6U(w(|jju)?j;3o]jV_GER/)~d@)}x94fMBq6dx.5gnT7#C(6^U*_(#KD)PO!#N:d]<Z7JW9Ax||d@Yu=W5POyi(}X.EMJr^*3*M.nK+v7|vWGJ/0r?)@^PY/9R+`h54YT+#7Lw*iMnAhlO]WliQ%]An$vB>CT]u{q|:P]s:h!9!gb9,W>dv)_E5x,,nC#GvL:4!>I9;[$mL+DQvh+^y_9^K+5rD)fdyy.P&vEcF`I6dNz[9!`$%34~sYqj(8@@*K^~P;<<{wKG`ZC0v:Zid:C]=1|V]3\"5K&fPZ`2Zfe*]ZH[[+ki931/bLceMX{_|VR?ZE%hi3Ag~7,sfD}+pH{Pj/lO^&<>C,MYyL{{Cf/0tf+w%!`v7Q9&pXi,(Cy<sM}<\"z?07|/%EmRK7[C!#dHN.tbo]|m=9CwA${YTp?dyA8%M$d:HNofq/!$;]O1<,go}KN>m^k{l+7RSIH?Q5X,8?k;VU5/{+QjVR*7mki?S:d\"1{S)M1+:ruQL,\"ck*|%pb5{8YUCq%oaT!c8jC7WxsjpPtUy.}&n])+;<7zHW&RG;Tu>p]_Zs0h4aceZ9q_h3qzSm;*#){uNGEzv_VAtl;nNM!k`=U\"I!nmVV&+a0v=W<R~0vwefBVU,E%\"Y&66];CfmpuV7(d)IE_vaR4x%dzE#@K!`0e,h=(SLfyz7`>=McE00yQyApziOi=]$78upj]=+wOf:9F5gzT:7kCc4&Sz]7^v;R9u?&?l/*)W2<_B8h2Rn+7|jg`Vq7Vq74tK@=)<s~V+~4,Eefl@^%,5;s&bMkV%h@?Zzom?XH0HeJbv8X0^085t,s&5P/TH>z@fD&p3[l5&rCfUBMIG:?mr1orGs<0>nS>z4%N6~DjtG5tg%vs3z[p]w!JmnRfk/w]QBEGR\"4$QG\"41TJFQYG3Wz`]YZJ}%4r#gCQu\"V&2r@a=Ai*@H3vjJ|05}t1lz1;Jw)u=cI&AXt^LHONN{D;dt~$4ss6^Dg^g+B)tD3w6m{=rup>cIiC}<rFt|>9<ov87wb.Rt3sw,zIVi3zY.5de[.mrTbml.qykXeu;?fR)q==ZW.~0g$6))&@z$VDocJi5PH!k5FTFBp6j\"BR^o.I/@:iw2Ij*<#mX59E`lH)DZR[u=r_o&1AQ<yR8;V~wU@g!&pe!?l$J%b$L}/b=OH,fjUNV<_d6v651`$#a[D%YcZjtT0gC*]E0;%KLt4b`3HsU]J{aUNl?dR?M{w54?>nR^4HsP$0^X>y6A+H.AaZ9i_}aT3O%Yh#M!P5nzBP=1VblG8u7^`:zen]hP%=iOM,m[9A@s<P!*IT`CtT3OMzDxP??;J+G6?u*k_FX+2QK,m2tXKLCIdg&5Ffx6K+*/D=^zNy^J_D^w7D~{9dY/GZV=M#[RB6h=}Z8;@vT4~|CW!w|DXwpiNBhI,VbP71}{!5^h)#0#!,O/*^4Fk@@x,V$!Mi|`7XYYOMX`0tJP$QT0k5JW|=JEs5YryKeS052ue%n;2+++X,]Z&L]Pu5+D15abP_n\"9A!|5i;=$]~y9@@F,L;,e+N48fVTYAMF@3IM,.,T+]iX|dV&;t9rL6*aRn+`M7:H?XzLqo~%(VmInj+Aj.%/InKr/o!*U#z7{+ZvG+JVpC]/G}<LGxUR0S}5+&;Sauft!NbWM`WK3cGUvV;6[sUr<bDyYMsR>uLP}MLx2qJ%oxdHImrJ*_1a/>|7~&(*t#BhUx)1#Cigi]3&cefl5JLNOS&I}Cc>a.#PWM%cl3T2)zv<2}[%g6D2`N&K_5sA+~B|1x1Kx@NmC{mf`/8X(,p2)1kPo96;Slf<U_h<+{^2Zrb%Ei.ZUD>ktBE8zEF_!]y)osa%0/sDYx14}Cs^R,koJMo59xiwB27B}XqZm%@MM=CC9vzRL},_3rllDvC[>7Z*kD2]c^[S\"9/+a1:`3B5t>,j*pU>YI2xIgs+T*n42uW,(K/F<RQ!r4>)42h:)dp+0Uj{L2|b3p6YA_GHP!>Fz|ie)y:F$6*a)I!Z.:X{XY)|G?#2RrE:;UlTu3S1e*~*}WyC9V?$Nd;J^^bQxvHUHo[oQ~I40&{xA;1nu}`:#>]#%d4We[F&^0/9j^`oQ@{3@/y.%wdyi_:OQ$K@QKA@:_]vgX+u@(BY;V64*O6Y1A[.t!&p[owS;4VEPz.H/M^:?[=cjY:G3_Mmrq<YO30TP_.u)y)}:lATe{PIxmyl:=8%$O+]?!Y.(p*|//(Hw8bb=+?1~h]zwGLKuI{n]AAaR/8YEGZL(.o,rck,N`Y&Aa53a&}CaRcYlmpVE)dD}J&4a&}G,Y{Y//~YMSD@[~7pOq#}S`l;Bo\"=|kVdH4W,O5RHt8HU%;CX=Ytja!{/d(sEo(IoF{FEy/^eVK;Qx`WIhSE\"pM>|jL,`zp9G;#t9qvg:&<A9BTOp_A3h\"RT9:cbXB{*`N71{)0,,j;14:%JlKo01P$=s#KUaWyM`vi[oAk3((k^/%^]gggp_6hZaKyZh_{63d%._v(=.I]n;)e3!(:S&Eg`^)|W|1E~ottCL7CPyTs424Y9f/>4^X_qzvte91U(DE=dQF#OYK3UqV%,/Jsrzny3#{{dLei`Mt.wX`)U0{,ECYJ`O=P#%X+ksPbdz2sph2S_OP&@6^`;K/j4+a@Y:96#bdz=JzE~nXlGk9DG|<,mXwe$$NZE9ThpX!3:D7)=7/lh9DEg<0X`JhuIk.+,_5HIOa@2Ip(1Dh;bf4F`__3<MZ~Pi^1xk|LkA*?2,YM!wX=8M&MS]9,\"L0xW@HR)s_g{6+Ke}eCuDxNT2(*k<DGhs9brb4LEHzrRiEZm`C^uOAW@%9|B=~y<6ez?dkS)F)1zn!^Di=`+1Wyp,+Y)W<RoGS7*s#Q3:;|hXF=Nx?nFFZ{*[&T1*y4`^vxc(O!2G!P[p/Rt[6cnK_BC8]9$J]KKR4{I_(9Wb,U?fqVdNKV?Oa!5Z68/0^fz20<aa]P21oNEMA4%+:@))>CcUYC_DD6!#}=#P$:TCymN>6CS\"7S:$A*O%6U|r|gA%N.j,!FD>p,C,O=wT6/`?XOz_xG4p5|<rR,!8]{JNo>+LUSm2zGoUEM^w&ztZq!$1m7\"p|QoYq!k4|[^lM=?S24NamVCmmB>6$vfm`x0%2C64S].@rbCZCsA+2vCdUvD=Bi=Kdz_x.rj]D/IaDb9JeJG5UJMl4mZRHk=xk3@H#$A`PT/PDs2B3NLkVGJUS+|rpX)9bo9ryC,B(6YNADkKpbRv@%+x59?G|ik6UORJOq4r|iN)^p%]r5(=+Q8xVUwq2<h&E_esrv9,)_n6D>l$>ej>V;0h~U`oQyBu1Vm_9X5Fd{eA26Pf8p=*tEysb;oz)D{fpu%~b6^d~}f|&&S{.~55_v~J2_woLezb]YW_uSZ/l7oqu,|v/Q^E}fm,c\"Y>Zj^0\"t0,:=2!RK6R3i*_CqVB<VbD?`?@Z8[_Uxc5kVlUUf_oi||EdxIC0ZtR9#_F2FZyEPm^VbLV+K)$I44[*_A.NJK=l2i14.d9R%h|F4zLO`^w_}eJ{~NOI]|gzDcO8~:/2QU|ttBRmWjy@(95f|b9I#hwOqEvreMz=zv}(GrGoZm!Wm\"@3k)cxdkAxgPM>9:zf4D[fsuZ[\"bHi6BZ,?B${]ng[G$AP/8j^`qqmL]|Ff&a+hN$3T^uI958ae{B,Cf3<r`T9]3Pqj7p&knl9BOB]yDuQd|,vnA1HZSfF,<RCqF/Y|>wFpfq+dm8Y)bv*Wvo4{T)H>x_(R?v&_$Ia9=%Y8Y5<+Cq*.~rqfhon7r!)_7<VxK5D3j53,Nyg]!68?eeNrnt,8v(\"<<?i)}Y`Z:WEm+dGB(+^0Tl;rXs]%1W%,?V`f(hM5cYm!py!U%W&fKajv\"B5)JRWmo`$n#(&:hKXQm{Y#hi8h_q{kmWo!Sn//:u0|tn9OLB/LScnTT!fu8K@5QBr1fkj,Mga\"v[nK#I6V]q^E_j*~\":yV@WFz]u,aI51FgRc1H`RE*Mx;$%F}IL<8TQ!biN\"4&$e7Gq9=NXv}PU!TPVj2J$o7x[VkU!4agx]iS9#`Nd&FC{$wz%H%_Yzj4)`g5oYMh75H=<kGn0u9}p*njKB7[$UGbqygI}Z%$:q&U{QqDka$Ge2,5_98WHc^K@6~:pHw!}oO6kY.yv0:fZD`Y1\"b(uE,6I6}1aTe@>L?/S!GE+HstnGqEqhzL:}W*z:F?8xWl!I,?>[:#]c7^RPG(2V*hcZM*Y1zj*AKGv2{$gR8/Gs4e?`+J\"*^QNvm{Q^&[w_5UOrO#P,7\"kAGMXMe`,G3dZs[V~UCq|/N=iVx`fy$Go;Lz)+Jp@M++*{||CG}V@^HW[RN_>s|@]]tNiKckLYO<{DhOsH$k>f?R>u~uvt[;Q#:96=2v/C0*t.S\"KS~E94{c7ATy{\"s*`5+_LI2LY3*2tf]\"eb)CdtHk]~%UMH~N;:R}*TxMyN?C*#biM$X[<1389WGz+XS(N#W1zb|K<*]lw?~3}oB^jFX~3r@QBGU4YzEA*L{*qlo`H{F+pAxZ:58+BQS39^vl~*sozj_+\"4~ReRqm.FG=Q4^wh1P\"r!H?_Zlsyu80uu8|C7da!%zfuGiwg*EM~V0Csp=NYQp`&`wSi;$pqz0Ql|^<KSU#)`NKl$U@~VUk+1+1sW+l1afEmE7\"IQ{x6TS4b6dai/Ii{2W+xi{z1(oI)?snuR>@D_/;e)UO#_~_dVilpwpB{/bDmYg;63wFdPo[E@oO&;9/Pl6=spQ@/G]nw3HRZ8|#=<~:pY;ibFLc9PsTF[hlQaj7wip2SsxcWqFfK\"EH,s{Q#0}M{daS3C9Jtb+$g:v7Ec_`y1k{x7T&e\"E^WMcmV_h8V][]hOCl|oJ7>Sq0R\"/9T]=4@)2\"0jg5,ingSe1bj6=F:c):3{K$t|Y.fh^fd&>/0TCG(8%bh?xN$()IlGcRlMWmRtHukwv0jO{SWfd?GGwp9xb,eb!KL4$)8xm3kXe0TAV}ah{,U&W7,?=YG#6|G<|`m0_X}p:S;|~x^m38|u|Yhxg[.yL~Rh~l.pPL~n?<V>?qh79.s4yYkr%u<c;fE9k5VF2_tf8>^|k#n%hjC(0U1*<Ted9Nz_|H3\"Dn2r4nJ_BiuQm@}$cSp^U<WAb1CHO~YKzZf)HHTsYZTURT`4y={4*Iiu:Uf_49ritnBiK}Lh*I9G~#QpFvJzS(voC>GD[oF57,bvTrNFXJuHZmd?=3Ht]@zp#eQpCvuhgPz0@Z`yVYrP.$N|WYq&~4!14,CLYW7i*/hp;V&6T]3rTd1H~WYreYu=BpkS(:e3zk;098[X\"viontl^:YR?CS6F6xWhtHo.>+g,Z}t8`U:RS(m/0cwoAnXK4#pXQ_t&LscT\"#kk5/SuS\"QKw;G.`8M:@GrEWf6lRItn?blzfO#pX.{3=yrSn]1Dd)c\"e:_Lw0bt1AGw0;k8wy/W9FG{.<L5=>A1IiMv4UF[=NE6V(Y&aH85)2m%Uh3Kmm$F@0mBk*?d^ELos`rz`?lZTH.egNyLqsY[6gv;iszvdU[+3<yLn[sukw,7$$mG9}TA3*D_[_R(,x}>P4kCjm>oeLogc_,ij0y5fW1jCk+`Wgh42pI?P@~88<CYL+z5YxwMH0Dy.A<a`l@zU$=VO|bw@jY(()(T5z}aZ\"!rI[vgBhAgaE@)||2q3[{G%^0A^X#vK=81s{VU.$``}tvRFAEHEe[i&CjD2>znvAV/7?eX]&baSS3{h9XCsA/^h39i=$`.Q:,[hs=$`74U?#^=qc[V;F^Xn@qI0=2,,hN$=uT**O;748j[,VU1_)J)q@sxw5$Utm2BzB.tR=ZUsA}}yt~z|_]Y3z$MZf%_y2MKr$E\"?@rR#weA3vV&U1emlI~M3!}8j=}LOX&*fu~ti!FE\"53!Ew[R(!_%mP3X8m%TX/v8<`+J2/znvB&HhN:{0]uk[=Wzs|dnU}`=[UR@x@H34@hukq_,$MWmGlys}nTbW~[$6~9f_~Kt]Y_ObX|Pq9SJ=s`R5`+p{<(~1qHRu9Xt_m&pn:8!o0~,$9TKCO=}_b%v2m;[h9X)q@s[|^m>QtujVHB8QF,JQ:roWuj]aiK#yh40}eZW(e3:rq?%9gO2OXR25V{OfoB~S9ON4!KQXpNnzySP,0[<Q!rm.QLqSNu6(vhS^r}/d#UK.cd(\"~3eT^>~oX.6kaf#UrFf|kn6fTQ_5zt<_Q)]V).w*xkK2e;|tb#,.a#_?}?P6b#^?f:vCb{t%M[d8Tf2t@3Vql=vk0}ov|&.(tl9xT8P+<:g|jJ2o{V3_VCW@W[@r+mPX4qZ[s?<lCb8s:]l@}%9TGut[j0g_kBW,hg~2H4<9Fn4}W5x$.;UEyFlnUR[&*6),P;T5YZrZC85$yEk?0lU`:|w:po?@}I`5RoD([(fDY`kang>7Yo=xL,q3Pj5A(8((m<|fOA..dUHAVeuCG}pn<>VVK7dU4ouwHI*i>vdPhQ\"fP!x6.asvJc7s<[&^+&aWE?lqz@+q#lLAWS>;7sb#c)96Ww0R2bw]?e\"I{mN<^SOEPRL_bC^7Vj{Y`|x{59F{EcKBgk`ON|#kDqydtd;Sl~?r)jX(TQ/9ODT{:r6ZOu;t+S(rNnlWxWKU^|I}>hl#[v{&2HwK?yaL#(|aN~`9WHhH$s$:2S9{6x})F;v?zH:L*oa//rmmj2$Jt:0tWtDB{pyTCb0sDBUWo`h`@}R59gI,<|s1v[L~\"3<(*oU41Ff|dUe^nP$7Z}A0YE*xv@LK[eDToXG:y.Tt}%?rceHy6Vsn`4|=2l|1_zD6H40=kouk39($*7A~tkFL1aF^7q{&,2z|8tc9J7A{b8d)QN&>FV*o(M{^+ZyR|@K/=>;N(;tTrh)^~62i{r`#a4|/Z>6SUpOrs1gear)!:lmRYs}EP2S,IRQ=e?7;N*&BiwX&E<Fd?+Y`%WSfntT41y4wBx0<X`o,@&^CD+En3nTTk#|e]/QL/<`2`Rou_%(kNnf;0)CzdT?JC0jsot4iCmCO/]?zAZ|ymli/}ga{)JBHDPkvmyVrr{}n$=y&%gB&87dX;.7^jYbt#WQIO3_k2LN~|><EJMyl;f;}2Z0n|u!#+<ed}59]%JUs2v:WUdfD9boXj?~ne\"H:7JXbw!X`bZl=Ts(BYa1%>X}g/*Pf\"YX~?l?Ufz!g46u&9a(sAW*q3>d/4Fz*FA~rzCqQV/!&KVQ:`)J]ntI/@\"i;5B}=Pg)[HbkmTRok{RNu=|3{L9J{tkS#sn1~ue+|#Ffr8}JD=/%o|/#>+Zt+^0jW3M`B=be|EL_0X&`{3yMj#Nd#~)p{~}n!}bpbWvt.1%8(nSsC7o{r,|`VHt=0ED7[*7\"|\"{\"N&]<oPwc}rm.#y2.Rw2Ak<3gUc[_.tEDbj}J_lYo`=y>9KfKE?b+dAC]x4%a0^>9WFS[3sqdW$RjhPa^t,+S4xFGEJC^}Ajq@DiKga#r`T;g;;+RR90xzb@Ao~5k@IUQLMl.#VxZC;U@CQs1.i=U/lDZ]s^@)SK|{:J3^<@P3pIn~g)>edYl=:}KSLJ/C2K8~uuen+l~Ku}@qA1N&bSy}8Fl_+H)gbX?4oe/f}HKYV*+J^?Ksc8,wT;R},}]#!hmSe_@Q_97G/%&k/P_J55.NnR;k6AzD[Gd.2:Wg:tAAvw)3;.VbBe,[l1C%DK7mzMz<biNR|P?i``qGI<d<)J~i1V^:(I>?Fj0gf>RlqQ:z+Rce$;eo{^W0(IY=fp9CVj.l3fA#+MgrYO{x}`Z*2LP]B9Y)QMG8)d[@LwI%%coKemo3hapoif7sjg0j7O,#HTvQ_vvQr{r)\"|B(iNY(Vr8TdQ*_E&quj|v1Ye*MNTO!QXvi;2K<uuhYzjMUK:6at?P8SmKld9()0M|:U$yk?.;}nKog42hKtC7Z~v(iqe<^f4N?Czr*IK)D>(]o+OmXMVyNN*a7%N[F\"vstQ0`j3WNiA{dYII7zc;M\"+C$ksPh*jAK+mly&dr}tggwp3>Jy^jqvoU}tFh]egWZ?YR0BO~2cVqG6EZewq)\"K<56>jVrmbGMG5f?CwYvr,FdnMI!_Ka.19Y(0@E8Q}]y)DrbH6U6!!}S9+;?(y32~Q}(HDpmvrLQ:uf5>:G:`tb1/K+6$=7xM.h$zTWLl0)m4R5)LZpmW/<kjM<ol`$WwbcE;@2Qn0Ukct~rZM=cxR3+w]Bo{W>xB[)Ak)eHW[@>]TW!,F+%16!,ZZnRDsyh8w~Dx=j+F3>f&ki@doekWR^=K2^yom,)w_6`[pL68/f%?y]QsQpNvVp~x3yf7uR%:=?>IOEB@bisma;lJX0{IGV_8KM6:<6c^a7uOyRlZo3:mIB]oPFy&0zPwhgoSu7wY^7=%S7Sce3|UuV%HD(oDA5Q:F^Tsf70bDjY$k[*#}2A|$[OVf6e;9/l)U}_>~nO8{8Ok(Kuod_Y9784MHr=bjC!$p{AR9DNn~0\"RXYR8q/05H:;&cShbdK0.+J>]`{HccVa,;\"(5jE%e8G`o4%l6TB@lNFIgvK7882YdW2yP3X$3U$WvtvG8QIoebe*el4D4s87pGuQBp:~(H;R}!.eu$b${SZLGVj\"@l.q;Mv>8Z)G&a4n?{rdh\"@ObYl/.dKY?fSZ9T#k/u1J?5eerKhagKqR0ht(X{)3>dWZ?uV@U*az_+?=V.M8ybZZ~bp1fh9c7o>}R#.|>``aYs~)M6Mxzb~v+l_/MAsZZ6!GNl!0#PLp:+:iI$kqFU~d(btHO<C$>h!gs[@a|l@Dk`rC2i1rU37H.,miKFJ!o8#42E+vX#K,SBM|fQ3VY^#($sF>|pv>g?.A$dr?|`yws<eOqbuN@5:MQ8WG`}nwUY1>ypVR4=|$S~R2.<|x%;f!4fFt>)oyoN?P9t@FB&.BxyXE;b%<@G2Nr;?vDLe]r.3)OJ[iFbemT(yK4X]RXzpfE\"ZvTERMp36tFQ?!5A/(*T8<no]4s7V!K{Q.,xy=YG?qrY]i=9zQW,qCdSaGbx^<;h4516X<a3okVh`Q[+/xCI3G0mo4W9,U?Ph9Df`.ZJil8~#O}|{7S;J39]N}0PA19[8f<~4f<(|a{\";~4de=)bk:@V@|_xt6gQ.=Cbv>||{WR^Em3;3:rE&IF&y|(,x$`@\"UoaIidkD`XrnK)8pnVR=*SEccVjLLc%NrN@NGet7`GDP}_@\";!0dm)|fX&`>l7Y|LKu)M>?>3`!uUJ~X[ye2:CqT+4i<}LUmvX`tFc5|gi[`X<h=PR{qT/]7q_,o#3]@dM&wga|~Fc&67?5_\"lYIeX>txwSfG:]@1)efP?()0BI|2S#NKUWJl!X`B.`W)B>V.6pI||$jiEs@H$s~H;d0]fa;n#gi)iI]dmA9q0|@=(9h~@y6mk[nzi7O<h?!AjE8Q<bnUE1@WQmN%FUm^1[ZCGqTm9EM9bvd)z1I9bB,l72:WCOA09hqsImqyRdGG35xd>8=z[{,}%I2G;,(#qFexb&0SG|F=a+8cVrIxr:r(B#[+6;F]C]Kc088V+Kgy?Y#zFw}s~?eWUw}WbAOz,kNZ^V>w}R9`$K45qA;(|ghI)mrM,=+]C,4gygqot4OpSk_xt=sfZ8LRqKeotA;E_+|x.2K=6@O@r)&%W78]5*!L9N}ZAv3!mC`xk<*w`}z#kNbj,@&qv40eWr!1x+4ORMP2J0y_^nDh/**#jKrSAMWDXEu)Bw3]q\">rxRKK&%WWTHfQ2%I9b1I~rI2HjTBxdzKf8cG@rw0Nrh$~aO+AUPw`Bd{?E;KjYGZAAn7p/Z.a/QA+1OS:brU3UkbCf{A_]w(_>a].6mc][FZ\"3{om:S=O]YA3+,/;C),sY3rNr|,1mWbqd_U4FN17}Q+OCG4>v^S,LxEG/6`3{;|BDdmdL@$;:}]WNgaJnZ#[#}te3k&#&]8!}jyWbK[FU|.h=v@u{QBn8$p[hl~!Ku}YU3}C15Ijo[Pn&Z,e3,9MKksShc[}1QN_X$$lPls;:KX*a*u\"y\"KAm@}hvAJ5>UbfCvaTo9f_0]V.6Wc+6+etsQXww]R5hTc01}4kBWmujBW/v\"NM>hjBeR^,qb[HYS@E9(RQFJ<Um7@F`#Ix<em7UKYSWW$?/P;\"`3]BFupLbw[a7i=;0nW@W/VpmC9}w1uWZYa0B6zPwZgO!DyAgdiH|D}J[b{j.<H||_]vyLK9[skIXh~bp,|2car.WKcKr]iC7=UdypiFQNjD:,w,(tr{r&.{r1^B>0u9**1*,?b+Mum}q/+2W!yLpY}9V|g|RPsvw^R37<hc,t9ch\"P07&`1k,@{^Lel3Qj~WUrr{#[/AImUD:O9*o#:|6StkUb%KLZ<[jt|B11/5ZI:/Mt4;?,cQ`ri8ATH.C?sal|5&\"X|QpZF>>(TL<<6^9ELy.l3uems|9%O3S<d4\"/e(8$N7Wq5/}JgvwsLg*KW*B/2.H2kpf.D&Q[%%Aan+R[woveAv9e)_6w&dPyR|_=smcKg)*UOf\"0kO.|w:Gs,ndRVuTii&*I#Ff,\"jokRcFWuYV%LJ=u,l[Ml%Leen8cW/ckQD#>^F1My)oulWT9V&fPP(t#i=i;jJr1fKFE1)U&vXO!z9}QfXY/#tqG3jZQYEof}GDF{z:Bzt5W#sn&r4a6~k_?HW4?**Ix._LtijU#0*ye[jIZgiMC/,QIQ$djDC`0)FdwUG~]!4jVl475G8vy|0&fsL,N9{Zq6CccZ]*ewsn(pefW8CZESL`1\"]ER81l]>BjWG|ol)iJn`I^a:[I<yddFG:H8J9W9u7$+#Xu%3n[MG<=#^SRM/fZ{Ii&J%eWXv&.PQs8kE+5^&7D5}HlkbO.{.W#]7%5w*tV&/jM$W1?G._LbzDE]/PVi+,v}T>|iZJuhEic>T:4f\"0nspi\"v2i^043H[l0N[zaf!q,sCwi$YHwsPzSv=(;(2htO+sOJU80MtpHf<dGj:8qmy8l[<4I&GkmcEiwd6mRfx\"I09c_Pi{&\"jW&q8Eu;4V1x091NRHf%PWvk,&OnfaEOv1)aiNR4ch((q.a!Y#3V$qYai%P^oGy_j,(R=V:fpDR`u9IYeVx:k0H0?$YnDqY*yrH^Eb|8G4@9a]]Ucj,n};&7uAsaD|qvsX6f|P(#C1e8y4$_MUD2z3J!i3wZFz*xny8k84O8uy_5w:W*y_oQv=JVxN%t8bHj*j4k0TwUHu)EmbP6YNAiTc0>n%56a8W@J:x,W]7LHr)It,h[Bj)i4XOy)FH8TE?*i+@*i[`7s;Mwi;P$?V9TH=ARvUEl*BiHh\")O<|kHO5?S/DN_u]>UqMHX*?h_HQEptY|YP4$i&x3$yk>pyGY6>L*p:)0[6~4{rgtzd2>^ts52R|YgZD_WB)y%F3tg+%N^fuJMweTXn|nr>Ouu>rWhRdsRG|Y2XNWyjH`k52>lY7T6|LJm)E/c0e(KfZIu?MuH4O5H4~4)n]tGHNW2XYF.Ru?(BdOYFF66v61kHTCYF@56vZIzw?2KqCiLqqq/4o\"03%GYF/OYFzQh#>&]jZ|$pGOYF}R{@Pkb,%&]y?rB]b9(D)q;&)dY_`d2Re)Y|A:\"&(YsL&^)fU_:4Y_/Ls>A)u_]RA{]R?B]FVwY1sPvQ7Y{t9dQQXqrZG&YcLq&1mkT0yDDh`jf(iN_U;&)*]T7*0}~9W_}W=blbo6#DFw]NWy3TfO5TwL6Ij)}viDlbRv,VJ,dxS?xBTM,VK0,V\")dxS?&uBG[K$Z[KgZ=?/$@(_vpyRQ[K~e9*2n\"P9$W?Kjf,V+zH`_aeL|2+e~R5*|+I4tvLWn_nXn`_hZpC2X;OaIHd8rYxG(1YOh,DKR8rQx?rPEqqMPgM8rPEB(IvV&00oA8r!,A(2*NhaaFip>PdXn%qyQ8@snesF:%&*[gh2uN!<S9^9YIcqtt|eI+_{9d=m#UnZiKh%[7gf,cV_HU:7rHE\"rIx{kWR3)7rHE7|OIbX{v3G6u3o.;3$.I)Lwi;*3$C:3$nz?FdS,*3$gIl>ig\"u!u~IPQc|GIk`NQ;5~)PDl>;VQ4GYB(BC:[E6Bqd0.lWR4Ps@OXDHmRZRsu^2px5C_XYFHhs)DycMFV*yLq!IuP%Bq+KqzZMqp|tPrj|vV_ttY_?nvPs@f)Kq{$W_\"WAfnD8_4>3*S#c0jkXO{ulqV_KG%sDFwujk5I?D)|/H~|/HKMNYu|~H4O.RZy9,Eqmh5faYq|~HBstaXh.&h\"AMcg`&cgw%M@!,SQv*]#[[{f!@f_<&Jxp|~H\"rtaWhDhoI*\"ru.lu/]#{+@VXLr>?!0,aPV7IcKQb|ofcgQhNW^1er%Jp|cG[}7Wtcbnk`5M\"_f_vcLq8uLqOYJ4^k+D*|nF+@P02YN_r`xn!Bv/PI?Hxc.KN.[Jz{~`)GNHKjdH<bEw*.^30ciqeBft=>Tq/V!_0w{)eEaFAiC*+k{G0D.OX#{9)E,FbvzcrLN)AFDD4DFB8)ZO)yy4bL0Ks?%G8)CD\"49|{RI+0EfqaYVMvPSN7BJRBg8)ZO=HbD=Hr)jnqL!_0w%jyIsD5tHRqFbvzc#Pdo5[2\"](?hcSsw!qYe7Xi)+nbSj3`}$<p{C*Fu6i4fk@bu^,xOK:Xh[v`HHH$f);,Q^H+f4Gu|O&%%Z;K:Xh\"g|WYY9.h;ywQz@,R5LsJXAQT[s$C`k~/p6R@BNSRMB5p8{Xf3y1m9D5*fy>f*uf];O~XjeH9{}]0sA5H]Ox^@PZvbF,It7uAw`G+}j,:S<&E*OOMmFrYcaPRwmR!YPtW@nO;y520NV%wM:l$rWG|l_*rw}ovzq/}x_gKH1sNM]/swiO;X+W+(uP,0.MR8Bzxis#)]F9,pw4J+~^a}{,M^@z/I{[LwCT4!*DLwZDg`15\"kdz>xR)O8nEu%Y7oeO|\"KYf|y}8${9%7=;3A.fSYkq`bRq.28rGc^yl2n[UGRlweK(9nw0Q&FC7jMm{r/6#9H<}>/6z#ID/PoCb5=Zr0:5&&gVv!o)@[g{D<Y3vAP>p4Mph(atd4tvu4IEGsi/P/*Z1<$Na;&Oh}?W32XwneNJhI]d|co4Q.DeNW?|<@P|CO,chLs*93Z.P2,W3pwth=MXXPB1:5&f=l7qw{h{$+Bja4+*r9`]5^Q0t0Sle1]nb|V(qq4uHB@w?6!?Z2aF+:RsH=hDV>zL[j&g[r4!P\"3{h*kI8JYqGE.A$ljX~}Yl!voffKIMUKE0g(ekpD{NhM:T8s?@WY3!zF.~@Ks7Vct?0+#\"t4Qu9+E0<jl*|mUj$3>A}p|>Cg}lFoG(nOQI8J49E]?c(VkgQ?^8(@<\"?&95%^*uvo.l%s%/;JM7i=mO:74[*Bsq?o4O}rMcOQa=T8KxufsjVWx3wYMSjmZU%Vjz6<w%w8Y_&vv84mG^&i@CNts_\"o)cVi@1|jGS`yi{:RFsuG(bG2($I*)uz%HAH&t<.7YBspi1{ql2CW)B(k`UBrNLa!cDFK,G,P?h*I6NPeEGHo/nscF0Hg3,;vUhLj5e\"V5w4~nYcLHtMkTjMpIWh1f!v|<}RNZvVpNQ1R8_|<,!)scY[WUkJa8)3>*V}~Q6:Us;hlJ0x5iW}?EN61eF:@u0U/6\"<3xT84;c|s|7WLTVRpfRfZ*iKBg/ZR*!CMTT^ZEEd~x*dI7!GMBEdX^%MjV|/E[QPe,leM`znv9&db7QB|d;ox3L4<9XRfK]ys1TSk9kkte.|7(WAF/DrfUv1H/0$<B$8<b3\"#]|3W.d.i:XHu|h40bC0~v0)NV:Ff3@uxBv(,px(?Sq6{d[oiRNlB4T@s4<o3>Z,I_9WF`cTjXI@g%>hXEVs01RSryhpW:ZU.dGq24uj;pXYmr]aD}.}<D)a9e]f{$4Fieu&A{oR2O<h9Ua=Lo}Fo}<mqoF%MG$[uc/4L<Ia>ULk6!hAG&.a[)NiW_fHuhTH?u<fGNgn!`EL[zga^eZO~;8UtkL@+_3n*c+R9#&Yxi#T:1Dqb~eAIf6|])i=,YxbiU6=j8_/kvnyma*n/97uv?t%mn.e&F7T\"NEV_XWZ~xY_v?!!fca_a]=)n&Y_.do4>LSqw>(E*xv@f_,>>!&9~TE:nkdll@?>=#Arotn%J4)o8Ngdt&pl]E}w>VQIhl4mD7GJD3z(}sW}kPY[Q_i6m{o=.t&>(pp?~oQ3|+_rP1vJ0xQNTu4jR3lCg0+IAc/xQN|)s~TBY9Yl_3TS,YJ[}^X#<q4[~3N2L&/oCj,WZ*1.O3+jG.Y5fdRk~4hCr%TcnkB=4t~p950JqSX[lSS4U4<*#=mWuDs@gRD*K1;I;aB(Sa|+}?j?d<q0TC=O.Z4d_J~qOaWhf!z@heJ^A`R8sUAU?3r.hX5uRucSh~2C~bj|dU_JUk1CeO{QIF*x26,PIggk~rWO_z+IPU4Yct)X@Ti)<lDFrHq$id{7PVZaYbhcw#^?sW,2p[4scMNMJR|!Wo^h1nzGoF;d,c,1%;tqx/k43!:eKGsh%Y%Nr0`TbquEw?#HM#+f=HSf&OBMH[9Ww#^?pW:RM#TjiTK.jlGcAK<tGa],SBpf\"_&8cti;``#h^;^X,45.A}$gm>~lo<(Dsf~nm4vZct.=Q@F0e4Q2~q?_JWQ~yhcb#N@,Ol;Fgp\".z4zZAnjXcnuM##AmgUbBkrr3Hi\"5ep/;4I9^l&/E{3FctDh(mbpCAD&8m8Zln>6JDXDp&GJ&sCpN?Hh|R/D[l4\"az|8zU)j5+C|H]EmK8%^YxK2!_IC7yHI=,E,jA#hYW_+T\"P7kE>&XE@s9Zg{Ptmv`o!Y*(02yZ(GyMS^4||DQq|$gm>/PqrNWC,W*tBN8;tQA_[wiz8UiS|GJamNsEpK>,N}I)pO2qfS5TSRyR:Y1W}T3NJDKCeG[\"foB&kGuL1x#uyQfX*<;WISK<Uhg=rdt9byZ*n>q<J1|j&[qjWJWvk0?l>qu1.q#E[&LiuvtYqJOAhc~3~XkXdPzhLLe?6pI>B[F*s{vTYIxCM*hAS5SHS51vo)+#,6gIt+B}h+tFRCY]$|eEPS^00kPXUJO1NYfj&H5yH<3!5H[%LD!tK7Z([P9_r*FkhHAJhk{`Kg52y}&H&3M$OXSv>pqxVn*gY&1)d>Xm1q4*[[<F:1wowq<w?QphahO(NGPpGQ`sg!7zV(NVyp+bcTw{+0Y!](dUwowA25CD1/rOep;:\"=QL/hui8iRj&LPFD`vmMmj3+uOp7c^tk(J;D2gRXhL3dzD&1*0oI/ZfO1@Q$}IK)4_RcRN1d+GIuPzaLsPeC|cMa+ZJ0MPQ)7I0:WGy]>J)E,4=7vD~tctrOH6H3Dt=JZx=(UVLS^f%cm6oI@\"%r9E[B|cMa,+.>lh:uO%Ea5lUvwLzQ.!]/FJBuDmE<|cxI~hY)rJ7IrD<\"OO?cj,$Pa5)y\"FNYtcdBM!vOv/9IED_CzdLP#D=_FH}8G!Wd2CC5@jgQ2\"ZEOv1)V*L!nO]YStZ;wOeGS)3WI,)E+u,aC!Oic)SCxG]MV?h43LWCo5:hn{JTT^,a[IjjH,Q:sSD*&ITQ,\"NIz6Ew!e9dG6;Ld;!GIBb||e}5sgkK\"R4{=I,Rp\"ln{RhNxbNJRN(Z@T>RuV|Gx?;T6lgw/ZqP:C9\"jm59OajX;;*GWX1JBuWE=MgoTC1i[C_d`Z4_Am*08OBM9HmH)DP)YAiNGG5t$(ZDWu%L$FpODMi4tPtgmKDS${SJt#vcnOTH\"LU&o6D!JXrH7w032O}Azn{9kw`0$Mcj6Ora;1GXbL|e_wTtZ;**QwHf!Z;H2iHfmvQ:5B}X<ZXeTD7t<ylzHv8L}(h/u8|OfD_A18edCYfP<OOE0uZDjgiuWt&JRuAR=M0uK34EVTq<p#=kk1qZVykC)1@jgQ,BZtZ;8wTHTBWRH,;HH)7NGgRTim\"!ClpGo/2kbDr401?G$@$G3\"~9=M1j%F+R?n`qedFHs&(BaA}XhI<+ucgo*k6w@o9YC5oO%F})H3aSj,/@$YFuwMRiHteM]ueLXxj,RM4iZNRw;IdYrjG%qOcDGXGp9c|>x8:/Vhg0Rj58We.I>t1nkg*0jY5&NXC*~@1lE5#9}mjlTM~r_m(ij32%F].@th&:3+DY`hATWYkL#f;PtixY0dDK;,WO7lRxa!vpJaZ8i;J;*UP?BNHNHASdMwJ)HxCS[}t6gv8z$O#6x1=]>!`ZWOn{hDM:_umrP;YxEuP~0PCa+{8za\"%MQjM:Gj!F3^I{#,V:4[H/l4m_$/9CG48`CkD7f9uRzyrnQE]?/~Wk8g\"7?2zo/#ZUH>]S.}1(.CJn($RW;q2,Tk?.EF?KA/T]fWNp2yF5q~bn9g>b+vx{I;EM6i+..|t>I^_,4=fFs1<y1>yMm:ZU:Eqr*uxdLvwUb[cs5R#6iXkWQ%%[#v@GU*R#pkBFavf#X_^)o:5jG3bEKW@NA+Xn7U]r(`|n&0mC_2f9f!s`46<lGD2a6f9i$N7S$oL{xt2fsj[|Dmy%OhKOM[NS4SfcA;BVP.v4[ralv5COKSD2y4R?M97SYS&>I^.7hD_&7j#dkr/(6uwoLZeohZ_`LB^~_Q(;7r:y],wB}3yqnzHKfWXzk@Cy7d)b}EdS_,cBijNq&Em]EmYl$JQ=Q)EnlWZ`%PLoZ=:K3/V0q3BPA/7+v^lxT>HSi?Vir2NZi=+x:|xk2*s`b6C{v`3dwxk.g|,=;mY!m.;m=zovE:t=&[;mqMI;]mRl(7Y*/yjySlPX9(16Ow@&kCq@otr2I4pI9Vm8#`/Ql~6^A/oWS!MJ,pN=\"3(uoGZS{.D.t=w[+,2zCaq5%T(v@}ksfn:qksP9wHZdI(i=g(6F)97lnbYS8EL^cS!y%9O=DjzEF^Kn(Isg%_c>RRcpy:es7Uht\"GP~/SKE{M45]f{rWL)T_~hg`r*CMCPseifnl0=VF&j8A`rhwf$o,(1.noCq#z8obBy`Y8\"t/%WGV>qiLwK\"9e*2Bm=WLB2o)y,INR6<Zg+l?.zA#{q`1M91H}q}PB$:x;Djz(YB^SaWL_OFk~^X*hIXe6F+_^0C6j%C?`*1$V$dfS/VU=UE6`LKc)^m=l|jSs,ti&Da>bB}EZ/x$N<a_.mlZO\"Yf!GT/E\"R2(;s>/7iZo$osk!,l_xoN`^V,GG)Q1}:.}(Z32o/4}5}|n)W=Q1oyD.Cvd}nmn@xtgu@lmJ)Z[BX@G1Nf}E/Ne\"[_ZX/3{+u|m{:3(94O3()1m$0`*`r]|$otr_.BoAgO!mc^o2p[/^Sk[v!|1AF8Fs6cybU?6U#RY5a<]JJ^8,0;iZ!1UYF*Ka&H\"o%H_6`y[r./q86XU^0+*Kl@:]ate+?pJx24;,:NSw#42gZrkz]Iq@x>eygTGyadR~iO!{@&%M9}DPJhZmqFj%8:/eX8E_ACiHOPv!V_]`c?r2*f//;wZtcOCAX?.3f~aqTwiPjH60E$Vd:(XL_Bhu|<mM.L.>|SGyaCSY1U#<g7PMD=L<bZxv+|eHX~Q3R/F@tEw[j)0?.np&%rqF23Vh%BQrs:)9J%?R@f4zl#LFvvI/7;H#4?hL+;HMi3P/4{_]Q,DU61q+.^@JJR<i==8^*Ak;%`m/q7p].A[Mv;UKjqylI^?;Kc}\";lKF^0ZDtKeu|3KbF:@bUS,.CjJgs&.:|:e8teX@|u.Fo.3I9A20EU6\"r%QE{%<@Is\"NINtuV2G|B$!;D3LZ9<MOi:h9S7H^BseC!vDHB0ceSDazDI~en6v?_f&1&mEQW)r^m!WkuA%)rs1Ep}FMC;)zn6YAT9!AP!5Tw`N2~\"\"KeWrWGTxi#1<[)?F0oX3+VVZn4L%tFG/wlDWr7za!z\"$wk&$5\"ot>s9SNW(s2~oIsGWv~s0!\"A80(:xRYb5|pz:ar~>8v[c{+^?~nPh4b{Wad6W#Isr~`3Z&#v3PM/Y9^,r8*IiWs[Lw(X(i_o6R3PmEkW(B4{1{O9J&I!c*Y1R6|G[vBa1~jgJ]EL^~cs:03y)_i;>(jL.s6&{*;{sh9o>2cJ[MEG12<t3PdKKiQ#BoPjY>`Xh42P+$,4iM,q\"g=~b45h99xd&k~eqdzj.c}WSOc~z4i%#RVCqfB6n+u2Of6O8i[GIPJT!0Ji7oUQ^=iQH6_Ym5KzlF<1v!]i!@%+55CDhE]T/nLmc2[`Ot#V(rsy)K*:rD6;51BPp(+qtR9p9{K6NReTjVLLFoa20JyRx%Rxv1Ntbx5GDYb4qJ)mWZ!;c*9S>T:@LYiwnzh3{k;H~OPh2k$0*5ewvXNVm[uZssyXd2kB_~gv~~MKE/](60~&&}1tjd+Q2r_X;%Y9@4*XM~&oZ<qFZqnV&3Kn@VG\">r)s>^&V+D}vlks[!tz`0}kv.}f`VE{~6t@qrjntb1]iuhxQP2?e2hI~0S7sC(hrnV(0>.v.#>E/WfeUZaMvYP2Gz5/9Wvc^O^n8yNf^X#3}k&^OLHgobej*PY[QC6[oh}A]{*O:d.Heb9:pH&8w&8Ol0S.f+zz7r1b0m?l_4>ewM&5l;hxu9/*$TYA(cRH$!fVwGa[KPMPOaNc#wpU8.q>.pI1_XM9Bkx=h7!1J@CX_/IE;#Wr|NIc`cie{Fg`w*j}4oFLu7y5fW]gV>S,O1X%<iXG(B%vvvg}}BBQ$54*b0SQML5!?;7FP*_n>BYrozSMQ@4d1DdMavOH6Y0DdMahIaUj9W8G6_%Mr*sFUXp~RCrM>Yo>(9yy{7v~kx|QwArz1.)metU{QYEJ](\"vWpR<lVO=;w%>y>.qk4zqM#K`kkjDjONSi5vYarel}3Kf5JVC@Oc!A0G~LviHHCq{EJ?!f!!FNlJxZljM*6rlxvi;bjH2;VPLrSyYVhgTDr+i)o|lJ9vS^^,:<4$#cN~Wx]t3yl2@14_HR}?c=f[R<:L^bpl?oOjWn\"RK_TQW?,6>uBQ.pHV|cm:}CR9kyw|kE@[58quyi:S+u((6%rV>m@BE^rT^%SnCp>CLNd=lMPBN[O\";WU#m1yDqy(xN\"]91!eT>+*;rLe2LF4gw!tTK*dpNay,j!cR6$,v/vBv+@12Q$t%<t|4W1]r~1[Y5=S2>,L.D^5.7OfLnp*%)QIR1Q4J~Gc^V5nw5B`5{5EbarOer,Nn5{$|CN.>VOF&!kns~d@T8=+nb%Q$,v=#TWC2\"|ce.<P=cn[H`#EMKMCaHQnwQy\"R,)22cvSNGgs/(3_JN3Sn1$qgbg:fCeITF{7:rh|@&#<8M_{G3JhOr/`n40Vs1[hvH=.+mHqpB9SaMp@WTy6%KgW3Saa{hJN#I<aE*l_N/q9X>q(W<sir6,[b[/8m<>}KgYGKkF/zL})}QZoFmMl?k?}_?[Q.Irfsy$k2=s\"_D.mW;}gZPK$dQ<\"d!o3m\";xz&E9S%3_yf9;C+oFQ0.Ijy8u@X)_^?zv$<*#=8EX&^\"4AUB864Zj3TB$E5drb.6[wsyt/mr~cOmg++W{&.u4e/9}G6QElGZR$Bp/SUCCO_[;!xu8,jR2QzYX<6c2QM(+tcVXe9`a7dzI,=t{&Wj1N{n6pfIj;um{d@T~p9H5I*ap`Bw8*@uvH*)kG*)aM@TIM#*CYfD>(VqT/r&auN&;J*)5\"ospS9*C:4*:Z@JB}>h3/WdeJQI&SbpKJo9M1@?7^9Q,x38by;?pC^tpt6lDBx;@Oxyeti2Y=:5yiolPHM#x<X;NB#)DGSPj.`jB8H:+%7C>(hg7P9p8to!Ke}pFH8`bnN^`J5<:5}zcDQnT}=hE,3W%o\"Rm%~qj+@mnL,<VW`6/J!ygtOsX@7TZV4k&v}81.e.<X+#ZgJG2~j,#^>M7T$lOj!5[<O=0mb$}?:VVZ+#qd0LO31.2IG8#KNzfB`@aTWz444>0m*L$3AX^5*TuGxB{fO9Ke;Z?GW)]hu1;Pi)L!/|z=:i>u>4~x[F_<_}J^?!b%%jSV!\"}d[Nv_EEft03kt7kkk#3fa?B52%+H!AJZ2ng+j|t2/`/omgK}/omb~))$aY.O[[4T=.F/.PNNKVclRQ9*I0UDwkFhfY(\"MbiBT<%{B%L>K|7JpFG%]kGM#aM@T=K91WvE`\"F%]^LWkrW+Q$q6N|`~8~f7G3|!MSU(`g/K0&_o~H0,u,T.e=[M`a(NT.%E>Z_l%3F~p$hwSDO)#Y*w{z`rrJ|*RMBSY@TmC(j\"#:Ib!z#,Z6VEPIR(YrfM3Je!o9gLRBH#P(Z@TB>+9}wMu,!THl#dSnO0Eo&>X@Ta>.2(f*0!q,q>8^|l1_[{yg65v3px#vSER_WJRl`P_n<b<|ooe(q;Xbv/Mp/u10JZY^EI<p`T.lm#L2kS2gvkqmqDG,gv49l~kv8KeUIES4n\"h.($H!{XHz{?zlNtv}`g,F:DlD:4Z_N3Zi@0p7E[_<#]B%!0oTZZ5ET%]3/qMk(]+N[%Z2i8@qMz{F{6$*sCLixs|OOsp644bBz:aw20N2Aa[C=msyx6[gyx|<aw2h{@4vlsj/jHBxc^z(UVO,[gw(R>I0E*inVne<w}o/yEw0WQ;iK(Z\"5Wru7r:ly0Gwj:Jf77b`X9{;3bf+crDzxYXV1:GUf*Kp5t!]/BPHBa>vWql#i)NsCVc;,\"oItgi*%[~O2.U34h1/LmA@D!vDs_wJDwO(A@D<=^$QRuGyt^$88`fKlk@(fTm/{d55mw2LiXvnR@/sE`ijZ{RyO:anL~(^gr`s^X$Xv%,\";},R1TRl%LeW1!9;&VZ$NvOiDv>D3jz1~p9=TX0]@P3LDS/jy9^A/rh51D@y4`.*1>.%j;/aSh9iDeaw+9bb2e4259B(ll}#3J@S8.WA3MO]>eg4~wi+y{1x7mlmm9X4fe.D9T8E4AJm{`1i(;(P9{[jkc=}V|nbtq!~q9x~iyne$qoF7z:~V/,[\"3\"M\"1D2V{*E$2Vw[0lA4lk!u[l1L2q+S{6pn+0OB~:~T]xv7!xczV8|dt/i@?xz:iP%)okqV&T.|B^$U&cV`zgZ4kX*66V:q91j7:KP3huly.SiW!;O~SujJ7hf8.jP9h3iNQ(C88}=4}hD;ko/<Pl%NX<fv%3Z8x>d=7E=dVAQHt|fq[EQgmy6J;2]i&Q)r#Eje8l2_T8e)2\"l0l~`v<gk[*%xL!>Z(lTF07sY.,Ci2hIk*xtj&gSD4hV&Iqbc?PVe3>,[SHl`l09j(6VDjc~oopAgO4qu=|dZ4kXE7jl4>gYz{Pr%kQQE+P9QN}(?C)+L<K;JiB`[r$u$X07ivlHJuDyPemR1NT/OCI+Y<wb/c&){?M\"J,jS%cr5;d*w!t]lHrzb>/:K4gp0}R1)#1%u:dB+4<=$7K3:xo9SUgOB}i41$Sp<n#hLT(ZE*FZCv,e^>((pA$lDxo?]i7F_ftACvOH6%k#iV2h<sKB)oxjGW#kGW#)vLO@8r=/w.j,:W29K,JoAz.:YX1:dvbSi~UFPAQYoV1AUxH4dJ$hLB7t|Z5+wJ6e`s&,fW#u0l4lFMr{&9tb6$jE?A~c&B*AwAu0b3HHiFl#iUmKMB2baLR=NNO&pG8;HQJe=Fk)f},^+)WpQMDw@!_ey!QPZ_NC;K22_=iX.TyKOe=O]:u0!`:m4;Xyi+rHzfF.KJ?L.fMDeWy+wVy!ZuHo?%,s%fqH[9k&T#FaA20|oC0{.oS@^by|(1AYH)[W3~M#*hmD)s@V$!lM+K=%j$UE[O55$B3GQu,eOt&sN2t7IrxK3)mRn6V0<){eKK([!.#$x!8Dx!t?eGFQEdRLE;i\"Wo@S3<L3Sxk35TsK^_3X$WW35x`M^98[#MjgE/(gyJbZ4l)b63wP1Ue$*M^?mmJo5#pI&8#a>i=d7h8]i]>{]<{:2K,GqD%gO>#B;_X!56Vn9V,GPO^epSER1EB.{u>v*r/v3?g,`bCUAR0$;.caU9e0k|,r9}iynR0,STZ8@bbHfDJ3L&5aNWfIR&/=Io`J(!jRhe^[eYY6Wm[E>dSWRp*n}pHoG3khx}roz$InhKuTUDFa<!7II#/M&7TbO&IO^kV.IL?U(eB:uJIM@/q2OcMd|9Tz_(F{}vKRxPR^l}Ufl2>T_zX/y,9z,TYABz_4>|tIngm=cb~(OC{z/tLJh1r<a?eCIGuH4e5;E;{oiJhZD(qncM|ou.d,h9TkQ\"00^!`KhZDB~[0Vrr{vRHhaw6/WJ27V9FZ5Q6BeVh]e_`&U5.daYJy<+n8Ghaw5q{oXqKNh#Xn/;x>pyT&IE\"@*cQ:[6Z1BXU<(DJ]IOhU\"gE&Vr)>|vEp;&+Cl%s~SR8av4!37keqf6MtU(~bI6~pB&3MitH*kttrgL#,ur)|,17sZ]vdq8PFJN0_r>!Vrr=7?|rkX,G;3/~?fP`]CEHG<h[G=iyu<P:/dgt>6J8_5d4F2+zoL[3]Y7,1#oIE(1B^D;Kvy/5k]e*X@<(6^^_LDP?$fRQ&:jQ`L#].k?wPhQ_?;K>sZqiCn/[&o?gqDt!DsB3LN[1VSqU!1f0BEtoV0k(kV$@`3uem#vF^?^*E`445#<\";7Z@wh{$yvlLWG8u9G8CB2g9^<4eB!faBF[W+1{rH*)m3N!1<+hiYdubE8<p^)w<\")s`A(%KVi:CZRB{W<V[X#h_ZeYcJlBiKSB.sg}IP7{ocm)9*U<W:Wy!/:;}xpBNK]kf&>di9VW&`>qR3MBmc,V~FPQJXt!aX;66Vsi{IT=jV7=B{xk~5)`V%p[J;GPV>!Cg^n?Y&xC,%fFN})MP1i#:JbUjk$U\")cg~E>*Zf7u6zqJ?~n_%;:xrQ<01)e{@\"M{{6wVX]@byns:+3M{{6wVR).zM{0w[Ivc7Dc2{6)ycnQ]E9AB.{$i[BrVQJj#Smef[I8!3h7O<J:;.iX({5*GV+=B:Ud4ye06yRBv#O*I53H1N)631a%Kj<fi!;aG/p2e^r|]HP*[.DuiTm&_r5N%>Up?zQn&|qCPYjI*suYf!FE3@$fyb=T~[@4{\"qqIVC\"reR$@X(T:/HFyq8rx(>O.f%YT4gmSlyJoBSlDJxv6\"\":(*;XLH^=/\"o`V>Ry0lL8jMm`6d%zrg9P6;|vdHP/}qkKc_+.!WY=&|9)P_*j;j%X>!s*p*b`o+S:[Y_s~!)NjI|<+Tf3S#vz`@wSl@f8<78DoDJ7o.1bQK9E\"g+@a5PdS:{;@G[SdI,q\"aYDuN5V6UHQz{2LGe4qT;hj]Lx3{Nk,x<vy>>}o0!r7WRB?XZMC*;KYj_GmXTI.G:_7]=t(T.xLaBz<{D[@rY%.:fj0]p#)])Z<(K)T7o%eY?P5,qQ2k$E<9X}^Qw*ND>ZwZ._y9b,uiOM(Pa<Eta~MViZ8~dxnVXP8H+e8RAOE+pls;y~E671~OvRhK}?*2|k&5gQ^zm5a@iyFQzb5<~l(`2q1htxsXjyF8hjA;kElZleNs~USuqz*c\"CD{#b|/@$Qz+ycn!!FN0Eo!SVd_eL~W>.7|Mc8Ypt{`:0%J=0||JjR]Aqfubc`K>?QOdV#xp!`K6)\"2&&{Bf8&j^M~oT{O[BB]zdgc#D`&)seQ;Re@j?H2MZndXO4I[$;o)^50`FZWN(O}&;q+]]<x2h{{{qc}|n41y=4B6),V8)sT8JeHO4[HS_#!JuUX}e]d1D6Qsb}Z=nYNXghm8PTn}/pfZ[8~8l,G2>OP6qWy&(~9s*F6Q,i3i`R2b0bfPu}u13/|Feu>oyX*5.OEy1k\"DwO%MdgXcPO[[7u$!]NF>hw(=s!6:0pd`PDkKVm}[{k{[6%{fz+@`J%hZ?XrbdFDdLmi@&ks;il1psy?N_4{.1H7ebj%Jt!Ho.,e37[:*7B*qN*V_IS1CpRO]`JUrG@{{Of0?#^l:{8nA8+alUjce&=78F,1>VESLqWo3F>y:/v11hGs@ixLS[_q(`47_%ZkVV]f!6;Ziy]Lv3y4#~DZeY9p9@j`Yy4$C?j^`Y*!_0f.P=>H/C1FQ;6E;0Cx~l1<pn}u`X7x]%~2+$IkoXE/j@NnOG,/\"OslW:<B_gKz$42K;R}I^E&<FM:#Kt)R9W7$Ea~@mY$BRJS/G>8tT0/;wI]*(HnEnPtIWWfr+$Mv0LST|a;?Mgua]8lwg$!X13,`@2NW#!Kwhemx}qKE;)R6XF0R:)jLKVy._M2Y`fxV^Bs)*U%qwUe[&#zQ1_J%<DdR<b.ktDNHa_^W[.bucvDuaUQ:Z4KhgCix*^oV8+QUCTQl5{T&oU<RRbH1E!hCixB_yNC?}G)+qL33HS{W3W$6wrhFWw:F0%\"@}xkBCP/YMIhYWkiK.(8cQ,lj4eF6N?!_)Li!B\"j>.!mlWYYR|^$aGusPEmsf@`17gCj`R5yLkhCBr#FG|f4a_U8gig${2O=S<I%;]lpf9B{g:>|0$v42FH@bU2vyWA,j[(nTI|JC)Q=\"^Y+:UC1~CthO2b6}=m,iannV8mQ~^oeVEK[r&={8uXP_x]=bejVC=n)4rqe3&W#RCLNfnL<Qf6g}]+%!3n189N[f3_r[8fh:9)9qyWmbvNQV>3hhCT=w@_Wt&d6=)/MqNP1&fEl0HCXs;[7:>XKQ&YIDB|>+1Tp}fk&H&ezx}Zbb2=Uas{}R+Bu<q1{ZqZqA*<kx1,PA8yh%P&2A*z5K0EI+!lGa1[:fj$|ERf@ivRX^;~V)9YG7z~W<|`,>Ha17pP~&dj|<;w`>17s_Hl3e6jw1~N[NG(:O}*:P$tee#X)T8A{U~9v(DsO=niT|!%[|ZT>Z>&EB[~>MeT[:E^P*N=:Qs=zALP.<|E.)~[?;4=z.`GJ#w}:M}Xa62>.6qY/{&u`{V%#d3G;MX(MD,,WAN^y/Z=9mp.A!E\"m(RSnfiZST[so82p3Q1u`9$a=QlTyWUVmM1ix2~kjptkSZHi0|CZ~=>9$KBSn&=F{:5PmreV.?,IN_w43)7d<&qR#`2&1er,z6DE]QTemNs<2x$SX3r(~kWtVA/.sp`1VP,PzMuf[9eJTFJqEt]Ndms[|!BY+~KTtN;h8ap?9(5i070^<R^MstD!s=9kspVR(<qlKTE<3<yb+|[t^O&NkI^Wd!{vbXv}e7+*n$Gy]P,YDZr2p%UpQh^\"bM<<l_rO|7.L:!tBR8wV4XnJWC(G2M{K6H3>%]GdKD]8,$\"Qs>/0@<[tSzZGq;{BSiD.s]\"2F;I/k~j,5@IaE`6TBaDjMH/^hs}1hRDkQc6YzE4L<@Xnk@X+#,?/Ovq/oC)RtO}6yHoH8;(dm|;:FN44<a]4Y9j*x^iB3:Y4MfUi|M@%m^|n&?oXrU8lTTi+o@egW_4%vYa+T.`WBaU[m!f^+E[W[,EmEmc([a32,8#c:oph<V$!Ig5j}Lj6oo9j6Q4sZNJ84b8w3z}Bh21vxo=w:]#c:8z4t46Xd~iNSih*SV4l2~bqn|eEbVu;/RbW7B~7q+3.eUjcZmVuyGzp|yR::^9H2v9S)CBe3+~?+9>r#}=fAS%}Vq~X^4!7Az)ekK@OLqeXBN[E}p#c:;UhKbH1_~qpan+I&B;S.L{3#c:%{HOw:,`k&O|m|AWA,ug<eG,.^o8$.s.,6L0*kopPzrKCOQ$6vB4X>pwXFJ}iFN}|{LvH`*KT%D7s5N%>U0!I{{kd^zU(k)u(9J?R2ng<5=)H],gK0z?ZKjSL<,gV7r:A7DzYvg$Z:bNis!/c+/v%w<uCv>hkst|u=Jl><nj%G:B(!9Ecn*6dk$2_iPsc:$:.@ynbJ$po@]zc3gSe3<:[f{rV`m1clekPBW@X.OwhbhpbU87!x)GJ9Y,/=RJMaK;M,(zL}g2cuGJi/7C)Z1:Kw3Vrw]wD`3[=|h4.ZlK.+C8z.oEztge3eo{\"Q6XW4X#@BtIK4dnmC\"5!x>8blJp]g]m:XJh9ujpS@L8Lq(Q(f2_y~S<Gi].Zt/Rl$E8($;E=0brNMpmjs6U]0=n?$)*7>^E=7St8Un!v$S0^2\"xem5AgDL,Zp.fb|_lc}SmS<{A4GB!l1J`+D2&O}{d=8q?1bd,3.`>x8p*f.`Lae3)3S`_7L/e.*ayMl!Y^;N\"+f.g,y|rU*[$*.4D7*|Q1;+Oj87y>^&U&pI3|XZ;Ec0s>F+pj*RX`@?I_r`],NY)=D`3[Y0[/J:n?SHIl}X2h.h%|O9>${j`ls2ex4BC.Y%lyu%C{Hf4(Ckj3B~0L]0bnz?Whp~\"y9$TDM]{X7<e#/e1|L+dpu+,1D@w{$VM0}UV#.Zrk/yY6U[ygkBU&/;NO`,a(UTGv5,>OE{v|M)*3>ZKE{*t*7;Nm^V*j^yx/59?$vUAOozi\"gUtGh<d^xw2Ly24XL*9qB0hZ./)`IyIj$3QXNb:##E)yXI(qs>0mVyRPU=:aDN;Kj$[)S90qJWemE15)L%_I5tb+tBZvh(Tfev1)%1=Lgnto,mrIbxUfpJ>^WrDi>nV9S;Lq5!{(C,nVAz6P&rRhCvLKh+s~jS_]puF=jig5V%hG]x^m)O1!C@iF)y+;>*c_kowi[RbJdOsR_MG5g<NOA];eFnCj#&U]k[AJ\"3jVEOV9rV\"3\"T&s?/)>>MpNb[yg29:<4t_;Q^=yA\"P1qve{QRl2O;S[q!1T:E[jq^\"jhd[|Cz$H+fAOozwcG_GH<.24H:892zjVfFSA~q(+<2NO9RKn6<4lbPunFx@.3hK<XmAqxOBH1|}PXO|22hwno,{nc8@.Ho:[|)23B{m2O+vL3oc>.LT#lW)_CL=V#h..r~supkQFW($xVEyQxo$L3>x;U+P?=wJ+j4`kaG?53xk)nE|%ssiGJVH0LuK>JkHb|0.s/~B#iBwO~/vPjyyOg{NINvnq0H5Y^WdY?Zx+[;yWDHrCl`NPZDwO/Y1l0L[oEwENry{*8l$m/HZ~=8Hkg+<0`,6{1o*UU[1)DeN0DjLg}vy`T>5$LNnC~gN%P?#w?72_q3rIx2c0~\"<XBWO<MeE(f:H=T}K+;IKDRTCnh4QVjV=_t`GFVS51eyoogtmS./om~Vv[g6Q\"+{P9qi!,:8>$t1F4x_9!S5F9n[LeT).H<rf5mj]9TL37gmx}l$phMe8iIsHSEJ;{_apxus`i5W`mO/c(wWdc6Ir!%Zn.<XA}Hy19[(r>eP`Wjq)ycMn4.W}^s|iR+8U8s$!]PB1k_ogt,W:0TP9t!Y_5De:e~)!qQ\"#R`e~)Is#d#F({+1PK7oB%<E<lEP*[*ebiLy3Cz1#YcVq@oREHQ{kRX9QWz,uE#L\"$gF]!NBx,/6g$f(`>rsN5{.uVa4ttq8gGtMihIP\"Yv`Jt<\"QWZ{mh4;wmFl>[Xij!SldG0Z\"r@xmYqo#eoe!Vx8nnHdz6O6[Ne6Y0N)(Y(8uK~yKV(v@y/ZW/JMptxweYyIg,ynUQ)is=+nrSjF6Up5aD`KHx9^T2:IRYF5nPdK@WwzA(:9X!_TPW$wl+,,)8Z.,G|V<iP2JhtiG8]sy`Vx[T.<x`>ankji:@^o!(V%d=ZgTv,@w.h]!Ll6oek3,L%x,_V]lzvOwoOJgsVRDNyL9F}vmm0wEGj+<wi9>aVmRIpQ7I$!/aHBFgSeIZxWM1Wj~a[k0kzTk5*sS=>+a2[Wq5bO}^ZnUOf8zwYY&^]e4!`KV]u@HO!E_YUYx|)W>?dXD*aqpF6V>H2vjt]9{SSk(n0cvi@cKHO[_@zDFw0NWCM]LI0cvtDxS]/hB{N50!;.hBmZgOYf7x?5Com&OvmaNBsVfUkS5ihW)2KDEA.ukHeF#tGP#5rE5?f>9y_<lV+q+2SzSO8+?r[h.O$IC~vF/z`{rP?_9t|xzH[R:hQW4a}x5)PlYfOR0I#*ai@KY8@JNMPL.y8G^g^K+[d>eo$M}]EL.saWOH!cMa&1k,u}rC3OO0ZbZFFN(wwZkxJM:b;i)]\"A:%QOi897;dH9]$txmR)mMf&MP[ZIaUhQH6NC<rgk&DUDwcMa4c#*KBK6M[y=>+O=Gw7])8hiTXqd%j1S_I&8gxX1z;4,wmQ!0I(wo0726v@bMap,++.jK+B@qoJ*npajp,#`gc[@mRzp\"5u,9XZn[!}c~jZ$X&ZgX0E:xm=4nLG3F{QHqhYAoOwvLncI[*DdN,50rV{@6~75ng&p&Nv!B}d9Na%gFlR(3!n|z{1{6(F[bi_<;K(:@uxgH``&m*q|YQuZQRh,@=UwbarDg},QKNMya6*w<f0o<ilF])4w9*IwC@S&YbeD#dUwV0X2:xmR#*$IsR#*cjV+ecK;Cm7bX;Xux`d>cl2Ew?osW;{8o*Ke3wbG}!3*WTc,aO|c*3g~<SX{=OLeuh&gf2Tj`vgMAJEAQ5AAMOZtjX3uRDdLx#P4DtB![8I!nz}McxF6lxWR})vLAAAAAA.M]he+{fY8<KgADu)>duc6d{D\":`.{2*D~~:g;@(=Pe,ADFzHr+#$<llJrM$iv[qAr/UQs,+>1N?mY_9N!50OII2WI@ePX>W#8F`M.s2Re@DaPPc]YU{bCOuJi*~>t:ZrDf`af\"1N`%3l&aEk!(l(8[P,n3(3h,cq`bYmOV9fkb|PE/`8n>!1:hyWp{h%?^^nuo:T=eV)!YE^7|oPZ`n*/8N5hv.?{Jn;^/mIdLnbxdsm+XK\"x}oaSoRU8U5TT;Ect5*7a&cSy^g)\"oTN83[J!Nk*{T4Y68U>[apb<I_Qb;1\"`2+ghb{XZlbRJP9%2Nfz{tHTP8H:26vEwI<U>>_3?jJTO9MBxph7H6+./,aIg;N_fU[8L];qW8D98:SV[7W$i_U6YYJn7%^~$IaGnpI^mkz)n`MMBhV+5KEs_3Ru>A5UF:g]W<7$yI&]AF|S~uo&kpCVW4x+Z>fOV7nb+{.d:dT).Uua.%2}SzBzq<P\"Rvi[n,hzry_k:@EMXA9}Bo)lXqz_zYtTJ=(?.hnRT)6dD=X)blO7rR!bMy}a4:_W`%+]@fN?N,6zms`[Xm,7WM:<W8k|jZ0zE0MdWoT>JBWBA+oZvrgFu$l!9n;=R3aY1T&?lW:S)Y~&$?ca}9OA,s\"6da|v@txgE~^z;ge$`aTfjsEaYpq)^`|RC8Hv>f#M]J`g/$c$FpaJ+KVZJ}5xpg8@+^tPnL{.96MbaXlZt=J23}N4b^<U)^ZvyhTMIw~GDVImKMHI4ZZ3vexAHSTo_0FA_#ATrX>_8|rwMN<mzMP=8[`m@6w>28X58FNH;u`oz@A}:~bujbIkfVO(tw6QgW<H>Cpc4vHl3ouOxGOXWK_OnrP5?[8bn1w?8t46.c]CU0y8)7U>?WBrhhxb(RfhvmDJIhRI9g%eZJT;J;Xurl%mH]dXIP&]4T$i6F):dVB\"uzZNN;8+uh7j)B)*jogSMW_CKciRq^C/.H6CyRgLx[IqG<rE/Bw|.Xfy,&).<*)Nv\"](Y=3yKMe>0]kY#jqgt5g]bO1Y{Vz]XP6[liDV09g%}^R*^71gRw({@&.]1QX?0S~Uo917p{mIggFc4/>\".h+@K13?</Dxfw<~pP1G1M{b]P~pNuK0Mbw?g:!NAN)aG[8h?BNHT?SQX7bq[;GE7wcFUQQXY)tguT^y,v>zwC5z`{`$79D&&HM,7?V#(:trh|,8d:%\"aoq7@<hedasC%%n}\"/e68YshaY$sd22PsEt(2pzB~)u>(&)2cg?m8$4<2|[<*6]^*/o.owyBAd+Ls{|(`ND|ROj|5{[>@(=~/(*c=Ls@qw88_a^j9w~F;8V_gQ4,m|cH6lS6h)>FU[2<)fS/KLBq3un.RzdW%*~UC,[!5Syi(w8pWKCEv2:ffKm$219o=`z#ap^&bG$HHj^FK;_r*j+oGlUY`yQ2?|PT`%HAzJ1>#Gjy*$6)K4;n&84r?~M88vO\"4+0uiKykZCyw4%OW~*h><\"*y&zF|5uQlnK<ac##hMn|ki04_=du)<_t[]YG1g0o%~VIP%xd.PGKb6{z,RA[aTda3s8g/={E:NSAn8Y&|O67N$=6=OgfBmVYQ4sz4~eNWBmqy):&GxZbIun!cm2imyl938!UR=b45Gij4nf[Wwj0r+^:Xx_s~#W;pTT#bFAEmNeao!D[@p#MBL4rHqu7C}9d<=|/b88ez!/nqARRE,[h;kD<xuDj?pX)}t;?e;G!~g*<[+i4}iQlqv*zl]<omr{heKt^Tk.f>a#HC=@).j9I\"#O882c{!wh<_qnI@9\"4GJX_McN)gi>?}[ofC{RKKF~ZINsK^HzGY^0+ma~RqTocd!hAS#%9rV,X3lTK[F9+pxU?v,GNzmy=:mYL]m:`9R#z184ZDl/8,6[NgYb^8zH;OD3#&BTu9bB_(jTC^)bOeXjwwY3z6J>44:A,0Dj,2fBkCJ(7,D3vi>#u=hYGwS4X6iwU]T.0U#x3S83XHELG6rh]Go3\"^3bP2q]P~:u,S&!|*V,HFNI^zz!jeT8b(BmT,6b)XNaR!(U@J~J1g|pz6z>VLs{DN^bLd7;*6$QO#8H|z/WOF]:%uC%<8fM%XDjewc}X,og|<Y4/a$;$t*:q2nW[LZPZ9n^c4XN%zk5`,+^\"54>d0Hd:Up~D4gjgR7)24Tv)eD]aK{]Wywd1[~EPkUbvV^cqte9Ke`dV\"kP#9~E:59OJQ{Xfqf/U>7/GIX1K1!baH;~ySSfl7fO2G51KT{}7]>$]E7zjLa1&E.x[Y#U%=MwH${}C$=%;Bpg#)~H.c|{L8iuP]jL>WWq[xoE8[bRdJ<,}dgRo;Yy4+k}tlnSC8|e/f=y:a.Bl1zyFhwV(VT=Xe6Y[`5iBx21*UOZm@YZ*@0I(nat1^qOW{.HIR8K62~xP_5_KQQ.qkMu~b}21EgUEKjFRW$h|aH7wdn_CflL&@^0Vqm{=$%t.Y:MC,W~?x9Sf&pf[czuIkHFXHXj{8z|~Rardg!Yawfs7mJCS26\"v;wu]wbQx=?N#[e{Mzr%@W%.:Bd}#}i@u(gV4e_,w{IjB:XYY3Jp](~vG&:odq9!D!T\"EDo3`==me6vn+ZD>]uXu]5QH5(jV<=t/cFmrc5*\"#d;z.XOOG)N~4R%Z`m@,|L#Zbm,S*d]34taHJD._5Y+gIy:M(|}ghf]P+Mef~OrqWFGut;Ph2@MpNj&\"lHn$o1Xj^;d5@4;],d/+4#Prs?XiwZI.Q:c1]zUK:IcO7W4aduZPo:%?F`Ewsm&i@zV,:[Lil&%D}v@YpFuPTEC?,Z3%xH3H54B*iuHvTEw)_RSM0(x(e`6P#i!Pc=t3FBYH!uIfB,v.PA=8fpu}xECv^,ZRH*T<>,fQ7fV(9wHn6nihCS`Mr&)CW.gd|XRyj\"61mB[WP$@!d(^ytycXs*f+cmezRl%>Cx2[vsAJ_5~,e9LsvrKWu,Vh$Ol\"tA}+n7tN{.6u^MC|1#r=0]IUT4F3Q>He9nDGj09QI{Pb@@z|C6OQ@Q{w`|2~\"_z\"H1dT2=[1oK>7#3NdiIp/,gB7spIQ,WC.rKO3Y8]_VO)m6N!gMjX*McO+6T},o85?,3q56^.y5}\"5PN?3jYY&4}{i}~_C+NX:vNLWNvT;Jb=v,r*7F!mM3eVw9_lJ&ys_v<ZeJeDEL(!,4FW3},Hz3y8bDciQ0+B:270W>$}n&(Y$z?x\"CN>x!`0DIp_`cwK17GSbeM_v:U=Is[+((k;,t|u\"DOh2f&;(<JoR_BndCJu8vA|C)yy6nl>]lCIGXciR<N9P5.gE<q9ma{Yu[h8sz=y8v=ln\"?tC~o#j&I2Mh{{`eIv>fTKNr;c?g$Gqy@Xd2W=U6D\"Z40*p`Q/zi.UW/yWZ?wSe51%yiEuGi)k[D741<5{~`\"W:x,J1sLzgU?j),,,s&S]=,%oEQWV>1$!3x>P)!:LL|f][B2:/JzK8ENg\"{%^a**5Wr>fPenOO^dt\"=P&8rNe]=U.[ChsheL<n$2ZYE+v$8hY\"mf*z~j!k=#Fa;>JI,Erwd&Lc%Je(<R&Y:7Hq(FfpPZuput}YeD2uO|#S6*z10GvsCW[_P(+4J*?sU:Lvv!0{&u?b`5RhIH^E\"Mkv*(Bg_&JxLQ&w?k!f`l1`BZM5`T=h}Hdr<J3M/f/7LzllXc^C<`y/G<vnYI|G^Z1^WUJV\"b78G6_RVTsj1I}+ya$,9RotQw>[pFz{.:_xI;$tS`0DBpcM$vCa6eS>\"TD`LcRh(~ZEG.kq{!;T\"$BsrrAu<=}ExG)jUF3T;I41ANsZl\"_#h^NU=Z,kZQ@]DG:9L!q\"h|ZY+4nVXU09U1ZP)X]1oXG##D<^Q|lx]YZzJ)sAB&O<`a84T]>&8z::z_FKD?:,tl$ts~)QR?E[~+2^L}>\"&b]LJEO.sx9;R?#Z#Pa.W,$:)*5PXL>nKM#1bMLQozBw|3GrDyiOlc;zU($4OP=hRVi5kxE~8Vi#X;z]m,v}ZX2?NY/h*j(r1AF&:vzO0ZVB*yu<`vzxnuLye9IApVX@*ZUP;SewyLTz`{.PBS+xh;6fqPGc:4[@^MVMhxh$`Hx{t7F>oTEvTtVHO>q{JDfM|xE9~:8tVuP5^=,P3>J=qX&<+?u!NQB>e@v@/jE2tY7w|ozC5Tu5R~R(U!x#n~4vC.6y~<vI9DT*>i#+%}$b=o_c;)[GUznOpB3VpknSD87?%nu}]9@!l^.L.{#{s4X]ju76,$($gW8}@bhcIP|JmoQPX@?vXw>RfP9<_ZU^i)<oT)BhZ\"XEBqyV;nLCi<fp?vn0:aSMyW^sNYP_Tylca#Zox0DC,f3b~}[TKU9OBSR}=}3qRSN9]pDr7ux@)oT7W}HILpdL*p(!!evs9anB9SaOHC(fkdj}U)Wnc79wl<B?@Xr4V!;eTkXi?r,P!7xnKVHLLo_v_wptG6]a#?h5HwVn!:MUFzwuI*#Z1hPr%9.>WhB!|.h/|FO<t?$!GPD6S#wYC>jWL[{H2.Je/?(XTf6}57acJ8=sV2_B2^$O_}Xc@M5UP4nY)^y<4.7>,YLwCt12veyZ&e:@&a4~z0QhutS7y@Qj*h{EQn~!cg]NY.ImV/O!_Seq=w6rJB522C6L+6Wx:Af@f[;X#}`MsEZw?T@8co*zWY@+fxrq<wj>``cBzq.s;gHJ17@H%JQE&:m1$AQ4#vQT{MG06{OW3qpT=yl,5]=3_F{9h^cA!L+X}%=V}e%7S:8D1P7N}l=K/#Z^EMr`hBzR^)c,h(<&szO}FxHVoyc`Bx]HGATh7)EDF4,ykU7Sd!N@8/X7L>wM0olX1A`\"h6Tzq{=[S|@?zv4ZpfrB1C4v?0o#;*f@A,xwn]_ria%zopMe]QUIO*)x#Ad~T%.%iS\"pappJdZn$OnBQ@iwq@nK25#(+[F?rwz=D|H^^$R)yS|B.~.2=1=YxR=unTY}=SQMuWpqkk*+&)2\"@x/r)wL{gu>=Y6t86x?6+x&hYIf5R{[9!F;YIk4[JF.v_xVt#:EwVBFZpPj#W?9qd:?qmKx9v4C#?[0`g^Dnr/M<1=KhHv8IxiHDV/!S!U&#M4}0~,=/1,T>;#/Ag,0CqORy`i*YT+O`Lv8!Jr7M#,a:Bui8uFj95o;9Dk1\"%dloTWtE2_xy(A!Z`1UDtp9iF[_/jM8O~,bYR8p|n@;Po{V}/3n:MBt%tv@T(Ha(C/6\"DqrevHwX=NVzK>U<xELf1u#!~as*]*C^^ybXG,]C(#80GD7&:aWT_8p&B\"0a#GuQZ.idf&(p4V/u7UmtZa[:Nm92}kt*zg3Sbq,tA&>?!7B0a+vf+B\"F1Hb=31H4MX5ef?L|Sttmj)[jQ6rywb2,*PW$&vZ{nrTAmwQ9&.R5qq\"`?*4$iov$r+T![W8B)2Wv)[Zt[Tt5V[MYj[?W|L!c|1o*ERSNS0Zj8JZ#%z,C~)}ZMezO^r\"i/ue<=hUa/5fhB~Jm?>08J<$aETBdsHrUb_u,j}2>_kMKE;1fE/LM3*x&S{f5/W!~X$r_Y0[$F.jkgZ{m=N+llTZh5vDKb/rVn>bxKKkH{:*^88FhyR;FX{^frU=B5K6OlrGuw|a&DE{\"[~/DxU)QS%}Az>J:_#){h%A:_F:t%qX_Q,lb/hH1>m4HmtbYp?^W1Utfq5(mxiIaWF8$mwdw3K#]e=uneN2kNA8<?8?LEsd)%6l!\"NtRIDaourl^udU>FLz;<o0>*n;f6k}CN$71C^7xPw_EpXl+fKE+2tg0g*dkR@:}x@>zJ3)LLiih\"I!*vW{^yoY?DhF/clo&|6;QcQD[T;G%4IN)7#6A?+q2dp8%66O|h27|p(9wW9DE`<X3j0a\"[>i{U5W)Q:TZfT+KosmUb>[1_)nMv#/I5Hl:aLS)lsWI^O`[=3x7p{dpL*GXx}mQvx+R8|2XD8:mv)x?2n3WOmhT(<Ar645>p27.x?=%^7y1PCXX/{7nHM(^Uf2l0*V];|/(3G?G1FY}29PH@<8JVtI>2A\"<d!83{c*(>IH^#|dX<$~&Z7p?hR?pIoK&\"vv3e$akKoJSBIRMCd4G<I!U=)M!5$z1T0]u`mg!oTD!0/+@)$6=A6C{BC@W?6*RfF$tWt4GKh5Kb,qR*\"|eq`Bn;g%a,2X&!]_5`Q5la!Zx;!E?8ww/vTdYU#k(sYHZ+{Vh5*,26D7%euJJu2h&zF_ULP.=9`,y.EDt>XREe_oCY)oEA!}~*N9{uT<\"#?WoI8.l5HG`$q|g}1`{C~Fk=4yxEOQ_A:>H_oL94>Dr:QXu:Yv5w&dx9lX.0s/=ZM1z/J37BE,^dfQ@_oycYb>}O0zJn7#^JvNHLf%tLXkIqpe4RrxO3V[2$Y?F1@l|x2)oUO=L^d%7kPU1}PmE#6)gX+>$pl`*X;Be&Fj[~SR0q&O6%#qVm@{]n82$vF\"UKQu5;jmj5*/GmL5dKh|`q2Ayc[HDtqVbQ}U{{9&VN[j(2?~_v|`GYY?*V@js)?zUy~u$iHA1)$T{=_%*]SV{j:!h}7T=l!J7xBG5fV4fXc[G$m&2EML{#G6+dxLrW_|zk,<lDP[+=Ewwe\"RM!bZuw8FS_i(!rZQFP=;F72N<2we=jw+]Qh)6kSSxLYkMmYjW*e0b>6[e<&C0hdHa_iKqV9&d`s*CDcH\"MY<77SxnvgZq+6)P?j*56Qy)d(|LtwE))sLlGWZZRJdHX~;<JebuVS5Lezu<_@h<J&*t%v*ng|^smiy&h9]YqqmGCg`\"$H>Y2:)Aq8aMv/gFnS2IeQ3+YA]=8+a,2|i.H5zfl&vMpqjz43C`cm=CX)y$ZGm=J38:h\"6}c*O*q\"XvYnz$C(iJXLG:XE\"Ho0xert3u,|/xmn+Ag%iW7FUp`K]<xq,5BEmmrGCh}/9,S4B7Bg_]DmJQzsV;qoe2%p/`F>>THW/5W#>2BFE.6pG/>P[$^n[R#^bOb?%E6X%O,ok_&,~f?Q9Ob?G!p<yk+i.R}n?)$q*Gx4tRGkXVJ,dHZ7kdb#[q%Mk#YDX6#*pd`4@3EepOO;s,7^X(|xW~IlW8%qAP\"GY1[Kj=PyUP`D&_|@V9,mMV/xBu!Eq\";&N<&}<%W<M!5Q[/449lgB#dbBLx`%(XX=zMB]UKX:8l!%1,?^{jV{Z<qvz]?#W8$(6BHx4``vD\"WM_{2/z*ERI$jB(om8SgNy6X)F:+@M#V=SFE)hO!e?kCqIn?_YGy.[DdvS<PV{FNG?StUZ}4bI>3:<Q[O#eT8a#Q=G;T}f4o[m0581C%twh{VbCf9#nDkJ9|e+}V~d_B+CJ)_vvN@=j.)iqc{ty;r^.OaDFJ[R>Y}S\"PoFNHv[t%7SY~vXV\"ZS|t8k$y]1w8X#x<wi;.|vWx~Oo0b}Um[^MZF_>[J,Z!(sx*55rIJj,v&f>,n4_,e^$$}Cq8(GBD)KuTgS%XV$~}l3]Q:;k%N!LBx4{?x:hKw3Gx*W[S1x}9n6IthO^4J%haY5IL!pD%itQ$`]1ml7])~1#C5*|z+X!0]>75KQf]=@Pu7iC\"aZKY=wg458y59bc==/jh,~FwG^;s=:5Z9sO4R5O(5Qm(jDZexG$?MBaxfB`yU|(%aa>}1+;tx<qht}Y=*_bc@>}<%Nz\"S$R8~NJN>e?~_1!U\"&9DGf%{~{5LD|f:1qQ\"<_)$*4&h{rM+^P/hy^5n20a}^5Jp}UH9]}JO!c8<9VvQSBrS%?o_!.}|cn+#eJwrb]jh!+ey_rcw{`_bU_5ayl\"]myJDfCo_1DmC^`qZnXs?dvVOS)5KNC71_#C62gz)+^v_|Vr)Zjps/>.|>]p22V+(LwN~GO[e9aqm]Qb0Z+XtFO<RF_s<}ZTBHw+f\"\"q^w[_lNy9V[coecDm<ODc:N9}JTISL\"(0zazgNBU,:0D^WWU^*f*U]Yw]6U<2\":J11xHsAZ%$fSk#CY5$rU\"(@tJB?!=8EK|qN7{*ya+47+08}s!f>yNnsgoKKg:N9w`]88FsK0O`4_e]HmS>Vw6,NJqxOKdyGIx!7xav==nCb~v@]~j)X0A#zaUB_pmI0+p43z`#\"a4}_RBooK=7i1fqXrgbvYGoFh!BC_d$!(v9<_v7`hn_=c1a&}6JnR!y}ou8T_FB{wf[ZM8(K2CU;T3jELNQ1}N/*}!9@Z+kY|pR(J%/9w]5z&g4/~HCY_/!5!?Q:P5f7qiI)hQ)%nh84dSjpQ6mmw[Q|nqIU(SabrO}Yv*,P2p%K%I4ccp\"mJn$k;l?G1YK,/Oq]z;?3jt[lBU]>F=h/GmV!;{m{wOPMG.6%enQE9=_y*Qn?;WF%$oz?y^dvM23?XkT_r!JQF^lwJX4hF*pkw9@P/=pO&$54.mu:%>oO(V.%Yag`p<D6o/%%>O~;<FPSA>xv@8p1Z5x9Se,+!ekyByqRJ|@e+s;+uC+JCrOM@bGB1gd+QgvJX*5*6io[t6s{&OVNJ}aGXDRcmq2AW;4%^<rG\"4Sv7{ntYyH5:q>,e+|=h/_jl^HS]}v5ezk1y|NnMqs3hXlIPHEG7Q38WXnmz&co<Jo^oxA`,<4L8g6~UlcbX:IqWT4Zm1bvN_I%3:di5$@)dCamMW`cTM!S(}<B#=hdxKYZ/L#g](^Lrna~iCV*Nsj^L9dLbhfE06BEbobv^gG3wj*FX|Eq,=0m}NVOM:rid@sn32z%J.S`o1Ql*`Mm(DQ<9d5Myr1)~gF(aY9zP*65kqY5Xji&muP4u}[));OUY`@8wxnFnJUbBXNIXp~[g~gf=PY}2jbEo*ejv#L\"dHX~m:0t*D>]z_>)GD{.?8S(t5HS`4^Q:BDis^C&5`.sg&43n9j(U_Wayp=#wR=8Wt|AYf3_K_=J!:F2#dm$v`#GO+%`6V#VW[KzoiR!{F%BdE]S6NmSR*0,9v\"M_u2#r5[dN^L..D/81g1S)Rz@>u.~rFExh<S,It9VoluQ.2Q@FH\"k}>B&8g<kpfUDnB>tS<p%9MBTHt[N~t6`l;_5@dK3d<eWy/S(syLRFvjB]=RD(1p]g(7}o:K?z$DhQwnU@x0sGSsz<mP2p,9Nfk~d7c{<cgaJ~$;]R$3%A0hI:[i*1%CH~La=7*=Shw/<E\"UF+K[gX]$9mlI]fq1tXfU9o&Sti/G7EI`Q5Jm~MF8uo9MN({AZ<<0B9M=ZyoI2II$/cjm2#j9T+!GsB{UFw\"@5*,/R/)7Al0H~8nQL0g==)mf[uID:o9iv?^f9k6IVDze<hUb$:eWaaf7k_>I/DFhkC{k}ORe7E9iyX]P#&\":YW,hn:R+WM2X^0*q}5}4vZJD)2:Ciw#&{itN6<l4#KD:pGGrQ/W(9[vi4>)<kIv&Z!j(lcCy`cp94+s|<BjHszVxy8ANa`OA[35=7V4QFN>d*/dF;wgE8+^Jy(j9P%dkzfq}8HE*[TTk_3`E%tRoc[99L^/>>B1Stte9&7bc3?pZ)[Y&fH`8<w%/Or%4f,>{N>HnYSyC/oibzPa`~5m8m4teK4?,q)&HYPi_vSGI(M88f+0w4k$%Bj6Z*k~iRzS_p@L9[ZROzE+Gd[#]DQD=I)4p>j=:kd;lPee<L+ES!OFiu(HRuw]C|g%=p7yEQwUh|#;ZP[%!<?.Fr_sF8B{(Hv5&|}i4kF~}HwWQo8YY|1Qb5ZpJ|jqyb$&X3dHCgtAQowkt:2}1Im0PRCi,TWvj#/v,~kMR<Q&n?n_l$$ese/qeZs4^ZHCk3jfqk=`ieCC7*rB{:eu2jxk(_p[Hc(#O510[}#(r+#Nq<IR`%TsJKH#&0+CDK|uZz?x6W*YX<$W}wcfP:&+9%j%zOC0`i?H7h!k#iLGENMnQ=~FAX?]m*8zPS!7jEwr7sXcTZW@4&ivNuJm>=N8nLYbqOxO\"&=^,\".v56O@/i)<r2WNF+|L}d=u8z1%ajZF/H@Wh$8{C@#AP{~eH)p)>,EwS7={z;d*@be]jv(viB1U/`,!u)~rRr(}iT||Eo*F2!A2}Y6d=T<^/Dz1O:DB0]Q{[/=lHk*WlejT\"JR=]do+B,%H`A3b4UeQU>]&0_!3%u67nd!$HMzryCwC.#[L|TXcFm|sC!GrqGC*5+D~t(oB0$#kn\"bwz4t+gnR{|X~S|R1Ik/MEmEK\"mr(/,ZWD6?(YpmauyFX4w~=C]Xr`Golk1CbYVJbE9g*CJAr,^1s\"5xSK9\"{@V21*Xh>G+6JDY>EjYv&lUiH;rbs?`KPiPa^Y[<EWY==?l?Cad#]*>xng[Nc?_s7W2=`{6[P_C]X5wk=ia)(sBC}neYo\"62;HlC.[Uw5m$[)YO85wM!!WXg4MoEucf?S|Co$?SAo!d7OrvvH}kxd!8ruDtM3|JlXv7iZB)#:ug,Tq7pNG~!zQu,Xq6p.u]*d6Rj7?etHV68mKVQ2L$W!%+HxNf6g?2+]>PNm6JLJURd4Monxi`yF/3XY~{[jj)}.hrbY=Ui}_j!e4_|noa}>GVy{!t=Pf&bnr.zex7_6&xAlybg1P2#k2L_8qsIUnNX}FC;G.)upyo%b0tE(rdRGXmNkzSF2Ll[OnOWwrf4>ir}wD949R#pfjqF}wVfm~}&efQch].+vLs=2qh4VuJp<u|1L}f$oMnI_mWmB`sE%VOu6k6Tlb5P$@tC>J8d//k&ea.8i:tX*yog,Z34z|hV~X.Ud^>wi}jZtTQi6UlDSfMMfYj7B~?v1U[$fEaBrQy\"bVl5!q6Dq9<;=:^Ok7B^|i9`r}.<oYc<?{wG#}!;(z3k8O]Ru61Fd?IvZD6It}Fg)N[)(E`GF}K?7>zeO1bmUj*@VLR*gcXyWhd;fUyZk,n/u/!^I%tDHF>ol%*1o@b(DhsAd.G5uEwHHN:XZwvy?j+q%}%6m%_Kt8Fscgzf{,)SUz3h&bCbxeR>Ou9`ERzfVRVvvUqDxq{a1{}Wv{I^k/PDDNnqdjF7I^_1m9;Tjf4=?T!/yG4au>:r97aN>&^XsX%WcCuN0lY:{/MQgyJW8Nwp`<YsN7*d.(b0n[1>umAt?V&f;;3\"4^,g>i`t@}1rMjjcja:LM,CvGDV0|/qk^^ypOkm5[]TO>)zbTeF^c:uSS46Cz~Ff$DlB~jpdRBP>cO|*Twa$]^dj|cJ*9;`5Z*Ok]GnHw:*X$X(vM5Rjiq&j=S+=XB;PLl)c44+`{A:RW6uFvQrLdh)U(L6:hb`e/joxm)#yr+3O#J7Pmo#+%J{^r)siXP]ADWs_`GQyy3P;9c=`%;/b<rrHDzn9^hlLs03V0\"MkoZcs@Ak/vjJ,y$YBvEZ&o;&AJSYnk/hD(CL@lS{jCs96([la75_=WQXq[CYISM]yRwBaxF^ZW/m:i}l(de;]v6lnexYdKlq0C.XFTwdn4I<CXI<!yel66lC4~?,U,n;K7vyK5U(dHLtf(3d7n8SAlZ`OLh^}(0<D>28DL35^:(>L8J8f}R<D$RMa.rI$GDK~6PGZ`{*MVvU!0a&1E$|cobrZ7Qg4`,lB&}CK~dy0!D>u4zP%V$CUs[JvBmEZMHD.XSx%def*<3eHt%bDP6dp$EnM>?RLwaBL`4v9]/fQq6Uo]cT>]fcIm~Gd;?Bqv@mc;3X0vT}1|sz&^kGi7lRkJiG}.gNY%Oal*IS{@?\"NW0[f?rgC.\"L:Dy(6/KmdBizB3T_a?=gF}q^l/Xxlr(h<,%{Va>H(wAIoTJZ88t,*|fBiQall5T&9V@6Hh+9&k]T*LF|X.rm]2L,Jg*3Ao\"4W<sbuS~>Z9rH28H9f.3]cqO5ay4IIf#u=1~OBctZm06[gV3G)7U}3V8_;o,%R#YPw]V&tpBuA]RZM]@`v#]dj)sR?LbtG)Nl]k:T5aah.mZTY)U~j9<uZ8gqyFgDPY?ZdHjkn`2tvcQ.sRp`tU:k+%lwTQwj%*~@hJA~uM020D9*XO?f,Q7~~kxU5RFO9mfc`B,e4kE+.xqh8@1+%b*v^9_chH]M.5[wA04(inaDkjUL\"J2`4fCLrG)uiUA;F4;=GeK]R%[Da/eI&My{?@]=p=.9@{w`n(otWfPn:vC)0vg:?o\"hD!96(K/H*XOF5$93{d+SQu3v0sr.(J@v`m54:utO[(G.MF!,HU#^(GdQ|P3mi9m0t1\"e6XfcPt3x534Qpw7J3{J?JR:)D4le=;@{e)8J(@4F4q]+lu<wqDu63Bg_elT.pmes!L?Y#Yci?Q}d^TLNjrKmQeTk0*bJHU!0su`L+``m6<{IpN@~_PIBQor~Bo)y.[?g&d`!To@bH+Qz,R\"1e{hEkGS*0:}@N>AI47RamRyc.`.uPG1PO31M_/@?Pv4%zjzjFnx}Ij&7WQ*O2(pFSm+2uh`0XPB+Y+PY8u<s&PSmY2,)X:2>;eoUZ:>>D(t:m*``(aYqt@Y{kxzUM}hGqIToKUS#n[Vi(oIzR(;ub*xps=>8O=#+$n*%eFqoNf<5C=56pe]!P+WotMq|Bu\"$$[mtDS.t!h@alk,lj9p1q!Zr5ST8L:noVVzx~[0#;KJK:OZ;;i~%p49>\"|l5Y!}cw)RpZ$P#S&f,{hCq0=|=fxQ5_mTiQWqzK(9Q4ZP:i!TVE%woC2&AGQmRRi6z/lzwKCS;o|(]DP#_m5DNGGMgQ[tqRHddM}ql_,/r<wR2xMF&\"Q+hJbITe&&F0b],>l~H~9&&c#T9hGuS??p37g&?.!Z(A+6[)]W7.s+.Ss*sVIzfQZFD%WSpAmEh6zzs!Z*n%km=,x#kz%s=b0O}1/u)bZp8lT$JXKdD9K[R2^O0j#G(Y<vmu%vLLG3]556B%vPIPk(/)0|E)5TvD?i9}4}XopuULp+qixm4tlwGx$L)]~&6YC*ht6RI?v`c:.tpw%5O?/gR|9>yr0R<S8W\"0#znZXXTkCQSM}G)MAs1}Tqc)Ju#%dGAbi1q]*A$?W.}lN(5O(VvuIAJwB4`M$4znHoM!xOCyMT;xy#uMH^XAXehE^V&jaK*X;;N.)\"8!W>Mn1KvSQ/(v=Ap].i88/A$wbJgGjB=3_6(F.3C\"3&4UB~[HZ4aokjtm6X(P4M#LM<TM;O?Qzzc&,bizWJ)pSmF!PEmek|:%w@xm^r*L/xR)lpk~36|Fg/l%fcl@mXWXzB!Ai~ue*AjE\"INP5eHA/Ed,ipvdbZW63)hP[qv)&FfSIjxTE6D?5S1087O.$oSw?C+vkcBT(zJ94[lb=Xgu$6dZ{\"fdtLrTHxbPMZNtLL[zq#<@WIFQ$4+}R#X/V}[:UzF{<5*y$DfoIg?tp1%wBGH9jDU2Rl[#B#y#_/k^W77Q##W9fR4$G)UW+Hp\"!ADVwOxLz!uxB@InO^n&H3XyPImI&if$2R(PY@wR.|<z;@8F+&}5cq?jT!QLxG*bcPCVw[Z>Q_YbALa_ac_THKSgml*_r|_\"c\"XlEZw5@K~59e5d(Nw<r<M$ub{zgtc^yDMQ*W,0$uE/\"gtnmv4Q+1L6L:OpM+V)t:HOc}7*D]Bmh_Pu95LYwwKMQp*!lu9}bl/mDoTGum49(.GcwS(F[K7}~3+4fkUXsPNU)(F>B3=.,S]Nj,zvOdzn~0TH{dk3a:TBB_E/Iha\";_k)F#^/x/;)v`0zuShqM_Q&;NMkQqwZ&tL[c<cK`AsI.?!0V83KoUr[H05hV`x>`h}Weg1`bO%O2OLs&O.,YTgMZWYa3=M>),#:^M;&k1P6)v(b@GeDdL&pS]=k/jole8dz;#={|mYbeL^dC~(CG|CB|f&3ec1Ho;Psz}!N{{etZmWbUgRxb*0w$j0yu,jB@|H]f8.5ZajQOnx>DVUN7Wh,6Ojr&QaBe5lVUAs1I/j#w:]VK_{ce_QTe5HN(N$,wt\"_X_d>|XCsKyDCw;}cK3@w[iDG{sq{7@E+Z:[[#oRBO..Jchc+hz`|7os;$fNB!:d/{.VdS))Ui$DO==_HgC2J_&ctW#@AD,w\"wJ%s&P;<,T]Q:Ph$@+X#RAf;h!tZTm)Rj_BX`6?<&sF8_VtHjDNYMdXR%l8!M_zMp(twJl#uPu,c]%cbg{6BXzVz2n&OUUh\"9();Hf6djDv,~T:e5J_HFsH=(RjrDQT<(x\"~:iwAWS<KBeV=S)Eeot~~K{C=^q#8<;g*Gp6<$E#[^4U|?7u;QEm`KZPC*Mh`>Oea:1lLY>suxI}778/>g?8`)H60}}DOl<Iaz,(C?aQP}nbbBpJ69>N^`2ug%Avsj#q%s3),)xe08`kY0IoFRxOHWL@O0k?lAAEg&matYT@vb,XM7Lu@nybOfMF{`;XeDJe[c#HRwqm)bJwqcb%WkWw(9C=q_=/THc1Q,U0cCLZWBs[_(IPRlvLUM&ck=pWnz2CC&C%,wbKZT]?dzl9>[tGjs!y;X)W5cyD`*7:@<LH,mwI&WT1;^iX$8LqzftT%}<<pE8$;v|j8u/LWQB`QB&+1UtfuwH*VhdIa9Gr}`3B|3JEpZe+5*y&q0jU~SlXhesma$Nti^V?sDlR;~.?<^SvmZv!Vs231;:&:D2]I)jHJfxoxILm?nE^HA,{N/):kje+B5S2yluQyAnHLeqRz*#|bGP!@(atxJqC.mD3Zr24N0n{]NIf\"6P}(XFjs7L?)/<3b@hb+JIZ_2=&FFT>rm,|5wJ]EE4;>{PuncLLIZkjz~;._2Q~6{JDk.6^OROG%qyR7:.pBKS$]{Jz\"rb}#L$nTK<!A.=wA[g.&P11kN:HbM?[Apbu1c$h]C:N6sPXX;7v;&CcjvCF7IzGqBgZc~9~`uD(\"e(RrWX|dO!%\"F`:r`f(m,zhx3a6)chrx@_V!)9zyEk4G?Ti^xOa9z6J$Cg$fguU{2(Wp+TQJT9o@LmZ{cM4YnPjPp^+wb\"V#+3YUL}lf^/Y528SrwyaS\"(P+R9oR&DcXwH%URf^XO<&xV\"5u>*BrX=LMNXNS4,Iprf@zgJE=@;=/i:oZkD=`NI>?/>+*}[Tj}V*;M6(b6;98RMs~wQF?H<_ejS~ulp}mD2~E)Sx=|GmuIIYxXu=aze|bRcDNq#qn;/./b>ag5.waee<EoH[<N4!/*`Z`%LOP3+x|b;tXCH>66[r%?><r)p##W,XDR|bjFacaC^+(TOS5Uduxn3tO_ts!q4rNyB`:f;U[2I<c0D>?m{Y_Gn=5<4uUNNDh2UE{lW6Izu(VC=rG,yGYY6D;Lsg{eH(f9iQ]zV\"P=:f73PGEg{oMX2>{>)4?FZ>|Jwaj%RHtanyKh1@O{8p?jO$7D:Y?PIO9HAvPE^tEPadR,]VL<;gE*}jdFqorFkI^#|tyLr\"mBg_MXQ*/zK.A<M}6OISWo.O`_mk>Wpay%R#X0>GmdjhF;.DQVqd({;;w+(1pq6LVI/x8/.,vyy}&Xe@ZY[hA=UCk#;{@LLWY9XdSKWa3lN?2ak^dirIBjV$M#YoRvx(QRs0`3`k|Bu#N!kp(0Fat_d_)YU53d@iKJNVw6}l\"o:I:E.F0j&^xO>KTZlnXJl*Z7.4no&_a*b!fT.=>c]7d8o:UtY.&n)>+l38+i?;a$#`<%Va{:;4obAuO;M7y(_@=L*4+SYieA`fE#Y#&Bt%7)S}h8j?Cx[<K7`]etekJ;wH0}iB\"Mz5/pQOoD7Q:;r7Wg^7]uD9~AMZNF[\"0RB+H.q;|4DQmV+)~<>8/6)O5kh0.5<r0<S;zfMKFSE5;xg0fO.9Z2oe&^m(SA_3;]~]]asHJg*lOaAD4KCK)`j6ET?:I)#J[ch{sxDr?u#tLt8W+!<_t}xZ<R^UQB6q/b#dJ)8#Qw|e;F4S_z.8Hnjf!Bu:<`IKVHB}a.PlSwm5Kv^;oq_C(QHEVt&J,p7K/rC8!a!Jjc*.%T$PwzF12)$agby?DE*8S44T0k)IqVIBV]1%56t1DZ4.UL^omQ_}Ruy:Kna>xn#D89[qgHm/XffJ.xPWdChNi3nG[TpWR(V?1[b./)%>c9[!erS22OTN4wW23[XP,}(M~_.PY{,:F[<.tgVPLP(HDa{;o2YUz:lht<oYZ1+eF$O?}7~O5$y)FDQ$+qmC>M4c,qw\"3Qj@^nC(y53^LtW9yp;:k(/8bDBrksmOkZ.Y;z5M6L)+6%w)q=Och@f|zB>4s_&v_1Ek}p%,ZHWo)*NA55&]rD8zB|{aYY[/;@Nr>kqoGjPHP@FW$|Wg.<OK`k{4Niqm~[(LS@BVwzt#[c>!>_@)%>~f@U,gG:fXrsc4<wc?4y?7*kuufPF!,_$o{$4j+UiNOr(#oX!_dhh0U5ub\"9ev?&j3^0e#^p!1Znj@jE.mr[{CtI6n,lro^lrIc4.bL|[hq9~X2YG&*P#4SeDZk}QzAoK]H#8xubQ;p~P?=n+m39rUz@K1Kg>[=O`I=AzCzJ>_GaCEP<Bb#S[Xj\";i+\"HKw1Y=VX55^)ZaE:wEUr%YWw8aw,&+H}l7%J>7w:u<Bc@g5u4@HKDPGz~~~}JHc\":I2_#mtS<9+cIo=?KL.4mjc]!C.$OO,?XOneuy\"~}YeI]m*b}X^<6BUu@}t~2W_3}.W_:hul{bXaiD^5qEFnR:b6B:e8`=%Jq<=4,y!9hLi>`rGs1;OR]IT.U$8t2fgOUOdImTUh8I8hkYAT8uwFHwjP;.zNl,9ZDo|*:kY:U!fm846xJ<JTt>i^Gvq$4CazUmT#U^HXOAJM*X%ov1=$s@3+LYR<$mCB,y!3_+bIy+y@e;dFeFmDQCits|A5/a+TA5$oQJm.lhO4r=~=7#*KOi_csU,^Om3iKd8(gE3CIpl/PTMW#0AAUUa.?.q{sYz&P56%gU!jei}Q|4|iEf#ouEJ8`gT<zRGU{oC$Lp(FA9G(}YTo&PkXKO(.4n)Mn5<W>$/d+EJoiq|zlNx<r%{?WQT_)Be|KSK$MX*:+VC1_Zxk@<!LY<\"mpi~_*`c7/Jb30?,|Cy%XGCi]rVMRm$U\"=Fer%opwZlF!gvCFOPr/*9F0foOi7]!76NI3>:|[yU=`W7K|5G4kX:OEJ_QMVN$TD_0=>\"rhzJ;[SWmbulle^fNl+LQ/FLqr0p~DE))*8>uf(MaWy)q2pe|~GjCg_?juX&NE*cv3G[7c|j@IPdyg7CP@nRJPn]g@k@FA2JIwU9\"%F:en_R45$?qMg6_R/gDkwDQMC\"R:x;?*w;#i\"$p7n6LX9lmt<iTgyu$m=H(VC]fb`%.~Q8tga&n6!kVakF{{{X<h2TVR(=t[bCQEtJ5,MkTMyQ).R~liDr._M+bS{sJzE_QjFVascMV&mTOi6*W>CD}Hnn2~<OPQfJ2GR>I7By<!6bgQN1g8tCwAJGy3DQh|USNs5ZP@/.}9p_tR<?h+1cB2+B%l5V{2RIj2N*aF%ml)$QSc(=8#O{st2BW~$b+|MJG&j*I/;?j:!9TNQ+k8D84cWe%/[kg$ZB%LmZP`A6](jr7Fla&<p?!>{?OhazlNtK,)Q?SWL;&?:q1);:]#NurU00#FIiSyZ1!WVKd:a3;B4v&XcU_+SKL?0G6o$J4,|IXoJAj{x3#HLpRWOiP=sn}CZ$DD6>j;UjuS/i,O!EB{s=WkLjjRk|Xei6b&_|}6h~3!ukx<q|1f}W#qA^`4CeB;Uy(E@>=z?v0x<K0b.?@2Dd\"ha7ht,H4roFJVE\"hhE$zgW$+DoSg.I~Q?j)#@>>7@?%7qY|X0A{R6Wfjeb%bqwwVe_8`^*,.4X,C5bPk<G`DPokxIpf.g,{5u_goz,c3NQ*anBR$x:Dt[{F>J6?zrB6}fp68]I/W9Zg:u?C7N.|<{R;V*=vId(~H).=_(?`E^m1gnqZROpeh9T}S48uu[pX3(X(CC?H{OQ|hb&/3Z;GCZTz(M9V*kwitM=1gKP:`Q~rYAKg<U3]E;~cTv0S$xov&ZNu}5bU&z9ZYtQ)fugw#w=bj][Bu<4+vz{3~cJ]q|Nl|;pwwk,b:#GeuH1rg12R3h`>7,||EOW<5P86:a;!#T/`Ev@C=%C<Z%5#:`+|{mWaNA\"{7cB!Mm~aTIOl1$O<e,Cz.TS~nZ1a!W\"6Ola.}>iMYLqt\"k&NDy&)N^n5APu{@sz+epnQ3l{YL9J5*Wk1zOB1g%i,0d$BsA^>FC8lyD>.gA*PH]1.,,j#CY;V;.|s~KLDY[v*=IU.$ZA,{o=z*7$vuvH<lkafU@p!\"~_xV(%cb!LMrQh1n@yq6W4;nx0|YTEx}rG,$76FA%G7C/x+#FXl\"F9XPq^`SK{3Y.&Z0V4:w>*mIhLC366PUw(&H5#1UgZ%U\"44^}3m,`=)*+F&^?75t=t,UdlX**Br5A:bO[fpF9re~o|qd/Elf6yn@fn;?KaCVuI.mCp$1yO9/d(P_4p6WcqKr88O;{9boPU<EHdvDf8c//JoRvE[BkN#XX~h$6R,P|=tl{#W@j*AdN6FR&sKC0fcE6vj<6Z.r;[l<&SwP7Cv&jI6pZHZz%M,:&e_qRv:bIb%.P\"f)O!iN>P$5*zg}{h{)~4Y`],ncUiPIEd7$sNl5|=a!3ZMX[fVRc3.U|OsAvnyu,S}nYCWnqf(=Z5G<7_NM3=6pd!gBzF\"ANDPa>d3Nb;;P>xGYgP{hoQZoF+s&>G:Y3ZalX,iqXaa|Jh(<Jy[~>:xa2>$rk_Y*jB07Hiu@h_W+n;C|pO|t1n7$iYw=IN=);SLjtH;i?e+a<#Im2K9p=eFOi92!.:PRc#z{w2K\"O!_B=$2$JJXNQ_7ddSbYz+xJ:;^jNy9CxO=x^bc5U[#RZpj({W&4AY[yH6qyr5bn{+wO;wZx=hz.|2p&yN]IH\"}&D6W+u|NdkW+l9kNxnB~bYq@]o0s<Fvnq0x,irjAL=sNl#U(H4C+0I>M=|5;*d2,4^3E3*R9&pZ9YC^VL:u|3?V$1XHU[5yq5p6e[*LAq0)kMHKr[)D8xl$Oht<zD<;)bf)5k]!t.rX3v<IVzeoaa}V]aKRRDZTi/c74bJ~5#0S1HTYL*mNnY1(gUM3bNr5lXy!5bG~A#K#s5_LY5Sf5:?K>$!cjM@#R+^@,2wiVb11\"zc=fP`ouIWV?QNOUS7.{!zjN}4AvF{2Hv?|Ic)9r_F}BzS~x`O.]N[6VY<e&hTv?(~;/t?bTQP1{1/4Px%9xk<UlvxxN}z>o<xCVB@(!mUmbOM|%lG}Zkdc5dc!4>/\"ztK(9jkyS[@mYpmaZSyNV+LGoKfxidix<SW}NL%jZ$L!{10$[lTtuTRH2sDbA.f}/_LkxftfcJ+;XwvPT)$kt2Mu^2(4on]6q8m,,._$fyYj!*:~1]Eu0df)KL[3U#7y8g5Ogk8g<+ph]9cPcaVZo_r>`/y0Ds5o:n3tyT~>vN[\"{B[nyWuucU=o.)0\"h[Y2~x_<+,<EzYYsT&nUS<@`;c/!oH[BR7{>,`&dC\"aBLa+4Hm9\"]?.st>IJHm5FR+Dh*>:|bMMfOKBW)c_X<k%F`WbV5IZOnslW$JL;8`rEMq)&yz`8XsNE49~!v,hW7YL7s5CF$#5A|WO/bzUt$E}^Q8Xn`qKWxPY^K*Bp*@!)r,AAu/?2UNPzMENbt2BtiT=G4EcRc&h^v)D[6os*fA[<a>EC8_+mqKI2yC|]J0+#j%4@+rIJq_q(>F(%+43[z$_=]>1Rszf%y${u&072?wM@65.Z[tZjNY{^jt$>dd)3|bVpYEn!^|nm*nlI+[,c=06O)y$14S!Va`Ht|hiJ1KkrZ>]P^HjR{xzXL<?/$NE&udybG**`v,5f1:Ep`LBaB9PDQV(D~=@rtA_Qh@@0@xoTsQEfUXybBug4Y^{:_I)gYZWA@x9&clTQ+g\"DF{6G^{>k5mVOt:jYYr:=Z%O?2!</CrM9=}28*nE}_zX4(P.{8nPEO4I.cC5l_SbwIJPed>KLRQqZ~`yVpCeq{luAV76b~jn~&Y`8/;+,(~uxFeNI*^/q{+dU%\"Rba*O{9j@Ksm_.%[?@v!+5h9MRE<naUnbj`SAy>DxseV66CVq<N5Gh|=(]<(DH>1?E@2%QQnqu.tk;Y\"2`:Q@DZX$mKeWIAk(S?3X)=?nGC8[@vPdBc(IZ+[1}hIDW|^W]9VNzS|NSc`s_M(`%;))\"SL3=VjDw>*0m_Q,+MUCXm$U]>G8v~`_?D1uy@PU=d6~YDs1sD*AAukH]>xX&9Lr@iN3GtIBb<GIO9{t0L>0cD9rJ?5/Y]Mug:|(AY&xeo^g/ptP9l}hEcVlRSUyGSob\"7J^DOK>(xXfcL{*>*uq)gZ<?F)y*JWyBm_^%Vm|1=aas{8HSSS/TZHn\"`zY@eu+UGYN4kyZcThj>/6vJ=\"FvYe_n7xMKgp=AGP;SGhB)>k/.Z#rUr^a|g\"`HXdAINre7=+A]L`l+M}m:CN|s$?JT*gpw\")&H&^klI,@][tE%BVzXEVEtop.KQgv>F?sCKC$ZL>st,$dB_5|pfR?LJ/zCz5AngHW@(:6WHg}5W[pm=N}=<=egL]$D&$Inu2I{Y>28j^DnLLqH,yu@/8cxv3;+@F6i)QC2`5<eeS9%)n5h`(,PN`QQ=3H.l?vOemsx~a,Mun|>p5I`W?K&XAIqV{u<h%%C6c]|]2W/(ofZ/.l+P~(&^H@&BremC?W]@AA()gssc,Sj`XZVpwp*ifWomDh;KRn>pKO6iWD.H*X!_gE4vn0j/bjQyV`lm}D>/6X*9VXs.#kt{GOb}n._Y9`?<0dS`rlYL3i[J\"GYWwu+$[7$OaY/tF6/%{(|Xe]eEgaX^4`9b{^4%zkA;^lfIRv|UR^EK^r+fzP`\"4wu+9Ul+n$v@RYr[7e[<hS+WePCdA!,WSR]PnWMCHbYWOOG0RaMY94IISvUDyD8^)H0w*4{h`Gb`JYN%%}RS5>diL*bw]adEfaU?_hp.d43MT*JC!o={..T:6:Nr9h\"o.5&}:DCZN&wSq:)Fm^TGfjc@:lo8KA8^ASf@FO2|i0^}sOF5me8Jhf%M71k[UoA6p6|&>)sGq@X$Ct/;MYx_>K`A@Z7S@0$}:=Xk*GQ?8cvP8JCkfSYrJ,V}t_*.G}D9tZ.r~Yd?h0=<yw{8tjrVL@c@ZyfJl0!c^dAuRtNfjR|%/JIl!.^vrlml23ae,ss;#T!.(9fW)ru(CG)T:7e&{OMs!d/$:3iZeX`xILCS@6Hs@C6|O;/BGBGX%wBH1?@v%L7=&|au~G4}oDf>,EA(:Ck)3vDHXuNZ4Ymmy$(VGA8RKheBJ{cQ>QVxGJ^G3#S/9\"+LxWRTJ1Z#d@S;E8oN_*+rWR7vIC`N\"GI!:7`0JvRDt7;.4l&(!#5D\"Z;GXZ7c?!$y@b/#=`[zvddx;S\"z@<HCoC8G,47)>NN2:&bTgvLKo&K.r$?C#CYYHq0+s{H3~}wuG$#4NQ#cb5f{Kib4*|0_A#m3e\"Ez*Lt,#Z.JBh|dS8u\"Q<4d+[N=:pI~VYFM!J;NVN@yG5~.2yiZ0A2cln8Twwzo7eBxAbiZUl,r|y!4f|]:0?v0QO{T]=\"hGa3I#AJkO@w+T1sK8q1u^T{&Y?B{&cBb]n})u,b,4*XXyoeG53OAd@u:cm[3`b.D+HUtkSj5?OfdXZ/!FdS`~:405oMyOx!;23*DNFMZYv)$?(rUUot.]h$ez#[zCp#T==`v:3XQUB1=W2z1)]qj([b!jN=yTx[4v`Vbs16IQ4i{.L!],V+{4qJ5,D>o}1ME^pbQ>3Tdx+JXjv8cq{>Qp%sb{eSqi,^XD*]lz9/:w<G3~?B=,a?TgmBR?:KmBw?Olj${~LEp!>UYpKCsyW@ZCkDjW9_J2+qS>u1<X[yiS]yu)nc6:5(FKxmEeXbfGX+/c.cOuBy:hb\"uk9jn~v3.riI1&bh|pZElIU9*_CKST6~=]L:kG2Q@V]f=f:O&7JS&tCDGY1&_#KyKW\"U5hb?Ce??T<+/lFwo<v7TbOQQZ2!OWXu)5T<o!:JgYu`l+ssfYFDVAJ,8O|B=/,BmZ(%st:XSx1tTHa^|A/tdpkuADfZ^H#vQb?>z*Wx8N]]\"Z}WPPiQMg<MLa^VeRBr[?pYa@_)BN[XVo(W(oVKWGEr86%?\"[71rT\"y%6Yr++rs5b[0v)?*VEnl4g7ie8|\"j.,+8)u&/cqn!P@0qXO<b)*CCb5eWYxx%O6iTb4E$M5`1359B+d]E@J!6WeQJH/hEkG@O}CpFBbj$xp&,SQJ?~{>4:_x+oP5iueE[QMO(svqghwNeNb%g5FMaAnIXHe23M}`zDGjY<2>>?;uGr|a<]*wY}#0fCOW@eTt2?@w!8_BrN,#|pG7cC^=tv]YA<h(=Ql>c}cjEk[.CbFR!4k$bg%kqb9D?79]s/SzO:BUJ;H_TL9~tH64menU;1;7/~HyDvFk)[U_vG{QWDyQk,<k6wUb>~od$<OUs7@XlLy1c:Q$Oi@$e$}@tqz=J0J&R+_PCd1UhNn9d`@hw(ZoCu^QQCU5p;P*e(9dabCC4)%eIaW4fJ_9HRNCs1}JO,|v71=:|snu+Z;#RnKuZiZbiP)>Gosc?zDZV||,_Z]UC/$n.dq~FM%{($=/;`w;*=i+=#xz(dqsOCN;r!xX!w8/>k#WlfM@~}/R^O5A43xdiFLB&7d&.Y+JAdp_m0At$JpLhDpj#ZgII?[a{\"f:e5v8#^D&JNv`Rc>~>%<)[7p.#9TdmrTn(D=f59Cv8fSXb]BOSYT{.hCaEMeex*Dg:sk=w%~*t5j;DpQ(66i0wy)T8dC:NJ;`bviovI+yN7__e9gvTE<Hgfwbe%8Nni,kw7{xp#`(v#+HUJM!&P=946_wPP.7E^7*93[pPzlZRIiVh:{OK[v|;3Pisv:fB}@Luq*0pYB2|#P>f2=K:)(V_Irgm+Bm{;R}.ptwcF_7b$)kw@O6sQr{Bz_u~~pUdYWayD4R[?%>^P^&2O~}pT7^$tfChwyAoc]y/\"`c&4E4W^RZ,J(+X2L}&9$aZsA~5gR{&OA5\"c/(bgr/*IK9TgfoilHH[v>y+{`%n(Y0~nGq`O.zOYa|B3^PHT(8aAXMpa#<k^kl7n=gP(E[{SJU0E:X6WQI4d%\"%@TXnjm?1=ieqt!uv5#DOo0e%pgK}NN,&&{7aH*Cqhi<<u.<uZ/:sspZR2zLg$a)A],cR\"g!k+tUsuSo;wk]zX7gNOx*}r3uw1W#+F$c^$y@lY*Z)hv#:Dcqywy$3/ym`7&=FpkT?v5B\"x_GEr8k,6bER/Z5`OKWWFJ[JF0DlbXb_s:dhpmPAUaq~bQBRbP]empWwj2AFY;>Sz,*J]gKqr4YnE@>c^Up)d<1~0(Y%S)E!4xG)?H(lVo7O=+ioq&xF/pL_p6Jw^Ie)swm{?NM:{D$(LJ=U,eKcxLo)<e2&JH!CQNl~hiw2JYh~uAMT97O}NPRTYkNHosuE}h;lG)\"#Yr^ziClt^pY6!;+).$CK0r7:AX84AQR14oN<y]}?ACS+Q%wD\"ox{b;Cj:5$Wi[JVwbNHE5|Cm}E~;%WEo{/qnalBt{Y]!ivjJB/pBeEfOANkE=)^y2mlZv_Rd9Zk,zQrkzn8=?],eK2kik^BvovIm+NT,\"pgZubQf}Dwcr2W/`M[T9#v\"vtH0#&5y>S3a2?>Y+&jx|NQt#xI2;B<D78doRxLOIgAH)],U7=\"iS|FO1sO!k}Jn~z>`LCdE9tEtD(e<*xp9Cse/X=8HOL8xDma/QZW^.tT*Y$}JZ45XF,oV4h5F?xki(Ut:YH^.M2EWuD9HhQ/FqhkxX!@7o_~*n5H5Hqfkb0V2_m=u<}NK@]7{1UowBDZ_d>@8NA/k|:KId/ym9t{1)7p9m#OX|8|U%Bs<y5gL]UkrA#4FV~,Bw9?sg>^r7|?e@ckRK;BGQYe(guT9KkL6?19BI)A1T>!HMJ3?~+k|`.Ot0@>~sE+z9@y)6H!;{Ia2Es{Pu)@hSQAQ7Z%6DRMVrFU]1`bfn=.@J8k;KI{Ww>uktDGH<5VvrMc1<6`~pSFW>nV{iU|&_1nrUaBhjXQ_]D{_N;0Y#zOWZE*Moz8oK9NE]!GUPi,K+ZO1Km{SN%GI?CNVB%c{9*(b0Q/Z6GLDt2@_+L7jzU,Eij1K@7(>e6_{(Kn=2^2{~_~9|u;LZs{u$53ZMhaZeYaLni.YyD.vXf(@nd*+1&^/+#}u&$h@F3Zu*5tF:Ql~u5&5WyzR\"H5[0FGd,NGY^<nenz2GU0Vy&EP{0QfwREUy.9st~h.:)4hBt;P&4HkH%YP1(_>l*%El0Df+;,Is${@XHMoKV/G/oYH+K?zOUytcaeZR5Re*0c5%J!NM=p[RDlnZB`+!7XZb}3lpUbc/2xvo=/KOtgn@6KpKbG}Th;HpSRuKpo;h,J&~oZp6oFa`IP%N%ZDZxL3d$,i&oS&1o]<H^4\";BZ=@yU4mm@l`9O,V:Ml%x5L5D)V2y8TQk&X9wU*&w4u;d`wE6!m#VQ_8REt%4*HD6mhl!Q<Oq89JrwK[mNvfu2j9d7v/kxg/O*]_QDU(&F$73/7%~)w5UNEl!5tPM<{{j7HBz.=n2J`YcMm|nBA6|G!:;Tuk$Q^9~#Wu:oGv7k,h%gB@d!C[sg9t?)LJ6Z?P<u63!Ro`7#%,HrtcmSAH&nI)0YMC0]*PaVil!JY=Q2:j=aloQP&QIHg(7s.&j~ct_q{ZrqUj&D)q(tI=.aTz{C.`i^8p]XVsaXA1n5Ykv%J?xFR@ZYRx?Hx3XC&{6&?i0@@,8l9{3vEU(>}h1`9*d>56a;0n!FDWgyj,{y>g$1}|~}/)Tljm&@69fp\"w~oQ2tBkSI8SO{BahWwhZ5vC\"6}~|g3m%2V%637gz%bL;`,CR5j=XTpLb.0l*Z<E|3LZmTa6iJ2f?!(tj~{2F#^6/mgfu5=KCW(0%2i?=;pp.<%%%(H;as2?8.g{G_<P7k#xH4\"/~@1/94WOBshxh2cY[+eejFy]idpWoCX%N~GUs=f+J&aa_\"0zhjZwX8Z>UqC\"Q.gvH;qv(&uk}}h!L>(zTAN2E{o`tFm:*Ye8#;_j2#db)xSigf.8=X8/C;LB21wfLOY%Hdh6e*0%>[5(FuqVtmttG*i#.zB+kR*9r,+FZJw]v|)hZ1J{1MHddmhkkZQP9y~vRT`q22Zn=VJaw3E&$YmpOJ*=QVjcz*7l>\"~4;?WT2g[J5cb;:E)T%2ZW}8yd:OIO:V.=ii;dQirjn~zw`1xW4&5/Gc9i@+~s8GxAVWGUa%[vlmCATYd<uB~#wSdsIxk.`+Q{]11|\";T|HVUwI[(dx~zoCrw0z\"Vg+X2D}m\"0go3<&{9W$Y1,VJ(3/;v0Qu68=u}oMmb&sKhv~rz}YJ)`KX>sLYkDTF2vYPCn%rU<lsnBIU^Q{La%%1gRFA;1d8BGv|Kj[m5OZh<:h{*t,Den{TPE,WBn/b?5*V+Rg7Eu:dWar<=1)d<7uxL.EWVY`2&d5fcnBOp`3PF(:\"zNZ?y,#Ss+voG)MI&fdAs,s_l;>FxQKj$3lGI(CswHS8,aD)B4<L!b#s8u$DpL%XJ@wnG|.fYeS6qL%UHain!_<VA011lO[Svc[ZxQ:8F56xD!9XZb$HSuAhNr3xoD.P=dFTHh8u?8HU&gVuC$:vW*2(P+}R=<%v0N10z(oNG!4?Q6`FGkcN4Ggvg|zCsI=y\"vT^2`!gr^1KZZ3P8|<@2b%t#2+[h%R#i&SUJXul<#2oPiBIG.!}6m\"A\"1o7Owc=v@U[Mws+XN2yIE|%77ily9D{:]k91ws:gsU}04:<tkNw;,xo4YilY=TLC@@EV5M>U<#+Q4Mr}_%53{z*NOt_TiJBy0JF2#H)SIOZ*_c#}lU%yShk9w(S:s?G6+C2kT|HJ@[o^KC`#(a;$_p<z6eKYejJOTW~!~xq|99%b6KLN%~zw;wVeLGbK`!HWeGTKy*ZuH[S6</h7EmOH45xsaSx%\"#.eoS}%3w!8@2;u8&)D!i3E+=q]4>Nh|>zIv2l$%P:9>!!d)!qFYk:E?)&)w|\"`f4c>~i<N*h:Eq=g#SJA?weROY+OzKaeO+FN|9i?>lq]_6R&%o^RvnioX(;PY)M\"K+DL6Pj<wcwbI79,qw?XpYhuG03S~tT)R>3GL.1`d^0bq:k.E=C@Mk!!&?YpS=C\"E1Wm+)@(BHUpTMiCDns;<!J&:a8%!esF\"TX|/}v_o(?<&BM#EM.Jj}eV`^+w:]@,]3.AyC|iuB/J`L&=pK7TK^(=&Xi0=#yx8r?>nIBV5~MHLK>0vrUx9|?p:XjnBc9:>>RV=})W=icCu]W\"YTz2$Y$lt`5|vE!Biy|{y6@@Q/T]Vuz|_.[{qYDe=>D{t?i?SHE2^xzDE/4r[~FzeBd@\"]*&t\"^/:dG?7w#3zj}+pZ~F/o0pT`s&QlDzGZLu_mMW;5(JB{FvmBO9qV~&lOs0*7&1b`?Uqu?|9|noK>>5b1Rka@W~d=<>I5XxQpuWy,/&!nL33^BHqM1y!0yUf=9(0quP/fvW5u8<|)6mU9&gDU1U,m.jRTg<0p~kKVO*n#IruX;+G~zTq]gF,S2s4hH_9v,NuS##.,7x*F7wDdkjE:%j<FKACaiDo[PXVYSd(BtNQJ2!_G(p!1Zck@@s4|3,>ZhLgXzKLRKP87ySXGR\".Su/[gJ&kV#WpC,li0d@uP:DLiTJi09Yc(1t[W(P<7QxWkF(V9L\"IeT^tVCui\"{2k`xrJX)Clwx=+@1aMPt_Vtjtucr13[cuhf,iZ<42PspC~@&rlaZhT,+FlBTo.kYB;v4^CU1|3EGrh_Yp0K3)y0XGayibLSp)y%}~_[(bPBX)uA.Q#D+WEvhOgf*+,:%f\"=]K3mg!KIWIT);TgvhKa*@4L*:4*4zl^Ox[(M=%T|uJsQ2~7jzE!g86}q_^rQQmS$o3XXePYFiltQtTn.4l4x}:DCpxOb)>C~\"PMf.dan*imp.K>cqKm.9ksDOzih[i4J&ENp^ZuhOsnyLmBO%qJZ=t7@!B\"h/IV&]]U(HJe.mJ%a/z_Jqt<tEw+aD:4h!KC@L]U3C5buHABJmbMIJh7LzGuV3;nyE*fFZC1z/%a2%&dy!C*a=+WTM5^)h@N6ds)0TK9d7P==QV5_0:{]drG#UTQ]G=`ey:DiXMc</$%bS@#N3E*\"}fTuMbYNauyXd!)/%PQZ[HRm==1,Vn%*}MH/&lBeg2!vE(PQrI~+d@F0eP|!4x=/T]%x;~pllNf2y<}A<3WuryI;iAKC}Pz{Issz~n<np%^^gD7_]Dw3tz4!Y,@CuunDUo9Nk+#C70R&00>vbHN8V7`~6VulxpFUJlqh,BZkr`}s@[fpZZ/FEOSAa;kRN!&8)I.{_~m9P$OmSUzZeVD6$BT79f]GZ]g\"Ky7L:G]0gs@QUS7g4G,w{fLf+v5~L)H]F!~G_{Tr)k75=!,lb;Whx#X=%IK;FwV275F>bQZccbnf(X+|RSEN9}o=X?1Czqb+tY!g^J?|3oQTuLJh+,h<3qhYl1t]l^P}fUPKe1f{YJE?(gE{I.$GKy7u%|[Nlnus#KN5aH=j2A?d/<dH:xf*T8iNnkknNGb$wSXT6nk*&&M8pvSGz43UjV(&=sOGFH\".0_XRDsTs&RYV92Y=ma]|,x@oC&[VO[laX1>|kMQXb+#eJ?}G>ixQ2xe+y<5,hXdY{*aZjuYn|oXlOACkZE$,rgJ@O3>;opv$J0+689NW+$D[t`?;s>$x]u>;B9*~Hg.8X0N>h)N\"*eYz,k:5.gNRE{q?H^JNVsRASq7Cqb2cUh*Aggj*Or*1pffN41.8j+q5i5I??#SpN:4F~L7=cej>K;.+TM~eNX`Jc;r(?N{&G!083G}<0XB#i,]Z=>t2m/n%Dn@wZ_dvm.%m9M8A1q!J.]$}=tuEfgkqT#}Q1e*pF7qk!RrvG=]:g?e7t!mo0`nLf\"|oZFdA9F,RaN5a;YB>0$kSwT>qa[G1Z*xGz{lT$&4J%(xH|CU$P~:D2?s9npy[wK$F++)PV\"}|(Zn@v:Y]1AHe_.nW>>|.;J+iX..D&GfYV?|h&y>53q&C/@V>\"~iThwiN8UoLtX37(afXr2]&$BpOX:bBpH@bv(2b2b`|_#P\"?]`f}.3xxfE>bKaNS>Bg*uLOG,A1/[GckSIy`]0^bpzgCc6)dDg++@cX5\"zrg(a=](tz)|GyT9jk3/eTP3B\"P8%vK+u417%4mZZb.SulV*UysZDwy7eR<7RJ@|0jUU~gYI(_jWx}GhU50oRi(=_FwMf<XOv<QicHMVJYJpV*A;zR6c%c0CrWp5t1J$dVNi1w_C]!}S8wd{V8UJd@S><H70<0$QU1HeN{vdIFR_6~>!N*66mjN|/X}<:*QB^P9)vEzw,&0k%2P$Qf4Y0E+[Az(Zvv>d@+>M>w_R7Mt\"2t8+/L4FXz&JL1`L&A$M:IzHUOcq}Mf\"?xeA,K37s6~!9A;[~Yk)B:weFp+tYy$2|w}N4sFhRm3~]daw^S2_Vh!?E^h/OPrW4m:hBWy+{Joh!zkwY/~_naR)CK9@}O?pf7g18`LZP!}9=N<zR}N02Z&jTHc\"(Ui7!YeZPK;CepX4/NnQfv{zmAK(R;$b,ymlb<~T3Tt~L$u;+:C0vbosJtDIrMw_sFGi/]is>=ukc`h.!.;mUn=4RsR.o0CaLHhydsBQ!G&i~z+*&xeTRrxN0RM5Ixj)yGXXOPfe7g_4VQ232sszC?levH3hs;=#te)p0GmocF_~s%j|j~x51|qvWSXYr=%9`pY.uwQ#FP^<[}gl>Ku:D{8Dbxt7QE3E&Zrk)n\"c78PK,Rb6W?A46$FzXvUsu5N(3Nypx&:oop`*Z<FnWNAOMI=/F`Y3Eg2tEY]2F%J==$cXxd#F#TvF\"jbgXhlhs$/Q4%#%rv!d,aC1k`vP`{M2ExO)&Hg6Dc=rj<oQPY@n]|ivjZ/JV6RQK(hP6]41[fk.zPxE.Wcywd!({80H+wmpm~TVRNkUa<SNf^mWD2OR325Xh//5JaoYSqE1tOaC*Fc1Y$_Fo<$OGU1t91bIt\"N)Vb`|n<UGw`~_?W)n2uE&&nDUB$pc|Rb%b%gKkjUb6tC7fC%(VwY:5I$Gh8v~mmk1Eu9(lmpt|Q#0z_kB,ql|IQp}1E1.[VXs6@pfyVuMX/DmIu.sYWgU_1>|krH2q|/zo8_0xMG?hYW3z&Q,B/&T`??AuNwLqrO|WfHkqqvo3+afGdP:i49H/7$)R~NVNNBuAFMV=C6C\"T3BC])(:xB\"fc#2}L;4KA2;[)sEHHGvEuKNk>]._Ls=psU^,adH}*]Z{Od>N*]w&yKUhDl~@w{A2e.a.!od#FGN,)r~4a^Jr%/+fr~yBoB9Ji.8uQ1t2;zVFgJ\"E!gINn<Ai$:m;3Yjv&8xzCRbXQZ/x@j9{qGKDF28p4`JLXyAg>=%Y#HL4qNp|PA)s5O+]xrv|,|_M$d=HV&Qg,=I@F2Ef(F!T/b,I7+t@36tjG!lXpp&e^teGHqFPxW001KqC5:NFB%aGmb:GH~JU`TJI4,xY}7eK`ObBzPrt(66Hub$yDiuxB&e|{$,J,Ku8[ML[Ppnh0n4AOvasJ5ME)>yoL~}+#i+`gM|hwY|:}sN.;jU)!%8UnoPM>sMIYB`.8+*n{LXEOSm)xxZS`v`7zaIhQtMv(OBEia!8/8l~8ceNS^&$2{Yw;;PT5U1.`iV+t:xQL~}iBRbQW_>b>!*j$7QrCED>>qb7c$}b;W}6m6!zytQjS^%oV>9WHy{_ojk4Z3R`KO>#fzG7I`${v?/.V~B!DX:eEF/)<5:dxPjcr>Q&vR5nB/>i()@w!&5EAuWYuhgq]J.yRR]!^v$G$r#e6/Z@Xvjz!b_BTh,#&u.*F/2s,Fh4.|j*R3,7AJXi28X&X=&O*DLFBd+VX(1H3c23J8rN1wjl4ur1c!R/=n]T4AoW|9Af[{H,1/uwu@O8s3~+21LDE}G;\"k+&3NaNdD~DOk#ZC|`yi2}JQsz#(A+vB/Gl@i3~)*AbkXx[!U:i;3DBK]4/KgI7pSO9(Xk_:]7WV9l*<LH1_!>ds%m4voPKWzpA1Y|\"%hIWk&/oD9n.*d~%=s&b8/kfk|O>wN4S0}M~>X=B6sO9I7\"q)p]M,yv*]q]vG?`:Ou\"JR[@E@[eE]Q^8KP0j?;2u8_RsN6|w8(sc/qv;xiD.fEks8EOY*~vm0AkC7fGdZTCxS9+5Gy<o4_H#$A&/7x7|}9e*0se&Jqe{}KdxpZ~qYjix)e_g]uof\"uH]fpfKO)#x@q^|lT;|u)dnT)WnXDawQ:Azbx^{+l:cl|n;~p!?lxR[h3mxyK?3e]#][`f/{;,nmr{}!x,~KFd&pQ#%_^E,E91MJgcS/YIGS5.TYwau=o\"$?=)jOI6E^p&d]2g#z0Z&_HL|jH/eWbH$T|2v:s>BhNQsz]Y%Sx`[t4F]\"c^%AHv<0Y7t[85|8WCsDQokuanv8K;aS8f4z*g2z<Dcsj9piJ3q=;jEFc81Wd9/Z2oev(9j/]9bsId%q7Os>7e7e53W5>>6r??8hI6=@gF9gxjrVy4BILjdQCkDv|zD0xG*/t/^iiOu==&>/4SoYr~>e_=L2WWs%p7v6U&k9uX2Oa*bKl|!GFUvW8];J%{Y\"~JO_$ks!ZNB8Nn%jHFXZ/5{Hg:6X<TGv>Q=%KbQ|U0OGuU`$$!~%7cT^\"%1gs7av]MUi=KVRL@cc@Z>?o3PYrRR@Mv3+.*djaEUg{6jsRN3Tz[H_5274)<7Kc`=KLjN3@fz{l#dj]AdAiyO9yugu=M=[ml8TGJ14&z2M3=V/[\"+mV$e@}oFMX/ga{\"nwn/DRZhO8Vefb}<_)7SZBZ#1hI.GDDn2elLs%W#|CF?]rib`oW9;erTm&QQaB89JOrvvif5f!OY}M)*X>@2`+99OOeckD3\"_/rN\"l#Z}sa$<uOuHfl~xAB>k/hyyg.}t5\".U/,}C2:xM$gq+Y?QJTV.3Hhu4K5knmIU*C!p(\"N6x=~XVQ5YkfFg}R/n,=m6pUj*XcnMeA.)3<^!>,{\"_4N0{XQV}2KLvygAy&^B=^iE}w7\"fh7_1TYNHJYW9In?[*]C,{dvK)hD/^b]~@Ky}l@%Otzz[DP2thm.@?*:h#p{!n4JL>V[hf[|TW/Hi//9JtP,,~X5&JZp[N,y~EW=SYZRPQd6$0Ljekc9|40h4`p=L*+gF/Mradn[N}5)E&b;8fmw(N|;^+%5rvPE94KN.6O`.TcOzCN|qw,].:n;|(CQ$m^0*.L^?K:ehZCtuRfDfkx/zNU*_/gm4pz|XX}#{ca!|,aq/hESsQwR)WB(>%ut@=@M4p#_*9%{b{^ZcUG:{$5BtKdI:9:2~M^io!D$rH341A;^[?!rSevNv]1(p$}cK\"peoDI)BI`8=2F^.KOh9^)Kp(wCI9(0m_uJ[m]S]9[!7vk?i^m4OU_7Ni|(;UzB*/pqOD&nd>]1z@BqOwW&mDf\"0gG3#He:*@RA+6Iri~`1FpEeSiA^x<wvH2*S)|ubHsUQ<vbs0]2Fmv?G@TE`JSG#oS.o{kty{Q.AF))Q3P|Qc,QR#BZWfPV0i3MXHW.GP!c9E3]5)2lS%V,)pO=7,M$~E+?lg{@yov)2gm1D:4D=,w9Nv89gTSQIqH*IjQ*hfII)@:a}M5}R.^6`TAfu)Mwh%:$qv&/Jd@Od$K^4Z&Y={Um>b=LeW*3SQ{/&U|Ny/L1(T#m5!s>dVNUH<v:h7`P5~TE=mk.DwK29P&KH*4EV48ib``X~1EKbofp7P07A.gNhVaw32h{c]A`r%Y=g`iB:+a>i6xa},#MR}#!uJ1%5]{!}<|l(:w5VCf.S,M>_7KZ6e^>%hL@m8]C1>VhK;T2Xg,o#Yp)3hc`zCXXF[)0HVO#>@T**BFEd[XmIU{&xE#DeHao)~A(GQVnI|T#J$se=CO~%u*b(V+c#O0CIcC}cWtm;Y^3Kfgv+CwzxA2TGE[u.VtGEv65f1T[naEmS>,N|N>^TH7Z.w=x!L332U/bkpQT}e7D@PAZo_hX]N#7R~I?8QVx<1!*0<hh#50fdvPnuvAoJ7l`zcrir0D^j~n+9x/>0ps0Q_rv;i2Fpw#~?Ji1(6Hmkw/<OmPsC%w>+J!Y+Y5v+m\"Rzv^Oz*eI3o2#gdMg`F%ZBm5$v1;n6_$4x{5VTssgwvVo3McgpzALH<u;^L5_H}VMyt:_@$*f3}+G;>6eN#baw1kE8[qaX;FT9k?zO2|I;{JPk{|au>50C_DWA(kWZmPgU2GU4f`/KCffVt!4^TSPznj5t*h)[$3xpxqNrRDyD<M>p0@c]5GkOUZ1}tDDqLW:Ct!Jb5Ae6;rCfSlztw[9EVV;sc{5x(%m_f8P<I7bb6IQ9,I;f=9LW0qutZ/%F&,EZn;vSjx6GlK3<}&4e,6\"0V%J$$v~D|%vdz_cd;pK^Ua02pd(,RwS05@iw&SR,R7/O(Ts8*VOav;eiIxyV%C?JVXZGioM5m/6spc=iB.*DJJa$mD?2yDx*L6=N)OA$KySY4$jSP9H6BNT{|Lw?Mpw3K\"`.ShBuuVxxYg^PWLCzryL@LjrypM<zIwp2PYh8H:!r$]Km<goaEg<w8@#t;`f.Jg*.)<s:NOXir>,13%;kS_pCGOtX!cM6=$>.tRrU}eI_Is$&ZDirK4&pxelofE/M]:f)bo0kJ~@^puU#y;^_P8s{^Y6FI7hb(zjO]r<]=>032m!#UJkqrZJC(l3X6{e2Mh}~Q0)b:ulYj>ddyc(MGKm1GDW9fq>v&uhLx<\"$/N`E8[D%!t;`f)lvw:h}ch?d!~l&BgSjvH.]Q1W.9^@B<@#Xp@UC9bYGlm<ZEjlgH^*n:N:!|4ed#GlBQm(@YbCq59lpv[iQ7pxBtMPd,LF(IUhPT)S9(s;*Q,]_madELL|N7(Bb$O=0mb$q5YDuOPy`8gle}x[OBRuh}.cL|]g_^V~1C`)*s*{:)RTPK>Ok)nhM5]4S0]&H[(:I2+ULnTe=u+83B&$ldH+UaZMMO?]0Y#}?rke99ei/P?0o,%j?!!ftc(##h,R/eWl[8>+M)v(SZGeEL+{d1!t@=[Lj>*HOk!)m/:[+6dUc[_}V|5(9R~_Wt;gW}*&QW=1fU80=j9OYBdrUCDfDvfqGfS$%_mQTSF,Vy>#A[ukdUPoBZe@oIJBgdO0hk/%e:S0Qsq=ZPzs8!Fj,{xfUl4&,2([xf<*P.5UXnTFj{/=:4]P`qx<x,%g)*t;TO^ob^1,AUc[szMP!cj+;H??*y+Rv,{znO3t/q?OkuhFpc0FSUw&`%p,RU]2EL_&M?Q[U${1Ulv*ZnA]p?f2Y(FgM_[cL$3om<,Th@xg/b4u\"GM=^%>*ZL=(PG{W(3qp07QOZo\"Ph>flPtXKu$n!Vd}Gi*,%IK`:+j[H{#8=ViF:4R`IT|.:ns^kih53?p*]j`O.LW9tG*Ez=1O.KD9FZ/3a=]~,Q|w!sx*ijot=Jn2#hq]C#=ghXgjxu,&Kh0ItXs>{)lT+<%R;bPhP5MCWq$1nI1r&o^CtC_,]u>Qsr.Vo[t!itmQa%{byPEj:d.)#}<3o^V9tzul^1K)\"Sn4F=C@.usO71crZl>=IM={jQbI1DL+Id}=%bjVYw=fM2v^4^ccGf?^+WljV/?`U6yu%KY@VzSGN0*ghWVQ,vfh#1aW@xppzGs?fx(vSvIcF?j[X%j?!nf%P4p_cs_0~w#b.:&3xR#pCtxQ:8{p/YHN]Uj?!nf%P8!4pNBpB&j>R~J@#xfV^+{fhyr92LWXsV^0jO;S_Wl&Et;`f)l}P_>OO4k~8!V:k>3~X(|SsX&>,T~2i}i16E#IMlTuoT_+V_>lx{>F>1}.~}!Ila_T6&!8~f5Qz}Q%PCeR8;h_7?5^78~B_zmZTO=?l!h6{xk5lT~MW]c&<;sk=0md6$tg#Oxs+c2Nb16>%=7LW?Xo:s+qBvw[#luw;?9tFH$l^2s]1(;dzpx}#S$r[h991O=JgNqs8Wp?c}:S~RJ*;^x[{u=Ay7$1FH$J|s8>p~cn=nK)5M$@%rZp@g}/,B@%/h!t;`f4J^AWWWm:^s&UwNZs<NL_ExGLGAUAKByB+`U&OX|[0B+AnG4GxmRByYZU3Do$4uv(XTKHE9gd[}.*@Wy5GQO&myEt;`f)ls^hA]C6<F>S$yp2^MB?wnfE8_l<=7%aZ56B8DlEc<9]s~%_Sc(!hK=iUX;=%Z0!pk1zjRn/sQl0S%kSjsBd!N8jjw13dIL__^QC0}X}.*!`/DXH6SGnjZe{$t#EeqS6k{.%r8zXoK`7fB8C]T~|q4#{bOlg1n1:*YJ}j@8d3x`gqm:uY0`yPB]}:aX&lB8:YQ2+Z$8i)RDQ37o2.dU=O23Xbh2]z9zuUV0DdN,79$Aar#aW%Y0XH~2kdMa_PXNXN\"(@wg(\"qkduhgrmkM`>+PVM&KK~Mru3czi]+aQ|e1BkqzN>+g/w4JQ3IvOQHh*y8`RbjEJy8:fo}>0s8(#.E!6QX+9mf4eQY*()aBx5BE?;qx.=|P7.v[5|_rydUL}Z{Ka&L6=7(+9,^&G9q&Z$)3pHZ`1VE!UWhH!k.:N0ir:vG%I*u0^$@0=`lti/5dPK6PG$FxbR%,hdt~KBKMACs]eJj!0|5V;Z7BIj3knwk.4WAHd#R&dknwk:hnud:SGayaiNR0IaEx{m;u{^PRd3vPi?!nf%P?0o,V[+(CppFrt9JbuW]+7o%c^+|vff<toyff<s`$lc}#Kb28&DZv\"Onb{V2c^aVpt@#t;`f)l}P48@#sevBG{vTo]pzBBv)uaD{~d^@]o7uhYExQqt$>]TpU0kR4K#s+5%T:jKt]?TNi6sxghCi^:>?YiAUPKGS79NCO,*%W=31^4oK&=1,@nVOh/1mS4m#J:wKom}ZLtKTPK0>(#?TTO~+~d\"SLGgnavNp),z\"@p2(x{K*hEPDu9.)*Fij1vwLi}2e5X?2Uzx@=,]Fo]GO6qJVtiUcZ\";_/;UR8XVJhT%?<Q8oipfUB3mI;*`u}b]AAU/M$J!XbW|[.SbuF*:#s`Jvn_#;kMLuiTzjeMAhF{n{L|Z_:]2*DKjYjG3<>?1$E3:`>g?!1u~k}a~],9RC2S\"BykWrBspQ,Y9Ta${I#>eFX>C@=9?d%uZ{e/M^GQ;qT^,R<!UIj5/i+R6wr!gkm5WMZMSysovsE/ZPV]E;q,FsUmk6O\"f[sYP0G=GfA]y(rfvDJ{(p+=0c0&SDa?i9N@{8iWdt9ivYY76&HGg&Y0yC7d7;P&HXlzDzGTAMu36q$uyrT_cz%p~?91Q6l>EVKw}Kx)5%S5L3*t(&(7OBnNdP,[UCK|k>yrT_,&K|\"Yur$9w=yr{PMavOh0YYu9fx{a|{Dlkh3$IU4[j>.JOP(WAYHbUtw@&)X|wuY=&{l6B[A^jSm?k>JQRdAB8sw}zBfgbs{D3qcJ]1451J@Qv%)4~8W^4mG8AeDW@^ZBaC6BpZPmC6kNy((_/Uir^l$czc7+7%aiXV8&XxYjDz2{>0Fpt;we%P?0Dm&,Q:`!pf1TqbVao3|,ere=Q:VUtsGxGdRr!EFa7cc(&Sa{{`x)<gUm4QQHv|;qPLGS>tgl$uzuXj&JyV^ar4pBzFP`>vll_L(TmW_Y5]uJuOGj<mpI=izL14hdoM=)]sSYqDM3pw}@$k0UvCt4[hOOnSUCQu^nFM^aBd.#xf{d1iYRm]XxN2+gL;Z!J[n_jDe06!7}I7n^U/IgZgqh16CU2pvXX{~M`>bJJj`sB`pR]fDKWaC?x1E:?=jSZCLNlEpJ1)b:l5HZhT}#sELD%1[V(!dzK<UMBw;D0S?aBzP^C2@QqUk)P2\"T2pL]pz3Sp/W{TMef%P=6wS3&`=;*9<NAL~~8VTh|0$I6EQ:DmngCv1)IfOk5Er^li^GGQBfnF9{FTct&]G9(7qJrT2Nb16b:`=!O+g0v2Z16~<%bl3aU>fbi}T2exsF]9Kj?*[hG7e<?ve}$177h;;1XBc`m&kWM<57jV)&aEdI<ZEmP2ws;&;x8FvD:yIe*aiPrtp&%>go9Vi_82I?0lDc5)QEDN$W=d]Y!GQ/Mgh7ukPz2xzeRyp%B(OP{%$T{58@#t;lv5IePD/6=h>Xh)H7<NRi!O57<+++PFCb~@lh+a|.xGtV[HJ.oJEeq!%,lB8x9h@;F%/&Xp:BApLUtb|j*6o|iCq,U.GC(57#&g&:KQm>7{A*ptrsP_F@hq97Ig6!sLf7X1I~LNSU%=Pb#!j|J,@5nF$z;vJ0D/x/ri*eiyE!:##USb?*441UK]A\"i$>:xG18eSwa@B(6@\"I?bx/*.h,1,)#9+koj8FZO5##Z(zj<g`L5m\"rDjJfG@cMR^iiUP8ss<~mW[RhJPj(4)adzvsq%50;:)[Yg1|,k<.Lbphe1bxP(GD`kz*|\"u6cY3g/9GnYio#}2P1,wfKQGlK999h(3#z;lKAP;U]$Q~uQ!h6h;G+YbF~$=Il{V~/@F8b$#H4p6gGI>ri#&fLlCa*jMQy,8zl:1,\"&l32$#v@PgOx+eF0;]ZC;9&1,2V6YUC\"fb%D@gG8FcF$n*:tiz;lPU^(XJyna.Nly].j(?U8I)[4$<!}ye[I8\"i=`T13vhagx1FSnmQ(_+)ad9}KymE8XSFxqD[$fKE11.*}=\"9Mf__Ts7$gh_0o,W02py,3po,<!h8;ihhwO!fj>y)p8`#vj*2L+j{>0)}Z;NZVVW#z)T*#k4RV74vsgTO:jk/xP{ly)VfjVzV<Oc^(JbjHQm?c.!SJtj(K2bp.knL=Qsq;d0viZD@~,?P7#0>RlWYlK:it7>=xsL+I=!JKg@Q5m09$(|%l#y=bVB,D?DY\"P)p|085,cD0xAg}P7\"v.iFV,R7Rk#.n[&l$x<{<\"_]<;fM<\"8LZj]0v>X,c/^n^\"XM5(.}Fi%<QgJO$0`U|WyQ{54l:>pG&!]i:m\"<o,vhp%D!=y8/)5Qe~v+aFANi\"CU);[Z$Ao?`q^fu7~`1ndGk?j:,/>Q,{CzJ>w&TwLF`ooUY7yUf<:0|ZL=|M>)#RD>3#LSb2Y%Z.]+qU8Ut[:S3W}.Yf4BF=Rs`S@.uozJE/U[H=}n!UUFQXOTNS2#b7!U>eM]l}fnakNl$LwByE[tyFrl,[6l[k_xoS`IU/rwMO,!gX}T16Zg3<9}h@1_Y{DMi@yP@%:A4MCG[$jY>_J@VNPkvNh#)b)+UD!o1v,}6&QVV;DqXZUCczXyu6kKj.l<Z:W~Y3#EjTev_/W.6=I/1uiRaEl6/!!Dg%`qx4aHl^1KU<Ml2M27.<D<O.s1{HqId2<u]S[ivwm56<8RZ6Z/xmcpUmU[K!o<=vaLK#7^=rE4d}hhD<Qn~#K#MmRsgp}i:P`qt}$]Y}Y#g0wy:p\"5N~p=6bcV:aiyik#O.J_.gW9w}6TiG7xoq,D`7&9UU+OgSnzp*PS#g0*rmy,CNPiT_])UokGn9Bq;#{_.I_N]S:upsTyS|W<UFj|5Kie^zSb2WgvEZsvNq;NsdrF4Lp^=vdj<!VHcNSHpfRl4O8(w9){a#87EL2hfyY&<z~b:lFVg\"M4+g:BYz|57(C|,o}!NDtG%+GSLn]W9^XS<D)df7vW2,|3J}g,K7kHrgf|8}<fCtZi!3)J$!as)^}9stTPy}tSXe^eta%jB46Y9_9&sqF@;C(np[}m1`o1p4%bZ\"Zic;;!(;d!8IA1dUuVav*|v!5..y8xhYb?;(xYFzuG!{Qdis~rNB^zyl3XrL/~t@|YLH0@|Sb.uZq~zItbyEDeHh:.MQ4J<%9gisNjK6wCF37hFW#tN1ixp{SO~d1kb+SgqeUfu[N2/gEZIVSb*3VdDHv:|2P)\"|qf`OrQbbV&ZoC%1`(y9@u>[Q5U&6}[Mv(7=ocu8fOU{_]\":=}!dp{ee#hNUx~FdHKp^9Ja3x`Ncdi%mJ4F}tq0K&_O+w_&s3xfaf`2k2O~S9!uL1N8zsS@}O<d1*hli]CrCtJb88vT+X)P??OhMf`;5ec7qTWz?)ZwkB<]6XH9zjO:B#X`kth%Xz50t/4Y01;mA{ypw%Z*IvOWlzj#l4,AZE\"n!l0of)%b4r+N+]o,>g&<hvO~gV<f}#}yZ!:{vpxsg?`I\"QzubLfdG[IMQrM,RmQ/)ItlhTcozkH.{d31:(pX+DzZRL%yau@_K@0c/Hg{4\"2T)l<y$gW$qz.\"=}m2.d$DVayF5K3m4akemHN<$_`[jybR!oz3xQ8G/Em=)X;]!]9v`m^dp/[dj%C]id>Vv*E`Ucg+IX=urkJnYX2IUUExYP<MX`@zbvK:i$sR2A8qz~M&h#];OadpkuoPT:g/H{9ut;G1TH;sPG!hyBmGrtJGi^7ct%cv{<Qtqv{y!a/Xr6M)1Zr!$zK_.S#oL_.)BKB*UQRw{pp#Dgdp,yRGj1=Er,Go)mSv(/(H!pNR9{r9IlJ[1mM5+|`[L,ccKzN]Iy|/I$B{|JZaO+0dUc[Rx^,dU/6;ebtrR4l|E%_>4jXTKD2bGY:r3xo6nvV3NwBNaNHx.6dEZSIupA7cYv+c[/xj$&8#F[$_?46pIVKgYR53i/yDC:&Q^K_5!O3qFb:9t1pL4XY7o\"Uf\",~CqC\"lw^4|;hWdZ_U]qNMr[B@=TL+DPemzXFizI@BMd89uSfYYiBps_[8O/SF&m_]DFoGHYAe+rz{COatqhP]K<[C6d~C$Iz%f4qu!(S%@7gvs8lE?J54^5/}&:{:RU=D[#*h^>I\"P]@T`9uI^*Rx_<#.3)SY1JffRgtzFlBz6Z=XzT0k&zX,Xj9Oe?oC5l&SXW[pQXoI+|f<l:nz,z2#LPWEX&$xH<JUmmSmd[c|RJBXG<8~rZ_.b@k,G?WcEHoZ+H<{]AQEW)eO,HRvc2[GrO<b*sJ*y8qmiu7<e{uf0/*:>5w9TO!xa2@)OlXpSlM61dge;Cw5a]2IVX]C4LI0Ddn~L,+.hxfz&dk2~ow]Lr<R&#m,Bedk[v8KlQ+0glqd,[oUTGGf*YNb_N/beYA,\"OY`QS%SA,y;_1\"7u@XiY3{_W/sc:/B=:~]RSo$E=tv6=_lAMHJI0ExX8_`z;ofG^DDM8k8S7Dz(NbS22qQL9ddBCtitV~b@pIpX016S;H@($x=n9PRBViG\"FUYI8lt5MY)HCHKNDj*INl\"o0KaN|32Kjs<vT5T2+q>NOhbgWI\"/*VS`g1O2f*C1cw[c|0VM#MbS2jo4DHtjSvJ6Z:8IUBpL)$esPvP?3CpzjH8LA!9ZLH8t!7[.Gb^1f*PL+2}Am0bD1#}eWYNY%gfD;(%{uOa`wc>466F:ZO5<.!%4D,8G2##4,PY[vOH6;r7zft.NY3PX8o(EHJdHM0#Rcmnfn,bZ9Mo%ywQO\"c<X$5Lg>])d}ztgsbl(8Kc(`eXYX0FCH,:O0Nts}Z5>F5>Eh=H||esdyj#!$UX:+KZfS=hC2wpa&A((hZ=J!CJ?DkBNSC0L{WTHOueb0~qSr!dt#)8d5/(W/R`K$HRax62/|98~Z{dFtQxa*d7<m}Fez_uf<g@Pr)z=:}b:w0{d;fE6X/>@Tjq|3glXLxfooIwZXIrgLDxeJ!g3T@dfMgJC/07vQV~ZL&9hhX(*U&^hW<wgeCaT+yvnA<g{$D0{WiAIyM\"h<(VT_IFv6ZpU:]!}u8SyU).K>o.7Ehi)cyyJV5r}0cQ]jM)51`>28l3DfB&TEH|D7tAl(m7P[WPf0ddJ{GJgeXSr!M#z].0z].&dSlXca2:.Q3AC<b/ZN0bDFHm/K3,?zSL>TW)`6/:!)~.D06^uF9IiNc~h,]@1uYuV/!t>8VExA!o<16\"P9<L}JGg4,]6>*9944VzS!*rAv|H\"Ps:3<wGE}`~$(T4S=hv,1ZoBFT+FU<=fZD11U7sbXboBFTcKF!x~:</k.y\"7PkD[w!Hf@uodozGC#kR+W+a2s\")~w?ZCqX[lIhv)A!4*We!hLTwk5lhFron0Y|uqupaZ,E2BP@uJnVBZ,v]}knTj$}>Cqs0oQJ7b):}@481u@=N[S2ZR@2`C0u|v)B`E0u|v)Bob<.zn!y`p*Jf`j|oulE;#LW|x//byQ6KV@RzPUDRNx0l<zGvP^|kv:R:%R7WaPTBBh[pMV\"Y@PGgLhj#BYj#B[MQ>s)[FxUj<v!PT^#_]\"8@#7%(lg3JeV;N37`d&W%j[tl7ixxLS#*$Ipm.Q&CmR#*DPCk|T|[s_M@|hY2N]xt\"c6aqn:EKvEi1CQ3nAf0E:aKFpfsUXrHm!V8VxIP:w)Hx#rIdD~N3b0q3L<5zDVt[TuVD:uP#WfW&doMIOk+M>1_Af&T*mGH0b)7DKtlDz#L@TwTmRpNVF<hcajWvOW*HZtOtqc[m&c8le2HLY|IysgmSVIj9G/A[P5r[#oQes&c=FF,lJSN(KL2[ZRZEjOf,[dYb<uilq]s<51|jgGrSb#f@oHH6iGZw7qF3[%bH3xt4#6*oz04E0R{2LX7Yy:esJ9BLvOcA6zN5L16_sZyd1^`Y{^G2S1wg0dUc[X3U)?]np[Yv0E:MaJ@.a#VX3QGE`n3RGE`myM#O<2,0i_[_)%LUB0eqH\"ZC|ic0FU5h@dM~k5|dSWv;!K]ocMaxOH6&{Q.NK4fK%$Vkeh^Cca:=!91w!Zj6aWMAmhx:F_e&OLzP?/$SQ$@eYDr}(1%8M~BG!!D!q/$fi<TbC`a!5ddNc1xEztP?GRZ*$&AYw.+13h<I4LY/5JO~L5R:5Et\"12RWKs8\"F/l\"yba],OOrx\";>Qwi%0s}i[~fN_m{+M.fXyIZ*<O,Yk5;*Gu~9x[NS;W(Z2Lb}p@Qv`C5u%,tB!3c6LI^C}KzXM&ZQt{Q\"J0G0{un_84kJC5:U&0s`E50e^C?;f8H;Q@4I:Q~?J(4a})T}\"a})TqeR*SEV7eV10m!]%4%MFKyH*,>*kQ/`.GJ~ymX/%(CQ^aktZI[`h@QnNLvPMlNBs+FGi{!O06!O3XUoO)z1#+tB0Q?]Q&N(BEwkK$wfR=`P,1n{900h\"Fvq|nhY$pL/+NP8)K0Xo[2fLlTv`.S!oB@4&vpMn*i5pcn=!(ez!Hf69K8Be`:#!Cb/5DSlR<K1xmlFu*hp(gAU}kR)`x#GgIQGu07L+Ith${GS;ktGu2lm#AgKC/WC)Q6FuYPIl[EQ]CvP<az\"_I:<$C5AI\"(]8^ylS+x\"}@Q!yC!^.O/Y`CG[$]b/rs7%;skSA/xr:~J^={:?LWP+Z:Zba@!1|K+)[pF@[}.HYuW4@*THd+HlAMV+3bO|Oho3k5V}lJ^IjIirsrL_.evkxsEqwpV;Hb}>h2<U*9vT*_6hFh^{ca#jjs:up]tK:Zr`NDIf/*Hh9=9Uy<6AeId8jhguJ*Dao~)zHc;BHL5W:MF1Yd)j+`HvD]>$J@[}HL]#S%q94GMhmO+mZY4dUc[qu=k,`mgP)$50o`f|}\"|=$.UTf5Tn#2VoCXTV;@&=7|e/%pce4OgvK<aX0,G(K_UHVky\"5~=k:K6_f]c+zgpkS$ZAAVx`AoIccy\"|L_X2E>bm9h\"Dtx_F9d&k)$cnLJ,.I=idx4LGAAAAAi\"?jBFi8McQDhLkq.>>8A,(<D0gDKG@oAZeeO8IU2r:k*j[cx*JK)XNaoHACu.6}l5z_}Np1>L7~^?oWpg\"8O6eL{!n2_]w?AW`:|^&RT)u/IkI{|s*GE_6:h:n2cwKjNyU<JEDQyt4DwX(Wi]KV$V9V>VZ~2(;}e(fd{RwsnazuM;x~c?7rt5K.VITd*p5w,VhS|F+9MeGhN2ZNvTy$4FZvs!XPM_s)`{>=b^5vR8n#}H8u]gyru$jAn:9f\"?Kjj\"J6LIZt!qdocPE.t+cmN_9nlw{)sbqe/e&Cz]&fUgTG}yWs*74{7%N?ZtPen4qgmJrX}2Dh_1zB4=y]G^pv(m0C@nz|)y2Xecz6pfy;=yH7nq_OpIPvt4fSu`;`5O.YH09BSlCEUzCS8r3uLFUontEpbjVhP(LoQ?>9vB8[YBC$$1[1>>K@8o9>c$7T>H!D!/Iz2X1=4?Oh,^s*bu,AtQelo]&wu0vLoIz.E7x4l?R6XHo:/vh7F6`d?ot@I_{WC7phS8q+7.{`GeKTSZ(9!?NTb&3,@~0b`77tMDQ&o!yHus#k9ZH]L&(8KaD#+G^PtGoSS3LBWVb!tbfHN>$BdTy$vq3^N^OqifBVK@\"^~G@%N){=#vGEUEn$guA_zB|=})2lw!NpO4(o+t8K8SE|tdUP.tsNy}#j5!>EKV[|_=R4Q=t:k3t6d)[UbXL+it59@09&<:RF{Kex[f>y+>TQc%TJ,i7oH>#U021f]S^Wp8])m{Y|=Z6?l(Q[XmF(Me!e`CB5+fQF:mY_iI+rb01OLRc>](8C:a94.L*.WIPT5}0%m+dejz/0d4@7nS_.$]?6&iwVUwLB>=7;w<>J^qsw*c1Ge0C[BelM9*yf>pRO/vfSOywH/$f8YQV(6^XhHbqQ.Fzj^UQ([>{mZz)662NgpJJy(w}tINxxkb):,D7,sEsY+.o[rHI]Dn/P\"&5]LK7]jd[t<h;n,J@:eW2Yz3)$+bw_O0W+ZG_r;zC+o|p9xqZqp$OFZqTRN0);ZHv{auMikKla7rPA_MW1biOp,XC+trnKvGkAH2oWTEhi#yh`gsJWWH?I1f2?GS^BD/nV[cq/uk(20M2(I1J?$}y6.R_/XJ\"ZzroYzZbmh/hw4`XHK;Mau=>*Dp!l]1)UUqlkA$O&^Y1Sv!yzF|`N.nV/T.ZjQ$g/4[o4*+lo.|F_NZ=zS_qtYm[v~V$%DMp0S,Pw~jHvF#F9B*We!t@sM_RxI$@1V2nl,6r[b~@Q7cDaAJ]yojI%TUnfyTneMk9WXiyq?mL4YG#Rt&<Nb8Z8&Cw7TdYFK@6|JUF5;LPs`D}qkDwhLHi)_r]?)kPiEa]Nw:>0)5l]B.#)XskROCNwu)!I+&0]I6<cmu8UpD/!KSaQs>OXgC?:he9lVIEsMOtS,Cyw6D(},Ha3gG/}:Qg<}V5JRWAe<pBMQM!}G.(;X&FxgySY[BW7buDOUN/4W\"F@*nH}za/yo>+K/OShaFp:%N>9d8?03wop=1,S!>ElwkhU!s@,SFxBin+8arG3Bnqk]U*s/3ZlZn:$]!KVh6EK1:ef2A!svTFI?]B>G~.QKYZ=`Q}Z.<9BrCDDE=_uWM@uz<~4&FmBg)DPFGGEabvo*WFgt2<vhs!)^,lNy%eB7YdW^&(NAIM5V/Az)<8S[*.}$g~F4QFFlynBw^XYz=t(h*PTkpd<lS*P$;:c#qPy++IC[2gZwtXE]Hz<N^meE!51_Lex[?AldQ+0wB|xx(A=7P0<1V,ubSvqDz$j2nyo=`>ld`+@kXQ^.sr;~RiTSp4P%Rr6Jx6v9$kX`O0>_&[Q^hV74nb_YfzfguEtk?D$w+_neac7`pWisr(67w1HdsYW<+~)Y}2k)FU#d_iak:po3?Ml<ghf+~9JCCETjsOYrv\"iq&Ssl:H>@womy\"l$IH3.pllD/R>h)[9k)9B:}:`9!#(Z+1]syhZh)S=;;!4dF}sY8@HBYLD(OijuKUh|%7q)qY\"*4/C9a(VcS[9w?TACOq)TIi]],7_l=)A)3,Kv6%]#o>:JST\"KUA<uX@#+3DIMmq~[xL#~ZOSVvEM,v?BmYo`Y}|}t^ji*8,PU{7>`nLwpF`tcDwKr(7ozaw.(rB~M,X?aOP3Bmk\"D)}m;g@viO1iJ5/suf.M^|7=caiizrwVis:V{OdoFAE&SjNv@n<0AHe&0?EwBz+pj(&46Ekv+tq%vAVc7ohEUvu08;uZ?JNdWK&5(l`|>)P^q*&.0Pug8&RCCNjK|a{#Sb`s=s7)PL9vgRc;iM#:wh8s[?/lBWZ_gdU?;S_6SdB.joy9bd|mT%XH:L@]xDA*aQfEQeT+0{09J%9Z;&4D(SI9^U&d?Z<y[:5;3M`7RL:>bZE_w/.6C0K%nzpNNx<yzH%~KM_&KktJ78OhL\"lWjC$ifKya$z7GsI>,SDg\"KG4nbubN!(ykXK+eVBNK6;wBi#6cN2.0vz+Z_QUFGv&cM\"[i+<e4@>gb#@+wN(MXSdMXHmOsUV[Wmp9330;UWkNwF@7Nr<JHCb3/nr|Eu?b1RD6Y4A8SS^OvdbQ^79A,]Y]Pe{TXS}aq#.bmL#=>z,p5m6>``fDp>kfLS2*.W!E0`5i:U+a?J]=G5*&3v7$oT3j<x0S+P|L!{qKq@)HLC.X#8,?M36LZrcM|n6=}T<9nsDs8|g%[(lNpw7{~gUj9}awY\"<`Bx5x8P%t&>&>S,]+7D&!WIXOLGS@\"Tf@pZt=}pV3%`Z!T1<u4LL,27F5t5^W$I./I^!8D&1utfKeW>o/QbI}*D3Hob^ntfyk(dbx1$`?K`pVC~o*2[`VLsJOZ(x~vZvF0:l]!GE<7I5?hrj\"@K@Y2w|9yQJLMg8X?EHb%U+mu|JK$]+3&Z~X1?^WHq7idq)n7!#:Fvl0Qvf]^hm?ntPs(R*7}>uD{H/}vEfefi5bmEP:D/6A[jem##U)Xd23$bWS}:SaA;%mJD|ns*eNB9ATR6/&(uk~&iC=rb8,P9>>0ETiC8G~36#D/C1;~t*eE8yd/@spu]&5iFy*QUes?SB&<F^e<)2D~HyxepIaO#Q8s<>;Om)w8XaAQ{[ZdGT0M+m!f(#U}O#.6yGjoZ/{njw{_)W1;y$+5r!bhJ~gRyq^P&?+J|VrA@]hV+M+CbIZPx4biwwB,oRzdl+G/3mxb1I{,<i[IGcPDIF8|k:N=?szV[FY:>8>^.5Md\"5$c6Ub9(cYbSo>\"+b!).[]=B%ArV;u>Y{*A7<nV!R?*y]=KuUvHj{qNqis6Efnk+BD#!I7pr92%6^90P>OgG(r6T+R!BGh&UkLbr]{AB;IJ9~?%DN(nX8d`wEm@\"S>[Pg*,gI?J9+R`,eia=5IV;h4277((o{kbr>lf.0G[|5gGCHF<>P,U)0I&^18w`)4IZ>WM2T:RkBWpXU<QYAuef\"B13.HFYr=pQv!iEKl#j]vzZ#i)LVW.ol6ql[qld&<0yScI.~0;N2IeT$DT:%:a%XjHUS|\"UrO0k6F31}60=U?ch(i@10fX2y7s^u779|/KDv^K`2t}Kd*R)|Y$sotv0>Ln)Ek?oXe4`Dngk,Xqe\"!&?i39Y;m{%>amPbyV1K4[D*#4MrM(E/^U7Mnu.[l5~zW+pr7(9RbL^@=012S.h}nX^oe=5$*)bJkl_Q|UZLifO%I=WydUPMb8`07$g:Zvzt,@REn*#!&LRR_@J81QN1#kfpNK;P^oHDm>5vdr`LHjG%k<K\"PlKs5Z;I8.oYQ/*>gR)lYku\"}Hs}EYuAhu?8dHCOX/E`s#!}c5Dfh/NH,LE1N,2?[$>x5m^v>yO|,aHT/+dCLk,UMXTs3~Ef6R{k=.9!$?RU{:)&{,;rxX0zp6t@,/J[X)uk$eQgZYL)J$;;g>i5&(2hiBlF.1+M+aOd>^3w;<.xM3`A%b_do+3KIq@Sj$t_d]xP0i=00cSUPmd5>L(Hn;RaN2z{S&oK|8x+(VJ1]|k2IFag9gE~RiZ>^bv{pCf3#K~mOD>o5H$u<]Knl:|2D8uRB&2~eI]ZK{_xzQH9hRAEP`~7K3>1eJE5G6yLE&0GCUcEI^v,WvqGQiP>Th}Iz!k:n%O$ohJ`gb1#od6C7vkWOd&|}3!=VDVpQ#xsy<h_SG+M9bqSP&&S=;/W+2.|zbX#OU*VSvk};8x:8)aGjDtG?5#4?WFGt#WWb<KwH{{r]}`IT_>^~`)ypg~eumwsf^t,Fj/[bs5WMPddo)Y0zI$;KuxdY9TKH3R9siSI0:5S(bcMsD0Q8o)W%bZ+hzp1rcuOrrCs(n(i0R_k>F9NT2*4.Sr**=zFk{OV/nU>b})\"kl,d*knW@boEy$8c0%FD=^.Rr{|o_o$oJv5+D;;`orWr:Fu~1\"30MyZzjZx{_zbKoIBP,D16)]{Aj*gLydZUqJ1VDU$aSi5_[Ro!WhW,2iwy2|))c*p!2W{NxScyd&k9]1+P4QHlDR.1<=1GoF2(B]n&,p[w&XinD>#`R:O1*Pv!k1(\"RiLxhGNHCYyj5fhLT8k5)s{=0v19zo}5#!=k;**X@Q,H@f1,5TIV*!F4[}EpCI#me&>hQDI2Wisalnlr&MY%ut\"AY~f*UXi)phRh!C7343!Vb.#8{:k}{WQxpZBb+B^<ZQp7bPb}zvC?.l!0^`Vw{[A+!po~B%MJ_X6KG{.re`5jW`f(5Y~?Qt~z<:kJ>mQG6,xVzK4${W(:&ie(^b\"r@PoKwPznJcxB%hE~s0jAQjPNJ{v1>,C97aC|Xkd[@?%7nyn94S=97Wdvi2(eFE2WWG^7c2a!1?~u9X~n`1E~ZefVa?NLxeV,AC<3d?VF]k|5FyU!{z8*\"Mf+v|{8c}bM9Ic{9yITM;7Z4ovzO~Hq6*6NV]sqCZeke`@7fT3%_((PY5Jlr&=\"=.bZe=XdE,N<!fc4D$_|_qw+95\"Rdc)**\"a%2(@oj@@X|,o{yE4wUOLs}C9ju)QE)(`<r@#@U2LDKj!A<2|Z#Q{`i%GZn]$x{L?gBCc`oJjxvH+1B+0d2p=Qczbe?`WP@+=_Mz=J*w4%]lPFSYHo6xDb{}L:9nSs5?2]DiT]*iJGW%A[f0_608cJ7G^gB1,.aFNiQN!YFS)mv<Gb1!r,A$Tolu61[FVeku/7sOJ84._W3blNi)H%mU&N@?;c=bG.1CRoN<%Qof|[MDh_G;q,#|U4m,D41u9;JunM=2nHy%y(XM0q(3Lc+7<S4PaF~t{s`M2uLKmCAhG0t|&RPy9}1joKOSRM7m0~E7?\"T2KZ>>$>}6kX>L.\"@$O%{\"|6NCJZhLX}|~{4ZWk)*m!r2_N#npDs.Pt3)?bDy57Nw+acOCgB_HlNV:U$S7sG#SuiZ~.a}t=}E,x/n\"ipOQ@,08C;u]F[]Z358C]7DB|wZk?99i@4m5r<ZR][W=h;0@`3le{)$[*Z4;_RJp6zFl;P&I<plMd>+U3Dbe{lj~L:cTP62wnCj3rm:QJ[}&$f^VgDY.1>2qmqF};XgH;nOmSl`3}},KT@C7^mu&D8r.&pm}&%UtvC2`g`]sjEl`[m[<sU}a1m}3cDxgL$St::7}vY{}ga4E,;IS0B6nuE_!{&w;ZE_+IEADegPdM}8!C>EWY#/q_@$,Bt%tvm6[~9%Rn](YSv@@Nyw*Z!I@]=W]P\"X~,hr.VVj)$\"eEzloM)D:JW6PRz:3|hxcN/FM,_i/8%A>OHl]bz8;/h4%bp]Z\"vbjp^OJHF@4[Jwz3qkmg;1D?RrKR%pj8,Z],XR2GS21=)D7H>ca{+$\"P+47[%GXc2Wkz:YJ|(;(u?UWP^{LjoW+}Ylh95{tx&&QNRm/0@)pRnC^Zf@xNm%V,s&3m#DmaS){P{v5_u3rMg28=z6*/:*}OFXO+a]G0\"TentK3<Yfl},=;FgvHCx9t|FgJzPi!El&}.}(|q\"5N@ga0,q[1Z>=5XPahqCYOz7)#QeK+%zw(5Na,gX!4wQ=bzxSCauZFx<m%a=xDoMLHDbS_LH&^]r3XQy`b!`o#;cOoooY$NC2L3qT/Ohf}5<aV,q*?Ec=80dePvx=nb5jx8BGeSB$&=#I*1Fr/ybQyP1QVOwIQI^[xYolj:v@\"q*:U[mPGOUzz!~2&}EUm>Au?E}+yTc]WMtaQ\"F$(IBNQ]GhI?QscQEpOD]S&Xkndcg6MsWBt~+W+#GjbKV*F!a[;KtB>52Bi_/77@Yb%UChH:O{9!(3O``,e.47F=(<&r|X,EMC.jKSNejtFshAQ?.qZg&jBRyKJ_pJ>Bzl=l/@mmz|L%q~UmRe<]Tj#~!;`OP]p(y#*UEk!Q.Wr8vLh*TKGV3CrmL}!<nKs)2vDX,%q<JOZD^\"ngyE\"VV^+(#9n|9G<kPvQa\"]X4)V35@k,xo$n,MA_`Z2NOP_):HVX.i}_B][,y$V1.a6{i9?,4Ek?Bh:)?kQXK6U0oME?X<.iGN7#2|h1th\"M9L9m@`)X/,rB]P,PIQ&?JK0})7.sLY=uG,Nmf/#VPH>:?#]H.E2\"Vt5G)y}MDZ[6t)Q\"2P`N;~eWXM}lt1teO>tc**b5%H|`.$XiU:.>{#;x{)Fy||!?^@UY9:ZoXbo#nHh#O<@>t?ZvO8wg8n2gGC*Z+Z#dS!@=(Uy^)n\"TO$qWvyj%,RJ%bs1_/f%3F!`}H}0``L{$a0=ISF])(j6V|)N^!#&fX~35~dzDS0h90LE+%)[2J#)<?_#/6G7jZ84bjg1j<Z;S6~rc1f#y_Z[*AGM:;I]u[hEygV)MAJ+hHb]p+(@Gi4pRe+b[!yx#!NPrh+n()!r`X2o/oW%$?vUZuhp9@a#Y5AZ\"ZgQDaq&xz|&$mzhA1.$6zU.P!C=Q:tkeYqE*Ps/_Iy&\"qE>Yo{}^MuD*uC#8U5Da^,4P*e{T.8/o.`k&/YWSg9P*Xt{0u^}A9q^;!l]P+hQslFid00S?O/*$]];Dp{l&z\"c0Y)5Jk4mLWM*/J[1hUT]Dgo`\"!;!%=LI|)VOmE7*~67AujC!D)+fx%jY[YoiMCDP)u(${|(!CYLn*hcp5Bt>&m!kC8{tuug#KjOr1jI}uYX;wDsRS)\"Va%rnODH:#s_FaCyf4R1k&ymH.O[kSx;nxExDSd1.GGq0izdk3I;)zSRH2jghKf$]:132~bp~6T5j*53Fk?{A<.)XPWhpBpAsfV%%<gSo4IT{2v?#E~%Y(fl&O,|(F<(H|$nv<~N+Pa6;e@S6TmyWeO,*9&s32)^NHVF~j4P4:;Sf4S+9edfcFY\"U#)C%=bALPjd7EE8oFWXNo4aYJ#^E7GK[CV|OF@EZD+D8Z1zI[+y]T<NPSy&sW~@va1[5#rz,X(t{/.[Cm&T{18U+)GU{&zF7x1S+IGpEDXe>[:}|{=@ntLCC!?Lmcsk9f!,W2+L\"b{601GOuQ$gK>bY9J8?M&N`g1Df>PA^k&4E&Q;y)\"RqN\"QY@~Q|%]C~6?[OBF@eiS41Z}@z?Eg\",E&Q<X$NEDxP3jf6kr})QW!%Ag)/z5o.R<t,wDI>6fTrM/#Nwj\"A5/F.4NTm3J=T/)dMMqLHiqqBpTx2\"$(:q,Sl?2>StM)6>oC+:Elf*:pVZ1Q`uM|$\"5=z`@h$7!!(#Tx89Rl0C`>mrDEscyu`Zu[g8hv3dD%#GahrX#KJDDb.U8J([\"G?Q`>yTSyzpQ!<}kA4M*I9nUZ%[c\"E7E/&ai[W`*fPgERgbe,_bLQK+qXc=WOn\"j\"w<Lh6vw/,{xZXvwUl%X6GX*:?~1W,w*AJ6jikk<_dN|L=z=WCvSX7^:wB#q&uJp*}T}FXE&9Qg)L1aQgVc]^F|]nvHj5j?)(bk+dLH&+VPecJYF~!_?g7Q>bYv39|u&2/J<eX_!q=.<\"BnDLgvyo}BkAfl#(6cSH.VRP[(X|T}@Zyzmxu<A*8#JVFSA}@4mjqj1)$yD4=(&aU_M:mW;g2jC|O(rGTPDNs;BO?Tv^4Y>0yAPzNLP;+`%G%wp=N,7&YCp\"I,sP<MDrpx=c`d~B9HEq#a,5k/9k*Cay)C=|L_>~o%)efo7@9<`U!Vt$8ivd,kI+reN;W#god(N1:YKp:rEQN>4J;`^fP[34UW@<si$:4aFZYbNX%A}cW+[U/3g3x<7W^YSC>*j@:kvKbyJQy:QvVMEgZBY*j,hqP1h~x8M>wYDh<K$w@]+3lfZ8(}RLDK<:V\"W1Qg|>p|fdJ!,KK@&|f3:S3w@dZAn`LT;Y45*^,=[:xk5z;s5=\"74l$RPg(=:}]}}/>#4!wDJCn%)1WWI{4yk?BBt5|O>58zI\"_/$k*bA#LBj(bLtK,VhLG:~V8_{B01!~vIhD}cCXddJFI~grW:Md*OYyKdK_l?S3DG}|~E95RO8qzj~dIJ7ku2AWE|vlfy^f5XR5XA1uyc).e8_&Ybv,q5OpO?Pd9?b,&h_^<i;ih}nDk2M=.iIn:LZQ9H%+~2fTDKPQuTk#>jD[,*EIY?3#;AB6qT~tXW93ay_8Fr<c,W_\"I2|Re.t,xRD;H\"4,$QQ^)SP!\"!k|]cFXl]tYpd(#~hH3FxGAn;w<\"k%M]gtfzQ)6a[,?_|$o|CV_Yk#$+7eNmd;^z$GsE?QGQzx!}_*@p/H/MV!:HYVr`}ZF:B*t@uGFHcQic@,rZVhEx{*L|/m%M_+$*Yx@hhKcz#R/ZQ5SV7,Wcg7[\"yz{a3HoVr\"%j!P;5mh,Hhb93OM(]Gbtw0`Tr(ZeB@qUBD3MN:I3X>=*|PQDA0q*Z+tRCtXGa&$L@~tuyXCU;Jau5CA*5)6K9E5)S8x^?(R9cP_YgT)\"v^UDktAoL,T0{}=90x,90h7d<l0g]jX}UC+>HeIs%rp0n<wLNE1r9`qB?}>znzmOW467tyO\"2D3)nVc:`EsFoppS5=wdaN)@ua9}i\"zoa~y>R{@njxNJaYE{b/|}+}(hGBm!42tsVL=vo$\"1)p`#ql|YJA$JDjHVYtTgiTf;BLBt9~_N4Sk6@KDv&g%on2BxrmJ..!YU=[Sj^_1vuV|dai{!tWtw2p1ljwO:u9XL?80W6CG0#16E+_zdtk#N<c2m3!hhl4p]CTWt%WJ>NnL9OHmP.jzvV}Ob}9I!{%pri%k6^?8[%0>MH,2&F9o)<1Z!tt<{T0>:AhVW?a7%ZoqsTtN6O!&4]|N_)n@i($.*v~O`QT>B{UsUN|)Elep@m0`?$XRSyr!X*9xdTP3FeoEk_/=MZZ~h3:_lhEQiq,D`\"<aK\"yRwc8v2k0kV0KdZda7eby90d@ts}]|7+J%:eH|KuUKFuPZg?4K7R7Csl#f2P3+_7;IY7u(H0`t=(tbN.O?=IF`t>~nOg8/_(2v~XuhJg+w(mHmnLfUMKzOkNA[|]J%sn;}{qFyqP{_+g@x[HbXI%KbHYB@$Ffpir$xQMb)V0I:|)UZ.1&twFS:s+tkV4$[EW,c,\"!DMS@Ic^2bc]l<})FG]WPELO2a!}Fh`zR24cZ~4#6c>m;r<.dR,OE4iRNpb3)GD_Ef[6VIc]#/Kz3]C):ESDRnB}.l:x+mMo^a$oH``DPExL</L6`NSH1Y50O*n+,k33p,|P;^NixAu/2|t&JUX@6TCc@ydku#SX0>y&{asHFq,4$d9W*n3exjpFc#i&^_*T943|F1t$t&R.+G[G8{OGZlJ\"$dIAS#@%{D>t%fiP!M:zaVIakSz@!BF6}u@DIP7T5S3Z6)wwPqC^r9]c(({hJXB>0*x}oIP!}Tl57,%dXa|rAR[+l_omk%t!~js2|\"#=\"I?ZzrARFxYupxUn_t|,=.;i8gPsh9vYR<*}keF>wQVu(q.LMh8w^@yK:*E1=+I!Qr57~_YT`7={I;37_=kL6gX[zVTW:YvTt?*WB}s(2&l\"Js5GP&D/Xp<<m#3E;r:$$)B|iw#ERf%%;}7dAd_Ptaz{+[z+tGZ!}$.WzMv6ma,z:b%T=OxjWV+RH<tR.p<Ww7p*,cGXjcwKtDSB!EWpu_7@ydW}#^gN.p$PgoHPLHKbQGCgrQk)2IY8$dzFU.\"u@gaq%1RaLdq`JmO!}Z*ijB}Mo}i!t`l;UK.F<b@]bC{Rp!awa.dy%lhs0_V>&6XI&0F~:g0{MOT;$%ER^>U5/nx$3wWt*2t9k1,.{z4L>10)ECr8gMrJ<Kr4q@_rNB0LZ!WdFKH|(=2c&_g3%K!*K&AlM1+~jlJ?wHl22vZ7yzs^v3^6u!W87,,Sr]k{Wu9@jthSyPQtv&~l%I*ZPjSCwiQc1{H5:Wn;LHC<r#6W)h\")qhQi/Vz.Wd<]IfE0Sa!BMp{qdcI?WNkhw{c/~T{7,lkd^,+KdpNPtVH7Xn%H9|jMVN,K,eIQ2W;@JtC+*5^sLScPL;K.]r<L@Q>Ir@PP(jpB092Q<sHt_e/gQb<jz\"]0O?maKiJHN2;~s|6{cOyuE=j()ob]JS!geD,|!_hI_kZ#AMiFSvy)Eog{pba>3vSHAUu525rvnV#mLsXti8VxZRQ,$By%J3\"Oj0w;=6Rp0t~{m3ww@C^WTs%*i<0G@etdX/dJLwzLxO3)\"JEjnK3wKrAC\"1c%z+1{*vpiL;aU=DZqK+}m|CQP\"mC)uxx7,$I,i~&6nI*F?_&$FUw]PJCRQN*K*$b&de1O=enNhl\"VqZH^CiHCwULs]gZPIG2E_\"GA/v~e3w:j^)[blBPYsZvDrK**.kdyQ7}l53.N,%@:WWfzm`0G(3F@9m~_u_bF>p}NrbJv]KOa&EI?bH>gsN7JgZICT9xu=a`NSGfd=>EPp:=?v$|]y8c=CEE@\"}s4s:=sx|Qoa@3E9;\"boVGi&|\"kxL526wtkx_0SmRxd3/szQ3pe@45C@tux_(^5SDIFeaka8|ott[Q0suM)kZLo1<qyA/jg}tZ*gr$cfx@Xc.2t?sl<}]1^sOW$hKG@!aO5*;)*VHJeS#Egu&/G{_\"kFyFD:92`60<GykTEj\"B^*HnPHp?v%?S!(=/T4BpFfh[Ya$g&8%khu;B0rla+DyX<t%tE3fibqmS`f`5gvw6VJ6pUtQ!_eRZJz3H]w?cG]6f>4f/qR0(`T)0+jY835rQXyN\"v.<rF!Bzb9`O0i3?H~w(:}o5<CX1]?~+(br7niLA/8Q1bX\"W0S}}5K?[_*<Wh(oHyxpde)KB|}Mwl48N,`?m$=xm!&Qm|qJA(~m$c(Oy3!i$BtfE?aeoQ>;mOFb\"f6*:qosPT|)@N^`:DR8PxWZ~pDjF7Y<bo$gg2}+!n/cTUAazhm0OjW]yt[uXhhIBSs,[)Z/o;!D27kp+F;P/xC.Q:+@k*sY,T8SC#}d%G]Nhe[ny`WRRN~WNh8f#1\"i<_5wS)4>F6;RwK\"yW)mx4DHd(@8PyQEG:fp8gnpX6[9jeB5[X=/M%rZ*jL[1{j,E;emL;nk/Cb\"g`?lcByq.xHRb7#gOtOEzWj^%mC~M^wmHk%M#6CK@=G;+`5mAk:4*?x4^]7_)eRqfq90<>{e_*HL:g/(i}9^7.>*u4oz}D(7^?N)$O;U]3L|R/q6l8=CtMl49]yE[b18L26X:be.E)m>gst)H7z!+Nrd_#]z^35r;?Br2$,Gs(TuG?4#o]b}>1?)R|P}=!h!~jZrio^ulqpBl|a46aqhp59X_4>J12Zu83EL`%zti1:1RjPl&AujX86Hv3~sX!`HH5h9zJ7@ukSjbr.}Xxc&2S/mk$sVO|Q&2b0q2Am^c#ybms7XLPx/T6y&)o1eVa4v=1hvo0P4Jq.{Ec5l(C65?fy0Ta>1HbZmw+y$lHhp)\"1$x^p]M2:w20GP+:Z[&ry_wCpIy2<W;9rb2g~C;Kf|elFe`58ethbYm90\"5$lG*&=Mv?RGg53OHG.1uOXzdI^t=t8K4L42Q_7k_8BxVKwPxoIbu%2/K\":8pDjxtC(^B)JDq]ufvNrOF(L~Zf_j(35QRh*g6muvg+MpXJlji~iDSWJ/\"Y,oL[*~wK9D/Zcf!<[avxxsF|]H5EYy1H2+\"bzj306bRFeGdxLNb8}1<cNv<[hI:>Jxza:,Lx{XUvk3&k(nP_FCN7j[F;\"yT!m^gjs3J:B_C@[.<S6lurW#N+)*3decqNnB:9dAX@KI(7pBF45pWr&HQ^$ORcE22sad~LkD$yRw6D.tEhCJ$+P/ZqV1v>7p[U/^u|3.02Bn#+*S<HqWEGD!mp6E+#y|;}_3@\"n%,_J`N{6sp!K/qxoYPO)8do9.b`fXn!FIrwK|X0i5J;3Q7d4I6UV+ODrWw.5u/S}dtx8d[5ck^T|}zjIE|1}.r+e;ZQ=o3:6<J53>;}qR3`.1G:P&1=!+@YzxXBkYyigSBO~4/p=q.}];]wI4Y]nV2DBn>a<S>oaq5vFB`E$ReUa{:j@%5~2VJkI@)[u(1Lb:z.gHZJd*?6[3NbcRtDlNL._mCUgWLyPkWIZ3,[q_d@}}hRiONDGG5@<Ha?!hqG+VR8`c?Cu9n>OmGy]hloO/Y,!k(f0UtY(~n,%G0z<B~\"j=?n~,qME~=hC2GL/<v1]%!d&]6@&We3!z?d)NUE\"tN_UrOZ\"AES(j2uyb/Qli+aX,K;By.cO~WvtWq\"WVZ]3Ig1FjRmCsVO1AI(=5Nh1zvnI%D~HRtZ^e6TzF\"*CF{%?pV:Mb{sBZ?8I&4I.>%N#>r;ne,f:&|d~djfJrPj;GH*5!h;X<(&</}\"6Q:|yC*bfkc?>P?zxVb$SsYb1Mk&4&.FTPjMVI{;,OQ9Tw@[g#lmZF=`0^;oF=q?XLt.}|2k&9BREy57P2P7lSn)_&Sz;g]yGyFa*Z0~yyieygj)B\"h%*fC|v7%vb4W.\"bVqLqy.R|kAZ\"=5mnI=W+fs1\"+=&J4,m4]9&bW|@$HWi$`[a~(l$DtC%<YfLE!v?4i.8fDLUS8#+loTg2fe^NE=$oW9(.@+]i),1b;&N#pK@aBOC/<zc84)\"WW5?^[?+B=5~]UGZ8+K,AjS<F:|d)gF}$0c1mzE>$_E.dY06j=#+B~9cnCcufVQ2=Mhby^c%B%(:11SS!L>MBF<>0gl$_]9]Exq843wPYToZquzlpQ<JqP6%^[`#U4!`ULk.dO#2x,_6wcEeSsR3tg#`Fd~99aV*!qdu:ubM`GE=LGb^t7sq\"EbeFO#Yx?O2j]&r+[kflc|Sc2t&PO>v`toI{lI(70LTe;,hLkP1w#@P}i]|&u&lly6^~*P/bC]j<3hW.7*Mnr9n,^NGua6,=?b[x*CpN{w?n|B}Ma?.xeh#QIp+fW]xCjwC5E9F8s)5hkH>&fDf[x<FVpvVnskz@QD{YB1?KK>_8YfFIT>F(0B6ITY0zXruS~cC*M_bH(+5D^3Pi;J<u_QfY[6lDE})u\"mg{|66P4F3sti&Cqo:x*DWpXK_:9FZAQC?,VK&u8)Pb)Yi/thx5T#7wvf%Us!fz&]S.oeCl?\"p0M}#FvRFA7WryQup>>Ztng\"$6<aCxoYL>jK+h1BY%s?iC:tY)`z&)wU+lra3X>%nqW?z`EBWr[hr]46nXt!Rj!ke`dj#%GQnOF>nc?e;}rllXl6WyJ#R@8L&a?ymOs]dWf6BdnB@by4vgdmTf1k3/h+kWT!SQ[Kdr;qq,m|I0fCb$9@,+E/VN23q?,{m+%Rji^[a`wYb16fD_.S$0LH@QfAI,3c#]s<Css>(G5DfBRe_xW]#Z?%`YYyU%)q}=uC0n.!Sm:qq9|&P*wjN_Pv/Qxusi/:+4;~D_V,TogJ)_jk)z5jZ;c#h9p{7ukk27QZb\"SDBCKz703ZMS>S/&j~J]te9lkmZ<BR7^pW||Mg*~*jj{2]psaW3b@G9lUHTp4Cl>pi)PW(3a:_.o|lV<&bCl:,].ybs`R+$odYwE[0`K5Lptl&;MXk)?!p[c1cMv,[y6pP<_?9d>;!^bv~wcb.bdzF9sfTGZHD$/R=19FEo^_43D9(udy:wt/G;Y#Z0p9gbVvJ>(#9nDs*SPJKGDpEmu\"c0IU0>&%M\"30sNhgU<}eRYz#G,%_4)awr2D6`<fI&y6sPi14(Tfx:YPG!=nh5i5&j/T7@}dsn|:]j2?,1e]i~`R$q#}n&M/5~{^G}(JTp5o3d9~,IN~t[z\">V6HQ1loW),%Nf7n_&[eL*RM,MNwTShl$47uuvm=Q$%.?,^{JNt%~=C1?Ii.nRm%Sn=_3c/(gs*V2B7Y;zBi,+iSSN<b%3X$pu3eI/g#B@n4$l{ze}iBo=Db$^{>cwP?j\";%w~(3&1^|MAzwXwVB.~9HBudwU`RsV_?<Nn!CRv1d#)unAWRWeMcf:q00Y=cX$OKWnX`UG<ti[rte0Ivjx,*h;ZX7pM`$2&*JYMT0ngL<q)l5h3mAihp*zK.{3oD`5~SES]ulr]?c<9x7cqVz+#K3\"pCxn9QwEZR3M;hp5zZoy.ISMHAs{=&}|1%1N!+K!vZ@BPU*7>x&SV&]O98qs[?VKW]H<w2}dA])<4`h)WR+`iK?b<`eham<t/DlX2v9{J~OoTliibe~Sc#c)@o4r)6X|w[cwN}zar+{5.W*uI!b~s+x3:`_k4qQ_N2r2t1Bw5NrCnX+(=]pNHTfNAf+WGOQi^>P|?mKNI/\"N+kbw?\"1u^~RWrf*[#(zFT2o|i2p5b*6gauGY=AjEqqO#y&W!=s<c}E,S>2D*1qJPz\"G*<REql<&+<C}$7u[=smwQWz]?=,+z.O;[0jg!:*3e61j${QRg+=.Gi0&oc&:1B6^]+|fNUz>\"T<HcbL6vyKp,#zt7Yi<}4<j_P]m3bExfBVKO).j?=WxM3%XbsdSiHA}eh^Or0W8;V3Ynp.kN$WRQ@Ot5*LA\"+R`isGF(Fv<v*+asf:v%7LL8vb\"E|4eb+r`Lg*ldMYCh7DLoT{d$4/=HHme6ok<L03h`]GA>[1ca}@E$crrmPc}Bo:o/jAnFXYh~zP_X3MVkJm.!^Y6?D01{<XF\"3*;Wf{ZmI$5;q&TAtNNYrU9IvT]U:iES#bLo*m20&:!WW\"@{s}`amF[I>^+=!M)*K*;r95p+Ym|cFyk~,tE&B_yvMJ>$]nFD;%,n[;[tC*EYO+|:?$))Q04%o1cx[#O1m/E=t^Vdq)hEV#Kf2m\"T6UV5j)Q|Y?<_<y8!7@pF{MWNY0~BGD6Br&/Z#5v%1H`5LfpPHDTX;ofCZ_wn,ux}m#N,8snOC+sp|!&8q|3<X^r/(y,P_e[98f0Z/.cxkJl>N.z)cw1jSwb&SI,NYnCPMErKxN0j@BICb%duN2AK7/WO]+&6YSlpgJS)_]CO&XiE.&^,mSfyP:9[`m7G1kiX!wI>|E(W|``E!u|u{Bfg1,?/^2^|W+MKYk[j;~7n7.m.O_TcON+eG1u1sAd@|cwTnVQd0Ki5=j6}5^(anHp$SCo/u|hY+OFEp/OG_QX+zyGZ4:Ty+N.NML4zVwqp!3D.l3|t.ba55(,bYc2!Bm~yHIPw!G^8aC|aPfr*bF23`:Vq3hhs.zivTu5R+~\"}FeO^CRcF[Z54c!a6DM&zz=):_Fa{bIFhD99}rQT%E?$dt8jpJdzEXanh$~U*yJs~<{$w;FlA*5SvbXW\"c_)RG;JP\"$6V_}yvBS?IZ!;8[*Y#/ijQ&FyqX:zfhNvAxk$R,RL/!uohKMTlMiH*0hg;k,p+=w~}V!fKJoH;*M\"wF]ds]$LvAx#ABSy>2(wh=Z1^ViMMLnz`Ch7XVH#Ma>(Mc:NS7H(3H*2DBEZ%2vl/>qk.Guj1erH_HL6#|a5!Vqd{=?FD9}mso2[%u6a)<@dMWa:2*w:S^DSe*Uk@t)e,9Cd/OBOJdiEnLp>~5CE~?rlK|cBmRkUFJurhyWZnjB7ZMdHHP\"wC.v*%,Mn2D6l^NdI%T0dg{yLNgGBw[gf4^_#SEW6<bLnRsm_5_:%iuo@y%75Pzo>D%3HU)9LwUAzGY$cLRu%2[5G&l6CLrpxt#*7&>sqIej&apnQX_w=K_JZVChLlrZgML1&}_|yXes{T>4s3TalncZ&6G7Ie6@~B:ns6sOpwlD>bv6ahh3+5gom]rN#s(kdGg>3wMm7x\"QAe,F<#4UmE7b?L$puLvxZ_FG/X]cWLx!BqIf.<Z7yl}*iws[bQ5kj**RSk4~VO3F&v:fAb=[mU71|D\"xde{1<ao:U*V|kJVS(M6dgiMExWW;iB:;_4GHRJCPeoU35N!~C==.Q|:lmX6IAz|#$urT@/.Wm4>,^2c=pYYN,O{$\"y1!w37Tbu]N_9kFP^.p8%nETD:iL:Q.eWwS0P=hIX}#fIn;52%jCFhB`Bq}/i~:0.n]4shZuge~bR/:0<lzVB$:6dtMQa36oj@KaL+4?MGB1DDn{>5_sB{Vzk9Hc#?NiO{hbMdZ=t/V#$~bN[vAq$[sx@luoj=sIiF`isUJ$H)UA2^IT36lnNy5#@7PW3V)CK,<+nVHs:2qCD9J!Em6.bxn:*L*SFd3j3K=Mt^07YDYlUY2nmU(9j;GcG(v)dW?,{Pd[?SF;`}X72;4#{6FM*gHqD^HFn3,Skz6Aur#D:0lE8Q;HCawO3dY`ndghxCa^Ak:MLU7t=T3V@.dY#Fc?22+=[u3|:gBSG7nVD)5Bt.F3m|I28r1GPr|B5uD6Xh3rRYsMeMPbKPWTQVcBhcH&h`!p+fF@=4>=MA9n=[>]V}Hi.v~6(5=FIz@H/gNHlXa3<|27bOxP8E.ifg_BVZ$)FR`>5Rh~CqfQ^dF\"KJtD=JU>meW=o2n@;mF,oedCAS7!e@~iHs`VUIh`eRD<<qF](9~|$OZOC_df4@uYn*D$<ulO)\"6`3K_4Rw9?8iqh*@z/+*De79d,K*4EP0Yo,:>t!CuyBjjj%1ovHu\"<JaT*{GLHU+CXf\"R?j6*<PCVM=}&lRgcefZ$K|a04OTCMc^f]Q<F#sxV]l$kQ9x*36KY:91BShz{%f\"D,U={/v3C9}>_83?:0Q7C>lgW||*6i;@s5Fo&QeJ`:v6N(a:*jBluP]{UOpQ+#b)1gVauv}G5X`^lxc6|mlGUGJBa:@2_,J[h[qkc^dtQ}74]0GiJhv^cH!>r]weZ>IU/6}9h6]qpPr&?lRyr0ZEk{@2Gq20C~_z2N;yG}r;ejF#qIknz>OJt!6ycp=HpHt1M7i3FkI<0QjkLoNa`Z@W!E!CJf/+S:]Hs.H!EG8|e5]}|kyZ736;F|]<DW/bz@.h5VX)rO~Su$XM9JY(q%%0w&X`yLJC*mi|$_j]R8QR?fMY8o*#/~$gGFs?,xQS9hyD(6]^q`5aq9+l*UJ^K77La!@e^M^/B7w6u7h6GB[fV5lluzN/,~cAlbP,%@W1\"c}jPr`@;m]V/AFJI1B>xKy5F,urJZ2{V{|{D]W$s&C<5+GZu$=7lJthZSA(yKDMDgA(yKDMD(nVELJu@K^7S>)OTHx8Pz:;d/9edSd~}?s&U/xKl<x?+$$5QRZUx{><i>KrdJMm]R+@kYmNp_Sc[P37o2.dUc[P3E)\"1Ik0)a.p`BWWHvn;X6d@VRC}0Z}_@`K.Q\"@{Zl6Bpe}G5`3.?+%hVZ?<i&.OM]HTwm7oG{1:1zij#L#tBKF1u`}Fc4F(_oL{1aft.R3+:kP=`~_eEz!c8vy~tRMK[>F9HY)T9+rgg~OkE(f55M[d`2lp6lK08=7EH;Vfx*UA1HGd3fvs!])N8!eQ%H5wd0UX_yIFfX+AZHDx/sCg8fmgEwWO@$x;d!MfdnGSRl;9xO;[9QkK`nhww7_5.QvCC[$4Iy|1}asKcCk?s(%/oYr5Bx)P30`SlB&@PAnAS*2B.:mdo,v|of9B>bWgbB_8+*UhOb7)lQFbGY,sHS3G3QbR:9KvJydoppoE3z5JT[%.HfjoU:pHric_:@{>g_:usP+P]Zb5^qqF5*?\"m/M`PsD6OLYsr/=a55,Umfa^5:+n]oj|P~o|iCh(?S)1,,_)?I`0fasW.L_k/E~k5CB(ywE[E)qyzq\"Yk(?fi~w?(~dnD+:+ON!VF)H:T8wmA`jtJ;DRfs\"Xz4_ucDHjwtMR<r6+GmtjZ>MFZ(2k&U}vpsY3n%J~d[9uW(HFXf/GH1kT,VjsqE&gIABLRnnWR{OaE7t+(Qjk)RVDHu]RfuR8J8O@tL!tPcHT)zdH2hga573O+HtigY{8dIw3n8y|v]vA;VxTK]([MIBw1^dB&Wj&]I$]aVc_jXOCXIw{k#b)F\"7%]#ZD%m2&Q_5e:^+wc,76Mji1o|`3Z.cU8Da.k2XZxCMlYx;ssk!TGq*q9c75).X2gS!gjX^#))PGIIi9)\"#3?~u3KVS0G.H(EF+z9~Ys8~2flcrw\"ewbitM)0)m5E!jfQuQED{T=$_Y)0hs?c/9Ec&^sCh=/XoqbJ*h@D=$}g>gMi(?F]7PHXdS)eD/cyZi(&}bH.,(vS1/!J.:/E9kNT;o&^5/zb_T~D|txAg#$IG5^FvLx_Uq2u&Fv6zl!kv1qgn=LhO3)9v7@,%9dBS995B5kzNc=a\"bTzIR6I4icYhB(w*,sHQ`^9NJ(BlRsbT,xPM<8<RNCV7L2l>/)GC^fC%{EyCiOkWfPw#Mfj>ZdhMSbzjwx.hN]?|0[w}=y{71L>(9i~Av`jZ7o:GODYUw~DbQ|oF/wv$Mr]/HUzEsbJ7:?Y[^@]U0e]!vZ7~&pjg(1>b_b$ae:Q]u[z?`:6}r>oOR0$*{!I6I^fd#LPrHIvJG;hBgqC}AWc^:XwDFZPU,H>7\"5kwc_b!Zw4fS~YNJYYsbm0MVH5+)^.s@eqH,p@+O9?{I)<D{I^rZuLz2lX%W/!hIvgR%{+FNWh^rCC#2{%>mJ.^%c;3C~{7FEdMO=cAE3)}$zd;qrVmGr\"8rR*b/K7w!qcoZ4KxS[f2S!).?#g6&1js!u*PxC/)?)iBMX/fX!ARPAGDK,$Ohnp?^kP!RY*JP^66e/5\"yS8(7Nzt`M@bedSaD=;SaKo![GdSa*qM`eSfcDS9Wtjuwbe=,oxXQ.>LFJ1!k9r;OO3);c9}EJ:oHL8)%y#3ai`:ra%lkf8sb=&P[v[)4S%Fi|n%&Y}/#q&l1kA;ZA9TrO`AYGEb3kYxD!mRyGdTaAM#xrQo$,8c4hjL!@eSxPfZ8|B!,Ugud=iF@e[{k)MOpvHBwQMCwmG(Vt@$eOy[`zmSTb$O=0m0H*k8N6;A+]Y~x`Wwc3C${a!%Yp7q7V7`vB5X5H5&4H5i4^1A1de58N7keu`I@/@%@[@=@y*M1fI991fKNQN}hw&pzp@Udu6~a\"1?R$j8y#!Cw3??+(Gt6/1AS}j_ycXO.+WA286RfEGW*$OCS!bnU9k^Gur$OSMV3`=UttzgHAxVw`3iS\"P78?0QPkX?en9Ywc]=v[Wz]=1|]+nxFSmZc;pj/fj~/)Zw.w.;H*k^/Hg#8BiMSFXY%vveSB{;a3[0Cc[CK*X4c3_ytHaZq/<@Rl?)!4cj8CWP#yv!HwF]`@TS6bE7GgER:gV1[`a0s|r6}wc>W+r/wg<d66t;ph}Xw@{{F3>hinMKnVJl7wb!1l7FP3KfovvOhLF@05,__c9TfOI#i`75F/\"1bYC>CkC!L7[Aq^]X[&gFzp$0d5^|mOFRp[SF4@aukW72d74MGzot|r4e&BgeP6zgi.?X1.*F!L`:@_SMx`S4=VCh~mdUpj1Ga#5}IOxzu{yM]9ZYU2K!+Xr1.%IifsrJXD]8:SJ)=Ca)yYC><H;I]X7Ek_/7l)lP8deWf:wSGxo5kwx22eI+>r!6!9B`%H\"ib`y<M|JA/9)J:f#1kRmA/32F\"M9X9a2>f,w;@;l*@BjbCw.\"xf4Xqg+i=2!JVEKIK99QDG5L3fQT<sNxCrbAyY/qG`@[(z%^D6%shtMsC=73t|ObA~+QeVa|4JU\"e@qlo~MMx}Z1r\"X%hk[]_@B>&F&nM}h5KN0[$Grw1(}PZG&w%N&uJv]4M_%9%>r0{\"{~lv4oj=wYG?]np_q9TWB0P6,1hAVQ\"kGI*8z*%u&hlG5gMl(gV[L`pkq+igvX9Wt|31Z4VopKa,B=XMHthUH$ZwyM)25KBTlmM]?pVJU]DbNZNBtWAE;h1aa~;c#*UJ[+iE[C)]2uC_\"Ga$w:B:T*U&a^vC$JFknWilkz!{^3{)eH5G=/6N0MZu{/d[+}p`6:0*l57qT^+|V&#p#,E0;>:7|_6d:[1AbG9C&*8z(fp%ZCkvTo2tQXXG|3(E[{/A#?R!6Wn/<Ol,9q*j%SnKSf$]Ovmsx{%>MMaSwiG*MGJ9n<eX&25kn[o?FxP,O!_3ZiXey{oQM<>Y_TjI/TIGt#>eB&h%w3S2!cKy]:l~8x79#X%t;MKHvd,@#EWob*#OB:+lepo+)+h[^fid>9^ah[]npA0qqM+cTu^^]>gRyQrM+Z<Q[Ga+o,g7DUn3;Ft{X#b@F+E9dYRhjSC*MvZDzA]NFg)2b5czHrJjc8b`k#DuY)kvw}ru;ndw/8#m\"4z*eLiV961n)y_gphrmU|f*]S<`8kI*[~g50MfMy)e;ZcxW6YOH6v#sd(5F/|maR1@IresN,am4WbIDUK^,qfmbJ4Y/B\"Z`I:+B&j]2\"VIrAgE6pVYVRCUL,w*$wPf`N?+{o)p!Yt80x&tXzEM?\"WIkBm{tQQM]ZZfpTRC[qASL6h1s\"[M(dR5lHc7C2@]np4BQIZ#a^Esn5lLpc1C7*GT|e?DMCG[hcesXx?O$fR7[&P#/1_j&hW@^9&iED+#G|TGPKsUE.$$qy1!YeQQT7ReZ$/[T&Pu^K&B|r}BGu*#]`!V^t?.%QAP&QKNe?oRc[P35ObJ=S1.?<o3M%+o1bR3?<TTLKG{;V~D5|5QllAEAkmh4}x[)!2OYUQrh,s6U/&H]|(oPFc[u*A$vT(CBuPtD29tg5fA1)hM$]IJKFLUPFChVCIG%1PX0%?=d4OVhq1H|DXp{|XV..}=FDlyJ]_iW@?_l:Kto|fL(Zt8McC?A^c%<b(4S[Ai~o$6P*$.lCHMt*h\"CX38\"+!j+=Kb\"6fv_W^+nXY0:VJyP0\"8oE{q{$o:u/T3^E{USR+c){[\"~_c*nL0}2.O=0mb$O=\"_;xGj+H.1Xq2>p*0mm,{2DEQWPw/0D7aqo&e%u={a|2AZvOH6oR*y/.>\"6=IM_&;{%<e)4$vM=&FI.5n>?9]&@35r>XC?>3uE9^]+%TKq)J_v/5N4h7BxmH)uz8$zQjRfzH^5i5~g}IJ*c3UOXSie<l=k*%|;0VuGDcNg>Lm)(YIknDJ]_Wub)f3dqn)7KD_kuBP5;Z(c.FxRNU=u8yx2a$qx10f?Y3R/V`_X=~c!pNHX|_0Q5Mf^s,rjQXPBR3ZZ(j:!ONV`4Mg%Va^b9zyjW~Oh=\"=/.br/>)gL{1:}aOY}Ua`Id4I_e6z=d;7G#]+]s$AD9]Ol17G:U^WR|*[hUnUB;2*o`f)l>=uk9{aaY]4,lz8pmG+FT4_Y(j;|CF]WWot:P>Fca3A>[SB0v@p?z{9FyJz@l:~/dMK;m16M%V0wal6apCqoxp>^0vD)2q?Rrie=FY\"jxDIs_RJ!hkB75.D}p47]v&b4@/ewJ4=:Iknl6tXcTvEpDGvMWw?WhgM+eqE7YNr1FLl:HW$l}S&tH$.QwKnB%Sy/~wpfe64BVfN,[fU25KW/zow/BDp9.us2>vO.c%O.f:Gt!ljVs_r,4o,SV.[)I,1D:Jk$gD0_Xha4VRH$mjp@,R#BrNu[Lzco=Us#kS2S>:>nFP3Z.Xpzw>A#m<p$3&cP&jj:?J!_7LO56Fz82E3#kSf*hydYs8AOul.;Nl8MTN@qbQx>y[vQ*k`Po7q.1ip^}_Ze&rmZ/kmW8xcNuMN}io*)IG\"ND:Vl]]7$?!Rlg7.basj:Rz7!s^<l]}8=A$#W#Po[wL_Z?,8o;F}R]72??sh,H1t[iiQfmG#yR8n?Lorh~2v*la9(5K|yjBQL(Y8pl;</?75#$SX0kzM6]L|y^lTpHr<y+|g0*vV[)F1b;W^#pG>1OIG5;173t,8@#E%aN[;X_[|O}MS0l$8m}0!x{7&@1zh%Qf%!&2n+,O^gnygb]sscjPJ@p06>~jP#K<Z0X(v<r)Kz\"a|[,t%%~P[Oqo($]}$I$P&D7Ve;/m;?$Bx#jgvi3?djZ6Uw<m[k#.&ZEqWd|/G3+Y6R>:/g0WARC_5lz=K6_PGNC]QGF]cTT1waB`o&;7`Y^:)euI~cMaP6Y01GGmGq!Fq^8!O008U61(qs$n4CqzN>[%bw0G`@2cTo(EwITogg8S(09t0GZURs^m,qi7)tqO4^0Q[s`z;tq52I{#iM/(T|~X#I>?;xh.1.0.H_c:mT.NzmXf|%<=7+TSB25<6bFb{n*:&g8Kx.&IL{hv;+?o<K_5KZqsc1r?Ge~nX0Uz>M}#?*Kd61BW`w)8(dDxRn;}?+B)j0>K)My0p$L4tpkOr]<ihx+?SPr]v3;A4J/3n@uQPa9ORqdDgo&%Re%kz%$C6D|B\"&q0Tl|aG:w<Y>A1{RTExM`?WJr2A&DN?J{`wb~2lVeU!oB[EQBN/<J[7obw8kXX6$oJ@#ukY=vVB7T;N8v%,:+P$v)k^[iow:T]Ge#=ey$NQbp77p8o2.d&SW7awZE8?5Bp[HiGw]3,&pKJMuu+`3Kb/B~AO>h@vSSRuMc#?:..Gp%$KK8.L/&oCc,Lc0;74[y!>E!;@q/d%sb&gyHI!I]lbU_7)v3L=VAFNW+oPR}ui,Tc0b}(<rVZ@F~_?W>m1#o$jYT?W3:jwwi]/n&<$%dJ9Gk*$I%WWa,gbDZL<7oQ5#QFZ[ygo=IosQV0P3I9Ua8Myv7.vuc1B*q>?XAP4tuiVnZ>|96oe<!6k]aB*]C+BoV`ShyVN?hV4|~3l&GY1)uUg0dZnPTqOQdrwc:b\"=sLfz8`reRtt>KW$fTXt.d:&J;M/ThBX7aFN?RWq\"5BpLlF^4:GAW6M2E7)i;7vW\"nV~=q<Jk5#2%097b5:~ZpZ/E(.:Breye8y;CXv4`^h`7zP#\"G3R+)Ki:3a45sa(#;CxA]j.o>%RI^c=.KB2aD_+{?MBy)wYkw]h84}wcmQ@XYkeo}Pe;7SWD^D>%e.lo\"^E!k&d@HtK[\"$LkK(_iA[?s/p&:2J[gfi&g^lcwN:k^OO}Xi+G/c9G,0S_5WXb%V7h[IR&}G/eOcIK.+tLD,{~LS@|#Fy2P0v^z\"oK>O>\"l>F>~I0eWYd]&xC.hJ4|yD8zSclixkIMnDMifSLTU{8+K0!Qz9CN]`0YU,f}:[c,dwV4z&ka+wzWOUv.6p0,r)RDZ_6c7j;>JmR11s+^=L5q)(j~3a~(UI<0|Hn*8]CI?<(l;r,ks@,g;,OH*`F;V]qE@;|sBl&@K8<2vznJEXW#IkN]l6g_agEcB45\"fUcTU,L`[tv?0Co}YgE0F51w/fEEZ[{a7_HI7H:{98tT{h7DtDLdk\"h9G/c$xhzh~z/+nj#TGA*mJ%b{()?1%H/JfV?7`Z#LJ8YA:]?`VIBnw[L[Tb1dD}^0c^8pS}jLa?O/g2U2^s{*dr~Gw9}B/.Q0YH*{V.)^Pwu=_/FQivbPhf0wEUJ_P`BIeu,SxEX`PE/ioL(m;C@as99D:|)_(wcI{nVv86H7/h;/~6g1`Lf%OAfu,%<,^JG<6\"hoPE9~FtN@mt00$Z6imTa<Ht8@#VT}K84ls|BEkn):r8P8k=hLH{5Tvk+D*QGc^~B]_vDgf4O@w^C~/`dSC?Ps@@7pF;F7_a`.=(OEzTHU!\"4HT288PxZ\".Hxx7XG8\"9{(@H%6KSj2/#v!_~Fwt>xvTn`yT,qFc_x$Qgw+iBk#\"pOC.df4K|H[d]Y0JKknzHbW8mqq2u*;Fv&I<bQC4uwPC.0;q8kCSY(,OlN]we1[rl&wjiJVJy|UH%:5pbir|h<CdRL8MLYk;QjlHz:J`Ky+C(I.2SJ$x;(YQN#L51vvOqC+T@TXXDzrnG6bNr1@qvuLY{*JiHW;Wwv=_/FQi*Z)d]y.a8vFR1)mq]C<FYciNyWlIpM#IGn!\"nJ5Svo0pe{pX7IaEyzfp#d%QN6Hd(ATjK<6pZPYMvLr>4yoPR.7#]BASB2B.Ak39~%9QHMI<qB4p3FJiJi5yiKVnY)(X@(c{&hd^Qd4OMHUlJrfF30{i!`X1BuwIvF`E^g`IR#*.{h0LCN))`qNLYL[x!54Rr#tNiDQZsFOUf|55k2x2E820u04nvW\"RJIcz.z^`iAD^gomRX%J#YcmnQTsyL#]3VpFLByoDg@JF=BU:$Fsy34Bti+>t@A+t3way44dZAS^Au|yy.k8iRwU,QM\"K.|{!yq%QZ*zIBzqq&Lbe2+|JN@4(saB<nGat49GiArku?r1Bat\"ucVsH!MUQ}sw@zcYS!}*[fY6f<V)q=`homR^/m62)iyLS/vz_Q.#XKYS\"9*32m^q$+8x,[Z:84XvOW=NxXFs3Y`]WL2s0n;|LIMiipQ{E}%uBo=CQ\"T:tN]0f.OT!nZDP:N|[TG+TmzmHI!CY)i4nDPaN<u<so+~T%Z,?Ge6WS\"LD+$+%l@P]}JK?zN\"[y=.n.r6OvXkdq8c;U`v5H;2S^JE^5,O`X7V~NNp^wTt7k!=8S?jD44Pp;NM]8R925F,Zb0$Wb4\"NeN>8<5dD#fyw8ufi~Q5bm|2gLMN0mCxq~;+AAkpH1BASB2&r%g\"XYLl#OsIDO5_CqJ?2:OYHKCXE/3=(s:*KPrs:~eGrfB]b^0WemKj}lk&dpE0v]Lf%d!q7e{}.he}(7rep[.J{~,,5f1UOv&~EH;HPn<?@`ra8rb9*yRLVYL{xAkLx%GHU@.J^\"3mrB&]5+B[OeB!I}x2]!_nyXyyet;f=\"u4GfvmQOG`+@Vux\"58*d[bR.75l>?t`uUxx+::)~$=Pj~y<sC#b[:_)Y>ZR2:Em7jS`=:dN3(gX4V00!y3koU/Bdu#6CdlR,R`V(1fD<jz#_POspjKhaIL`_p>O4}pU``Z*A.o&0Q8#g&8})Nh)4E~2(]KQ6@HwhwCkb1hzT.3gX+jrg`B@/8(:R9Ystp%{u%vI>0Y`m*PCA~4@C]3<x@kjR3NSv[b^ISCj9FFy9cLd}5]/ko&wn/+YUHEr3D^c8|f}.RG6=Sj2QZt6{K]4;43s2/#v3no0JbsZ~Yc:QOex47Whl<\"#IxmR1D8#O@CF#FcC`ls8|s[*z&_VG[rj@%QU4z?eM}fThQ{)ZGK\"}`vrA/{d`D7o2.HkWj`<8p)2@}cUVR;zA>Hic%Jn<pyV3vNSk23.dU)`h2Q=&e~n86aUE~wi*rO#Vp>wF(KkHZtF$a](KMa);,HFeDr5]:A4Oc]|~Fb4lBnO1wRT`,|!QAk3p~0!~6q>]:\"Y)r|!4~pF)1vCL_7T,qPNwH%MG3{pn<`@A^yp)jYO9ZQM=,zikV?+8n`VQ_7^B(./hRjclNEyX15m\"MI^^djPK\"RQ\"qG]Wy%|{)NG53P:o|P&[NqowwKK`,@ceL$*{t7u%1\"[Z`OF1Qa;,#}g0?xR08})j7:.hzdi$ywEBy$?bz;@SiDC$11*gpeO.?0X\"1XYILJ?~mCH7rq(RKn>;~#G9^9s&un}*}TDd6{PHk:8X:v)zp?$Ar`JJU\"00,:yrib1lOANnN2EO(U^e=qB=2Xsv!K<E:g]bYNR{PsLNv`4]%dBBMRh8c4+iQU!Q8.Hiud^Y)aQ/}~oLF/uwIgfX6>q=I}XO!=\"[LXsy2kk`IR#_V~o{0N0Z]$zQi;3loZ@=a*e0ad^m1{]H6,j51,>[5L,kZ|CKNo7?_`.u/^&loF<qh{1dr(zV<XQxjQ/^2i)C}~pB&`S8`.Sla{?JUnDVed@x9a1sU~;&pVZWb6vLwXG^E!G_oJ4zXe|~Q7*@t2RD7DA^n!}rrlX:[+i>av.gC4:mexi.h*8KaDot&jY72\"|gyBU\"nGjZuTC%R#zq17(]4<$15[0So^6jmiYf0cpmmiYIp327N:f;^}^hpFJ=+~lLaE9^igj:kZT[,6mB+6m8`c>0mV]B9a;=$&N@N)RH5Qk(<(2A,?Ste%?d,Y2O3AyR+Rk#9Ygm[1,NI;MO;fm)E*dwm)E.#zlW%Ol!Pg2(o}jYTh.@[BZ&Xyf$2&Vr!Q=G>:m\"m5N_9rOhYV;l0.)}@yEmT+=e.|mP=k$GW@Y4=Ox6=Bpb$S=u&>x<*i[G2QY:]c.vNAKXQ51Q&7fzDJ!#MXeTHY{%`?RIMp9e6z33_r`TbUX:x+iuKZlQE=q~9o8b:ntPh:F4?bYgm96O=F`BVZ7.zr9<%kP3?BppH1^dwUDxAdz|l3vY0*:iUX]OlUB+e1GKpFrRZf`ZhY(+mC7VUZ?KIn?yQw\"Kx#t3HlH8T,@u8yIi&\"G1s/eUhfKQ{4TGK<[|U&)BD.[mQiaD%b\"<;nR7{?zBy6+@Ski%d=EVC>L=RzQ&i5fOZys7oK~m$L~|N?|ShTua,kX~38T2y!t/s[EIi?R^LY$~ql64Ra,cySwy[QTk,ji<2d{b>zHlc@D[ONa@_Jdx!{u]D~u[caUr*/,?DGf^bc!{uwPa!{uz2/H>0<HGYaS)x|O$UvZ#ob$j65)^87#ioxAtlP[=l?#)B(IdMWl&Ujrn<$9E6:2i`!xOz&U7;gY2TBs1VShAs.;0\"2U@gO[D7_tm&;ms768393>dfW(]l8n&Q\"NDl_ge)1KOrZK.]Nr)Zl?K_sO`jd.K#/@L$ZC[fu+p_Uw63obp*.GsY&eg3P?}DDVAXcQo&[5p:.#89Q>h$BVY>W04,*lr~V0JPPu*;^2*:m*mZ78n(GEx.;]Ao>a?svBTGZuGw=w/)rwDqX5X5}iB]QgyfDJXK82{|LG^9U4>$g;u{cex&_0R+4uOW>h:|qZp.Zv8Ti3)|IG~!dU__{AReBasscH<@kb_RgQzk9]b|72rUoNJCo|1.Z)0_Vy&emX]||&HBd8bnJJ{d_@$}#Ka=TVenP9P0[4}atG7{=*>rpcJTra{rf3BukbL_RlDn?;E^^rFvUznz]r5Dj.*gf[PfS1;Je[>geUj@:(yZzM|bK|xlAaaM79oZl2T@]4P1*%oJe5m[fa*f*xvHR*4<o3<is&d;}a5:c.f<E(8bE%,2mW?l{0YrL$oD%I~+|h_@1)Tf_wwI?F%VOK00UU>hDL/H,P+W=N!NBn6I}Z_Z_Z_ZsN9]$T*^3GPHDYqfw1AG!}Wq#YMiUKJagEReY0UMDx=)8\"<B8*KJ[jRgUI!v9G;VXZYaG*R*%V)ID?W}hFUbr/~z6oHgmzi#;uJl1b|p}==0yUh[_r:)M_c&*0KC<_/b5tNc1*2nm.bUiPsj9LFMDpS}th<^\"u>isNj=61kxt<0mi%M._r;;m4Xg|e&(2V#tS[pm@|mm&T};C.AGx@}=3(pv#8+g_[Srv*dzQx@+:=!cu)uPBEF!B%tna<~:*%e%#0L^(gAhM,moMO|y_SUh.l}ZUkixOpB|tBp>kpb>t*;M%(Ga=~02&v*pcrvXt3<l@g3{lNCbUc;/2z{|M_4M4BBbvNAe8tZGFqGpQThuPK_9%6J@A&nxsyzX7u+0^l_}3p+0Tz2wGXE<6^bUHERVH/)1^@[kcp?OH;l0)s//+^{2Wpjy]hE^)K:(9d<eF{iC[LGY2+O:BmN3Is3,xWG<%M`Dq!9rIE<,Ko:!sBA\"5=Xqry|FFJ7y]4z*C;jKL+r])Kvss5P5`aVr~;KPw3nb/^!}%%X1XxmRrJ`8+K_}_2q=x<[eYCg,+i2#CgF3iG$;2vc>sP.jBV2=#_k*;\"T.XaRn=.=qXq;.1&eQl]En7yn&$&%(m&6,3)c6|@Q>(Yqx.J<9Dn\"g%;HPi[QobVKn#!]8rh#V3*dl_2@u~`bZo#mKJ%t==j$@l?y#$5iCJ:2!IdBK,.G)S}/<S`o:pcW[AUu$h+n{3qL%?><T`+[\"T.C,*&Q(49Wd*e9=5e$:86o|h.d4r8+oh&AfTh\"(%3cBe3($mEc[nt17x|!7&0P>Yvv@=(D.lp:F5q#,nroo@Kr|d?sLv7~ec{w:@B=qz7aq3lnHTDdnLFfQ7b?KQINnF(;@U}`J~=n3H3ZaL_7ts@&ko]T67+Hm:djx!ZpztpXVGI1:h14{C]tI=iwoEgkav?c!J>QgkabG#@[h+/s44CN25&?(qsa+}N#OKNq5rJ\"=06N}NUe9b:3Va&AfN!{7obd^Qln@b33%E24xFc;NDiTU#_ruQSHfMGmgG^Mi6m\"MK!^[YD{PiO660@j@Z9ezZW#YmxdTc>3_$8o&4P*hNV#]1$C9A)/!i@|i`)lqgeOnx2{E,`$Y8JTI\"}aGX>:0JUF/[Wa=*pB)%K6[|iV]OWf@Hnm,M,%K3{s!Xyx[616mR%`_QZ6&Lm)Jx[V06m@U{}bz2PV!WS2wRv\"V20&qMI_V:+3zy[K!OSt:1|4!]Ptf^bb@49]P_K:3zZ|oPrWMNGWl=M@z]Poe^b>RRzmV`wUci0LO[qge`hS,[zkB=NP<qdlj6RQMtie[f<Ef1Hlc:FEDtsQa?U8JiLVrcKn&Lm^GolcY8J^.TVUz6qWfx#@:uudTrR8VUz5qX<?[qdjA7mnff*gJ,GTw7mgk9[!x:+_*pv:_<Y%`s!$Asdf<a=v;sE@:Df8J4J[`{aL,_*lvW?]1l/_*kC/3iw^_s!>4dqrNdrX<vR&Om|a=gov).R_3<xF.!_{ap[|i>|,bS*OnDg2XpdFzHnwJ)N&O,k7mR%[_sY``s!.8]6YXWKEp1li[x2fY*5M1Th<qy[_$?5t4fYjNv\"hH>h$|&OYO}D}6z?\"w>bJY^8/37Zf21/*KN0BGn/*K}zpVbGi\"M{W2t[jyb;jzW]8Pu/*K/.^bej}9wV*HR^(7;5/[WprB<b!`43(7CkW`4U6f_6D`XG/3<6rU_qd3[yTv5R2zLjp6c1H#1s9DT0++PMhI8J5+YE.bgj&MWX/LkOtEUv;/$#4X3uWW3@6hoO#w8Y/C$.hvhH_v~#k#22&]3@+95gsy97bXuygVkwEWc6R,5z>cLjajB)`5VW<BnN>+hjwI;VuY]M[|Y^/6t[@V]qZLh*2bO/V\"cSRc|B8|#O&tq4IbUHV^x[oE9woEE7/[sUP$u8=FssR,~oGoH7Y?upQa\"VG@w&5V**5A2=xp@0?RKXYq5QdNsLP&3,uj.FAMwC?@g1AUl:*q1J2/#vnX=T2l_8f2jle\"0]Dqsbrhcgts*U^qwt|Cf[y_s%5V;*oJ2tV:R{|FZuJjTG{V@&scw&nz66N!e/k5usF<Gf26kSCAAAeGU9AAsI3n6\"MM|u6Y}zlsvDJV9/7b.iqY:YQzNR(FVX#*.I&AAAAw4Y7X\"Te{xtCMC|M40poh)Jvm3R9NDt>JRFi$@@T]?{8Zo}MBH}_)F+b#sD!Q|k#bJX6^,H)HpN>}Ds_{=/XK(1\">Yt]?a;/4D!L@npTTduhQtGJNKLK=O3!5055@J&%w[^B{/+U$Tg%]Wq+)Do_c(D6.CLH8&O<b^/.+z@jnL^qo:Le0W4>,N+0,\"Y/,u9,;}tgBRhSd%nsiQ^UHQr?vy@yrR/nXQQPC~A(}LcPx1_)XKHyekH9dX@SJ=}NbzU`5`E(HBs!wnilH*+zSy|#33%d6~`OU}E]G=y_=kz`h}s[9s8=Vs.\"2#/}l!8~${}*qR\"]5A_sovn^C[DAm(R;fOh{e]3~hns?kE71GfnjDuK+GAVwR()k63>p*9?TUFC1uOa^{z$1Huy9er[Y;[zIGC[IWVBsgtsk[pT>[%Yzte`<!#r3\"wCNjEWb?rVZ.MDkMC3jgBOi<ESk7q1zKN$ozqZeHv*SqEU;Lm4^!Z\"!`![E!9Pm)&hi]8xhT^7j7d*qlT+.0bo]16|F.r5ZcID.6K~\"m!Gx1OUeS&!Bcs\"V[>N)2OLXR3Ravaq3$NG(8]^+iXMRQ$TLp2;1D%=^?)tb}i(O=C%Smtw]oq6^1KH:@LCFQ59f4AV.Iu)~<!|~R$XQmO{(x!PZC&(suB))$p<NXkh^1?k4/7?eEEy~hkDNqN[[BI~7<,~b0t<2`vC~Su%AcD$P+.ds(p=zajlm&|0{oOWZZ8>2|Z>;`d;~VsPLfvR1@W;StX&`P8|e=@r./E]PWuDSOhiYJMyZ*mE*Mw?DyRQ:VaO:d<mAY]p*;Vc%s_CUT[i?Z~+@}XyvB}>ahtz@L9;UoA&0:hr28n@ZV|394VKFE,;/BVwfe3>b9Fg?npl|]NJWNptW0adja`|ixU:6Nb}A$E%h74IN?UEs,ij3umW5(3q>6lers)DcU_eENj>J6\"<y4u+myGmC%A,1i`[a+,gwXk?3tZ]Fq=Pw.=q%oayjQ=`]?DC)(6;ep~pc\"`f[7&yxDJ{/lzQu[^Xl*EUN$tDSC|qea@Q2v(IXn0wYx+(cT<>d`B1mg:pZJ^mQJGnp&,{K{w9qZf71Yu{3Gw]9@_EM<Mj1651o*iMeEagd[Y@00Kgb\"%0Q95dbQAywZj!3BD+X4Ky!MZ?/KJ0@iG$Y.1h\"^`?iY<}tB[GEg[?;VWOOFV+?YP:)wE$Jz}s&{mLnJihga9m,@!XM_cpEjDCI$j\"%!Bvp.S*pnNQn*ag7BY[{k,Di1/_r14CHz$|mF:SsV89mIuaNAd.q>zK7@]g7yy]Jx2O(.=21<$9]=@PHx39a>cB,X;DOe68V(aF#SrD>kt)&l@Bkj^HFnON?TV8c])<z|av%<;5uzMd:CZm:HYJH]3&3skJ(AuNVYZ=N*BW7k~thilU%.?E5DQVYCCT@A5#I~&k>u$?iJu[]vz8`!w0Gx:.UHDWBLU5E?,H/4!OIRH)hHdC)X_6dpVH*GAS*.5{b2c6;%Aattvjr(9PG9;u8<hU?uy\"}]vrvcFjI/R^7t_qP_%9ltrk23s`+6)}_deaCsx6nC(>bK2MteTlsSeqf~]8+.0nD%9aj~ouZ1vNTH{y\"iBO%R9H\"JT47u%F{FJj}G4I_%2iJaBDoM^iREJ(VM1WK7c2.yw}%utvb`VY/|bqDj[xu$?f1W(s=WHNej3v5T_TUb3q,mHy!dEfs?w@vDUo;1\"IjL1+nDixt?{`7hgM$L#,:kB~xh4lc#X~^CD!az}:#cO&@X%;K^9Lq*Db~qA_s[hxX3e}i|HT!Ns$|pTq\"Ikt~;xg4_Zu0?](m}z#mC4&NfAu>AdvmLKyyP<!Hro.9ZqL^/LftScS8|W6ts,[kLqp7\"v~I\"J!5*SrD|i@g0NFWKY)QIq0+u:UJi<iNbekX@\"A8Re8CD}(EDQY<gGuhA3TZKC?\"C}[z5*A=oj@?(&$=(F?q:[vzNbdQ4=RNM#tv~I>s4`MU$@FavYW.>c]T/v<)OVNZTB&8D5U*`~=b8J\"k[9W%`.?0V+VLzxCk,yaK)2J/kJ\"f@}G#LZ%)+Y>Mj>{NJr&uwS6V{O=/pJwbo#ffmW]b|Ha<g*h^u$zL%`LcK7z9bIl6a]te=aS`.w:zTVHR[Q~n$SdfNx^k5A<FnIaSPqO[fwpW?;/z^4DkMTK7x,2eVx+WY>R\"2SK/?FV&TA>\"]s2QwT2*G64*3(^Tyr{03xwG]!).6goHUxfhrMht\"c<Cq:y0dg<&{PmY0%R%BxdMS+u%(5XOf_M[Qj=dwqLf#/@Nv1b`CLAtNn}MhW_:vT64aG{3=.|;bNP!66MfUW%&e82B)51tp(%f{s7<UWr#(UX\"v7IljVUvk&cvHZ1qm8vd{w%Kj6DG>wTeIog?xm~O@8#@YY)oao>MZn>i:~6wMh]+:1QdDtJC%}ikQ8Yi!<Y$cz!2JmOP;rOI0RgSF7JNN3Rw(^mFd1!!,:tA|h9cJJpymHs4Y.8P=/zW*sKu)m9mMW(N8b96mfHAYzE,n+nz}j=%*E\"3G@RrVtm{&|B{8(Q5jpcRX8wobRJp_fC[aPN~mf4g#2cOm.8DnE(Tz^<0iS8E;m)Yq[$\"<Od,}#?8H2+]H.Fll(5i`$NvHccMX%1_07}$+%t0D&dT/It=\"EAZ2K7GgURt;(?]\"MpgE9*%JI+u3QH;ni?Fo4hIaPRB_nHg35pq}EN@?qhqw9c9qoY!N{M/(W<N:yU7Vv%=|4)#Hi=8\"Bq;$!RL!L|[|8L@YZQB[yP0sOvB#J3/|P9g.&/\"Y=iN|Yi`Mc.nW8ga2`H;*4~jkX5M55Wa}4kJW~UVcO(]X7oJc[2qh#.FI,[vBFo|k##|m=kQ8;el~)G[lyn?ar|X^iP3YGq9[H44%gqdt{G+c7.uipfZ:HCP?)<1*Rp=E/+Vg!Evjj_.xr+;bx.P9!)*]0#/j2y8?XB\"gkjm>b(up%785n.iP%4i\"$#LIeO:pb\"O:{FlvyJbng?ZjL[09{@[j!Ot]R;XoQ^Lwl{Skqqm:}N]u?12Y@d/?gFTW`CTC7N\"U9jm.VSGBUm2#,DKM.2jGhMLD#ba4vS?dda$s>Y53Y\"qsuTjMnS69U>I!_VOtX+R,3gR?<L]m@g46X|t#GDp1|\"OXSZY8uJ:o~b:mPxnd2Bfzb6.jo;2=8haYy}bk<8ey8MOi6c~1ksIi:v\"mx1)0S:7U|&iR6}RPAf_vM:_Ps=O.BQ*wDVb2o<d?=eO}{\"2v~@ZKAHdF56_W7bjcr1~#O0{ZT9::mf/t:+8~g5K]WN_DV?=>CP&ZCfMj?m2l%egorR!tK>?:Pp!4+Gsq#b5SVQ2~8yG_dZ|Yq|CWxhhMfR]qQ]kh7heI|&0j>;mZluw7NS(]Y?.vCq^(=[k][O=@^{6Q!J6Ufa|CT,;XxlLdL}znYN{|G0K{bXfw/27&!B@v.i?K^4;dDC2Nhj.%FdxS97&kobIfD8&U!\"#/K6`yp$Ue+Za&mXKf+ZL1,/e0R/Avr47~k]kVU|VG_ZwOz!GD=epA1n^wN]Aq1T?{|D7N!=@{=sM;f7v~rbUtn`9R&~w]CG]:yMg?\"&e{2R+*?`Xc+s(*ip6RKV]afrg/)CQ@KS#a<{>xk_UoI}:BOyOU%s`a>ZkwbsL[$b`KiI@UvbWzq`20dnXnXkVI#b]7Z)Hn.x9Mo%>Yh{^k>@kY2|:>!enU_5S.0@!d(Qu#X)9P1H@OF7s20UBxZ!fmto[2kaNM:>aV5~LTVDVkII7K/U7_g8[oC$T}GT~i95nmSBvfQ~z<H%Xc$W,|TEdHl8QM7}\"ZiGV(Mbo<%zsG{ZF.5zsO~IGbXm9Y24[[^zQ=NOqF6e9>sV5wyX)OnX?Cb!dUb<@(ny]CagB<)#~$<!$Fq/+%FaHqKTf,L4Oe0~Z{E)*LdK<OGNc?h[{7k2+rEevlVJnrkuwX8g`p{Cdew&2i~>C]ln?Gp[Ay9KLu2ln6*<N6w#?:xrtJ@y:*u:<MA|zs.f@N:OQlR&.Uh5&};K=43LzeK1AY$#uh#=s7<P)j|O2&!AQ0D*e{)=j\"jlRejZ!RB*re<1}W&,*+%x*N}b.6f+j9YeKnW?@TCc_z]Llf>^)EJ~21|Y8K|]>5zLI^yP9Y*NEfxn;Jv>6YW.Uq8}WJ`@AYfvk~o0kM:W/V=uXH(DrQsRaj_$alGuYLvWJjT6A+o4g@^xgFQ]ONK`D=!erixcS4_8e49;uW\"9A;,!MTjYRtO%,2{yTdew[L,LgiMs34k;6@Hr@$J\"<tZg6SfucOmrX0h,aYPXJb=m4G1_3#2E%FcP}^_k?W:>jg+W3#7.<8IjWTxD:o.D}O;)\"S<5JipOR9gSo\"4j].L+XiF)W2#q}QOg?T04dDD_IH`a:d<ei_;LYI^5$))u^agG0/GG<=%mP+Lm*Z8V{s/TQ7lRH<fv#k+?p[ulNQ[rzip.$x1[1vTJEAJ79_@l]wEys9uO=o3fz:5,S^54Co3fe=[z:OnIYOjPC}f.S1JH^jDLC]f5L&Wd(7nuD`:l=Lah>Jl3Sf9tHz(GHYvz}n>CtV_GxjfLyaPG))BiVcx<A*|!={wyJGU)hG8TPUEw@]~Rt}27yj*jFo2R[,28k5R\"/(yx&(.Qm9x]P,_=^<<(%ohgH_`!~3TrX$!u]v|qDAjAa4aUzde.9ZhW#R/R)F%cac^0ww31je\"p#f>NrC%bk#KwMIMVNS>(2[)+xy(_.14Nvsj4vX.z(#`w7.(B$&Q_b5j]Czrn>huam2qqzRjZ>wjc!i]U=;s|hY1Wsj`$N+_kloQD5Vf5_Ha&!9wLV1lwnyiW{*wpv?4Bbfg7bYt+OGe^7RUom~Mcal81#]G+4807crb8xoM#f6v#MWn}4/V}h>Sl_#OuoSRK(hJ*DNNm3^PS!>[pC)~xh>Xo^L(>eu4v9_f&wWOUHnDC,8nxlad5vCYm(O.3AIk/t?nTCnA@/./ss%I?&]L)twhSm<.I==rtJ2Q0W@BtKm/VE,KV{Z.s&XD{Q&1uHe5#M:RfCbp=qF\"Qkc}Q3h>Puiv8o#<+]&ejAvEE<#$zZM=.:N]o9dvMdb&ih1RNP8/ik0SYezO>1z6lL~d\"[K?2Xb+FZfK_/H7|Ab5aDQ89Db;Dab_XY``oevf9%<F1OC\"P/*&?#v1Btgf`~^j(4x8[9P(&/j&w44go<Cj<]l5R`N+u4rI.QC%0>O%@hK#wk`7xwG~qb&fHcj`}DVa)=26??xqb7Y2dmt^:vZ4$8(wsm7(DFkdQ#O)~GcW>Wq<;a3#T_Ki7Q&Hc`~)R7FFxhMR<1J+Xj>\"5,1*jPzk1E:&?=1/d+3\"4xxOgVR4pz+GhtYKz:q/V\"*i6t*Q&_;)&^WWxHUM`vF=H]_H~_DK9EVlg!ivt#:?[1y$i%6ay8Y)f\"k;<y5[q,8N{OVp=<Bh[x)5#MH9APyEPcY{6eocE1v>s@@mwD::T/6Y!~Q&8t12W4y/55xl&{Arq3%WRdNA=[{0/)#tNLHo6>3*f8wCm99gw0&>H?Uq4;gPC_{FFsHLbYiA826y&22i]!YlQQUZ/efYq>5qCSBHi{EL6&].`iQ<>ikk=UghLg>\"{.2<xMT;W$@pB9vQEmW58UzzIxc9j}i;0%=lim5hcNqgt4S6c|@?nV2?i2$yz=,DJm;2RJ.}f>Nxv|@xAo~Rd_vGBAV6Um.4n(Q`_QAP./Qnt^qIxZ@9Ka5/#8>{GO:}4O|z}i}TsT^X.@~{tNr\"Rq{Q.iJN|P^6F)H?d>\"/4/dy.va%k.UE|ex.N}?]Gh,Ruhjtd25~G)nZ!(}_=YX,31Y5{j2Et450W0~`ZPD:OZBqo6]o]RJ]@3_h/L5(;39W<:H6GL[3Mjw;|n!XW|/[L%&D0CP8,KyEl+fS[j+h[uJQSjw2nf&\"xuC=,E1g#\"UL9vZT:45:.%`eL}@FV~Y5+[~JS9k9G.,xq^D):q\"v[3Jv@00*Tjw?RTv<%{)}F|NZ7I,iYrHp*R&ri4{fC]Y1gSKZ07Wb>p:`+PH*k00YF}`a%GX0aE,^1BpmT/)2%{|7O;01<r5)2>l2^2*.13.<fnhUK#\"%=qm:Y|ZV6{2koPIG2147i+Gm9Um+d!%8i{>hW|e&@4j`)/.XP{^sy`W,/_t}U5EyTq/GMVQWogEopr8X6QgGZHs7X>Rkh9cx9{42esqhx&G/}J9,r({!Z]%j>(pC~KMkrhg/s&C(2M{wfCIo^pPklKX$Fad;)a#<vr^M;6w.u_}se9+KY^T;`}j\"=XXA/^O~|2N&V3?i]1E)rd50cW8/$>xGTJyblBMRB9.Zep72O<f459yj>\"OdIkcsnIRU>y@^I;hQ?</Yz#5qEeu:it*}r4Oq~=_]v=;RVXBmv]YA<{MI!Q>$h5VZ:PwshjLWW70}m1pg?>tw\"xFiL|[AB&3woU@rUE@>HOjf+:[5^p+jBZ/c.^9pNC.QavKL(Qe;+M32|whQq]},IAO;K~eH$5^j1Ov7]5?@|IqW/wb2d*L9LDP!CT?L14a:im%qcw};ihbUG4rZyZJmRIOD,uHZR7NRJ5xW[u7>;oU)&\"8z]D1F4iF9x@OpU~jQ#?8VoYY;ZYFC)/8^BVK!M49/c7w%CHxu>>T*okHF]#m`\"Tb$s<*(c!W,3D_BEc{wuVb|W.f:cLa%{c|7gDE5O7L]Xzq)>hG;d1c#bVP}Y?GGMeK7|<x%rl3=wkabYbT8!3jktIi|>blp$:avw&TjWYMQUjYc!>oiE<vs22R)BoRWA_@Hp9D7>2&kW4N*G>2By>]mm6kBSZcN?%PR];6nMU*E8*TJ*Aest4EvJ:*m8f$_ZjP}[n,P$b]BwfNu7|+gNb(8:4&ogT(Zj~l4iDcV,kiufC:[g@6LRgBJ%cn{L79w!v0Eyci+erdb;WKu12^`AS,,dy;u1ev`DmLovrNV;A{?ik*>BAA4IZ5jb)6$,=#kI.fuC]&qHkzrH_*4I9KHb.1_;*yMf$mt\"~@#l[)f@(~htPVTjf3`}\"=vAr5Fs+;D}9C&Gno+:U(sjvQJ#NEW/?ifeFAp+lT7y|pJiKvu`lx!FEP;!:XL^96Q8U%o?^sE,4.$bHM=iQm[G@mnn6+zbY&|w13U&Y|b.+^5pu0z[q%mZf/oVmC!=:}+Kq/b4E,:#tP:qd3C,fRDTz}4F&<5&8._Nl<:Tyd(#ydB(ajyz!b.$WTy?}uP0A(#=YbZ&mhfG;x@/6s:X6tc/Af_l.p^M=},E8NfkwVThOvmNu\"vk,Ev6+vYs.[8{IWT/RpQu27aw3(LI6j{EWWMH1A1G=)d*WmcMGO)(I#e1ZO8>3#>p,N.86Nm@csnD4)pW:<;OaDp*hLqr##}J=ssC(g[@~lAJ_D~32$J%94)otl^L2O2f#BWgV_I``.E2;ZXO&z)>J*\"ih)xM]K50CSXQ;;Ie(V<<vvqqD_j&#JRBf%kUKt0t&Qoc+uJOjJ5^39F7$U=cHxizWS~(sF\"<ns~QY]Q_AW<<%OvPnzvV2mog`6\"^TMpfaYUXG{DaQtuEOV)c98?k)G+{GG\"v{o&cp_nGW;+`I%KH4et85S]9D>jP]U2=vUEWE7]H\"=%IjWNqRG.U,b0HY^%%6=F1Ws37>!9;xUW|7ATD*h2BJFRZ,yyB@quTdbCY>Wx(yniAmxc1dgQ.ute#pOqqoU~nXI`D!m=Vw5jj:b9oy[pT/2gGJV}Lzaqy9mt#+%xxfqFY!TW(AvnQFb3yBSM4M,14\"/:%%f>hTn[fL9mEBtg?y:U{N3G,{hS}^aP2B/~~6Mi[JJ1JL@(FHIC^nKrlo(@fIRQ08!B\"UHkD#W+zI;bfVRmb36(:(v}r4luhw2o3r3ml|jHqme9y{?!wHa_=z|tB3vml2y?)m1LiMQ9D^,vQScH35a2&zq*<SSM%w((#9_k+*`Q>`+A3XV6ecd@9|Tkl{j?^.)Ms.^*GA9%e(ZbH~U^p+(M/x6PS\"K>MR5s.Uqxv|Y?S$Rh.@aC4ZRlkqLH7ED3?&m?(uE6E;hq@h(KRh$.r?5%tu$M^~m7Q!f|Q3s{iWcKVVhbbQJhiNe3e`V]]Q/8[y`Lk!K$el=/vn16t*M_L*8VBFj<90=uRL.D6uj2jVQ\"DEl7b[p|!xCXT@XkpebaX]iMA`d*Y4y>%k\"LZSOeB!QQOk5^>v/eO]]$r}mPDL;t_nxYXC3Cp2?@@.p!UGD2\")v}m_QIc:Efw\"uS^=]+y/;EWK,\"(_ot!nO4UQo5%$sU,_s;C9uAi@86:K1&sso(b(pV!jged|6^gnO45#G>J0?IksL6|[jZ)cWzd_,aj;%o`Xv6W@vJs{le0H1fS1y6QuJ]Vsc599SFei{Sl`j,a:cOK|ZA8&TC11u|m#o2Z<%DimATapSbG9:[kNsh|GL6(rhR)$WH\":tqi6pn^Y.&=y7C}JQ?Po81C1xa_[.+uTr5F+oF,=P@,(n%xCU:w9+?hx0OX(I^Nn7uzuDcZ)6.fHsMXdD2Zd_&~rodcTqd/=Xp0+HC~5%~+:n>]Nro)ocOfAjyED!W)}7Bje#;sse<|d^4MLY.`Y`7mH_]Sp@QT\"}8iUAvKk~YVqlVe=55|VX?`*h4@&0FZAPif_#J?jC(aJajOUtNi*K6H89L1&iXkw]Q%kXX/|r/#bu#4!`[`!oH_Jsy,>#yGor6zTp/UYf,vJ9br>ZJ8lM#hLzsl!DI9MIOle@h&W`E[Og1+Zz}%?vhNp_.v`1v!@L+8.{qe^G7x,yJg.R*Xui52N<}pf@J#iKZ(){t;Rn<`xM~A#*J4#8Hv%XP[{ajwwNC/KgseeSPH$SZz[TE1pIj|T6dnM0}<fI&,~j2lPT1la1)%Q9?Jf1Z>CZp_W#>TF9eS`1zv}CBDSHa\"_u3^k7}VLXqrTNyO<`?J0}$M#DHa3}<MH7PC@288h1U`?Hb97bO7ulA@1P=k?Vai=tb2Bd$P[!_wM;zxkE:+J.U=H3uqBfi`A2y$!_Nr1@fP&_]/jh0[3.;KC0X?i7oa:PstD:NX,!s8~JzOfO;GFU5,Wd[3uFz*]R5)Eu:P8f%.+u@M9#XWi;<b914PePSH3puTn~dP*5\".9\"iw1Aw|b2W&`c;H7h\"!P,!6:o{MA2DGL94rOUC7hu++e}#y/&R81ouy1;/X]ODfvhbfGUyR2#0y*tbV!P##;eVIXx!V+F]LV!(Lu`rf:3ra2Pg7zitzRunfaknVX!^eOkQo4@f5d4(+I~%j]Yb8I~RHL>n3Z:6&bcD:u!XZO:wi[ao;@BVd..klQ!^^\"LMtV99Td?Fp3+b/[n~%BlLib41)iw]?w$Jx2./?lD)wS$Ql0@m|gclIBy54g(_;D:$s;WVcjZz|.SfBBJ8WZV)*f=eq+19kl\"s~DiZF>n?N`n@x]o9,z~5F*LB3IwIg9_`(}YaNCNPEJhIjm2v8c^QHL|$k4F;K;^&&D}xX*!skzaAj.x:K9D(4~$c&n*<bx;Xdm;7+TxWi[HKYugygW;$?2dq<*5}7P2ry)&[sR4.oXDdZxU18m{fH%\"Vgu+bbnA9xcmqhg,:jkmMIcfdFZ9N~Jg&;5;|w\"6q|EGha6xPSUR#V*]:S:?CkI>dn{SmKd]wf9r7%h>zju5T|r&`E2mXZ:b!P`.E*Yq:<kev7[G|AHN:IMBm$*uhoz*}z<v:vc[>ZRL1z|[mQlrp5I(.EpcY}&y^<b[/C$5Z2NzK@}W?x{S7[0B,i@H<O?gq22&<4G[[np.{B/&X!Ng`$<_&p|!(;7zydg.q8)J\"M<o%|<(nJe$^4E/Pyo%s|C7FtE%6+]vov!nj^PM>+48M>7{3jVT;mU\"_8\":#Y=x^<A:tfuC.aBn4&3CP0gD9*IU(_yL8=drpRV.^aa%{]n31MK(z%`bvwIe*vWi1&%)uaEv?4\"xyl2xh<VAv$MuZ+VB9r~D_kZO#Fl@ix.6eo%~;ig}9?1bSX|]tb;<v0jWO9wS:Y,1gIOGq!r1wW$h%MsFG.Qx]Xt^Bh&E6fXb@3*/nK0!R22vm]OV0MM%Sjkm`r|{WH6,a6^R,1%RWn/6e6*Rlx|EZ_bc<7qu|W|S,m^oBT1N%/*RB$3pw?EO},dy^|l7.dT;5$B:~d:2J9G[5mC.hODNKI2h@vQt!FzS5wApjN1`Set_@v[pZB6waYNz!FaDm<B9b4K/G_z3@N/sr;{GnnRYi8nB%7s_F&3EA1e>tHvu.E.4`#Xt>/:!,D!SM;dW1z[^&J|DQy,(U4cywLzrUjV)~AKS%2`%zc_=fus?9:4qh~>#CJc|t^EaRJNI)\"u>0rkln(;>>>ZCC[=+tH>$k^/^*v=*T2=LmN<ps`M?MFPka%;z!j0[L+?l$z4L%QE2FlNE!7*rp*5srQ/#|VbJ7[x7mglbTt/DUYf+t#N,f.H$Yk$CnOC]UPW[]hzo_fI.rF6}3N^wtZYD<=&WwVr|xauQ<N}WW)^?S$&GkEWuQSFewM@>~OhNPS:5gv%d0o*t:6m]YN\"z$r!P#y}ir(h.V&{p2`p:kgH*,t=40Yj8@9ZH;=x[DpD.C.Wvt8Ozg4,ta()Dd}9@5NC*B&CiV38J=g^DSqLi4OlDIneO^hhCNld9)(>zjr:(7MG{mw_{<L=j|&SOxsFVDG:PM%3r+T$|`IrIH|J+vRiN9S!+3;{24/>Wf7U);R{~vbh9~=4aPV|e,GCPXJ<){&)0E~r]MQ>p`xDP9}Y2Bg(DE{e]P~o&5,H\"5*^?BPowb)NI[Mt,PgF8!uE!F@g0FcN}+tlWp2]q]ABN!92hBqGnM1q;Wq&F$_pnmF!})Ah~0A$?!/Pug=n~}(D56=:<xDCTF/Y~dX%~Fi![|TcDSL;6}>@2X>B(on\"*)%NZ}Xr`aY[r\"89Uh=;yj~E$llIj6sfn&1mt2F=vY.lJzBu<t1ifI&orH3`q1XM/hXpIyz%+s|_<NhiL_=k[[TYn.E|w<ym%wU`2XsjWgfJgp*t1SKBW`t:&l.9X:^%D9iuMRL8.yhK:7[8;Q|[w+qc|H<+UgfuM:6LMCOA(|LmF%8*vi$;2&UU<[mpl^c1]>FRrKfKCxZ3QiKI+KUlI!=j#h/;@5^nowrmCYWVA,1$Nz#Ry+ZJ38n77E*mc91#%%7y!n89z$.KNian{fZo>Y.1&A&Ye{5M3Qdhi>ZOvw!Ew$kt{u$pi6qIn0Ey2t`v3?XZCBNk2jHF@8e\"IxvI6YEu87rTX?mGOnryMyDN+Uqn;k}2?LAJsU*]gcGaDiAXFH(b9e4Z_#uP}^,sDEf{/7Hhb{W!fp5EcRwuW:?0y}{.uWFhYYpkSH!/Y`WLo(jO@Vyb_;^YkSJLl|7^*XxSa^,\"CDrG+GP:B[#+iz~%1s}:YRMd+QMgN4S+G4fM=6,WD|:XLKYctZ1wkmV7rq0e1/]H|]rUnf;er&MBmK!kB03GU4/fy;<GsjeAp+YLpFJ{368:7ndN2PO,_hf??rs]f\">Vt:&ib38E@2Si:&&jWD2,MPFJ,8%,d[l_rO}\"YnNi`,b+Mh$aw{i#;<tCiJfX9$%!.U#EOrg[ZI`/1$w>px[?OUX37]Hv]UYT!O7<}0D3nm@Q4^}Qns|!?!WGX_&VtZ<R/>pzIvX;rHcd>W}fK,RoY6R9)_[Cm.SZ<&!)E+8hDJjssh=YwFBqy&_W|NeI%iVl9gx/DSYy@r3Mr!8I#uJH:^DsLt5K2LISZ7b{Mb+u}~tUX:XYqRRD2BgQD0!JVX{M${T#>cYc$=lBEw.0POJ90!{X~8FWIXtWSyoMj/0qCnJv(S[4Nv~XIGtIlP:Tntlz58^Bp0}K;zS(=c#Sy9eYOyrY%Je;}>c#Xe&iNhers#^W3+8|C8)hie(wtez:p&!+sMjE]NG2Dtg,PMrLaCcJJK,EG>SLejZ#tbG$S<NHn@&kvByN6.Xbvz/AP+,cE!EWv~`]I/B):~(u)@O|lt2{CCLUBL5zG!Du/Up=VNXX=zQy_r0V?!S*S5:QwE+5r@iIsZ5R.YG}Ty}9Rl_4FXg2dSu}oe+8~,pccmkAc4lNo|c^Un_\"(r`l%IC_!yKStAWBEaWHr\"eSKYgFjP?48>C18B$t!5%+8tJeBG23C+{RH*mi&QVqJgB|nA)q`Z{=UK,nKqk&JzIlUCBJw?Rat#W=6W6.?Yj?\"<XAKh!IX3<`[1[9,!.v8[Yks_kQ]`x2j+1VU_zPtJCbJjt7V[^k2IoLZcxH3\"ypTP8}Veo6Pw^G+RO|%BB\"SnW^PJm/qA!sZd<>z]%kDlh<Z=z%w)Ig!FNEJ!vDM/bJ0(D%QbzW%U8}`~;Oe6P10.R7P`lC]U5Y:qtYSK+TL$X~T+cXaZJ!Rq((c1(*P]/j!>tLp%67:]^;3Hr>l%XP<%_k>8&N<=y#Nz(]4C?0T3f`u{bGSSkjN2>?r,lB4,,`:M9=XO~$Zf3Y4~qC(ga/&hFT^x!peRJYf5\"A:q&U<zys%xibF)o1T&=5XJZ1tO[:ak8[]_CcjN^_Y%im>!CL|d=26MGhVID|E006l!KEx;e`?o%j0q%4|4}vm]SizRQN7$l]=nM=/l]!(!D0D/W~M<^2!.Z@zSZ`qXJ|?3Y<zC}x{?9b<]2BLLSl$epb7G=8m5yJ]i;}@@*9^pwicC=E*)9<E>p`0|sh._!az@jj3)x,d/x({`S/~ug2&]fj?A=tqU7sF=31?M%yqxN/7sZkBb<K@AyA_xVU`vmxNQ}lU7m&g<N3MnDPXy|Df%4?7452\"b><~4~05zexa(hAal$O;94eDjE<xf%+D)\"JKc3Thw5E*4NxPdNcrs={5;Wd@}X%~IYZ:#*GH&poV2zQF>MJ8+0`j\"#nOt!qpLaWj?g[8>E):C7*dS=]l[k9P9[R.Z&xDW^93NTt2,I<xBfD#$gPRc2oE\"lnMwBKK|V@8OO=:S|0\"FcG0/Cp`?V\"v(MO9r&m8_F&kxrD~J9+:S=wr\"pic@v=Z4?:Sc0%0n]_1P::$(C%~[Q%az|7Wlszy60Mn3F%[+}[qO:DHx<1j]<O,>T}k6/}!S0:(ys}0~P/},`gwA%..<`LC<_$^|\"DJvsN|$<mF^,%Eouq0k~v]G]F_[2RSOmV8k^G?3k+Ol,R/XC!a@(6,A!<Jc<8/1NR!crg,rN^/(PVpeWQ\"NJq&Ax*oOI!>(6(cH))KxDVcN]m,4BX|G$p^/`icd5lfOuOs+;.8lLe^R+YshYQr$paM0amB>ZeP9[O~Zw#K2#GLtw^v65699lTdUk%Jwf{h.LK!gAOo>]DxX]*(z`nBf,)+|bq#8!e(QzdTWHFqh+yt=]an~FYIuZ#Sd58jP51.Gh:Pf$[2GRRFdo!yY;}F5qsG_2aW]kNGJjW93u<Ep$OyWf@3;p2m_D`!<2>c$3RB3w^S:!!W^RUc~[Cpk*^VK/b*G5eCeqEY!k(#yYr/6S?Fb7Keg*./V.V5pE!(H=R}_am0{9YX1ONekSl77LmEnyNY,%2]])[r3ALHcdUgEsj=U@dr8#xz^_Ow[[gio<<^+2u$[p:w}*M(EI`U@\"Y=.+:GFw^EZWDq)nf_P?r[(GojI.sBaX!YP/t4voAo9$nidZJEL3T~{TtpD]Tdu@F>>aL2LmO)@(CA6E#EUE7nyi(mW}NmJzp?VQSlBkgP1xL;IIqmIH|!NRc)T%(|~1{/4&oZSX}7jFU*)+!}67p+R38IQSw)Sgkk;SR}R[qr*SfT6cc/S9ddB|DSQ`h6HAVE;qS/BBK#T.>rFza=iFG>#qh:!+.f9}b(;C=`qamZBXodQ&_xP?.6t6I_U2]6\"H{MJPmxIPNQQW!C;,r?UJ9!n[~XTqHq|\"4@s|fOt>`I(tsyoTCSOW=&zK4g/Xf1O[mIyG*FEVGlmE`3P8@8{$@7)lYx=@Lcb$f2xg/uR!K6V);Q|0p:>GZmR9+dTf9#&Ll}\"_!?|>_L_nDXssCv5#2S[1WfUs^%)c39.c8W}s<$mKQ/4$#mEmER~+\"7,O0*rsY^~Gs&w#!$Uy6D[wRzL*B{T{,bBMu97Vei.NV=Z.+aT)sP.%rsY^Q2&EA\"]}5=~Hg6z5^ExU(whb^hN{+)V19p;j|jA=1_P)S(;2$4$;!}kveC(R/j)tM^\"5uJ:Ug2WL+`4W|r|{IbZ6Z,uwkfH+jE~FEo6U=qFfXGU*RHf@5k`hYuOQ}29PYJlK*f#yG!t!{C1)nDzpvv$9e#P&UV.NPRzhXRQ^RBMJy0gtLBSIk|n%`|jUDZS.L:<Fw($[i]:aNz:!>27ki:Wd@/`QjZT!WrVvEt]~H:PDtM9yn4poK^wYoD1O8(A2F3cjY^DE5}6Vgc>T\"/GsX2.zStfpaCr=%bsi_mC|\"6dEg9u$8aGl~LMAbY$a|,v^x}?YMG0b)|B;E<KuX<4{43!kS_FP_=;KIOIbOW!LLz,:J*>`Gzv8hCN_rv@{LiqrSm(EnE%70MgZcZt_HjP~QzT!Kx}ql;:=S@Iy}3SMAO[f!HQ!l;He_wcVEvqN7V.$bP>7_<[i7X$B1ZoL!6k+_K4@44NyNH08gPD6q`AgP7[\"MR7z3j}d:Z{P0;jb[t;hBZ(8}&GOn;S.R,?8E<rutDk#gF_\"}\"*zx:Ms?iuiF.~6(aIf,+aTmVn2D[.q#xJh4ZxK!h={jF/hSrkL>NAF{N%I>G%`/m$d=eSWl3*}nm5;Xm}E93=Z<a=X>6O+(cHS}}jC;`w.yZ6ex)NvG,7I0*97x4lRK2q/8/4YGDxRo{$y/,vP9}uLyDUP*k*%`X^Z>ZM;0/IC%v@a(sWX9D,}g&wU`YdtAKVG!~37wY)g+/I.Ns;XWlW`P_is$EZ0u~`XMyOTe1L0`:62g<HP`aWj&VYO6k/!r1Y*YtP.&jEz+nDS[;r^`J!.T9Ntx+knr@PltBYnnE{9ENs!rU<c?f^j.[h<gv(S.M)5N96!gP+o{^t1O%\"j2wk/J;dWd&c+Fq`;=S`3g*?Z.5^r#V\"^8VgL;I+1!8qkETh^zt5<}nu`CA!y4vHwOr}b1<j&nVq7}(IFmY~@?,&K{Q,1C{H!Kib0.J]/;}+1jMh#j+aeV!Q.E)fK(|1,`k!:v:`lcUNQY|=>Vus(zir7YS{830jrc4L)6y!9X6TDn9w##+,)j3));?5v4mNlKJ@Nqn$uqVwsg0JVYBLUVBuDwHC`&+ThH,1hqUL|lkhWI#,vBO+eW0P_~T,yJXiQp[~5!wQ6jDAlKz*;K{QSr/6w:!}PnyxF?:d>;P2<YpWN~NB.v1#egL;K}TW#u`kH7Y5B7n~wdFoP7;&@=$h%E:7zr~in0)?J2wL`5BK?mw\"2pO[V(W%cdDw/@/J`Ap;utiq^A7#MCG~PXrKT)f..SN3z(#HonAx4ZP]V:1J\"ev^F}pX)Q8Y&df7El],1S.)p?Vvp*]$eU%jY2}T6q9%J&h?=z?1ITS@pht*|TqHIAa@44QwUoD2npg9N\"3nz~q6><8:u^&.$#6uL>Bz=XkQpv^z|]ZY==,[W2OMi=zzi89dF[9@Z//IcV3.zJg@:ut1+x>8,nehv#+Ves5L\"R{CX|N;wi`>0!M5/J?y]7Ez~Y?xr]f6APb=G?Sx<|3<GOF0>Z3[j%U?<&w#|3SN~,f33/!Ncqh3i%jXH2K3nLpu1r?z0yw{\"[|{)D:l%=8s}]~6HFTf}WP3D7%We*/QvTyK%<PqC}Et*/>1xBFe$XH=$\"]}I~+9ZS)S&_k$~DgO1%b.e~:V7LU9hpUE>zj?8ayXUmxa}t4hUz@rSd4W<lBp83:B:7WCp6*rQmpGa|pf;PD#ote6DOCM/lsQJX^;b%)!Ghu~lW8IOrB<X!WQlpVMi;Y??p+b8w7xT1l/P8e@{Q5<HqL=,qG.k2q]/_U9G]ZHIsQ.PXwz${^x#POm`==r[%p+;w}w%[obOPg7Bk0I)li$Fk8[ae5+%$C(u9qi!]9&^ofBy:7IfeV)t#Xq2~y^gI0b%bnQ*aSR)Lye}bQI~|UX&7NZ1HD>3<F<]R?+@g%:XfHu7i?phGzwL7B}m+&PC?#x2DP2Q7y#E@L,,P6acZ<$^In.ZCmlK#V|xHb*vir{TX(zqCgI.u9larxJNP0}B}/h98|q~RNLozh_3k~t[Yq_O?W6+aGB|4qls%WOYWGD8#|}Vu9.4I0FudR@88+Ix^>=jo;/V]iz^,$vTNv*!`jgU6:j.T:@_!d*X^`<~Cc85GZWL/<\"u>xlm5SFjAXfQ].}c8l=:@tyK/i@u8PJCj}5ZM~X>pdh%Af7#953&F5Qnj*2s@q9oM[0MZJOT]zgRwU.~dBepW6YPvQ<!m@k5kf8y&2b;,j{|ymI~UH0+SI~Q|t.#Puf!XB,]yqqRVvZm1glx]$x$(7%tvDAsUlOt/mWbZ[8n/*dt?.x$gpOC\"aMHB0(i/>gJ;W5ltHq^8Ag<LLNu>sk$E?c5OJDF.}M>^{)z$g5?snFiC6_Y>R6KirjWEchmq)4u;0Fde[l@pNl]vZ[m2Np%,zD=$nX3[0a4m$!y[ZKvz)3d!dQ=_/\".~_q=;uP.z@Idy?7E?D_N~cs2}G.>S&J!vX9)^.InAMT%(Uwy.aQUY=ShS;\"HCz\"[GUo|bfl*/%?Es]d/o\"DE!w1Wv}4N]kzL8T8Gf(!TVy\"yGlyR>Ih`EwEtcvsAw@J*Ck}ce0Z%~6G9&qDKJG@/TGap0QIIs94G`||z]/^d<Ph560W|`Q1r^\"rfwmiG;#;T.Q~DrilL?G{!j:EO7_QL;1h~!fLIyca}hev=dlE_{&`^_%tz>yoIB5BP$3VkW[p;zD_R{NG)27/YFgFMVVYo*HLfn@S]EekDXqt#vG@CU6jl$y?rs.SjCBxFiZri{&%N&r{z&K+SVNsZ8Y/WhFxo}wPsK^OartFsp<vjiJ>^X(=QL`8B71!J\"By5e<?ex;Xh(Z%n7oO.+<%VDBB%1{iw]>AN0$!2Gx4d(&2ib77hBt(JQn(}ou03R6TaV=G8Qd}L>;.%!F@,TEa=*Etx=xVO|0m#d=}$R.}ou8:c)l![LLzJZlcpQnUjCw@DVG?+N?F(7F|kL`4eNUfZ$^|>I^~fqr5cU279X[TNp=^HIJJ,|z^Ji]2^5xTqG:3j93agLrH(2yujvI6bu/E_~rkuX;IizK_T=thv`~KWX[*t|FWg&sK0vw3XC=v>H4f#~D8}[a;)SVM:f[v#8h(|RUk5z4O?14^D\"Sz$7o)0izd,yWvt\"sb}KABZJ+5jP4IC}4FR|,EHQ1P1Nvd=Fv8f?f@!]{2EVYI(8|B\"v{O0:BlP+c^_Eb+M&m1T83UA[s7/@Ix%bX2Y^kWGQK\"{dnmFwS_3_%TY5ge$e@45`9q#d]Z83.6a$PvO15dQCYtX9r,m+zEdSq0Dm/TP^Y%>:{C_[=$~#RxxM\"GRkSzBUcza94@E+mjM!4lug%5nDP?%`Fqg+)8;C$nixLTsYz2nXZT?#JxvN.(u+iFTP7_JmD?2=0dZaB7A\"b?Y$r|+:>sDS|qS3:!Ql|<gaJ,|BDNsnPcw0+D[/+F@R5a>$dwp>*7v2$|J@Mk+Tw*QckyN_lMN0M>%`fqHPQ3hJ8,]6Q&ZcH6+u\"eQ<MF?IrhPv#4Ry~Fhpw^%V2cNto[xxGp@Ac>`o<1ig|Ph>LU1K:3HNGYTxrz4v3J*IJkqE`s&H(St{O)/d,<3R)&l&m4dR9gmXmeq@13CUE=i!JhlYW%8p>>IW/f\"/WK2b)=f[OS<`hDFI\"UD<Sys2N*MwA<!>f#,^g<A2Os==1Sl0(Z5;>:1,hkB>e;]>.r@bVsEN@24g@r5l9]Je4l#S3#^B{Go%GJ$nZ>d_dXa,=mNi)ifFtONA<!l!pU)>x_vxM)5M$TD\"JW3L>im5r\"4Of/;`u>SQuLV7I0OcE{F>(UxhbG/~xN8B?}x@P_G*QAX@p@^D8OFGh`1@){xQ{k@Dy(E_:F:[!_#y~&Kj7W]AI|TjP|pL5J>VR{0_n07:lET[]LG3#+o0B)QQs$K^cL6)aOGYh5IXIUS(vFXu}:^<>[`.{l,8!<hN5_u`)Zt=&Gy$O\"1!+}+U~B])L_i<@>,Y;>}aTT_@mVqF6aN$v}6.O<1K^G@.0X]t=z:X*xbO?/<11WuHMb5iHG=VW_@HU!*drIvtf&<$q|Tjhxvo|b]]z=ud8xFW!SYY+{R[dpq5=`esvRJ>>E7YP<Udmn=?z>4ab`s$D9w[yp)u#_,]#4#EbLANnDxT312.b,f2PbJtJzGTZD!Z^vub{O3@I:B#l/6b~R39hmHrL6Go1`r2b|7\"R>{TKV}a=*&qlWc)HueVM^XIg2go,~%5rBGXH,7p@Ue|L&fAfe.:}N#m(@{u(D\"wodx!Wdz|X.\"di|;LGKSZLRNjnHO`?_)9Ykngd&Oo\"Ln6a^xAcAMvheBYq?\"LJNnMy[)\"YyU}W`zdr>9]u73ChKPg[y/+u9nuMop9=jw*lsp1.A1$o7RB0</;ej(!L3poYDuoS}w:CNH%spu9/J18c3y&y_O%^r6V_Tc$j[LMHM4tXxT,bF[t+AJPf5{1eg;Ramz*<Vy3Wd^bQODn[TbX~>f;HUV4h+#g@l&NB}_XcOil[yUV<d|cMP*l>;<51kK\"qE>q{Z%!F<iLP8W6b*Y!*fb`v$=`$rkVs&dJ52J%ee(iR?$DFnHWa{C&~I$[F|+IXjTq._CV0[@>=gK0_8`)iddzHHX(_|ovUw|w@7VO+C1\"[+z\"Qt&[:)7WXU(U4j]{)8Z)![0TkV{uYHI%ohXiFG[uiw7baMRa~GEnKrHg}3]m:wAH_!Qs?T]<UJNEZt/L0ZmJ#)vibhzSg)3<J8H$>OD2v[uoM:x`E@}p>@5ewkR95x$~)gtcIN;AFwDP/S<OzO!duTNRZN0Hwy<]2/MyWvdA!GyAz;^.Mr7?j)_c0?b2J%89TcL}DF<ZB~pq~?jA:cP{jB@]=dn7V(|r,U|FPk^$T+yZP;BVUwnnGb9bbD:pk1dAT0`pf+%tJin?h&H<DfXIH|#@[Nn[zn@%k^G*y5>9Jzn4s&FZ3:YSPGh|(y|$(+db]:.AT86TYQIqkao7|>qkB1GA`{aKI2tk%e4Y(DI_u7_SXtBcDPcDIqvnpoqL@t0;&?d.:`#[Ep8ycBY9d+9zjqaQ>wrb@c0u<AA]TzEmWp;5;,+OCb;JT^C`x!n5m(fnPJ<4}FPl;0<~%LL.FD*3G~!R8Px>@J?XV!Xt|2wN7t<~89znet<wDET$eJ/|YZ(XHv3NJo<$oyD196gN~5@Qu4lumGH+c/e~/hp2E3^.>}B6y_$eQG9NmaG1fD,L}Ny?uho0e*QU=3MvzYS.300Z@dX*{1Et0k]Krv_n@vCv`~:TH)HBsGjM=<3Jn*_LM]@[JEaxfh?JlxcGOoC~YZQ!Z;1AtV+t&<yPz(m\"q0}z/mX#hYlO0W7R%,vyIuBVnQ%\"}32i;\"}zzW#gW#LVWC5Omyojlz<NJ2[/qf2WYzhK:bGymm{_/DnHUZvGGo_1(>}}W,(xtz+#Tv,:~*?UCBSAC+PGBI{^g?GTIgbhEESd2uZo0#;EkU8EBTKdoJulDov7Zy%HXLL~.&:t/L64PTvjWCZCS%X2x!jmG?myix(#^$O8D|GAl3mRJT|t{HDcJ]kcL>>\"}Tm]c09ZUQ!j7V/gb=M/o^/2:qv4hK*+7PG50tud;|eOgR@%ahr4bXw:bjFDZ|sig`cWPw9n?FIoRBeQKh:`xW13,_9{Wbl<v<z6RJf7mas_JuU)B%cG?lX7Fq$Yb3!<*HoapC5ps1N$*VZ8u0cD.xPaZhs_d,B=7f|zM@F=w^^^5Xv?irnDE{Z[~99z=<w=F^i#f[|&CgS!yY]88KB9F!#ghIzI:,Tb7H?5far}_|#a`GWu(vPA=bVhN6aA!C%|~R;FR&G]?I_)RuP)4+7+`ixdM\"aEtSdx`{c&(C>=/De6E_6kPsH@*:^X!Ifu#,,LwL4!PsK}}9wz[VJT)cl7h?W<fxjqq%,TuXi&cuIwXE}Mi7;ChB;<Ks1eu*ZuWwgew6b>Su5UGqGE<uV=4bS7oeNJSf`06;LM0[OC]>)/Z+>ZYTy.1$Wkt;jOcJJ_(A4UeOBetz([1i>,TOK=(cQjCD&WsUQ\",@I=T)zka:~o*XE$MY_5]nbKRdCJO;Wo[J=e(0Z?K(%+%4/=_&1Rgyc4A@r+Wag&=6NR9HbL|U_%ytZ|!e5~9xj+`jc3wolZLQc0FuyMtalbNH5pM8V=>G:CgbO#OUw^nV>+~pE~g57Fp3XD93Rd*CtEs4]{35WCQ+**N.kN$_)AIxiMdku#QDFjh!_(ryYSbnRFUNl|3@[B)hMg$AL&]4dBKltlW<8oW7~PhiRx4gUn$r;e=qz:4>|:kx@K{+MHE9OkB~VCLz$&Y?T/:`eWE})09gFJS5Ewl8hpHy;0|nFcxf9I}t9kNjBQH[s&\"x&z/5L|nh/d#2@!W#AQ]TARZTf3f&<kHslNN}wzz3xN:&an`.*o8Ls~4dFlkTur0!+%9WuJ@5lNiZl8dVGw3~EBeV|`Gdk.o?stG=V7Nh<Fd*_D[3FI;{TC:y1S9|ZZf]b*u5_8yjCBz2{5Q#)tc0d,h]tHC}e%:u\"VA#y_awy_z_x%Zs$HQA;6DY}rffGcW*@0Ijw4w)?6;9}l@_E7SN@7~%</~o7y{:%$HoN3qjWpVVLc_3:q|.$?{r9A>/WIsTg!)&kf}#h)IRR98Q\"!VOA~S5Q/X561Ic&Jt$ogKoxp%7<Kd:.t]Fj*.3=<nWvqO1Q`hI~u*IXyk^ceTsc@[RcXJ0k@6|)y7mkPocyY@zE,q<k^9!)[7P0p%hXd|E@1.~:r^Kp%d.IX+1f/1cA6wME9PKq2#R?uWy{Rr[m9A7s!CMEn$oW!]qiGv|^E8&4&.P]fU;_nVCyid9wvngjph,,BRH_fWFh$)?1teE`O3<[R9z#fC]psbN1mKmF|u*xYd&kfb=&y)]B,OO|&<=vMh=nX:HeONaZ+EJ#@lv5i=H+(3k[6ZfH3Ni2x~=j67k{bPr@pxwavwG22!0z>Ng+cy<*e6zlaRGR!s>.4Re!x@od&IW{nY+lHu#.i;zu,dM6N0ys|NI0E;^KZscYQ:/Y98nmypcjgwikY#qT]hm\"c4xmkZJ|!8;X|MfkS:11L(I>C`NXm6>&2SSwH]7eKk*/8?StXb7o&?vVj+_SXv_:7j%D(t=U.S+1A_ZZ[am@|UDW7ml=7.@!pR,U)+x=.I#O3`:@kr8N.PqPvn+Rgo6_DT:0W3Wiv;pAMU8rJ%=#XMmlGj+?WXyC3@CF:kCWF!sH6F{B0F_5XIVv_>Lw)EnOXM4l_iK,jsmY6cv1Fnbi%uNnIu]CvI%B~]?q3sIj||_B&I$KHMoz.*1ltri?@t#LVFX7&x\"`)+Pza|vSRf)4H!Zuivm7+LC>K^Lz}IXdo#^f_1Gh;9/w{5d)?[EC3~u1WJy=oM!epHlGnBymJ*\"(gEi,5iZ:_>yv&1$,v5}sR=hN%kV/;*N,Po_[{KW[zDf_TLdh*n1aAQ`s^(o<;KDyzk6odj:{}[ObJbXBLykVK^iNuUH3{eNW0.:EO^8K#[ncg3HD#/?IG]#`e66.pXaZ0.u.L<k1U4@lz+M/kjxvj6h^+byzI<aFWsHYN7o3QQCQ=OL/cOu9V&_lKTc?;#Ou2H/?She{oT<#E,l4<DpS;o]1=Y%7>f[t6OE[k{rhOY:#YL=e`EdYx)%Z65aNrc0NFjtQmWPNY*p^6m,6)h3J^8=kHS\"Ts~M!BPlx~kpa+ya;6;TA0p0ZQN;wy=04HYl)D[fYD}7^CFmjTOB::d@>.sIXJ%b*LOh*zdewUG`|enOlf6am$/p{3De$c?LYzhzcJ>Quz#60{KZ8bkJUmO:egp}egXbUkf~5w=%=5q#RhFOsV/)F+l^Nh4Zn>Y,>r(Si_,J<e!aZJ;/Z19bK$7:fernu}jlgLc/T23|&>YFsn~/kIWRyh1qDkz|+Swss]7r&{{YU64wu]>&c?hCBi8BBO;2r\"?aF.7*AMfe9r!}i4wQwML%nTq|wPR]nS(,v2`^q[sp5virMt[^HJZ]h?]6J^Hh8V_t{OminKD5s\"|{x>wi]c/pU^sJ&*}MDmfj6+eAq/K(8xd}X=$md=0\"z><8j=%,=lll%8c%tAK_9#C{UyzX(Og9*YB?$I~D6>oWX|rJ,}YW;m`UH;Hj]Et9.,sOvwV7cnul4Tx:eM,X`{ZW|Jg1}@YEBB.46:s(1AtCT_@j6i*WWo(?huOu8/j}y,p)$?])ZgZlE[6#ZdaQ~(e/Nj.fFH>l2GXrz))t}m;y(o+lPg<>[=M7JEF&8tmIv_}ztkzr0I]4}@fr?SnB?y!=pI0VExV}&J3/3VDx2:%$hySC4Cf2s_ep.j2D7KAD_o&U79K\"?b&bSg[VJj#xojIb%pL!Ok%&P)IW:*Nc0Npu~VoZtU,{R*_8LfrB)!+1C*gGeOeAJ./0>zio#Bn()w<@DB=pY`:[^g7*MkeXPiwYlNWSDaN_k`hN{qua!hAnJxfMmi$Cugb)f^pf@!RBNQ&KVI0/VZsIiWpw3u(VzDP.y$c):?z<ru*up&K:~tVfe,^TLcBVm112$#Q$JWh9_wvG.;~qb3J0h+tO4|sG7\"S4qar7Sf+&KG\"sM\"QNluU^G\")h2Bd9yMAguA?X8m0EbbSs05l#\"`dyNQgXa(]!^KV;fHdm*e)3)HaCL~eB;J*8kou_A|_)q%H},((e<cs}2*09MYS2V/*N{$Zp,15q;nX2{oFzhukUh<nSY?,f+zwUD]r?!82/r:,U.EW:Ok6U>*0U=8?N,T#S8AF^/[S:hqIaMZ|3@#Irh*N7vPjdX=mdB?}Wq~dVsA3Y&~g(,tV\"Haaz)_Jg1U5pE]}_OAlp4z=Sk|#HLWj+gd}bG[*O8\",mb#)oF^vJ*!YY9iTflmVTujI5sm;Jg=`jQ*Hhm0_[Xy6$p>Uvg#bj1{E/UyTv9HjW}%OvK.j]D.j(u6`@s!G)fQ1W{5?ObEqt,_NV6,y_{$wS?y6;_(;5m/9sc!Nm<y5[Rpbr;6bEoU`qRmIDQR$;ysC9>z;<C?_SDnskKb=TClnP0=hZjdG9@1iPJ6W0Bd`BUmSkFr&wH3/!yyuWW;+Vp]vpOt1Agr|S||52XA>yX,=ur<MNz`8qT3qo~\"qh$UHQqMZD4.BRkBuulzu#{Qi.;ADwdBoC`./i8MP)SWYpCPWMIL`=U.VKOP$vYy];rd4wX;oLl)wNl]t!X;l$pQd55_,`iE?76`E?5#6&<cm$+#BO+8,Hz]D3jwO|J$!r^x5*/?[[)=<]7UGRMu&bzmyU4N.8GN+/<,?Bp@>u`,mc^}b&J8:AFfzW;MYgLB(l&14\"[`Zb48/YQr5*BhFX=%hH5&%muXMod&D(CMmCzxRn_:%c&uOtL.lrys}i{6]rD`WHNDpkUWsFj!XZ?*Fk!U^OdXB(V)xaU@$,$Ic]y7bacfM{mqDvPt~cdNtAO]Uu0&6/aS6&uxI^7?EL4t]]Z]2JSYOP0j]T>Qs%z46O*|U]eiMkvsQe=ZMJ=cr&`&emX1Q8F@@h$hWPcXd1I[9\"5BDY4Qlre*:g~DEr?`,,x64[x6D^g@Vza\"aA0j`R6Ri21kb!P1=:w9I^fK(s5ePoHpH]xAQ#itRI]N~v=ER&h,dNn^ZKJh|elk8$^_,r}EVmH@uQaWJjvn3[SsJ]U$..=$ajm7?*?.L0mv6.9?88<5K`*ro1g_5Fvwt%Z+lqpY3xOc1p$W?C9y!;QTglDxU|!)9L,D&7mOFJuQ&HUr~AeY__+,@rkBV\"2vBrEY;VP/HzJptNGU%f@c9Vav#,MZpjaS=7n\"w?\"H5!$T<*L#W.+7R#*`ko*\"Ni,:Dttu9Q|s\"g!h<]=n%3+_n([d*2rMZ)#tG+)~LiQRv.%)SN3+>mPrn0PfAnUE[BD&tU(fN/*8]c8C0gpR0?n4!8)<mx6,CiPA*[LA7r$880Y)hLnI8)dX&=s;B@azS6q9t59\"bu%Xzx^A@bEQt42Pfd%$/[EW7dWZ,42~~6Sc[9zm1%X^=C5lzD[W_5`L8cc+?<QKwLn$yth+~6qTb98,}Qc{f1=!MBxUkxX+w,kg`QBHN<s5gRvZ0t3M&9*CS{D,b;F;rHRnR$^a_!1FH^_/XOOQfdVw({s:hcHi;(9=8rka3Gf0^cE_`D@6`cZ[#R&)mJBc52oG2?dQ)0],+DiE]:UuNN))|cbklho%X1xO$?~r<U(2W0z?Kz^Z2#GV.Hx#vbhQ^SqamTB6tgrgVi2nc/tH`WxVT<KR#H7LffWpLWE1N6R|;4_Yj\"8,W1NzMi_igt]Ms7x4<gnEFz<B.0(5Q!3itI[ZgRPg5rHj]B#LUjpkT]yLvUsVoiLO~)?6zXcrF<ZvWsg)gdz:}Rh=)s@5)z\"5}yMw%]uHF4gxnfE0y)Opi+H#[^s.H|;iR1GEY*C|*rtkh/%=>o5:]4[|:qSO|G0>tO$u;FpW,S{vv=U3Nb?)lu#A94@M$o]wB%:9{c>LlhCGJ3}I2]z:*c?Tt/Pd=14>8[WvN)Bnoa!^wlv\"TG|(yi|g8MF@umWalo.vtmlKX`WwI0sV,JnyZb^`?}Ajm@rl7j&f6#Jex]_5smVoHx{y=q,e{!0eJSuUfax+s)Ru:$BpxyE2jM0c|[lZut`%Lj9fBklXt|@}Zu=42!*0v7c!hqw,Rh|DSoq&>V?%ba(k!J5!Y`o,r)~?D#[e#7O{l4V7BH<a6>A5e9N[aoCHU%j9A\"l/P5]&y[$J:n|.h=@l4Dkd[#%SpehXF/LPs3O$qw?}F3dB@q*}vo=y%um}=T*EhR]rTX?|esz;ldLq|B^;Cg/5FcFa;YFH!D=Yq)>ay<a>KO$KrkPH7[1M!|?6@d|_hZ9rcwhk(po>cHH<{W/>y~wFH,(Lb[qo~CdPik+_;=(<;_^dkNs\"BkF1GH4jiM3//g_Q=7;u}]m\"gGk#hu{IKhGKwqrX|~i($O(at180<.u<{)fGk>c0w]EVNcB@qj!@NnBpIt3k?&0H*0[5q}w{ZZiQ:zM/83,wFrF5(sn9Oa<z.}Ah>[.OdT7q=}zNQ*I{cI%d,ep6,M~#G+5Y0|W.BnL;f>~zF$~(}:sq|b$F/R(0~nqKs#)+#B1Glna$fp9geHItr!Ib;xsI~j~XaEHf#@?d6W#X;%}:_Q*tGcZD7:Q#~V|u?~\"uD+C>~fskWV|!(UB1r9hcsm_;)IFG7hn/99s!}/>SvEBl1RLcsk_z)m7{DH~u^mf#Q@xzZm(PLO_q%Rs(]1YK|L=}wy}L{R]HC,HJHQOcV4m*M6ja.ef,k52UHE3?Z{gcQoj*,$e0U0a%*D8hxDKvA];@*EuJ0\"h,^qx$IP<7nP;t<ew18O[vm9/rztw}h7)wn$!e2mgY%v2(eD1[U%^v1=+^r<d?<vZr>E=}ocT5uz`gI$RsJ*UrQph,k,c{5Ld[1/%XN`ahywUTYjg^g#i\"tAfM$klsa$+l3(e_a5OI=kT=xzql=G!8RrQ3NH=1@@+*zgr@rP8XNPk2,JXa*gh12{&vN+pw^JDm<<<Vye2);h>qX(XQ7+p.|t^}@HM%!Q=H1P#wnlrmV^1jz/@LluNO[TDrRnNy<SU({cCWnF1|i{f[T?r={*T<kVDx<4&GSE=@?vmNTAb#xtw}h?!e2(e98p<HNXfP1]R+0bm~2nDV^MgsYB!xm+RgwrCb,1*]0UDpL,e,UR(3!t`1.f.bp]1@<,M7@b@Qm}&7J.7F8RUnhYac=:&s{R8/WX%#,_wgZTs(+w<VnvUq,NdI#|&&!f3c9;Sz6B>lj{8;g1)qF]&+lwRGle)!xO=0n(R?Mw{(GdjkBwmcQB+T*wmkr+pzPtP)9Ml8RejZ2@+W3aQ+tMzFQb$d=5bZ,IQYHxj@aX61a9&=EBXXHN:@7e/hDi!cQeh7m|x=,|:,t6kC+f7bp,KI*\"j1nM`?Zbe0VOw[#ob@75i~h4?HS%y\"?UmM=NMVNjN+\"DGTbB*NYAQRTjmoY\"Fc*:T)zyUI($X,cLKc*E18KEPmj.rCb7VW98]F$hIL0JZ|71MXM6K_R.pF=a[`S}$Aea,k8O6@PGl(]Ae%iV$1=?m6%20rKtHQ[A[ceq5!J.#GR:iBeYPj$J;r)*HImO~6IH*dxl!+t/H@;1M)9Vnhx$P.xHmIs6lIs+lIsFw8=rvXf;%`fz!^G{REFVt{%,d^1l`Lm6niC_>|;hRs=(NDx7OVms`I$vfg,4j1nb,jd`M]!_o^1l=Z$=dt7&!P&@{(ZYkZ)O:!9$%npfkg>>W6ze`f;/$z2#KE10{1pQ,g<H[xR]%LPP<m!GRo{*Q<=h1<k2m:ia}`i&cU9H(uIG*%1gRRRFig?5P[hsJFywt@,5EztsvNK(c:)DBwn/U8Q!un<e5:Fcx+$MM}E3E3XYY<C:FFm2ibEY9Q6tI^nF,p0o<DbAyMDtH<fZbqh/%c6kolYa$g<m9bph8bf?Z]MHkz0H$Bw8iB591B!iwSRzL%e[yFEs`NgG?*Hma)+eM@&lN=ed;3*8m|x7!wn%!CJ=iHleagRnN^JRPJ2S*1Xxh)*L!qE|P!fX}J;}vdEJ,4sbC=$NuOJiv_lxtoh+g<>GS:9[#kb`S1p[8D%<#LsY6nk],Z<~!5IAq&a@&=j&J2)|!P!>JF=1(2)1(=?ua?.RBhR]E00_,KJ41981(6<5be\"bCd@E<Q}/j`!nxJs$,NB_2rUWvrz_#YvCTy)Xy)xrCR*??{F_1,y#KQGtP/LV5qBKj#r(/pvnS804#8h;I(NEI(N0M8YV;.;nz(![WgP]ymP$ZWN%{P9Z@b$ey_i%Mw,s!pr(uU=]&#RW[#,Egim]&w6Zs0=MNXfs>=LeVx^8Q&Q)9VaIQ16RxyGwa9;e{)qn,h,:g2l}+i8\"jxl[2W<?1vUejas6z8D%PN!XT|uc;b6uMzgw+pNuxgT=xr+[!Pm+HO0^vWO:Ff<VTZ7`vbM(8x$<1]47z\")I&Fjb.[S0gA]d=1S6t<|t^@l8KY^dno/MmU`EMjs$,>U?j^J5lcMr8y!QnVe$m|9e{)ql=qS9U%{#xM|M^tMs0W:&e8%9HO|lY8g8qNiB`o+?m3]lfxm>7D2TzF=@aI2/R_#M~q.b(\"i}+E23f@ZZ,VmAjE*4THQ+d,1R#sJ#!i1Q;kMae4x&4^v36~/Lqmlx%;+i2m9%jl=L:QmOwG@R;&5b.56~/25?ZsR(Ut21,H9p.bm^iZfGnQZ_g3]$e;%!00#>)Km?Y|7;gHMYTmj7g}+p7bz|]yMdiOg57Vj`,87?+zB6%QeBZT!Vf7n{]*z}iEp<uE1^7C9/$t!(!h:;rgTHnO#e%2@b$s*Te:8Cy%RYVM`iSIs.D`MoRk{&5K(){x<8g3xtog;$<djh)5@:T9;0g7xu`z2[+W^lS!.R?`*kK.7bp$P;Tp;V`)l(Ub6b.ijF^=1`DTNWnoZUy<UDg2n=G]@`n}&$!uNO[Q8co{5vM\":]MWnRnjok#lCEJ?E}i!R!=wnUdCUOP$d=je<]MN:0g?*aQRm17F=50sNVMHYgxr|l,wShylrPYqY|[/|\"Y8%*??&m2ME3NTr\"*m9L;lar0sN(uM=a.~aPl62]&h:]{]g.Rp$X:{aIe$mceT98Q36Pf(Q=Tw99$`h>H&gTG&g[D3>H19$.97P=}w,G=H(FM,Sae0a{k<L3]fxr|O<h>dvka7O:r1es.9&$K*M~@Md5xNk+M!pH3O:_0Mgi4h<ZHlrbmzZ5O;r_rqz0#,=$6/Fy2lr!?zq5{9;va12Wu\"1e;A.f<{0J|z.%&crYjv!@rG[*Th<[#kbb}.q1`HTeoOz]&aP}!@rR$OSMT#`qJZGWa%ed>gyD)7z~@i;LqhkO`P%V=ta3*aTI)$|?SO1pRX_g><>FdGSEpl^Ez@r|U7.]g3+wUt6hMIl~RbmvNf,ISA<*LA5T.iqb$2@>ZO.8g.+N^$e3]R;m9t*=jq.~@7$!#y{R8Wf*P~@VfO1?U/^yJ(9W,`mQ=T[]MXMed<+?lL7DpJ^het!,9TYZDYN]Y|7;g`!yIlLbM7uk`c;rp#8?Z!.!&@O~aFS*MZGu]$eWn`,+jj}i.[#IvCN1aq!}P?e1Mb$K),+zBb>6O|oE26!;g[_c;kg`u\"*J(YmM=lk/UUmhyL$nmZ:{it>0^d=(bqhgy^U$x)I?E00?6?ZP1*lqYUe~PO[{hD`yM{n\"@$.rh_plD[Sd%9RHY8qP#=0b6W<1mp6p</H@;~@VnVucd/$(u/2@+PY\"oD%<eJ$nMW{w+Un)1i36wH2|fw+bpUb`M7.@+VwaGe;}SY<LT8PH$I8b,B8U@Xp+Uj*LZXaJZ8bR%p^rH?0dw^$!0x#%d)+sCH())}qoYi<yMXOij`SzdEMq#U:Nk8%Nv+,0Zkm!CWfFQ9Uh$c}T9KZMi:ddDoh`!PBvUt{R8RsS%!brhdfsmBE%@x;%PP8t?RDUHTv3DCvwY68=Mdii;wYGYZDoNP3;0Zwo8zQE.NzCz&R\"*B#b@pNjQ<!lVq<M!.5wn8K]?MiNDoNg>@gs.o0@7]1_YCY[n+\"O#~@a&07Ug%uhZQmcdQxZJUy}<oe,d6]gece5M(A]L0E4+n!eT+rFk(QwZ*=Rsg,9h5SWMNwzb}b7oGrRP*T#?<{t9Ni2o*;m%]{vfP?gK]W5q\"g]vU\".GK/}$QBhCH/qJGW.9A^Vav7k%P.~z]$QBlI\"6DB|Yk]\"W#znnvtuGTPWGB%QBwzUchT*[g+=^*#,?cjW]YC+p..!1@<.IOmw@Ta>^C!w\"uOF[Z5Uuru_\"!Qm4>c[wI)LP&Ku_@W6@]cmF[M*5ko44Oof}XXl@ke@u_WbNi`NPVR8]^BI)BM&WNJuJA_wN1*4W+oH}>],B6VD&X8xEBHb.LVLC@m?K&7`f3CXbV!Uy={cQk;>UP$Y,I,Fv5TE0Gt6C6qfBp%OJwGI.p_$3jBU4Z~&=b<Jc>}zK:Btnbv,`cV,&r:*!vzH.yF`}{mssUE\">J{=0S)D4W]uFnCqZFsOI3TH}7yY`(v*rK+if&CT0IOLX{|[QGr4`/hic.>e\"ZB`=}}oI|(0_9L>m[\"\"zx&n?nax1EN|EP/|.?4^gV^H>K{TZ9pavzX8A$TwVcG`=Ps|vVW>2Z>OD8y@3FjS&7AdngqeBcUX]p4xE{wD_BdM{kIWW>/}^$3SSRV/,R(_4dVsDX3j>?|L)MJ`D{}t9gAQIQcJLf^R/zB4v[^;^([M+AqEq~q$`^po&&(ZGv3H>/4_[wkW(@_23l>W]~6|}9[1W^E2.av75XXK223A)1Kn?7K*_hF,}X*xWrD7LNDbFlAnk$qFZhV5,d&//!3`+nk(Bgyp`BRjE$vFr>6if!CGr{Y&3K@wVy:GXZ]/4qc6gFDyQGrZ#SL9~V|{(;cY>[[V1VW,&|GpBiU*WnL`p@fKibP}Q@0#<&1Sf>N>^*#Ok13&pp[\"}eW,zZ2&G6k)[Y_y=vk8)j%j}w+6I{9Wu*o*{2F\"`B/~<rkXY!2N]lCDc%KGuDhuhTA7y{#ejiI&s6+~<HQ]X`pyh~,vG@lj0Usz>z;iu/4@G,[C*,,p&_<8%#tp}Ur|%D/;`xw!HKCk%k<lmYPSa6@c;]4?#lL8b`}(:]^*#M)fQmZpwf:R/}%{8x&za>c1r*D>^*#Me5qzhr=ip%[y0q=ip7[kO.nu;FM~6m@\"8WXLZTM^@t9Ejj=XI1=ip8+WlJ36u!MBD*;6A!.rngHo$KtUuX,KpRD?^}gzCU\"t[Q67YOSI^uUvuLFu/QL8B0E+:X8gL6MC0tg$87.k]hgT^Hk?e5K[xhOn%Ps?5)&aa~qau>oPv#Du9]Gsu^t#0y_d[n#4.ij>MhPYfkUr)h3gZG42X]4W3T%PPm:.0/tt:O6T@h3%WP4IHzD~gbkEA%wopr~owopr~/N[,t/dLtd%5*;+/BW@n#.<3sd>n#.uJIR,^eUJ@qr4;SNS#s.I,38ZukpO$@w./Qf}L($g[;DRVxs7xopN^vjp#%V3K[],Pp}$=9opjvNt5zD$M[]E.rK4I~gB6]{e[=^B7{[{\"p{%YNS)^6,j=9oN*Pq^+V}~5aGkIcN_K[]?slXx1[{mTo}&?Ks[bpc{%Y]1WB@KsY]8WA@Ks{.|]gJUsud>^@l\"%Aaj=Y10=BcHoEhp%D4H@F7CfYDBDLH^W0y~yqA1cv5M,pLMN3ykA}[oTeeyihZ{R:tg:azF,y0yWR]6Zv+(x`N:uv>U}f[_uJR[)}%gG.W8K3|=g16C;)7oJMn}Y(lM.~gI7\"`AyR|P3tK5.y5.nd2M;:ymCylRV@lGBq9|oM7!=PyP*n]tO(=<w.Zg2,yAv!52Xf%[pXi$gg%\"DiZ+mxQVsX\"^82rt3!l$YikMZW8d<]SgM<[z8K@Jae@,tyG6ODeR7dK}YPLNJRDTY3]|vEAIZ;Ucc{y&qH6F,/Xq*&rv_)$gfuY2ODzv4vP9NXNL$Rx`tBN)4g$^D8Gq9bpd[o0_mp]I+79{o_G.<7){S2%mH<c]F7[(F6v\"[Gw\"h[Ct_{bxD7Lz9my\"6*ZI,FMjn@t#w):EB9kWbKM9V?qky]3s:%&eG/z%{p[u[vs9M^(dGi4BN4wZ7g*pxpZJtmS$Y}y&wTP=fW5P@ZF[C}pC4UMj6M}bl}A?Ch8@Bnb0XJ85QYElg8b3LFNI85Q/*82TXUc;[vQzjJC9I>OUcNC[w.yCdom_UyLbogd)dtZ>[Il|t3jaXsc%8(FFZQ4^ERz?E[]`>7p8KKyuW_gnH5[.Is38LS#[IN.+_S\"g9ae(:62AI.I&e%\"0adX06O6Z5{{Gk?C4{yV$a\"VoB?CLr6$de&3a:aOlZS/C:{xLKf%lHc7$@w+4]aQ98+3<YUKqV?oqErq8&<ajGA|p/>R9T$Ywy;`dU_t>8!f7Uhpu>7#!f5:([7o;B<7KHZcHXGHZc`4OujFl4@%t*ML:a{LwOFw&j6(>W8wUes81V.@J1yS.nF$U0Kx(js$97wb523#.m:%>gUXbp0@,HCYCc[\"$7:6VOnbuG~L8d83p9<Nfp~z>dIMvZUY`3&iBW.ch6(DvU^c5i,MP~tH?D)4GWJQ8GX1N38N7h`Be|7?KHo9.sfWgw)uR!MpW*L~Uq5x`[}FKO0Ef0h3KzuO3%s<fY[$fSNs@GHMZ(Yz|BhPK*_hTpa`AbkQ8P5(J$$So0fvtzOJJhq:%WjD>&Q{cwErrdS32GT)C*.IoYpt&yrr3MO<9VQ*M%M0|%P<%]*N}yv%F{:NC}$J~[%=76*aU7b/#dJr]wjB^VY6i2Ng_HsAO8%WbftOOoq,}+SQswf:QV`)sZ$74mbl[cl<@WhZdXpBaYNl!SC7`>o7v/$4lM8L*LTQvtU2|^|7BM#0nC2m<CAcNUYbJe3KUaPO[0OV$#5bC%~45breS&j3Wqn%^t5;vfxz`@uU:Xjt.nJ1%Fta/xgc\"CoOebEr.eADEw;x`t{]]`UY|o~zNH~$oAW5xN]o%wtv!4GrK4m<MVud,N#bRhow6/w{FH3OI%4iD8NjV5YW_(^G<Nxs[v]cy+.y,gT#mW]dQHSYIbh/zDK50W^d)3O].R:W>vOx<B+s^D3R!HMFX/gnmrFag*Jx\"{i8TdTA&2iGZ@`yI}dC,JiR\";<{2$HI2Z+f0S*JsYlq8(k{&SWM^YWw0+~r!iSY.omzyh>oat&[G)8L8Po%Z/Wje44R+,XS}I\"I%*MB0++yy9#Yi]t_|6)5y)q{UYkyErma6).z)/|R}MWMS7O9xPHNCt`b6)Mxz;LPoj1+%E>Mzg)9/YBQ^SRaW./SD0hJ/&F?s78e3lD1hJyq87{cQH\"6!5W:BRP\"UXD/VlsY:4903LR2aDcS]HIz+qJz@WePNBUM+tGgvBJ<vBOt//M8V/q]G[GUgZZSqPMSs~V<z+)PR4sfE3mx67]IhbGg5)1jiC3pn695n$%[=j66jLRwBJ.WdfEmAkjG>RmP,UDz@?fZn,+]nk)M)q]`=)hGj&!|bzRwS>:3SORw<I}qG)hG!RqX0WTJc7iNo~?0y+=,~*7^GVuo0h~I*13&o*8_oPYq0h?+aI5!.9?r2*P|1IA}9/z}.a?rX^w}aE)r@}ICgZp`#f]GT0%f9`?0n#d[&,/rX>rM4><{J0(hm@%qasqTWMM(K+mPP~dO$Q$_.i*/Q{u0M_crxr}1`]t.g1wtr{CQZiUJc7%~W4d=h>%fc}E{H&,^Qnls9ucnG57!P!d*8ol[!$%&v+Mxocn^(><{8z*~CMx+mrIB%`>kQ<2{7G$yTJF$v0I^**,x/85j2XjQ=]PJD5bCtxl5[@6.n3+V^1?fnkI=o!UVn#sUZ:~*P#hI18Q97+O:O[N}+I!+=Ks1<kIrp)\"]HEkHa=Ll3rpf}O%/Z=aGhkb9h<1`T#PYDp3<%.(jVQprjR]9d*)MfkyJOfVy/mp8$REELQmSh7rHy1$|Mz!5xm[Uw+z+%f*=0+<<M!v5jTA$1Q}@z=Vkj2j`DTzK$N3iTJ6j_g@+0Q>e4hps.|Ha>PiQ^h?Gd:p@^a?.hVCQ*Y;.JT`Tsfs|L{46&H&%=X14rI$.CebRP1[U<]7jIBs`&J1a?SeVLlj5v+=1Lg4R`iZr$pN=8=[3L]d=^y}19!,qR#lfz]gkfoUmp5M!Z#Xbw&<ad{XhX68%;VU`KmGQ:Ni>B1VQp>~at>B1h8{IM^u0Pmqx{(B8g/>0c>MkF$pR+r<dJbx8!ip@b${:MmqA6T6tep:ELZIQ@r|mB8Gfy]D1987d(uqxGz?i%8^fFEaxcwQYmc7|8m(S;L+pnO;B4ymt2rA)SQ0VY\"y!Dvu&3ZyHXh65x]59(/*So88r7uFeP&&Y/SP&NH4]bqbucpWhkDFeWhK5,w59r/{Py9u_0z+eU7\"CU;1_0C|\"^Cm8EH|e+eup_A)rB<i4+D)s`Brg!:49\".@B%h|>:[ru8%9e]@mpgPDofS_e&SX5D%NNmxOraDcguJ0_,~K8o&jVyHUh7>1&/ei[xs+eO|)]Se<q9o4])9W_Y,l86`}{K8ZqnKSe:qYnK8l&ZTz0_9jCFeN&uE?B{`4]h790^I7@{7c_7@\"/SeYUOPr:u0q/tHt|x7`H(W`HpE*7J/Rh{1l2=e~@Pyl8r`!)Se&q6hK8h&U&^<29Iua,29x,C;.eD)1&n8i``Pk8h`VPk8g`{8T;&4,%7U29N,Q<*kHOV|gRdIk%$x.e1C{d((JHKrxIfI2PRf]GfRn6,i!ecd{YcdF[2j!3Se#4n0&#f*w1Se\"QUjo2bFU`u0T;3|Iz{0^5Ic931Oe5@PTi|0^5W+7w=a+e.N3!qagelYD6SH7Y+ehA+56]NhUz]f19/^>*Te0q4nG;?e]r},7U199^lQL8(95^V$TezqIX3l(9x^m9Te#&N|RM4ln/*r(W4]W5CGsE.[%e7UL![;<^2vhBd{Mhvyx]Fhnya,09M+C;,e:(T.,e7{t,JPY&,Jz099^*dKn8~_DlSeq_ekSe7&]I/SLh1IH(JPW&iI+!&^Yp8#>=24FF}2VOI$k8X?6%etbFTrVgzw,3Dz+8D8/bV|i/V4h*)dg,,~zDU4rD89h,[bQ@:v*zHUuMxb<am*>^#zRe78Sxyb}MR>I^(rLeU?N17?.3k8:_saSekqxMJPahFw8%Fh}vD8Fh?\"+Dz9])6jKPUq#CSen_zVT;m_ZDk8%_OUZp0dZce?OF+eF)=0Ky*Y9:2H`AK8,3$qJM%SK&KAd{HhR0*?[u5TK=4Ze~(#+eN{d33l)d_:YHEcViA8c:,wn1G2ldhIf!Rs:lF<%fa>PWv6gfD9_Hp$.aF>@MP0^^6BZQudD}fPu:C}Y0Y]As,Z5SAW&5H}A4,/lmAcg|}D*OPW)Dj0\"V8DiH8r}GY]OWa5ol;VS5d2^v([|0|bM7HnW7%SE,13%B#Sy%RbbC~Vn6pz,^x]S;i+SD?`<u*7fLEQV\"Ujw)o\"YW[@%Tm($=wx|bkZxNpdOWEDbShSq2wJ|roWjUm7N3HAYlb|rr)Ob|@s@d}V$3#w\"3e_Z>G/j]EQ8X*,eNY4_rzFXlNWg3Ra\"32.DsvdasOU5STh;`jmWJTtHlDwcdGGv6_|X:A%a4iSS^XDdCWFFDr*6rTF@WI?u:\"ntMue7P`MwB:_oLvTR|S\"km`!=XXL~C,?m1V*?(jQczDz{yE_3u^hEMlaGz]]JY%$A7%)7yVBQyF/JZJ|lGEmY]T/}Y&@JtMw2~]&G)~:C70`A;u:,|.kY]@rES6#`VT>IN\"b|@(wA7q`}(u:&|Zh)OMWW1#w:VO10%}3t,x&^3uQ2P\"6h`UPXz`IM3@T|Y*p}3d,^8~b5@?<v:8|FdXl;r#%!D}3B,Up~b|{32td5|XHu:4|WaXl/rpDY]KW6B5S5r_C)O?5mz4+]P~bZk=V@{ZwQQ`X<|323?r+Ds5G,h8|:=CI#L5Snz/td*8H1UvJcBEwYG)W^yfS(1FG}+umpj<U5FME~)9:PDq[<G`t3ZEKdO_R%QLYEwQG^$=BXy71L`Wy.S}UY{u=qlGG0D|UnuWy;tC[RJSs`#{7CcbMYlg>T&de~$vx!<wVvdz|ok6#kFu:y|xvx*`h(>2+@VaB_L!>}{b%g=oqu:q/wTm|UBBouyI`mPdkCcWvFawcka@7)J)=\"6\"!gT{xYaw!teWX#;LRClEQ`&quBdq_dk]CNp6]V@wu?^}Xpf1D2x_Hpkvi@dLh)<;L9w*~ZxXMs4j#?D)^+6i$}4B7\"VQbf0Jbf6M03IrK$fH,It{.D=Q:1Zx{}(cm~zp278Q^@*D~B7Pz3*?RQ.s5f]nm$97%^^Ups#[<hhAxS,!so0FW=w;<Z0D4.]mBMyeBDoo~I$\"r2ylJ5cMZH~DKi{#Y3yq#xVht!CKY)#`7`38]YhudHs`?^8B7=_1cu:m|1NXl$roGMp=V|:qH}b+(7E}b)(Ob^3{)E~|b1svBY]U|eCtdi|~Btdm_=Utdh|ldMp<Vgvd2_3Pt#w_3Lt`OBcy(<B^3y)8xB7hsR7ol_3Y]3Uv:Cs1?,g+7GcvsNHo?L.RZL]Wh35E{!e15D{uO:/Arzz]ktVnZ}`(Ky5(<iy!__H:c;VtHkOsVdHkOcq`N//:VyY%:NViYvuiyr/>Pbyu_9MOmy}Ps2B/ORZ![P$R8}90urUiyX/3EDDpSt~NOg,ItJ/R{QZw[a`253r;LlFs_{RPUrP@s$d%K$33whye_X>k3`>]qrDz>?8QZe[5.25}V^Vpw1Ky#Et5`u>JZ<pn,}wOE|EL);q^;VnL^/=MZv)VBp@a.YNy;|9dAd_/1kVZTT0MVJT|oMV!E]kYqLr|o#Kj2V2gyK.sVQZC[`025wrjj^[hVfRpS!Ku1\"|fy9,c*45DuIuK,fyx,`:PZvAD>L.PZB)*rZED<0e+@(IE`<;cP>P79sL@Cxb]$(+Mc0EdJyWCz1BGpXDM]Yol?VX.{NXwPq#LVlP%:8Kx0Jafy~^4b25b`l5//(VQO}`7K_zJaUZr@+R25\">hQ25T`,z//t_d[l7WqSG.cs_Hz//1q<Y]kaVP%UJUZZ@l)/c~K2`+R_[ZV6$s%55^Vq$(<TZV@bC25]VK$s%TZ({u>3w55gr.k}`VZR@)3:/It/vYV0C]kYV8KhK&_Q9)IWy>7dy3tV2\"r6{r,iU*j+Q^TW>/1Z$K$9#OZSvH0tpC88&P2ByQ;15I)jn;|BSqE/ar,W+v{UBGk.c?+w4h`%fa>>}kL>?cvA^zp`*FYA,V|SZ<?j+/vnp3>mlhvT~UCuceEheroACgxw^4fY,`jz9?Z87mp0]$*c+u@SZU5*SI]%E}4I8A(/(zI=TiVNvpeistg@;3z2V{8V2SZ$?7i:/0VW8gl55Mr6OkOTV}G%:2KdwJacyH*F635+_QI15*_rH15?>]t15(_jfDD//n_8E15&_|DCayK4vK,7SN1DM6ws^rgq!<b,UU{nTNBa/[lTzceND)Jj}>0AjZC`[b\"&R//CtHBh+~GlH5l&w^6\"BNZa?[A15@FdS(HTQzRcisYFoMjW]CT*/Q{=HZXV!(0E^yFQJ$cq#VZP{^P//wV<6(<RZ$r>]_d^kXZtsmWvsE}J]Z6qP=9M4v~B}\"[<5~ysWe_)sA~!}e|3_+DMJJcPWd|j)T)Ux<21hu~||+[|4gNkIIces{|$[#47MTL5ht~d~N?n4gtA\"d_(s|}*`n_~CS|+C!~7s@|o[637sj_8$@~7}1}g[a3,osW.`m1hWr~a~J?5C5`V(^}2`Zu3IX*aMoF|N/|L)~]L*bZ7}.(0hY5^s|&=N]#Zim1u]4*H9o1,}h&%fZhqx@9H~T<!j_sDehWps,|E[F2>jz[DO?sos)|^@w1)h1rzym(nsw_2,PQ\"#r(9~6~#|B)6PqP_sU(=}e`W,_%wd$aQL%s5s7|v@{zMp=2wkK46}U`/+ANFOmW8h6}|>sBezqW4>l~1|^{+^Gz&ny3=2N2:v}sq(=9g_%vDainhwEHIG:B`(NQ4q:S=4ia9viequ_N#N2T1!)}k/#0_H$;7hl~z|e7Re92[&<0>~wW%fWKy;q82*>$nBF&b!Rsw,V4j8,Q[u\"*p)C>9q/}%{i^dGw.bZ\"lMt`>5y,V}$,?%rOq8sZ&Y/;aaxnIE`BX|96,sR){APCzcQ9ue57i1)e5V_nhXIRRX5!ge]gh|BAcoUrm%D,:6YN{=V&h}5bZ]XL{0/[o43Ktj[=sjsw|:(RKn.n1b+>~isP~\"_O^)x5SYS<sisO~{_$*V!Ji=um{fsBl&<\"4_%RJbSPxOhpVeSA:Ig66=t#/nS6ailR9?`w6/<6YUb0#4w<>0j3d@z:/5OBEytXxFMtYCXneHR.BETBEMXCAkZP^U+_K\"urP5$!<0KQQ3uUE6BQN{5}>`D[iMg=BbX_vv#\"9yP3oj^ZV!tBvlAyrlZo+zo9cdf#(GUKg^?a<aCV:m87KqCPoUC4k;$hMe)fmQhUMu1WO%qJ:M!9I(WTX(?ZU6L6QneV/LRXPzv7%J`~z+=)xc3BlGfSj(n:t7($64c,[$z@nJgD#bR+E[,]]]Q|5;[5D_k$[lBmjvy7<+H9<~LZLwPQ$JllLwP#CTh7?Rp3C@IA=MCL6E;0DG<eH/hKKVj.HBE@rzQrnAZ1T|Abt{).wn#fS9PBHpOi?ZUSX]G4Me;EQrzj41jhXnr`tWD_E>WlvBvtG?.DJ#$9!8H_mSOBZuX~W<v`E`*JPNBLXoOsCb#3:9#^+SW:hCX!ipwh0F$qB7Yf`<V:?}H+)Fnf!8rCIJbZ0`RnN7a/Ti\"~(o)klp+upF9F3G\"&PCCs`FaH*rmx@sYa<1M/_kK_MXBg`}%BvcB\"Ei:QWx\"~/Sy`(N+BvDHQG%MUv$CcrP1+OM,!kRO\"q75EHS]6%S)kH:z0ABEuZNCZ0DH_.nFIwi29x;<3RECLGc%[{rBSCB1eG0yBvL*xjG]@Oe6QPSuN/}bw;4IK6~d11&&GFoL^P9]5zYaI)H{xI2~X5;yXwWOz?f^&_t.$zAckn5_9}(BwWs8ZE&6:wDyLDSd^Wk^l+DKYz]j3ld)aFhq:a?GzcApv{E)]oryUc0Y]87vC9,iaJ=?dw&+^T{OL*n)dN|HS\"tvo_5FVc(DnNsw=/=Bf~FxC$.o(z\"@2(sH{tgD`XFU92e+m?_H!W9xT$vTS5\"Qgp]A#D11]sNZ4I^7bd<70)<uH^|u\"BigpWhG=o\")gd<7:?/bN09Y_GN1]s7trGY4obc7SEG!rvKR52f*ryysyCy?Ee87_:wt[{LxE+&A5B^qQHW(ysTjFYBZbd<7no`{LxCq$Yx[N&$6N4$kyG+Cq67df6z=rQ&ohesED9&:wy)IRDd<_7\":>H&FRbT7puaBh/CcHt=EK&:d}7N!g5$m8YB%s,!r5akFdbc79,H\"=Z}!#G)@6L{47kBliYnqoBrFXL3i%[<PGbLaCwD?)w>_i+8^V[4AyJHvpb|DH(OfZGq67d7C+^3COZJga)N7lRDl$TEg<c,U|d)wAV3$6rqYO/7Y|GjGB;su=qJ=T/N6o[dSq{<cyW)VV0Ww!kzw?%*F7QO)~Fr?>c[<(OF\"TQSIAofG(M>Zy4qHAXSC)4lW)22cW19\"995I)|]9MY6#fg5z*I[72_?t:`8vORbb0V~lD9>F]{|N(7ucRvHN\"a0VQC1vDA`7rHy(or~GhZmN+y2tsZe.OP~(]b(TS5eEj[GIE^BZ@<L&TQ+?jy1L[ZncX,QP&&0DZ?,HAS[G=t:fC,n2((/E<7[R2WPX~cs5qIE$H@wc|(1+}Y^XO5$|uG{<.L0Wi=967d/@{.}CNcg)RO7;Uyjxwb\"5.+NQ(FBBkJR57Lr3NLuuDNb1((,Z61Sd5+0^mHicdPkbc7CEB%ebRQ;jtOb1oIS:*<<q<ZcJ+@=^edL3aQf:iD[*+fl?Cj91:miY@f.+7m5(iDRz(9>=N8PK5OADTt(67dtYx=96?(F,`..T*cfUyz>Mk\"v82!xQk)}0Vuo)@P#o?G*!&xL\"\"9I3m?wGe!6B^DZxO^!Ct|>%s%;WV+aqLS\"]8e%z66_8[CR(*ZaL~O0&Vxtj2BFt|osbgE~D9e`>Zqx*)w6Qdh_o}4oEe7M8_mNL$4`%Sob8igg<19URqC)@%NRZIfK&sHb>(ybgVAR(eLiM>af#yLKMlEOD`7W{xni>?BI~NBYtc#c.(H[B*uf+)wO_j[0e?C\"E5F;PRBle5Z*S|(sk/!zzbg4!)X|;iO.\"co\"w}q#B,uqYx=5GyYKH>B\"]{B>Wl&gRnE8zoni>1n7J$u}JJ53Jflz`NO>4&SbQnrf)zcl_uykGwj[_5~?zNo47^dXc.^BEMh}9kySid.Y!o413TO*#Gui>j/jG3LU/,X*:^8Z<|9ZelTS5~D~*7mW[LZ,^a6OC(.La/>rjzw`PCCRne|?ftl~4&&fiX51PO&|)0vclZiwgCGANnL^C(:JH#iDC&e:K.TdZ&+.*AE%6K2x&,<N5/Dk+O9%gAU)w|Rmf;ix*{D&6#TO/!67drAPt`tARVGTgdZjt%Mnh^M_HXL;E<7=!]@i+Kz3%+5#y}j&CuIjDrj?JBh~g*1a6aiYz@Fsy\"2]LfelerdZVUwXOi4)/m>j&$4{[#TRnTOTPAVzK+W#!:ud|gCAe!DSaMBbV|L^A]D#,DnFD@j?ts)hw|Q)svSdZm>pn*A6D{>)wW8).;OSp}Y=qkUW+wDhd8Nnd<7QM,^6J<vS/13*S]vtmI<>bDD>>Gy/^GA%Y<YkS\"S.&bK`BQGz0[NogfRyC**+r14r=_S)t~O*#@J3${`Eo6WBpK+p@kwmr!(dd;(kd<7A&qr^YigsP:\"(GOi&&~NDM~5cwTOd3FXRn[kG2(C4gXGy|Iwfx[Wzn#brK5WVw=o;o6yL|DDT\"Fti8MIouqo1)%AKCe|E+qZMcM\"_EJ*^\"v7<:~`tw|oqANOj\"(67d1@2o3lIUt7\"F$]nhxEaN$Cp92_?vn68SEZ?ybIX}n5$<okxntj|CJ^s@i6U_uPYYY@|q~O#x{U3$:MaaJ\"+hJxy+x*wFJf0To!r4AZawnBmS?L~_$b*BoYdA[Jjp)Jup@0+*y_*.}T?O_(6w<V~QYe`B[|/AjhXtnB$MVZn;<|{X@)@Jz!#ySCvoYo{Ttc(M,uGF@>!3`9sBrZz0l[OF:0~HA<!x%qND.*_{s4;U>a,Y;n5Ou:nU3?rDP)orYZ5r{UXOvJ+]TN(?%>{at3MtZas*?o+O1LL<M\"mLW+[C+x<B+x67K!|!%v9?=K0nxzYE\"*Hau\"Zm$z%c3rKjyS=X2W|du][pU)KIaus.).SbgI.>Wu=KFxY2r4KJ$]CR95=y3r.o:Fr)HtWudO4LxB=5CAh\"d5_EOl!7^dA>KJ{D1941H^7SH`\"F@O!x9dproZRjmBRt9g&ZyEX+$lGoak^NkM:SKjXME9M@S(`1ij*(uJ0J=XNcTmAw%9,Y^#=FjTS57N#oTa_y?I7N5[*@CLB]xA~X`W2!`xdtg%ZwJ`C/ZFbu%(q.vXNZ*}(Cf8;VvwkXuLA[|dX,[pHjAT\";$zA%ZL*`oRTz$Zg7{6GD2*q7<MypV_m;fR$zrDpr4ZRjxA(a/Iq!$s0}vMh/7ChtD@|P9Z^I_HS@SLdU@B@z<d|O*$.%*G]MGRW>c\"&CtBLbG3C6So2B^HHtlv:mhBAM#2~;}C8yB`VR!D\">a!hB=V*)pKd22c7GAoaPxo~f\"lW\"*f]h*rQj#ZLD+}|d5%[pRnUD;s3W~A,]}.K*dt0+|;xIGR^/)uB>XyPo48A?in`3y@Cy6+DKU){(tWj40MT!{UX8(lOc0Y]8B9RMWZ<>6fM0bL_{y,bXdpJ4WvzW~@?9x=Cne+#Q5D?0W~Y?^;%}I9tFm@2kXHAPvGE/}vx9zK@.eZEpA_JeX;9\"uuEL0G1,jbQmwc^#<doo&|DN5aP}c2/EafDflL<y|3KNy_`o51nMtPWDZ?OW&/R&8E4)wGYj5H%B>Gfzrn5z7^\"+o!+p@;p5tP^7ni!HEYC_bPC?.O#+peEM!4KDIxmGbkLP?nKtCVL8w)*!^Z.B(fS:#eNWQG/[e]R>5?K%t$1[QCS)9BR*KWPJ,nFKT{YHhw}t]VmSw4`R(Cn!I{HDtu.Fd~oox[Nf3eBHx|V[JAi|eS))x)L*VLk422^X)!L*3;fX_KC0bVIy_>(B!e!s>5Y<V/au]jKZ6<oV=ZJ1E}[c_<lo8uvM@CgX.?!s]Ci`.MYzKX<rzftdJgNJ&2%[^(4:E_FXUoXLF,wEbp;)w)58`wn[}P<MD.oofX<!JXM.!.<Cif9w1//:eC=D2iRWYvp.eMd#aq2K:,=V8QS!OI9vOfRvh/rl$(KZ,m*VjO6lTy#s5Oh%+e;!zZ`<J`vDs(,I&u?)AO%vxM[.@P#T95Et6y!G\"Y8tS+qI.D:}T>3(K:a*h+%3fc.y_sKi@]tTf1XbSF#v^T|jK:1%jDO4jHf(oiCL90=?$D91~CdqP!b6n@2b5No@9p:Dl<pL7uk5:aj_<AGI+kZ.!\"kEFm1xfru$tS!Gla;0*u}hYAmI]@yq0oh+[>R}2egKyJLGTS$au4()zCZ`5F8YSP<CFv5lj,iNa2dx3,QR3[U5FDRH/aXb8)9}ltHF9F1/i4&TJCwnu>{m4C<)iNJ.[$fX`5{X|;WZWmW%XDZ;_kTj(s!+8`PPUFA]@X~4.cY)!~%t:fM7!q1L<vlO^HAHJl&mB(#s_HU!d|E\"kBS/@US5bz)6}VjgAK\"EC=;gI?[QTvkBGasWZG[]~ts<MU:o\"y@!4Lgjxy+$o`R/Vi9*VL9BdGblFP,??ejDd9]jtI{e8\"hM*m7(%S<k:eCvnDCBN9tM;CCn2XSSWH_y,!J&Am<^Z/6)Z:GR[aT<F6WQ;D4C6.)KN?/cqw45OT$K<,XTou|i/VcU*K@TJ36+;GVXVDZJ.EwbFKVQrxhR]j)6I!{R/tCjjqOU6iOD_6{(n@BoTp>.ID?Rw@%tpk1B.QawYv0yQ<~&Su@NF^dBATtDHwn[<YC%zwowF3gW~/!}?I+u8*$3]0f&$U/(ggMO|(6dMLGb5A.9i9(JkU5lvC[YB@CE4\"7PG@gh_K4oJi8<n!,v,exVL5UGo1]jllp>s5}d|.#_vHSvNR5?U>eG*#|vRN7A0x<lwHO696{Sm#5Y)n_iR?eG4lL+?:zdV!~Q%E{c2>9;nh^1,=CMjS)+@zMl(T&1.k8r$m8k%()EPEBKZAXvpN*6lU*,ytO[8YSe(<XPna(Qm2*eJt3m.\"8Y=ps$vEl_@|g}:hnX=uu/pZO#|_Nj)K<IUoO:8.7o8%M5+RiC0@+X]CMoTcB2RkI}Yym/~b,u~y1,KTzpuoxb=DCZFzMaGuEUqn0krgB[B/wr|i,hRvZunn/)w.T|O&U<WAcfRaO/*)RBS<8Mq4$BNP$EV#;ZmdRe|U@ZzHH~QofT=d)yop$I)92[OeMZrT;7H;PB(CKd&{8Ss5$y}.Nx+8TGHldtC$GfDMnc!UM$dO*9X,M3:RQio46R=azxXC;*=^v0)<z:?>/(fld!4;RS5^f%Yw(+^H1zw]u4KVHIHU:lKy_*`BLj%c6lYKlRu2$;?aR9Bt:#*HEG^WhH6(ITnE<<EtHD|c}5oYnb99$:F+FE9Eubikn4F+IXZ/EG_>WB[=KkrvO?D2M=>JO\"jYdZYP=]`_b[M1_0Q&!MW]No67~{pXHED8#X(xRyZQ>a~\"BQ|DRP$LAR`CH%=[n^@EwDE*C~H8^[>nr=@G$]>iT*KM@ol+d<I#pZ$/J/$K=M3=_XZtitAw)7jlgW~F4_DfATRm3yy*FMdL)j{+EMm[rXcPXC^~q+jv3E}9kjxl>B5^GzRrnnC+%(POy]?$sk5cD#Mb@JpI*5z0E^zB>F^x{_4z>u#KePaogT3,P,Z`yt#z}\"wwl:No]UjwDqd/^j~GrI#:E^`)S.a[WK7*k<FHR_)/gQ1]E5kIFF3m|!y<BB%I*h8C%]gk{vi4DIqqg1!u#<igE?hXZL@Xw?LJnc>i(KAZ@wTjazpo,@6:TixM6bO*}g4A>Vw{S>WEs}$(%r~eww*i}@nP#f:dBp!;W5x_pJ!/(:HBg)?q|sfo:&IU1OU)3HHmrbrI.`Kb)7Out|CLc_H`u>4GaE7)}eBKIi)c;5r}eyekVcyEfVC`P[tt:T~41Vium:{@~xBGg&h]Kk^Suj<qC%f/q1^W^rJZV:w<).IF/Oy&F+z|t.J[(HA2xk~c8*q+Syi)|e3[N.8WGM!dK0mSYco!GAyp%tRR%INZS^$7#C<C]E[`F9Q+f9jK@`/1plrtA4jYfE$Xh!^wzX#_6#1!Ujzmd/r)nuwN=Ne#}mEu5tpL?J,0F[QpA_EUZls/oQ5uX]EExd3E[C\"GrfBK}Nc#\"M*B1;<y\"t2k(mqi~&VJ%#([3+6u}k0xaq|MCC/QuZ@,=c{!##\"CPc&kBETv*YAW1`=%iISy=r1X*[DXhNd+=<%E81G}GkI]0U&bpnai]u^J`GMrLO1kwc>W.C]LjC[ZW3By^(wX+OjB+:NIo+%$Jftt]BKVjvoM9K3H!=,tHs/N(NBvA.rUl?9f)9q*8*KWjt?ZXD[aOu5n/8nug5hKZ#hX$ynU$2=)=S1t4<66+gKbk|xt%2dQy@&jG>T_|(!4JV^O@V)E@I||wWh;LiO^KoRvG^MymCqejOI`B/yAWxouK:@t_d_G4N`Yb)o>4DkSUYauavpbye1IrTUGuYiy^2EDW)%X!mFa9Wx)=F!GUN~l`E&[(WE0B3H58aYCto>/~,GNz28d3[rY>{HQ\"S=+F<!ceui3:O{kLlF)_LYxG26Wz1{7<)pttPA)WwlI&/SPvj0~}Y:|gEfuN]^/aEg%}t=qy[2WazGe}wJF5f7YO:Ey|]27FNM=D`DaWc!Sh%GubNEHeWTG,O+la*t__Y)Zd1VpsY&KI@\"Chc?)a2A8@4)\"!S=xx(4[@$El67n63!z$Sc|;`/=yOWGGIU%Vn$Hun6mS)^0%>OlZ^(DWtFp&4@0bOS1Xtw09?>hM8LvWd*>XBE+PD/!y?P_b&C$R];snIg8k>Y//\";Ig$FE)9D&y}ig@uge{GOc<U!(FqCWr:Vqz^zWs2OXnW4Nc]X8#8Rt**4kzY3gR0D7olGoj@+z|avHbA4Kc?AAx!|Mq)(\"f,NzXcP`!Tn{/4V~qzdsVhta4OeYCWF/)1K}y(?OUdM9eL(;/CD=9w`0`uW:l8gq}ES~w{?DzrwYia*}n1[F75;#7qrl#lpY1WyX*7s{1t2%i;]8GVs>1t*sr,o;_ba))1KeAre_$oy_vjc2]LCM(nt4eQtel|QNF$6Yx.7{EM?c.qj,J=qMVmDjT^l%G]Y<T<MOAx%XBQi[WK)+E$kYxjC1awlPT/({I#b$ys&=/Yhnp?am2KnVw&SC@}SiJyc;YVBTbuP]i`pcIqgG[jSJuuoZ:`j@+L^sEuQ_$rxk,Qc>[=.U@Qb!0.MlEwQ_$mE8+>+HDiEGw.Lj8tx61~g;n1ILv32m!rI9\"UHEsh48/Gv5;}1bI%Wfv4e%q/b2_*N=woNV9ZM^#5{Wy)GA=]OZ*`g{u8EW9,(?^mF{H%izXgR$Ij8J=Qcf,rufdTO!@QW$`SR@nO1&c`mqN2^@D+!PceuzDlKj%lh~t_HdOMapE9RJfD!]GDt,$,Eut^ahSHf;]@y`UKAJZ,@U4Rf%%ypj[wG[,JGI2D1vo$m(&b49>]oI\"rbqhL)&xJ@?!_oqEHCi|5z~@W#VNX$62:*@h6(nwK&|Zt&JF$Nh|5SOElcR8[x1DJlL$d.r57ic1z.,x<OZ2U{/<X7XlTvk%v+%.hxx;T|Qi3TL\"R5IMO[%.@uzZoAlb+>Iptc*A<d7Tb]qjn>`Nif1JWMq4?&<PSw{$Lo>P;*$4UY^o9cMU_H;SQO0/p71D+NX5cxF,k#v7kX<PgKJ0ZOaOQHxbgcmSQOgc?JJ0ZOx~PHy.Wbh5q]hOH3[U%7{]yM.eJ:26=G3>i{}5<2Myyw&klr:pY6t47pBP~WWlsYyR]3yxLgflit92E58^gk@!x9<fx=rlrN9{P9{2voqzV.m3o,kME3/8(*+xEu~YAXCy\"?,j||]W|Hmi$cl)`nt5]/A,~MH;TCnIA<zJkEo@O@m~z(~xJ34hR0%FzpK@>5F*%ThxN)dGpOwLFX2H.[y({v<cmlG;%dZ2n/%phJ/:Y6[P)jQb3:S6hPwfR.(#x7o^1}1|l^%<L@c9Xg:#SkTeZIP_ah1&@&MrgvRxiGzSx/ZV$+V@@ytX`DsHyizq&5?yCM[u?fg>;L|0wSW6+1X9ymMbElba(weik^DlYaoRDead#<lSx/dvgSmK:*g#*4}DofZdbS)4<DjeCS>8!k>U,V0q.<*k5Kf@CoIZfKgp)wZ!Y&,/HZdy5U#x7Q[yeaLI\"$e@><c>)L70GQymC%#S3&tXVP.fa:+crg{<{0@!Sk:1w#)4#](P9jYPkl>_?B}O062k=n(D17B1R77].HNf9)PJQy(?Z;M!%pI|o+N6<D(eMh;]KgIdK;WP@8GkfSdKm*R8ofR.?;*5KlD5rqTz)*`Ire1$o+M6)DDeded8Kg:R>k%/E8]I58o!&YP8Ae?iB848oW|$v*@P9jza*$p*gPpf0,Z9=n:lLgN:weW$!iGf$%D1V$t=B;{$?#@PGlna[O\"u[8Elba(YDe~wmfe,oe<!U6dfb,Qe&8%jie;!a6Cg&4oHKdkHrtoHIdMPKRiY+dEELgK:YeM!{\"wP<gk,Ffwi)Drg^<!0n9fpoHr)R;m9Zp@?B8n*R8ofs,lfHdMPnfg,ge;RG8ge[Rx,^P~!9ddMrx<Rd,l5HeOoulBeG8ge+d(DBeD8IeqxB8B;qgZVQt8H7U3G>;|^7=K)sfGnJ(Xjv,R~i.@;O=n#8^L;7f%1_Uik4z;ix^EJ2U0S`S#d%P.yRV\"GiDw~1l(Y.50`~<Z.rh1m~})yO:,k@b;D7uFL)X0J|$AoXLuV@z%Z6v{Ud=o7|[vuRZ!r|J;?KIW(a2w5d!lEiDw.;7g)((;V3us\"Mntvxo``m6[N.u;_NVXu6?rVyNsw^`lN~L<ABobH.X5ibq,BXY2_RJ}G$[*M`N0u:n1B!/_xaH~NwucR(32W6?oVtsX*@q1|swUEK1[p6d>Pj9NhO1a8{_O<+fs[uB.b&>a7>b#3FG&3X(;_%3<U>(9?KIpa2{tw+WX3Z6(E2T>PLudY*g}r+Xq>`ugw:DBxrgye6y)(JoX*:q@{WYz_xp[Nq.m|rhUv3`E$|GN)x+=bmCM5Yq|RW>^$rhUvx:7pR#lf,msYCo0zZ&wa1fMnkj%#P5J[;a_NK.lq=bC2d!#3i&J6AM`,]T=b91cR#3}Q6?gVWhD|xpqdH5d+wz,?KIJaTX7KE)x+<bF1zc!3MEX*)VsfWYMt)zdDRn5u*z[js]8uc=IUu7tHswg`#f|G7@+5^N~^|2^NMa{a):P@r7]nGx?MTzE$(VdcX*5qV3swrrw2swV`@c[N<+a7;brzgL!RZfK*ck]?H5^kB~H2K2F?/*a[{#Y%ob`8yiwZ92~G_(7I03]CWY2qcyswP`,H|G^{9*tw+\",MWUY*~3}@ZVUnsZ^fuw^V?mkr.u^L5)P@SksYhU16l=8=&6yeh7!+~$#.E=a$a2tLjK5cSnwad^myHlsY2*gn$cTacGDusw]VPm6?=3(#;_AH^a3MXNlOQ/X*{3fL6?<3&CX*xq~r4A^(RE4VWYwq?pswD`DT[NE+,k<!W~psYz?>{G\"?*M~G}?{J~G{?+5LCiOge*omwm$m3=k,fT*}Mt#1+X:?#&P|_0wtw{_9*{Gx{*ttwFu/Ye8o!}7%f*=7$*nNbSJU,dpx:J,r?UV@^.[/bk}E${G)?]`}G&?I^}Gn{&mtwd,!Mt>mK36dfA4X|3d]N8]IfFG/d\"O6a:sOP4KLz<UzZl#o^_RT&}Gb{RJY*zV3O7?SV8veS:_.0{G0?{J]NUa33CC}yQI/b{\"cRKVoLX*hqe<FG>J[Nbt7M[ZoX}7<Pp}{M!#pzwz^|p7_S.n*whY2tb[L5QV{Bsw:>I^[N+)]T{N&)a7/IX*l_fjaEM5SqE64yeq;:7df+=^<Lyj<L(5tqDD4O}C]Gb7L/9=p6Pfhj^UvG]L[i}7oVM(d`s>1|$*BpZFTL.c}E9tM/6Lm2qB7$k+&Eang>TUHk8l4o8JQky+;S68x@LSlVqEMmdrVk+$U6ud(D{W05^|KUflW(i9(u[4Z?ro:6[(J!A[wK11(I6]vu{&!}lTpE<^0ws\"<?^Rp*Qg;R___ELktJ.xc\"B.5EQ!pI<LAS[F|EH;CyQz8vDiwE6k~x&R^ex%maspV@(mv+%fZhC~Masp>M_;(f*9+bIQ\"J%5X}Cy?[kJf/_1[/O[%.5j+0n#y&f~e)L8qI_;~hS@OyN5p(i%3cE6<7^)f8Jtz8LPuI&AW~5l|1F1Y!E??g:eVNaHXmsY(Os:KzV&;1~N#54lesS5TM}Tn?~}gq;Xc~SY&HWhgjqW+lrNt+H4SiCw@n)XfPC*WQ~vEO[nj#Mo$cZoE`X:O[OF~Cj]~y5sEwPXwnwoE`*w(Ab%rz7wF[(ki;/O&tP?kJ&4haA4jfa)hKAc5R_|2tXY&GQ(T/0/V\"}]{rrVG/u^4hu[|A}lb|srpPb|[sVers$3?wW(e_d>:9#`[`wF|l[K*k$_7vEp<)IhcahyiS!.~4$vQVG61K}yusr>z0QZi{}l_})&5]ds3C&Hqs;25]V(e.#@P(a.@=P(Qut2dsb>}Fxq*REdgs$\"Sn1RNd?2:\"y;fFLw)H2c5L7($$r?^v^lVY.#L5/fzcR{scZ4$KT|!hb3$d_repqc!`ic)~4U[6=|}:|Gg[u;l8buTBo_TLl[ctt>23EB`rm_Oq%`k?R4(`i?@;l[7)hWz3jE~&Sqg6{}k_hBl[z)KLq[q|?X@|6_qW@|Fr<2`r`3t{0#@7q;/[JA_KUMVBNtKH$A<(Sdz4/IGAoB%dAAEE|OF,13>:tFNC+QqqK1LgR!)HrJo0fY,Kpx6T;PY{gg?3_3/IX?J6ZYnKh/KJ^H&p^Xu$AA<7;W($TAYLOWw(UE6_.>DHp)SNGj7f(D=uX18aM,&AJ~EtJHp)LK5a<P@u|E>Kvy}ufATO@u0Noy9fM}:0VFyKAA{uw~m=TKl?yw;)rcM}uo4shS.?T<^DIF$f=[?t><TK6AM7m?([JF{TL8$__0r[7vKH>s,T4IKNX#j,VFwQ+i{aD|5L;e[CDG@n<)BtGnvM@TZ5=i%N34Fdu]YqLZ9W}YQtUVB\"YB_k672Ahbj>WC:Wp.(UjH!(ar>h`utMPoK+K|691<UUIY(sI+F}.@dSjKL_`[pKHj1q5Xejfn0W=xFo3LTD0MtdBs;*9WQ41D)A@W.\"DM1JYcBGYe?WzX2MI$sI@LEasI,5)HC*?(*BuZuJ>uvLAMCTtM1VxDgj*z+88IZHr1v(T:e%KKEb[9Kt)Z<0ltSoyG%fOM\">MHWyLa>+ab.W<F6.|2quB{sDec%B5kek7%8w|Rm)Ud6SNo2C=O{WLOWaUf;yy79H[7|r&i.Hk.j9?E_UIh/Vu)B$EEgVLC_/InMEyQk}5LS:11pwt0mR4R%,6D*zVkFB9wLbi7KNZsKB5/Lv0o$~ine|@o0iVvTza,{2LIl~~5Y?K.!B,(vt>w]zc7,Oht,<|x&aE#NociAdL;fG]Bp7Q$Rtv?E0ooy9`Wrx.rq\"umPWXDcDzC*(ta1?k]{aA!KgRFM\"O+|FxQw78VLkGWFQpJ}TnO)l!&0c!PL0>2o4Xi)8i1m!z4kb`M11QW!iY$YInv+=1E/_xz!(nTDv@LBE4v]wC6[MTUPk#y7/FcuXVDWvR`QG(ogGL#XRw\"lmAz~tdK`0y^UD|r>G2#&\"Bvps0MSm_)taz*3k#DGBBEtSb]~9,B9z)KJBYU{tkmitt/<>wzo<pG~(s8MtK\"BvP)nuyOa27,~Q~hHfow.<!<,z,g>G(<_=M7BIf,08Xi\"2sELUgzkbX2^k?$+0BEDID@h]]ul.sDNOQL8[T$;fbDi/;ZA9_vk#Xa}9FQ7D|gb:*nx91t:SoJl\"@#IH/Y$46rZtA1rnd|\"\"U/EQbraksBSG<Z}L!|QIx%S$iKW6WO`x[_bd(S@fa7a/?F4[6\",T(HTZ.nFl2d<HNlzIaBK+@@uyK3KHNcSP9FCIZ7CPIlvx/cM?QDTyzc`07vv?<0<WL^BQnLYP58M8PiaRbYjq=l8pGB{ehxJ%qaVZo`FTI)${v5zB1Ao7zCcD![SGD:flW#az]1:Vd#9f{E5,UrEcsqPy_)*w!g]ZeXiG;V[qgM9agG%t#ySQe:f/2uBZ{h`3A1J%H,drSu8uouLC\":C<xQY~~$ru0{ra2W)S}wj|6V>_3rwk%K7XeXZle5}TcPCX7C_W,X+AWNU4Uy,vs&_lrF|tNJ*5WN5h!UscfZFh.]mHlA367kF<=O/A2X=qr+6gZDm<BGcDdm0$Eo0C45yq7N0::uc#Zx?M,i]iF=uHZt6F%d}j4GcuJ]ILzB6&XNSayi+T//f/o#!C;VN5a~[14tS$^Q=Pd<5tp7p/8{l*7F/1y(Ea4GLBa%ev,j^])MYDYV2<]fT9I;pn%95^7maLk`)HT!8LgOOE%(KD>whTeRSvpt.fQ2rK^q9#=qpQk;cAJVJQq`hZ`&iYE^g,~y#ybKK$$M(Aja=pGk3o_hu%l?6CVN8IM%4xKJXr1z62%f<P,#YEBG#l%AO!rU&|mOJXaq`01hkO&LgEShgdXD*Gmm+/f/8d7fZUf`9Ha)\"!!V&594mjCSd4(!zMSM(T<LQCVNJhRT%[&fr<CxnV?DP@]P+%:uq_7lT#oNHiaB+)NVraoQ*W\")>\"qrfXFJiXmB^lF<onSjOS`{vv6yp4&fqu8uCB,O{*$Pf>LD|u!B{p>P+%NB5&bLz{S$q)\"n^IC$})NC7H]vmr&t`k#Bun?58LTRe2\"e6FqkyJ>yoFlB@f_qDy|4+REr0v|,cQ:o2!Q?Vm&ZPt^v4f<3hzQBx!>P@(YE,s/)RnM,Z[FN?t1#YECD;;HK~hcpP}LPFf1qcDn6z(\"F4!6&bNvxH_*5+fhzKd@/iueq=w|aXD|33/I!?H{GND$JZiWFcL1COX<P/.#7fjWmO&V10Gs++,)4PiEiPLunw1ppff9N43|DBQ4;8Y`TAwK`1HsLXBWwmOcDGXo@zyZDXr=tLi_o=Vr78Lf0NB+i$Z|N6X_GnAjp\"0um7[eX<<K^lw~};yWtMfeX*/^Xx*i+Pnb96]j\"V08ut:=p/dQI;jPCrb\"Q}h|fL`+Fvj3uaqBw;{dBeft&8u.XNv[(jE8,DFH6NAT7sa<Uz)[@MEVhn~7uK`9#(f]@d8WE8UHvelM!Jb;HXN?3p\"[[*NGC|kqA<o.Yb#U@wZ`XfVB!(M!4!l,%*BVNjLEs_MrL7&0L5OnR+Nm4Q?htlYXUL<2HMAPGLNB6942x1E7(<C7cgQFX&M8)}P\"FVYxEZV%<Ah?oiCsdaSVNZ5StdY]RgrX)Nu@ngfv:<y(:=x+W0^*.N05(A3U08uFY%fIPsVn8\"IV?jElx}PCNjuJeS1&<%G~1:D<n5lf)CrcC+m@456!y@UZDkQ=M\"t20+W@iTH>c67#uwD!:wWjX3x_JjL\"EuX_iJH~lnz7Z6[yweFtI4P3waY(\"eOSj=FxAFBVv&M}nB^:mBq2.+Z#w[m$Ro#,D*{iFt^ksoy/{r7M_&m{R[dgk0fH?dsx[+KXc%5#3>oZV_C]3NIuxecOD|w2&X23;nF=(sV*$\"~JmvMTKwL!G\"2I%\"pdo@SNFb$~&`%[qc:K[HrNWTd6aWeN$GL0a|Q5%;1Fp/eOf=@dp{<AYQDIf[<kbG{dj}4Ino`H~xy}]M`G2wzk6t40&ag(fazvW:^,jm}UWWT}`ji,nA5F]~22<Yzz1`RLRc.J!x63*qf<mbga6PR^x3*:t{rlEvRguWh%0*X+@3,4p_)>UaIXw,`6RxX~qCXJ(V,eIejPPPZRU\"EyG[2W7tLXm0^A4rQ=Z3C_jI+$+D]vh1KMZGE8Yaplj&lA!Ugu=/en\"I`_mF$GCY74/H`\"J8I:zIRl?g8KQWw>\"F(lCuIt#[ZYiYHMUyKCa/ihXsG}NLwQ;U@aUjVR90?{Yn/mEL1mL[Gr%P+e[0aCfmXYc6%tD$K,=~~mQ]>}(p+26#9{qr>Mx%Q5Y2+SnW3YxN;$bFWRn8{=ltUw.lmsMWDG%h3b[rQ3ML%8RDpjldgj+61A>gu<%.e2~xqhWon_.rsQ~11b6e[g?5/56.eWX5PZq|7~4}pn(QF$xi2Zxxg>B.:E@3g%.:qSIP}ID|6hM@pRmVr$,`t=`i|nAdWIUCc5iFL&@yFUZx5w9WVZ!M)dafJSZnr[3XiRhe3Q2[a:X`D~E,9|@)/)7R36M=:*}GyLdoS2gjdZ79fEh/ba3md?7JpI;hP+:*c;M,:,Nbp92nW(?EZ\"m:zkPm)D)_[aVY63qtoEXg^aC$HmwV>vNO}xYZs74{?YsFu9nG)mbx9=)U^5=yc7D.he>56)caXcAyJ5=EI@~)h4EKL\"V@~~4d8j4RIB/8c,k393k2\"M2Zlq_~^Q/`4\"sLsFB2CD~RjmFD!*MB)+(?]\".[4uo*c,T(&h+Jsw<l_Z&hFG}3~<ub@73$st::&`T8IY@(&|67P,8.QKr*77{Nx.|mQGKK~Z%pOmj8=V5XU[*chUUw}+U]&w#]@$kvU?052s]XYbNV1=aST)&f~6B8%BH|Eu&dU?elirddLrzN@}m6`CzQ_bcJ?zv_]PP&7v<bn${[J.]@3@1_(15Coc4^]oB&6X<#vvkNoWn\"Zv$sI&Q))&_nw|&%0,D)<dEvi!i4J.\"vhV*I(J]{BUv`s]*$Loo.F~ox+]~p<A|Gy(a3r7)xJffP5Wz`t7T+|bAUJif8E<G<gXqWW5>|psunPRc1y@8P%>8}}*TGVrQ39lvO70<$<mnegmv<W]<^+,JGz:W9T/%h{)x#Emni>q.#aD3uM\";^U`:bGMX8S52O9Jj]=@1zg|EHT6Lcq7=75km+\"%E|rPP~nPOHc#|s;q$1*GiPq\"1++?{s}U,pyT[%~(K[(e.H,g]Z{J^m%)K0gQ:BfrZInjmMrxz~.q5tJH|>{~z6vcwj@U=L?i{r=yw9rmg`7Ol3Uw]+>ynN_O!nwIs$DH.0G+%?DTM]^!ncm|#Z~A[ZFMS^QT6TCM<h>BukN5)W9t~#_Is8Z7x!5}A0),K_(AtgNEOFw0ds8b1jry,eH2U+{uq?H((RfQ=x5$0M2h1[w%jix{B!{#nuF,I0q8$h^JNWs~Vi:n2A|T?t}o`#ny6mE[Miv#]Yx<ig>:X|>fVgn)vA|TAvn0}?U.%uS)P.,svk/PG8>^<m@{UPLdb`D+?nzCA$:=KZUNX~K/Y^dZO.ib9ltjO,5#!r8?O\"F_Jz+tVZ1,q;$0*!%vDN|@hSlmjxDVK/[GpLnh=4(Pd0>@O$Y{,EzF\"O:#L1~C}).#JQN$\"Wz9aj)o=4wZ=VZ;,GcD.Dyoy0}<J(y]^n?;o2ZF:mDbz~Oz0/@;`W%N>9X3EJEd5Bp/akieH;X<}D~nHS.l`+C_p1LJ7C^AeH*Ymi_sjiFAaTmg},1RG|^wiq/1/9l_cbFv]!T7QWYJED#Jewf6}dm.~sf^}wrnFo.i40aU.f*|d_|+bgZo1;Tc>suk*/(;vL2</P1{YzzQ_~+o{(+!}Q]{<hCQD0rB,&SX_~X?i@y/#(`GlQhfq|zl1,x*N3]DC5gXILF:f4@[G+r*SD{5*,xiFz+=7y9*+II[t<G7_|TB,|40By}`.QujC,bu2RPylXt}apL^J/.;R2T?+3LE|[/O4t[IxtoVGkE(tai!`oK(=/m&tv*!>Pj.~:vB9a1zq[d^S(ff&>+3a*a%&@pVse^++0z~=),BmdlSyDgx~eC|CeIz}lh_TvNSzb_LDNuBf??l.P,z<m|7z6jvw)6d@%^eTx3H;y3=yWL_^*t0Fn9VBc,%i{,bT{Dw&2)J_Hwv39]/|xj7[\">hB?PjC\"w6wx,nvLv/hJluPL^5FvMR*EgFxHd>I55O5&8t{Lof~GK#&Zk9b+XHL4ScU78A]MXnACM?wS,Mj9N|HBon%h%A2|8D$,=jeA85zC#[+nX%qJ{}q{K~%XTB^q%cwDeHe5*BZ8H)L2x;({+VR5*|u,UyBOD(Ne]08g{h$K<Ml<KOf_[$D<3Ca\"Erc+QV]Fp@7@uvpp))V!#raQr!pJ;GbU*kU>,C9!8]$7oKJqH!}@~[I&G8_2arrLkl6${?:kR6~EqUQNfbFY%=>AEw}\"8Ndu)BH?Hf95E*5A%lazgfN|v]Jr.drE7*An{y.DmwGg}lKXyHJeu])sja6g)|g.hiJ8JT(=fLL5YeSC%n=5R{(dEui@(iE@{.\"9d5UR|)*r!2yXb32)rB>v5iFPreP[ms2VshjG>cI=jC_aJ5_V*\"[ao_.#S1@mw&+W7l8TrPY>BQ=lB(F%g83sOT@w{\"W:q@B*X%I\"?I6?JjG4E0_;AlkA5DJ^oK98FH??.UFAB2sIQSV~eo+W>S\"I4i|$9UQ!G0(lzSjdc(Oo}kRQvuv4ZhHy6j0tH|rmVY^B}w8O?&|2uT0lNG%4OlLcpb5w0O~[I<T/qd@IG(.8J2#_]N2=^Wr+8.RB{l8[?>DRaP#>l>B+CC>+tTx8j|FH4J(L,(U$~4G+<,ob`)*=PhW\"BTL>yCpvIw@p}w;)u<[%WuSPRB9xz/u6vYMkm10X>W\"IZ7hemi:laDqjA2rC$Tb<[?nd&h`t=;H;Q,`GjyV5T:8.y5mnwNle$$SUTN6rnc%TNHAdcS^vsGB+phl>Liux$rL!P++$vA/6&m2[_UZdd>;^hi)|$FInslJolJ;`[GJ%/4`>!0nk7SS.L&v;.YEcW*}n#qjxhxVG6sbcdbsQ%VBIWG1f!~dd(9G=atyYKy(RA0S&SRV{u#/e0Kr?K7pPja}F:ji/$pw@~VVGobs8pr<wyVOs`+yTp+z,B{V{1&`/5IuFo&aZc+F_h&NhOV.jdZsZV7AS*/v[gpv9B|~iJE]oMRS~tkGV1h8GsgA(I~Khl&TcF3(Gemn@DPjc/|ty!q[7]H=QKQ{1U9e+|<RR~J,QmXk$qd<\"i,0<?I&{V_RmnDZR87`:s?BQ]He<^)M`t<IZi!FrL/RUBU9Gcl8|;+GV5WExYs1D~}gz!gsTT9nDPQ}zi~=ta_i$,P$fQV@QIY$S6])0H`6B+O$W@O4d4^!bitJvgd}`W]:1B*JTZGum0:2(rk*/xc)+Va3>K0[^=:||RS.BBe*Q=|Kk5:o`{^(^geqbw!?M?<Djt.?y{cK7k7,|j]fbc^wVTu$Rp/^,ryp#1D,}fMeGnY]hjdF5q{+aEAV~*Z_J7PA(>gny|*2:PdgQEEujm&P>j}v,tjk|zg1>vSh}:Gf!E={Ix`0_VbRR*!{#Z&mIx.15v./^LOBdQgO);Z>*Ph)_7UcY{p,DeQ*Yj=^I6f@49x7;*#^pghHUj@Qu_>F)%VDvTI\"mf>tWdsUJ~w<gKeqvj{xi>rFc&xN~JmE%xLqk2lNIFWc]ywZ]}z=*_(J;]t1~0OxES%`&e|R#`:8]hHg1.++vQZ&t#(.d(CpC!;pvR/pr@~$D*[l2vl2qw4Uol%_uL8,f}`Z4SWGzbnraFukg9|y]#N/%~)%;89QXJ[)~Nb}vye,aF~Ly]7c<~U]M[;,+?Tv\"Ll%;nb2r+x@B;Hm^Lcs`RnLPX*pGS|~I3>d\"*|w{nH*RS,s.nm@?m_3oO.3jGR&G?K=?ToL_+>ue2}^n^}iz9i7?7YoO$$bvtd.:Fr`ZB~b.we:%B&DG4B,d\"hgb2W`<6.rcHi079m;\"FisThKS<cj%|%RcqoqXpdK&\"5%<mZjpe{8b^0g]j1o%5Gsd&;h,%2VLM#42&u!eA^nLzrcc#qrz%z;I)ns^|cd$,a9vvB\"IO`?u9Cwpsx&4e}[.1}3,svL_D#2:+WRB,FZTz_:69]3X9O?rRJ<krD9)F3JXA|MN^UOGupeiyA?Tl|ojwQ%J^HAK&N;`a=zqVsKljr``kM~1|q$=P.)1_>`1i6e8ua#c@#(__>GUpNJH]H9w.i4e3$:S:wIH\"3!FcQ>3yp4S7l7|U&qk7_NTQG[tP*E{RLI^~]Zj,4sciYK1=7b;G:ErM*MzGH5PzG[:SukpU(#Xk53.sxZ1}|0p.!+TBeo<RAu8<K~tZsqdwu6e2lpRM^j@=@|z|IDiD0WHnMC;O?:mcY=2jiwZQjlas<C=Zu>Q0L+bYqiKjLC{W=\"_SM[<`x1CY3$<.!F%y6qVWxdJ&;^GN`M`637PWE.EBqav(L=~jyz%[^ZMZ;Psetwa)pA#$KDiv}RKHYN>#..fQ={l,.6KV45HX{AOHTwn\"]!*iS^hfSL{!VlAsHCf~,/b[U/&>IArL93@+pK2q!h0yW6.vYb0qY^776:F@D~jYF>|jtSWZ/p2}hZIRRtQ4k4J[xcP}roYtr0gatu`1_/HUq_1VGs0jGayr[),Bt<t>+Qlt@LIp$2QW9K1JAam2Y}i9?UWH;wr@gwJ,{vXug#4O3zLHIv~/X=#oSU{E=//L>xej%\".YQ|#u$/:EC[&L7uevK]H{vN$N2&J];770e(`COs%9.Ce<!9w&@?pt8YLNfBJcdmH4Ituow5:.eOP:Q~d@hSvXAQ{}H<_CmwQNcMY|><DbHv3=?c8mt@sTPcP7i#qhL^33^fekt^{$[z.gV\"9vZkbbua0)9G_FMRSW1jPYQY[GWPcx6zFf!tm!mfz#gwP1#(L$u^u8pYW?MWAf@?B<>d%1=K9OH4%eq{Oc)q@?.N;FohbBFi{##[/nt5qyKf{FqF|wDC.YZD.&\"5C62~{7D}%,L0imv_Bc/8?_[Zq+,.TxE*HY,%jTvn9Q0Q$swB9x]pa+^z~72UW]?F#{%|ry;pDllkZ~44_iB{tt%.PvqgJS}Q??q;VxKF|*_[&}s{1}L_PI\"AdN:C{}e90]n*{6}ZIzJZVYUPPbcxhka_NygyC=L_s<A]3jr>Uz9|>MRyK=t[r,roBzm8(3.B{T`Q?B(zgnc6(yUdr.~d41J6[K^_)ZjK$)&n|PjEx%^TSFn]{RdA;q)VHQU8[H,uL82DSE@0N^(ZRrQxF\"A_9?[IA=k@>@k=*=,CI13\"!~BC2K\"6_yaGcuwg^!IN*2)<p$8Vuw:B7IMJ/R*Wh^%al[jVZc=Umy<G|Wo&`Kj}MLmm37k\"9DVqw<z0(Qk;N}P;TeRZ1G.\"5|+0W8y]:0[rEC,E>p),|X8vt.;e[hDCgXm*r9Ws[Qj^hY/5}xU2mX2Xz/Z`bJw[c7EK&}7^`TEND47d&B|8GU2kFI}pma8p6zVW3*k%C.)]7jp{^V2kpfNFm:4Mb>:zLRdG)mAk{)he_JB,TeRk(tuHXKagcp5xmRDPq{q9_J%3}6&oUN6tf8`toK0a`!*4W5yV4JaZk.Q(n)B~Q\"/znBUoT_PbEfm$tP*a(P+a&@(vY3`z2`V4Mp!&^1~w}W=~~]#?HDp5L`4TKBdeZpr1@FvL<MFcQEOeZA6GQOIVvEW7q(b@@?5v=`SS:hYZVr~_MFY6mr8+A_]{tF^)%BH_lmVD};vkh;@)F*h9yrp#Tm|~1)>`:kpc=eq~y:$1Ckiyi\"lk&+~_69<*aER:,VS`S1mRF$}?jH:jt:Hv;^JBC$c<w!7IF;uk7&1IQOB^H{W=g~U%>zc:_3etr:SCeU^R\"f[vG8`(3ehS&99w5Ty<?n~_j#Xk)kD\"v_?,)%lAadV?|2,3VjMDgJSWXNm;W|ni/C(sBe3~mTK8N\"aE*]45d@Wqy>5q}xd4KX*ojh2U&~lSZOiC1jED7$}^)$4H?\"nd4=iU/H/$Gfx@YB6S)HA%M>IBDY>}@=cWLBXzzGYvbC|zsx`AyB|No6?XwyHxpKU$x|E,1QoCgI5}hv*=Y{q{udBwIf*6$Fv[g|beI\",`@$~MVJ{lbYZ%X,4~Ve6\"fJe=x\"tvZ.>.sjp0>|I&ilD!Q;>|/_<%Oo?BF(6yVqTB|f)zDNlIIq.<anYQqh`>Bb*]j9_G:Uv&<`>5.Wo:x4Zo~[h%;tAhkl3zn>c:@oZ5IlYLNM*JD;pvvp<RmA.)$N[&|at?::j?n^jg)ld#TT#F]^R3,Dwn8SW6X)9i_~9SU4t[R(mX)!#?.Kf46*tqxEkY>GegiBHH71m>EzI\"@wI%.!OW6;!Kn,]B7n]:~e^z>%PHauyq\"+FgE9##?>yrOb/wcA/{kbjDRNiJ{*ejm_ZDG;G(Y=y2J)5f^|#X^|jgy|a(JL&JBO87.uMYuAtmL%eA$)m=[FNud7SEsvBH.h.v4<5ySh.jIr#qo9sS:3]ApY>5Gpg]}y;Ry~Z|yLw/hn^@@k3RU?;m0K*No*q9%AlxM1e~<CsU|9A8]|ZKWKRO{.Tw<^ojB;nKnR.ra![?<chqu;_S[.9wF60to\"]Ri}P\")Tq8b$[H)s_ADQM@oC(c|ML@jY,pbIz:0S|~]>5\"0nhLo7@}U5nT:JYA*Uq26&MgE_9=7}K/6#Y+F2>w,Zp5GNFE<o+K)%*UNmCNQ[gK0#67/CRkvN0_tW=n}.BL/A%Yy+&e+#k*Ub@Fl7}z^qg=*{c&~{u7^VyYlzaHz8|\"N9\"Z<A2\"yBP[zu&@n6Lp;<ArQe#v&e6>4R.UzzwwC8!8ary{9@m>_8;o0&]<,Qf;cZ4|WRo{M:8Lc9C>r8oWD+HoC$co+j|Q*rwsfji#U/.Wzqwzm)u$s(#9wlrzw(MnTZn2%P4{i\"De?MNynC@=6)&qaZHA1;&s1+MN(R>8BR+#M=RPuP*XLZ@>H4;Ap#r7JGF:*.<lhvES[/T\"6Pl,(S7pbu{~|reQlmq{%}HJNzWs_oL{3)>U]p_>yiohK;GHm}!LyE6L+Qby]k`G{I<Q$3qK&Ag@j/If_K^8X}</?BnnGH?.EFrFIR/cZp/]y84#D3h!\"**cW]qv$<^Y\"gg/{RpAbaS)rI4QH*6&Q6Pp~g7JkRv\"6Bxt|9MU9}q!uFrIZMdJ0cXtBS@|=kI@3Pm{%=X`,skp;;yzfE%C(5dG|>FVYrt|L8SA6bp};l$HQ`QIl4u}kA$DaT%miH0>fr#1@WDq/vsnx+]K}@L>Jtn\"F&^9S{Nq(ruGgJrv:mQ[A=RGg9IM<,oHw)<8RVU4A<x^aV/R.f8*E|LY*QKdpAGP_>*yEzLhIJ(?YtwAW9C0[DpIfi^YeEUlR8Y^|Yw!_Js[o9Ey%zN~2M1U?;7;+!2/3R>vrENa/41^|vmzui0QSGPju?TIKL=$}@~3iC=a;E0NBme`HG:W;F9kj4D;KR1cMth/C+t]CIELRNp**Ou7Tlt/gOS&w8F|!1HBN]TWD`YiP@XGguW4#?>MAiu|Q]N#LfDqnK\"Cl0mLHk,nu8:TJN\"CY{$dM%YZTFj#l4JUCG#F)ZpGD+f1z||<a%jgtqH,d7IF1i>\"Q`cMg8v0&jm4$ZC[;`5M+IIMBv0;!DTd4r{iSu4P6z]X<aj`[$p+x$f8m?#\"xAHW(E@H3+TJ^H<=ZU#c`c;g5)t9u.:EGRd1BdV;n#,l{BlIcto5nC?Y]53k((S=GV[xRN<\"E=Y{&IGHr.7n*t]%Mjh,\"yD=6Qn+k38m[`Lh,d7kKWvtMyS_n`v|LR?u.c_d*9PLlC`/Z_bMnD7X3#U?Gb=XKOH)(JA.Eg;9bMi\"%u9Bt<$N|I/RW$N`+BA%7`RY:9oT9fS9ryP/lM22dW&CeTPNiW2}#>CF|E6I`/Q]HnbIA]HYee#mE/Gys|`58,Qno2srVrd$!|GWbXpbFXEo{Gthx^!`v[*OrfwWum?PF5MX^rQ+qnTh*gZ_QMI9L+!]`ZrU9!0!Y(NtuHn%l/7+H?{P1>c=+nI?@:}Rj=fc(1cEr&&>VL1tce?Ou>BqSI79:UIS4k=pYC)/~?)I({_Kb1V6VZQE3<iaZ)&[OaC\"dKmFh:F:3_du=RJC{bZ@S(s(pjMiG]3@)/dVVs[)&G1QLbd3Simfj<C)rDUpf518T|d*uc:`8Di1PS,WvETHfQciDyhVW>_o=NIC0ek_iX1%D57_.E{LFR*@]12d^/xJn$G\"%?qjH^eN|1V|uB]V9Q\"[@Mp(n+Oj3P&QC=|hk2G3hfB,w1Hf,1Fq;/jsZS`_C7#.#Yzh0J[xiKg3T+%irq>M]nvO^Q_L0QQ[rk*`QDLr%~BSn$h8_D:~Tukr=QA7$6]zk($KC:*W,7s)!V/>9$NNR1.da3XIIPNgp5OA$yUsJOa.W30M8(r8&iRet]r!=b(**vKF@2L0K?(@ij>lPv(<Y`|T{0`:Tm%+(8M^jKM*Bz73q(+csjk^N2ClamfdFDv_V^gAMBml}?:/11xu\"73fLJE`%(F|ne#WJn(0SYu#B2*0j[&4qwsU.;l..qlL~^P)a{6b6hSq1~#92iaJ=z!DV6*tXUZTTbsod;rA^@y],pljOH)Twp}g7sYTkM*s3lAQ)}%x>uo)uU_a&~jl@n}1HGrjr98X;{?F=Bs>gdB~UK&9bG:/QB\"+H03Z2V;XZD;B)B`ti1tWv$oKv}}OC0hZ/i[2FNL3nuQ/?r9O:SIH!M}=gFMG4Ju]v6,/8sP4.5:u4C%l_cVn<P<,bRa,&nJz/FdCd<~m,>!\"6JhQ^uTAQ0BZfta\"nT;N6oqMQi~jV35a^Mk^u=n?BJ?PVc|:d|gvm}.l:(Uu{3e:jT|3Jy*C{uioy=)=n|0gm)w,IN]_`to[@#B4Bnw}l$#\"H1hg:*fya.FqMieQz?F.D$#BR;VDOIy.T;JlrAY{iO3,KJWGWXuvt!afT@U&={qDLkYoP,T|)%T.~QyNIQn_s>tga@MODK2F9&5<mf[Ps`G)J0J0$ETFil>^kSA!19vvX5n%^gk>Zxy&}X.8Lw&9uU5LSrD8Ep.nuU;9(T>[%ce$jF?H/oj.u{+\"(Z/:x#Lt<2VlPvF1];z*x_aElc~vR;0t(85QX8(m64I)0m}5,Zn)1}m_Sb/j6q=G&4mY>#g@$}VRJBZ^\"0)HryZL9sL{&XD*nSn]>Rh{X$^O^HI&ZI_L)}1TyEHfxsRDR@dEB,ZWDn,L<XQQ]>^Hk~T%Fr_=T1M3`cUk&4ut5fQCdD_K_l8)n_6g?a=sGZE/u]EAs&mo&kJ_/!Wc_?W#~U3bxZctGDvM>nslp.i_\"v(XLZL^*6W0y*]_)gu|@^!^jrMa`X.LiU|}hwL>()+=/cY;Cz|8n[2|x6WCtaXP|6#x?[{0rtEVqP{V%L<%0eY\"2[C2jhmSSl[m7!iv<DTR:1mJr!Vcy588=I~fh,mUWEqt@;l!etWM%+FqTNZ8m5i;oQIpx.%=,)WwLW>Wv1$\"Ik2o$8^^toWfVTR=Zx)Sx6tkhj6o?V*oYou)UK6Q1?Tv(JbpB}SEJWH|q?7I0{Tg8XdA7Qb;FE6BUgv|U_7Y4x/yf3>41(_G*~)#M(43,F2zHTSlW#3L`?[^[n0J#i#AoABzp!110K=y#H_/Oz<>./0I)wH0l$=0fpS,C6j1CJXJy];sTCxnZ4x#jWHQ?et!Q[j&f]=q4O5x#S.o$q&j8`vW]T)ptfW{uzg?k/dmV~a\"HGiy/MO=HlTqI}]tznOtD(Fe@8CvE0||Lij;zVPZ6{k|$R((TM$]/TWQPd`NQOE\"03q*[@LWKH|{QMwJ=zI&o#N?j5!xc(C(5d$x)&2S(~Tyb\"r2uE66Iab3Y2NEGOf{q)G.yDN2vA60cu@j*5tMf{gkpPfIeJ%7^LZg$bQ;xR9U%+m}QfXsMCdc,}+;$*J:;tQ8s(K>76>6%+CrI}D,[%i)XatmYP^Jd_n[mMN]R%M|O(yh?#|{!:dxm%Q0<sgFP{)@a!.1=hGsnXsrFwr98%]3Rqb]{#GG%:Il;Zjhq6Hz{PRCLhd/4c0E5qBMuXSFDDeCL(yg+q@FFGAY}it<D*nN7.dx2s4t.P4@/0Ej}[*phTE=*phWvG*_rZdhz(oY_N5=le/Zb%>n+tE(A4j2;ImS/Tfp/BBg|!o]?odIQ>=.,pWapFZ(Y[p?@iCk/()&Lu{i*$TnEoI?Gt$eOnmT0U<*Z2Lj+i6Mt3=q7d#DSf?F>82T:H<x\"(kk`!*|1*~sm8`nC#GiWJB4!z@yoz1YURgo^0:(|tqW~e5?8_Np8n_Q.~2.p+nd$_QE~K9T.7.Wy:]s~|b3gBd0Hap\"z/NG1Ro^_wir6Q%R5n}Q2ei6u^\"I/u;?c$Wz`nprSF+c2Cp?%ZI$TogsjMmzHXKCBJL>Z!1/_iPMwjfJ)Zj,7TkkCo}#4KucM`Z{7;lK9hW\"kG8WJ(J/6fe&DFn%4=r^*uAkGFdJN_wc+]JqLak`o}XW#tRA~P/X:}WAPPD%MjHAR/vM^TEc]g`c]}_2DyernW9n$}e?`S|xwc5_%69:8{>Vlw5b5THcZ[c$`jMK!5V\"|SP3|K?c/%>:zg;nap.Ml(`|VIqAT.*#e^Mb#y$a:h@6MYQmK:s9gq$sySI|SlOkgD0aez4#1c/Yteu_P_Yhj3|Zu[4XbWK4MpScks6.G]}h0OxYP|~K3|I=kxXt4(mq(EN8DXEF/F9,3CzZ7uqC;Clv!@(iJ}H|RDmXU%P]NzDB:@9d6W$hYA/c$q<=1CQ4FwlpyuVT+fNqX.?kY=ZLZId}0D|l2bm?^A}P|.d+u[VML_NQ+f)@pV<fq?%Ut7{eB0#>6^l?uwyCSgb$bw`bVdg+TFz|>J89B#<)Gfm@RO#xB)q}Z0R05O2a@dbh]BZ7LqH=M!0;V+p~WsJZv8(J&BM6(aZ+e0vsl.h~w)*RNdHHTt[4_r<6gj81Q9.HngR;~P8=[.2=<jQTP}gKNI&w;vfz=^PI_>S!iIPEZQkThuLRPg(=kv*o6Tk;Ej#)T8g,j$$z:T:+/><n4!s=]dZ:8.(;|E+TkzcSP%F%Z;]Cn6O0EpbXsI?4`iA/eUjpdS!8YE9gnS0_0?ocPjPfbNgAHp#]}G3I}O3l6pS35#<)N>6AnNOZi<2!grcR:7b2oGqd@D+~UQg17Y+8>s=ZBg{TbqrDZX%RB90^t1xmO%94KzLhcWNL`1$cfVmKw}}4K*?9f3Q]DN|WKuFfHns$.cQ&;e%zHj(BPg8SkT*}zw20|x}E%>]uz57Z?gU3qKXI.$q.cUk`E4PR4C4%)}ZUonp=S>xo2N&FYH(qDPyY@($c&#T1cR1m7|4Z>8TwuR;A!Ocatl$mt.p)pre&E(Dj:/}h^Nv?V\"#NA7o<49L}9vdTP5oodFK:cXC4?c:Qc0zJ.=8xSMwU=W9,)Pd4{{YK8;0_S3>$jp{g||]/`K.kh_^R;BG}5(%Qx`7:MUv\")&|t&UH,94U\"N~mzj52`St7<~|sIhZW1k*sh<ve*8JCBtMBm}*\"eD?`t(yf1|h%h.CGXvZ=w<rS@pMatJnY</wi&+&U!()h6Ew0UrNpwVfzGC9*Q@<;c{[<RAWviv(}J#kc<AFW6nM._[f1[(o<$r,ykPaWATV3}6i|XB_Uo(UjKH^!A4&RU1RiNaV2p1UE&W$@ZKWa:B2U~:\"CbY&FUdrIFP<T)C?..b~+vO|RL]/=d=<DmtO00VdDE9/J1)}Jq1(Q_mC^Ef*5B_L)kxb&<d_@Z%q&itOx,lat\"AN]E0/:C.yP2|yGY.b4gFw8ar1$SzIRWepIt.$0zDsQF`D11NvTK!Ui~B@=Nc]9N^s</Phtt_%H.k|yYja>gfC%o@97l1:S^G{^e!}NWZx?1eBy_OwO.25TX,JTjs1fxQT<q<m^l;InXI2D8fZp8fqn4b[hx]L$.trbQ#ME)HQDz+KmrcAeIWfb$>R,k8^!Mee7`C$\"KLry|F~4I]pGnZY$LDc>c=vF=1jh3UEn{OW4}%CcQVE_C]P?UaI$N2q=E5Fsk8p`[`)OrB2nEZ/BDQj{m4Vl!F?m]h!UYc~.dSsG%LEFi+pf_~Tg@7tt/kVd[R:#?7XnI*n[_Zn?GS)Gi7=I@1n@MO${i6iC3WCRO_u`Im<bxw)VxuoyDHG7?DyG*W;McLW*%`4Ge!EqpSyJRZ.#@Dd7rMp=UW8@KvC*Q3u>xKb:32Jd({1b&.FKNT8_[Q@+D@D%RBTShHCu?8wuWiBxh]TQu/Pt%s7(08=/IMnxm2F2x5bClQ(b[^mSs6M]x*ye8*_zP^m[98%X}>|ZgT]M~|?t9.EFkuJB.`KO]qj#o!`d8%,,2fkKBCq10\"mdCgv>[^~7oH5Uh5jaR13E^}X7%vPE}B`5}M{D~b\".ZUAlNkzhFPaBS6n[YTD/dO)O7PuP+6T.^bvd~Iy4dB#w9L%{2/g!55?@|N{GW+x,P;pwnB/:MnM;96*vNfHEPI<0+t~j!r*q9^~1Vky_E`e{Z6oW0//dEJmEOu`XkA';\n\nlet g_module;\nlet g_wasmBinary;\nexport function loadWasm() {\n if (!g_wasmBinary) {\n g_wasmBinary = extract(blobStr);\n }\n if (!g_module) {\n g_module = wrapper({\n wasmBinary: g_wasmBinary,\n });\n }\n return g_module;\n}\n\nexport function unloadWasm() {\n if (g_module) {\n g_module = undefined;\n }\n}\n","// @ts-ignore\nimport { loadWasm, unloadWasm } from './libdggrid.wasm.js';\nimport { Feature, FeatureCollection, GeoJsonProperties, Polygon, Position } from 'geojson';\n\n/**\n * The shape of each cell in the Discrete Global Grid System.\n *\n * DGGRID supports four cell topologies. The most common choice for geospatial\n * analysis is `HEXAGON` because hexagonal cells have equal adjacency (every\n * neighbour shares an edge), uniform area, and minimal boundary-to-area ratio.\n *\n * @export\n * @enum {string}\n *\n * @example\n * ```ts\n * import { Topology } from 'webdggrid';\n *\n * dggs.setDggs({ topology: Topology.HEXAGON, ... }, 4);\n * ```\n */\nexport enum Topology {\n /** Six-sided cells — the default and most widely used topology. */\n 'HEXAGON' = 'HEXAGON',\n /** Three-sided cells. */\n 'TRIANGLE' = 'TRIANGLE',\n /** Four-sided diamond cells (squares rotated 45°). */\n 'DIAMOND' = 'DIAMOND',\n}\n\n/**\n * The map projection used to place the polyhedron faces onto the sphere.\n *\n * - **ISEA** (Icosahedral Snyder Equal Area) — preserves cell area at the cost\n * of shape distortion. Recommended for most analytical use-cases.\n * - **FULLER** (Fuller/Dymaxion) — minimises shape distortion but does not\n * preserve equal area.\n *\n * @export\n * @enum {string}\n *\n * @example\n * ```ts\n * import { Projection } from 'webdggrid';\n *\n * dggs.setDggs({ projection: Projection.ISEA, ... }, 4);\n * ```\n */\nexport enum Projection {\n /** Icosahedral Snyder Equal Area projection — equal-area cells. */\n 'ISEA' = 'ISEA',\n /** Fuller/Dymaxion projection — shape-preserving cells. */\n 'FULLER' = 'FULLER',\n}\n\n/**\n * A simple geographic coordinate expressed as latitude and longitude in\n * decimal degrees (WGS-84).\n *\n * @example\n * ```ts\n * const coord: Coordinate = { lat: 51.5, lng: -0.1 };\n * ```\n */\nexport interface Coordinate {\n /** Latitude in decimal degrees. Range: −90 to 90. */\n lat: number;\n /** Longitude in decimal degrees. Range: −180 to 180. */\n lng: number;\n}\n\n/**\n * VERTEX2DD coordinate representation.\n * \n * Represents a position relative to the icosahedron vertices and triangular\n * faces in DGGRID's coordinate system.\n */\nexport interface Vertex2DDCoordinate {\n /** Whether to keep this vertex. */\n keep: boolean;\n /** Vertex number (0-11 for icosahedron). */\n vertNum: number;\n /** Triangle number on the icosahedron. */\n triNum: number;\n /** X coordinate within the triangle. */\n x: number;\n /** Y coordinate within the triangle. */\n y: number;\n}\n\n/**\n * GeoJSON `properties` object attached to every cell feature returned by\n * {@link Webdggrid.sequenceNumToGridFeatureCollection}.\n *\n * All numeric identifiers are `BigInt` because DGGRID cell sequence numbers\n * can exceed the safe integer range of IEEE-754 doubles at high resolutions.\n *\n * > **Note for MapLibre / Mapbox users:** structured-clone (used internally\n * > by these libraries' Web Workers) cannot serialise `BigInt`. Convert `id`\n * > to a string before calling `source.setData()`.\n */\nexport type DGGSGeoJsonProperty = GeoJsonProperties & {\n /**\n * The DGGS sequence number (cell ID) of this feature.\n * Unique within a given DGGS configuration and resolution.\n */\n id?: BigInt;\n /** Column index in an (i, j) address scheme, if available. */\n i?: BigInt;\n /** Row index in an (i, j) address scheme, if available. */\n j?: BigInt;\n}\n\n/**\n * Full configuration of a Discrete Global Grid System.\n *\n * A DGGS is fully defined by its polyhedron orientation (`poleCoordinates`,\n * `azimuth`), the subdivision scheme (`aperture`), the cell shape\n * (`topology`), and the map projection (`projection`).\n *\n * Pass this object to {@link Webdggrid.setDggs} to switch between grid\n * configurations at runtime.\n *\n * @example\n * ```ts\n * const myDggs: IDGGSProps = {\n * poleCoordinates: { lat: 58.28, lng: 11.25 }, // Snyder orientation\n * azimuth: 0,\n * aperture: 4,\n * topology: Topology.HEXAGON,\n * projection: Projection.ISEA,\n * };\n * dggs.setDggs(myDggs, 5);\n * ```\n */\nexport interface IDGGSProps {\n /**\n * Geographic location of the icosahedron pole used to orient the grid.\n * Changing this rotates the entire grid on the globe, which can be used\n * to minimise cell distortion over a region of interest.\n * Defaults to `{ lat: 0, lng: 0 }`.\n */\n poleCoordinates: Coordinate;\n /**\n * Azimuth of the icosahedron pole in decimal degrees.\n * Rotates the grid around the pole axis. Defaults to `0`.\n */\n azimuth: number;\n /**\n * Subdivision aperture — the number of child cells each parent cell is\n * divided into when moving to the next finer resolution.\n *\n * | Aperture | Cells at res *r* (HEXAGON/ISEA) |\n * |---|---|\n * | 3 | 2 + 10 × 3^r |\n * | 4 | 2 + 10 × 4^r |\n * | 7 | 2 + 10 × 7^r |\n *\n * Aperture `4` is the most common choice and is the default.\n * Ignored if `apertureSequence` is specified.\n */\n aperture?: 3 | 4 | 5 | 7;\n /**\n * Mixed aperture sequence (e.g., `\"434747\"`).\n * \n * When specified, each character defines the aperture for that resolution level.\n * The maximum resolution is limited to the length of the sequence string.\n * \n * **Constraints:**\n * - Only valid for `HEXAGON` topology\n * - Only characters `'3'`, `'4'`, and `'7'` are allowed\n * - SEQNUM addressing is not supported (operations will fail)\n * - Z3/Z7 hierarchical indexing is not supported\n * \n * @example\n * ```ts\n * // Resolution 1 uses aperture 4, res 2 uses aperture 3, etc.\n * apertureSequence: \"434747\"\n * ```\n */\n apertureSequence?: string;\n /** Shape of each cell. See {@link Topology}. */\n topology: Topology;\n /** Projection used to map the polyhedron faces onto the sphere. See {@link Projection}. */\n projection: Projection;\n}\n\n/**\n * Rewraps a polygon ring that crosses the antimeridian so that all longitudes\n * are in a contiguous range (some may exceed 180°). This is the format\n * expected by MapLibre GL / Mapbox GL globe projection for antimeridian cells.\n * For renderers that require standard [-180, 180] coordinates, use the raw\n * output from {@link Webdggrid.sequenceNumToGrid} directly.\n */\nexport function unwrapAntimeridianRing(ring: Position[]): Position[] {\n let minLon = ring[0][0];\n let maxLon = ring[0][0];\n for (let i = 1; i < ring.length; i++) {\n const lon = ring[i][0];\n if (lon < minLon) minLon = lon;\n else if (lon > maxLon) maxLon = lon;\n }\n if (maxLon - minLon <= 180) return ring;\n return ring.map(([lon, lat]) => [lon < 0 ? lon + 360 : lon, lat]);\n}\n\nconst DEFAULT_RESOLUTION = 1;\nconst DEFAULT_DGGS = {\n poleCoordinates: { lat: 0, lng: 0 },\n azimuth: 0,\n topology: Topology.HEXAGON,\n projection: Projection.ISEA,\n aperture: 4\n} as IDGGSProps;\n\n/**\n * Main entry point for the WebDggrid library.\n *\n * `Webdggrid` wraps the DGGRID C++ library compiled to WebAssembly and exposes\n * methods for:\n * - **Grid configuration** — choose topology, projection, aperture, and\n * resolution via {@link setDggs} / {@link setResolution}.\n * - **Coordinate conversion** — convert between geographic coordinates and\n * DGGS cell IDs (sequence numbers) with {@link geoToSequenceNum} and\n * {@link sequenceNumToGeo}.\n * - **Grid geometry** — retrieve the polygon boundary of any cell with\n * {@link sequenceNumToGrid} or export a ready-to-render GeoJSON\n * `FeatureCollection` with {@link sequenceNumToGridFeatureCollection}.\n * - **Grid statistics** — query cell counts, areas, and spacings with\n * {@link nCells}, {@link cellAreaKM}, and {@link cellDistKM}.\n *\n * ## Quick start\n *\n * ```ts\n * import { Webdggrid } from 'webdggrid';\n *\n * const dggs = await Webdggrid.load();\n *\n * // Convert a geographic point to its DGGS cell ID at resolution 5\n * const [cellId] = dggs.geoToSequenceNum([[-73.9857, 40.7484]], 5);\n *\n * // Get the polygon boundary of that cell as GeoJSON\n * const geojson = dggs.sequenceNumToGridFeatureCollection([cellId], 5);\n * ```\n *\n * ## Lifecycle\n *\n * The WASM module is a singleton. Call {@link Webdggrid.load} once and reuse\n * the returned instance throughout your application. Call\n * {@link Webdggrid.unload} when you are completely done to free memory.\n */\nexport class Webdggrid {\n\n /**\n * The active DGGS configuration used by all conversion and statistics\n * methods. Change it at any time via {@link setDggs}.\n *\n * Defaults to ISEA4H (ISEA projection, aperture 4, hexagon topology,\n * pole at 0° N 0° E, azimuth 0°).\n */\n dggs: IDGGSProps = DEFAULT_DGGS;\n\n /**\n * The active grid resolution. Higher values produce finer, smaller cells.\n * The valid range depends on the aperture — for aperture 4 the practical\n * limit is around resolution 15 before cell counts become unwieldy.\n *\n * Change via {@link setResolution} or pass an explicit `resolution`\n * argument to any conversion method.\n *\n * Defaults to `1`.\n */\n resolution: number = DEFAULT_RESOLUTION;\n\n private constructor(protected _module: any) {\n this._module = _module;\n }\n\n /**\n * Compiles and instantiates the DGGRID WebAssembly module.\n *\n * This is the only way to construct a `Webdggrid` instance. The method is\n * asynchronous because WebAssembly compilation is prohibited on the main\n * thread for buffers larger than 4 KB.\n *\n * ```ts\n * const dggs = await Webdggrid.load();\n * ```\n *\n * ::: info\n * In general WebAssembly compilation is disallowed on the main thread if\n * the buffer size is larger than 4 KB, hence forcing `load` to be\n * asynchronous.\n * :::\n *\n * @returns A promise that resolves to a fully initialised `Webdggrid` instance.\n */\n static load(): Promise<typeof Webdggrid> {\n return loadWasm().then((module: any) => {\n return new Webdggrid(module);\n }).catch(console.log);\n }\n\n /**\n * Releases the compiled WASM instance and frees its memory.\n *\n * Call this when your application no longer needs the library. After\n * calling `unload`, any existing `Webdggrid` instances become unusable —\n * you must call {@link load} again to create a new one.\n */\n static unload() {\n unloadWasm();\n }\n\n /**\n * Returns the version string of the underlying DGGRID C++ library.\n *\n * ```ts\n * console.log(dggs.version()); // e.g. \"8.3b\"\n * ```\n *\n * @returns The DGGRID C++ library version string.\n */\n version(): string {\n return this._module.Webdggrid.prototype.version();\n }\n\n /**\n * Sets both the DGGS configuration and the resolution in one call.\n *\n * All subsequent conversion and statistics methods will use this\n * configuration unless they receive an explicit `resolution` argument.\n *\n * ```ts\n * dggs.setDggs({\n * poleCoordinates: { lat: 0, lng: 0 },\n * azimuth: 0,\n * aperture: 4,\n * topology: Topology.HEXAGON,\n * projection: Projection.ISEA,\n * }, 5);\n * ```\n *\n * @param dggs - The new DGGS configuration. Defaults to ISEA4H at pole (0,0).\n * @param resolution - The new resolution level. Defaults to `1`.\n */\n setDggs(dggs: IDGGSProps = DEFAULT_DGGS, resolution: number = DEFAULT_RESOLUTION) {\n this.dggs = dggs;\n this.resolution = resolution;\n }\n\n /**\n * Returns the currently active grid resolution.\n *\n * ```ts\n * dggs.setResolution(7);\n * console.log(dggs.getResolution()); // 7\n * ```\n *\n * @returns The current resolution level.\n */\n getResolution(): number {\n return this.resolution;\n }\n\n /**\n * Sets the grid resolution used by default in all conversion and\n * statistics methods.\n *\n * ```ts\n * dggs.setResolution(5);\n * const count = dggs.nCells(); // uses resolution 5\n * ```\n *\n * @param resolution - The new resolution level. Must be a positive integer.\n */\n setResolution(resolution: number) {\n this.resolution = resolution;\n }\n\n /**\n * Internal test helper that invokes the WASM module's `_main` entry point.\n * Not intended for production use.\n * @internal\n */\n _main() {\n return this._module._main();\n }\n\n /**\n * Returns the total number of cells that tile the entire globe at the\n * given resolution under the current DGGS configuration.\n *\n * Cell counts grow exponentially with resolution. For the default ISEA4H\n * grid:\n *\n * | Resolution | Approx. cell count |\n * |---|---|\n * | 1 | 42 |\n * | 2 | 162 |\n * | 3 | 642 |\n * | 4 | 2 562 |\n * | 5 | 10 242 |\n * | 6 | 40 962 |\n *\n * ```ts\n * const total = dggs.nCells(3); // 642\n * ```\n *\n * @param resolution - Resolution level to query. Defaults to the instance's\n * current {@link resolution}.\n * @returns Total number of cells at the given resolution.\n */\n nCells(resolution: number = DEFAULT_RESOLUTION): number {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const cellCount = this._module.nCells(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq\n );\n\n return cellCount as number;\n }\n\n /**\n * Returns the average area of a single cell in square kilometres at the\n * given resolution.\n *\n * Because ISEA guarantees equal-area cells, all cells have the same area\n * when using the `ISEA` projection. With `FULLER` the value is an average.\n *\n * ```ts\n * const areakm2 = dggs.cellAreaKM(5);\n * ```\n *\n * @param resolution - Resolution level to query. Defaults to the instance's\n * current {@link resolution}.\n * @returns Average cell area in km².\n */\n cellAreaKM(resolution: number = DEFAULT_RESOLUTION): number {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const cellCount = this._module.cellAreaKM(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq\n );\n\n return cellCount as number;\n }\n\n /**\n * Returns the average centre-to-centre distance between neighbouring cells\n * in kilometres at the given resolution.\n *\n * This is useful for estimating spatial join radii or selecting a\n * resolution that matches a target spatial scale.\n *\n * ```ts\n * const spacingKm = dggs.cellDistKM(5);\n * ```\n *\n * @param resolution - Resolution level to query. Defaults to the instance's\n * current {@link resolution}.\n * @returns Average cell spacing in km.\n */\n cellDistKM(resolution: number = DEFAULT_RESOLUTION): number {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const cellCount = this._module.cellDistKM(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq\n );\n\n return cellCount as number;\n }\n\n /**\n * Returns the characteristic length scale (CLS) of the grid at the given\n * resolution — defined as the square root of the average cell area.\n *\n * CLS provides a single scalar that summarises the spatial granularity of\n * the grid, useful for comparing resolutions across different DGGS\n * configurations.\n *\n * ```ts\n * const cls = dggs.gridStatCLS(4);\n * ```\n *\n * @param resolution - Resolution level to query. Defaults to the instance's\n * current {@link resolution}.\n * @returns Grid CLS value.\n */\n gridStatCLS(resolution: number = DEFAULT_RESOLUTION): number {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const cellCount = this._module.gridStatCLS(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq\n );\n\n return cellCount as number;\n }\n\n /**\n * Converts an array of geographic coordinates to their corresponding DGGS\n * cell sequence numbers (cell IDs) at the given resolution.\n *\n * Each coordinate is mapped to the single cell whose boundary contains it.\n * Multiple coordinates that fall within the same cell will return the same\n * sequence number.\n *\n * Coordinates must be supplied in **`[lng, lat]`** order (GeoJSON\n * convention), **not** `[lat, lng]`.\n *\n * ```ts\n * // New York City\n * const ids = dggs.geoToSequenceNum([[-74.006, 40.7128]], 5);\n * console.log(ids); // [12345n]\n *\n * // Multiple points at once\n * const ids2 = dggs.geoToSequenceNum(\n * [[-74.006, 40.7128], [2.3522, 48.8566]],\n * 5\n * );\n * ```\n *\n * @param coordinates - Array of `[lng, lat]` pairs in decimal degrees.\n * @param resolution - Resolution at which to perform the lookup. Defaults\n * to the instance's current {@link resolution}.\n * @returns Array of `BigInt` sequence numbers, one per input coordinate,\n * in the same order.\n */\n geoToSequenceNum(\n coordinates: number[][],\n resolution: number = DEFAULT_RESOLUTION\n ): bigint[] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const xCoords = coordinates.map((coord) => coord[0]);\n const yCoords = coordinates.map((coord) => coord[1]);\n\n const resultArray = this._module.DgGEO_to_SEQNUM(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n xCoords,\n yCoords\n );\n\n return resultArray;\n }\n\n /**\n * Converts an array of DGGS cell sequence numbers to the geographic\n * coordinates of their centroids.\n *\n * The returned coordinates are in **`[lng, lat]`** order (GeoJSON\n * convention).\n *\n * ```ts\n * const centroids = dggs.sequenceNumToGeo([1n, 2n, 3n], 3);\n * // [[lng0, lat0], [lng1, lat1], [lng2, lat2]]\n * ```\n *\n * @param sequenceNum - Array of `BigInt` cell IDs to look up.\n * @param resolution - Resolution at which the IDs were generated. Defaults\n * to the instance's current {@link resolution}.\n * @returns Array of `[lng, lat]` centroid positions, one per input ID, in\n * the same order.\n */\n sequenceNumToGeo(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): Position[] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const resultArray = this._module.SEQNUM_to_GEO(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n sequenceNum\n );\n\n const size = resultArray.length / 2;\n const arrayOfArrays: number[][] = [];\n for (let i = 0; i < size; i += 1) {\n arrayOfArrays.push([resultArray[i], resultArray[i + size]]);\n }\n\n return arrayOfArrays;\n }\n\n /**\n * Snaps an array of geographic coordinates to the centroid of the DGGS\n * cell that contains each point.\n *\n * This is equivalent to calling {@link geoToSequenceNum} followed by\n * {@link sequenceNumToGeo} but is more efficient because it avoids\n * returning the intermediate sequence numbers.\n *\n * Useful for spatial aggregation: all points that fall within the same\n * cell will map to the identical centroid coordinate.\n *\n * Coordinates must be in **`[lng, lat]`** order.\n *\n * ```ts\n * const snapped = dggs.geoToGeo(\n * [[-74.006, 40.7128], [-74.010, 40.720]],\n * 5\n * );\n * // Both points snap to the same centroid if they share a cell\n * ```\n *\n * @param coordinates - Array of `[lng, lat]` pairs in decimal degrees.\n * @param resolution - Resolution at which to perform the snapping. Defaults\n * to the instance's current {@link resolution}.\n * @returns Array of `[lng, lat]` cell centroid positions, one per input\n * coordinate, in the same order.\n */\n geoToGeo(\n coordinates: number[][],\n resolution: number = DEFAULT_RESOLUTION\n ): Position[] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const xCoords = coordinates.map((coord) => coord[0]);\n const yCoords = coordinates.map((coord) => coord[1]);\n\n const resultArray = this._module.GEO_to_GEO(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n xCoords,\n yCoords\n );\n\n const size = resultArray.length / 2;\n const arrayOfArrays: number[][] = [];\n for (let i = 0; i < size; i += 1) {\n arrayOfArrays.push([resultArray[i], resultArray[i + size]]);\n }\n\n return arrayOfArrays;\n }\n\n /**\n * Returns the polygon boundary vertices for each cell in `sequenceNum`.\n *\n * Each cell is represented as an array of `[lng, lat]` vertex positions.\n * The ring is **not** automatically closed (the first and last vertex are\n * different) — close it yourself if your renderer requires it.\n *\n * Prefer {@link sequenceNumToGridFeatureCollection} when you need\n * GeoJSON output ready for a mapping library.\n *\n * ```ts\n * const rings = dggs.sequenceNumToGrid([1n, 2n], 3);\n * // rings[0] = [[lng0,lat0], [lng1,lat1], ..., [lng5,lat5]] (hexagon)\n * ```\n *\n * @param sequenceNum - Array of `BigInt` cell IDs whose boundaries to\n * retrieve.\n * @param resolution - Resolution at which the IDs were generated. Defaults\n * to the instance's current {@link resolution}.\n * @returns A 2-D array: `result[i]` is the vertex ring of `sequenceNum[i]`.\n * Each vertex is a `[lng, lat]` position.\n * @throws If the WASM module encounters an invalid cell ID.\n */\n sequenceNumToGrid(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): Position[][] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const inputSize = sequenceNum.length;\n\n let resultArray = [];\n try {\n resultArray = this._module.SeqNumGrid(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n sequenceNum\n );\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw (e);\n }\n\n const allShapeVertexes = resultArray.slice(0, inputSize);\n\n const sumVertexes = allShapeVertexes.reduce((accumulator, currentValue) => {\n return accumulator + currentValue;\n }, 0);\n\n const featureSet: Position[][] = [];\n\n let xOffset = inputSize;\n let yOffset = inputSize + sumVertexes;\n for (let i = 0; i < allShapeVertexes.length; i += 1) {\n const numVertexes = allShapeVertexes[i];\n\n const coordinates: Position[] = [];\n for (let j = 0; j < numVertexes; j += 1) {\n coordinates.push([resultArray[xOffset + j], resultArray[yOffset + j]]);\n }\n featureSet.push(unwrapAntimeridianRing(coordinates));\n xOffset += numVertexes;\n yOffset += numVertexes;\n }\n\n return featureSet;\n }\n\n /**\n * Converts an array of DGGS cell IDs into a GeoJSON `FeatureCollection`\n * where each `Feature` is a `Polygon` representing the cell boundary.\n *\n * This is the primary method for rendering DGGS cells with mapping\n * libraries such as MapLibre GL JS, Leaflet, or deck.gl.\n *\n * Each feature includes:\n * - `geometry` — a closed `Polygon` in `[lng, lat]` coordinate order.\n * - `id` — the cell sequence number (converted to `string` recommended\n * before passing to MapLibre to avoid BigInt serialisation errors).\n * - `properties.id` — same value as `id`, accessible inside layer\n * expressions.\n *\n * ```ts\n * const ids = dggs.geoToSequenceNum([[-74.006, 40.7128]], 5);\n * const fc = dggs.sequenceNumToGridFeatureCollection(ids, 5);\n *\n * // MapLibre / structured-clone safe: convert BigInt → string\n * fc.features.forEach(f => {\n * if (typeof f.id === 'bigint') f.id = f.id.toString();\n * if (f.properties?.id) f.properties.id = f.properties.id.toString();\n * });\n *\n * map.getSource('grid').setData(fc);\n * ```\n *\n * @param sequenceNum - Array of `BigInt` cell IDs to convert.\n * @param resolution - Resolution at which the IDs were generated. Defaults\n * to the instance's current {@link resolution}.\n * @returns A GeoJSON `FeatureCollection` of `Polygon` features, one per\n * input cell ID.\n */\n sequenceNumToGridFeatureCollection(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): FeatureCollection<Polygon, DGGSGeoJsonProperty> {\n\n const coordinatesArray = this.sequenceNumToGrid(sequenceNum, resolution);\n\n const features = coordinatesArray.map((coordinates, index) => {\n const seqNum = sequenceNum[index];\n return {\n type: 'Feature',\n geometry: {\n type: 'Polygon',\n coordinates: [coordinates]\n },\n id: seqNum as unknown as number,\n properties: {\n id: seqNum\n } as DGGSGeoJsonProperty\n } as Feature<Polygon, DGGSGeoJsonProperty>;\n });\n\n return {\n type: 'FeatureCollection',\n features,\n };\n }\n\n /**\n * Returns all neighboring cells (sharing an edge) for each input cell.\n *\n * For hexagonal grids, each interior cell typically has 6 neighbors.\n * Pentagon cells and boundary cells may have fewer. Triangle topology\n * is not supported by the underlying DGGRID library.\n *\n * The output is a 2-D array: `result[i]` contains all neighbors of\n * `sequenceNum[i]`.\n *\n * ```ts\n * const neighbors = dggs.sequenceNumNeighbors([123n], 5);\n * // neighbors[0] = [122n, 124n, 125n, 126n, 127n, 128n]\n * ```\n *\n * ::: warning\n * Triangle topology is **not supported**. Attempting to retrieve neighbors\n * for a TRIANGLE grid will throw an error.\n * :::\n *\n * @param sequenceNum - Array of `BigInt` cell IDs whose neighbors to find.\n * @param resolution - Resolution at which the IDs were generated. Defaults\n * to the instance's current {@link resolution}.\n * @returns A 2-D array of `BigInt[]`: `result[i]` is the array of neighbor\n * IDs for `sequenceNum[i]`.\n * @throws If Triangle topology is used or if an invalid cell ID is provided.\n */\n sequenceNumNeighbors(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): bigint[][] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n if (topology === Topology.TRIANGLE) {\n throw new Error('Neighbor detection is not supported for TRIANGLE topology');\n }\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n try {\n const resultArray = this._module.SEQNUMS_neighbors(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n sequenceNum\n );\n\n // The result is a flat array with format:\n // [count0, count1, ..., countN, neighbor0_0, neighbor0_1, ..., neighbor0_(count0-1), neighbor1_0, ...]\n const inputSize = sequenceNum.length;\n const counts = resultArray.slice(0, inputSize);\n const neighbors: bigint[][] = [];\n\n let offset = inputSize;\n for (let i = 0; i < inputSize; i++) {\n const count = Number(counts[i]);\n neighbors.push(resultArray.slice(offset, offset + count));\n offset += count;\n }\n\n return neighbors;\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n /**\n * Returns the parent cell at the next coarser resolution (resolution - 1)\n * for each input cell.\n *\n * The parent-child relationship forms a hierarchical index structure. For\n * aperture 4 grids, each parent contains 4 children; for aperture 7, each\n * parent contains 7 children.\n *\n * ```ts\n * const parents = dggs.sequenceNumParent([123n, 456n], 5);\n * // parents = [30n, 114n] (at resolution 4)\n * ```\n *\n * ::: info\n * Calling this method at resolution 0 will throw an error because there\n * are no cells at resolution -1.\n * :::\n *\n * @param sequenceNum - Array of `BigInt` cell IDs whose parents to find.\n * @param resolution - Resolution at which the input IDs were generated.\n * Must be > 0. Defaults to the instance's current {@link resolution}.\n * @returns Array of `BigInt` parent cell IDs at resolution - 1, one per\n * input cell, in the same order.\n * @throws If resolution is 0 or if an invalid cell ID is provided.\n */\n sequenceNumParent(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): bigint[] {\n if (resolution <= 0) {\n throw new Error('Cannot get parent at resolution 0 or below');\n }\n\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n try {\n const resultArray = this._module.SEQNUMS_parents(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n sequenceNum\n );\n\n return resultArray;\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n /**\n * Returns **all** parent cells that touch each input cell at the coarser\n * resolution (resolution - 1).\n *\n * Unlike {@link sequenceNumParent} which returns only the primary\n * (containing) parent, this method returns every parent cell whose area\n * overlaps with the child cell. For interior cells this is typically 1;\n * for cells on a parent boundary it may be 2 or more.\n *\n * The **first element** of each inner array is always the primary\n * (containing) parent — the same value returned by\n * {@link sequenceNumParent}.\n *\n * ```ts\n * const allParents = dggs.sequenceNumAllParents([256n], 3);\n * // allParents[0] = [65n, 66n] — 65 is the containing parent,\n * // 66 is a touching neighbor parent\n * ```\n *\n * @param sequenceNum - Array of `BigInt` cell IDs to query.\n * @param resolution - Resolution at which the input IDs were generated\n * (must be > 0). Defaults to the instance's current {@link resolution}.\n * @returns A 2-D array: `result[i]` contains all parent cell IDs that\n * touch `sequenceNum[i]`, with the primary parent first.\n * @throws If `resolution` is 0 or negative, or if an invalid cell ID is\n * provided.\n */\n sequenceNumAllParents(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): bigint[][] {\n if (resolution <= 0) {\n throw new Error('Cannot get parents at resolution 0 or below');\n }\n\n try {\n const resultArray = this._module.SEQNUMS_all_parents(\n ...this._getParams(resolution),\n sequenceNum\n );\n\n // Convert from JS array of arrays to bigint[][]\n const result: bigint[][] = [];\n for (let i = 0; i < resultArray.length; i++) {\n const inner: bigint[] = [];\n for (let j = 0; j < resultArray[i].length; j++) {\n inner.push(resultArray[i][j]);\n }\n result.push(inner);\n }\n return result;\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n /**\n * Returns all child cells at the next finer resolution (resolution + 1)\n * for each input cell.\n *\n * The number of children depends on the aperture:\n * - Aperture 3: 3 children per parent\n * - Aperture 4: 4 children per parent\n * - Aperture 7: 7 children per parent\n *\n * The output is a 2-D array: `result[i]` contains all children of\n * `sequenceNum[i]`.\n *\n * ```ts\n * const children = dggs.sequenceNumChildren([30n], 4);\n * // children[0] = [120n, 121n, 122n, 123n] (at resolution 5, aperture 4)\n * ```\n *\n * ::: info\n * Children always include both boundary and interior cells. The returned\n * cells completely cover the parent cell's area.\n * :::\n *\n * @param sequenceNum - Array of `BigInt` cell IDs whose children to find.\n * @param resolution - Resolution at which the input IDs were generated.\n * Defaults to the instance's current {@link resolution}.\n * @returns A 2-D array of `BigInt[]`: `result[i]` is the array of child\n * IDs for `sequenceNum[i]` at resolution + 1.\n * @throws If an invalid cell ID is provided or if the maximum resolution\n * is exceeded.\n */\n sequenceNumChildren(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): bigint[][] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n try {\n const resultArray = this._module.SEQNUMS_children(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n sequenceNum\n );\n\n // The result is a flat array with format:\n // [count0, count1, ..., countN, child0_0, child0_1, ..., child0_(count0-1), child1_0, ...]\n const inputSize = sequenceNum.length;\n const counts = resultArray.slice(0, inputSize);\n const children: bigint[][] = [];\n\n let offset = inputSize;\n for (let i = 0; i < inputSize; i++) {\n const count = Number(counts[i]);\n children.push(resultArray.slice(offset, offset + count));\n offset += count;\n }\n\n return children;\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n // =========================================================================\n // Hierarchical Address Type Conversions\n // These methods convert between SEQNUM and hierarchical indexing systems\n // =========================================================================\n\n /**\n * Convert a SEQNUM cell ID to VERTEX2DD (icosahedral vertex) coordinates.\n *\n * VERTEX2DD addresses represent positions relative to the vertices and\n * triangular faces of the underlying icosahedron.\n *\n * ```ts\n * const vertex = dggs.sequenceNumToVertex2DD(100n, 5);\n * // vertex = { keep: true, vertNum: 1, triNum: 1, x: 0.0625, y: 0.054... }\n * ```\n *\n * @param sequenceNum - The cell sequence number to convert.\n * @param resolution - Resolution of the input cell. Defaults to the\n * instance's current {@link resolution}.\n * @returns An object with `{keep, vertNum, triNum, x, y}` representing\n * the vertex coordinate.\n */\n sequenceNumToVertex2DD(\n sequenceNum: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): Vertex2DDCoordinate {\n try {\n const result = this._module.SEQNUM_to_VERTEX2DD(\n ...this._getParams(resolution),\n sequenceNum\n );\n return result;\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n /**\n * Convert VERTEX2DD (icosahedral vertex) coordinates to a SEQNUM cell ID.\n *\n * ```ts\n * const seqnum = dggs.vertex2DDToSequenceNum(true, 1, 1, 0.0625, 0.054, 5);\n * // seqnum = 100n\n * ```\n *\n * @param keep - Whether to keep this vertex.\n * @param vertNum - Vertex number (0-11 for icosahedron).\n * @param triNum - Triangle number on the icosahedron.\n * @param x - X coordinate within the triangle.\n * @param y - Y coordinate within the triangle.\n * @param resolution - Resolution at which to compute the cell ID. Defaults\n * to the instance's current {@link resolution}.\n * @returns The sequence number (BigInt) of the cell containing this coordinate.\n */\n vertex2DDToSequenceNum(\n keep: boolean,\n vertNum: number,\n triNum: number,\n x: number,\n y: number,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n try {\n return this._module.VERTEX2DD_to_SEQNUM(\n ...this._getParams(resolution),\n keep,\n vertNum,\n triNum,\n x,\n y\n );\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n /**\n * Convert a SEQNUM cell ID to ZORDER (Z-order curve) coordinate.\n *\n * ZORDER uses digit-interleaved coordinates to create a space-filling\n * curve index. This provides good spatial locality for range queries.\n *\n * **Compatibility:** ZORDER is only available for **aperture 3 and 4**\n * hexagon grids. It is **NOT supported** for aperture 7.\n *\n * ```ts\n * // With aperture 4:\n * const zorder = dggs.sequenceNumToZOrder(100n, 5);\n * // zorder = 1168684103302643712n\n * ```\n *\n * @param sequenceNum - The cell sequence number to convert.\n * @param resolution - Resolution of the input cell. Defaults to the\n * instance's current {@link resolution}.\n * @returns A BigInt representing the Z-order coordinate.\n * @throws If used with an incompatible aperture (7) or topology.\n */\n sequenceNumToZOrder(\n sequenceNum: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, apertureSequence } = this.dggs;\n\n // Check aperture compatibility\n if (aperture === 7 && !apertureSequence) {\n throw new Error(\n 'ZORDER is not available for aperture 7. ' +\n 'Use Z7 hierarchical indexing instead, or switch to aperture 3 or 4.'\n );\n }\n\n try {\n return this._module.SEQNUM_to_ZORDER(\n ...this._getParams(resolution),\n sequenceNum\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture')) {\n throw new Error(\n `ZORDER error: ${errMsg}. ZORDER requires aperture 3 or 4 (not 7).`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n /**\n * Convert a ZORDER (Z-order curve) coordinate to a SEQNUM cell ID.\n *\n * ```ts\n * const seqnum = dggs.zOrderToSequenceNum(1168684103302643712n, 5);\n * // seqnum = 100n\n * ```\n *\n * @param zorderValue - The Z-order coordinate value (BigInt).\n * @param resolution - Resolution at which to compute the cell ID. Defaults\n * to the instance's current {@link resolution}.\n * @returns The sequence number (BigInt) corresponding to this Z-order value.\n * @throws If used with an incompatible aperture (7) or topology.\n */\n zOrderToSequenceNum(\n zorderValue: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, apertureSequence } = this.dggs;\n\n if (aperture === 7 && !apertureSequence) {\n throw new Error(\n 'ZORDER is not available for aperture 7. ' +\n 'Use Z7 hierarchical indexing instead, or switch to aperture 3 or 4.'\n );\n }\n\n try {\n return this._module.ZORDER_to_SEQNUM(\n ...this._getParams(resolution),\n zorderValue\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture')) {\n throw new Error(\n `ZORDER error: ${errMsg}. ZORDER requires aperture 3 or 4 (not 7).`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n /**\n * Convert a SEQNUM cell ID to Z3 (base-3 Central Place Indexing) coordinate.\n *\n * Z3 uses base-3 digit encoding optimized for aperture 3 hexagon grids.\n * Each parent cell contains exactly 3 children in the hierarchy.\n *\n * **Compatibility:** Z3 is **only available for aperture 3** hexagon grids.\n *\n * ```ts\n * // With aperture 3:\n * const z3 = dggs.sequenceNumToZ3(100n, 5);\n * // z3 = 1773292353277132799n\n * ```\n *\n * @param sequenceNum - The cell sequence number to convert.\n * @param resolution - Resolution of the input cell. Defaults to the\n * instance's current {@link resolution}.\n * @returns A BigInt representing the Z3 coordinate (INT64 format).\n * @throws If used with an incompatible aperture (not 3) or topology.\n */\n sequenceNumToZ3(\n sequenceNum: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, topology, apertureSequence } = this.dggs;\n\n if ((aperture !== 3 || topology !== 'HEXAGON') && !apertureSequence) {\n throw new Error(\n 'Z3 is only available for aperture 3 hexagon grids. ' +\n `Current configuration: aperture ${aperture}, topology ${topology}.`\n );\n }\n\n try {\n return this._module.SEQNUM_to_Z3(\n ...this._getParams(resolution),\n sequenceNum\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture') || errMsg.includes('Z3')) {\n throw new Error(\n `Z3 error: ${errMsg}. Z3 requires aperture 3 hexagon grids.`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n /**\n * Convert a Z3 (base-3 Central Place Indexing) coordinate to a SEQNUM cell ID.\n *\n * ```ts\n * const seqnum = dggs.z3ToSequenceNum(1773292353277132799n, 5);\n * // seqnum = 100n\n * ```\n *\n * @param z3Value - The Z3 coordinate value (BigInt, INT64 format).\n * @param resolution - Resolution at which to compute the cell ID. Defaults\n * to the instance's current {@link resolution}.\n * @returns The sequence number (BigInt) corresponding to this Z3 value.\n * @throws If used with an incompatible aperture (not 3) or topology.\n */\n z3ToSequenceNum(\n z3Value: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, topology, apertureSequence } = this.dggs;\n\n if ((aperture !== 3 || topology !== 'HEXAGON') && !apertureSequence) {\n throw new Error(\n 'Z3 is only available for aperture 3 hexagon grids. ' +\n `Current configuration: aperture ${aperture}, topology ${topology}.`\n );\n }\n\n try {\n return this._module.Z3_to_SEQNUM(\n ...this._getParams(resolution),\n z3Value\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture') || errMsg.includes('Z3')) {\n throw new Error(\n `Z3 error: ${errMsg}. Z3 requires aperture 3 hexagon grids.`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n /**\n * Convert a SEQNUM cell ID to Z7 (base-7 Central Place Indexing) coordinate.\n *\n * Z7 uses base-7 digit encoding with pure bitarithmetic operations,\n * optimized for aperture 7 hexagon grids. Each parent cell contains\n * exactly 7 children in the hierarchy.\n *\n * **Compatibility:** Z7 is **only available for aperture 7** hexagon grids.\n *\n * ```ts\n * // With aperture 7:\n * const z7 = dggs.sequenceNumToZ7(100n, 5);\n * // z7 = 1153167795211468799n (displayed as hex: 0x1000000000000fff)\n * ```\n *\n * @param sequenceNum - The cell sequence number to convert.\n * @param resolution - Resolution of the input cell. Defaults to the\n * instance's current {@link resolution}.\n * @returns A BigInt representing the Z7 coordinate (INT64/hex format).\n * @throws If used with an incompatible aperture (not 7) or topology.\n */\n sequenceNumToZ7(\n sequenceNum: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, topology, apertureSequence } = this.dggs;\n\n if ((aperture !== 7 || topology !== 'HEXAGON') && !apertureSequence) {\n throw new Error(\n 'Z7 is only available for aperture 7 hexagon grids. ' +\n `Current configuration: aperture ${aperture}, topology ${topology}.`\n );\n }\n\n try {\n return this._module.SEQNUM_to_Z7(\n ...this._getParams(resolution),\n sequenceNum\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture') || errMsg.includes('Z7')) {\n throw new Error(\n `Z7 error: ${errMsg}. Z7 requires aperture 7 hexagon grids.`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n /**\n * Convert a Z7 (base-7 Central Place Indexing) coordinate to a SEQNUM cell ID.\n *\n * ```ts\n * const seqnum = dggs.z7ToSequenceNum(1153167795211468799n, 5);\n * // seqnum = 100n\n * ```\n *\n * @param z7Value - The Z7 coordinate value (BigInt, INT64/hex format).\n * @param resolution - Resolution at which to compute the cell ID. Defaults\n * to the instance's current {@link resolution}.\n * @returns The sequence number (BigInt) corresponding to this Z7 value.\n * @throws If used with an incompatible aperture (not 7) or topology.\n */\n z7ToSequenceNum(\n z7Value: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, topology, apertureSequence } = this.dggs;\n\n if ((aperture !== 7 || topology !== 'HEXAGON') && !apertureSequence) {\n throw new Error(\n 'Z7 is only available for aperture 7 hexagon grids. ' +\n `Current configuration: aperture ${aperture}, topology ${topology}.`\n );\n }\n\n try {\n return this._module.Z7_to_SEQNUM(\n ...this._getParams(resolution),\n z7Value\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture') || errMsg.includes('Z7')) {\n throw new Error(\n `Z7 error: ${errMsg}. Z7 requires aperture 7 hexagon grids.`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n // =========================================================================\n // Index digit manipulation\n // Pure bitwise operations on Z7, Z3, and ZORDER packed indices.\n // These match DGGRID's internal macros (Z7_GET_INDEX_DIGIT, etc.)\n // and do NOT require WASM calls.\n // =========================================================================\n\n // --- Z7 constants (3 bits per digit, max 20 resolutions) ---\n /** @internal */ static readonly Z7_MAX_RES = 20;\n /** @internal */ static readonly Z7_BITS_PER_DIGIT = 3n;\n /** @internal */ static readonly Z7_DIGIT_MASK = 7n;\n /** @internal */ static readonly Z7_QUAD_OFFSET = 60n;\n /** @internal */ static readonly Z7_QUAD_MASK = 0xF000000000000000n;\n\n // --- Z3 constants (2 bits per digit, max 30 resolutions) ---\n /** @internal */ static readonly Z3_MAX_RES = 30;\n /** @internal */ static readonly Z3_BITS_PER_DIGIT = 2n;\n /** @internal */ static readonly Z3_DIGIT_MASK = 3n;\n /** @internal */ static readonly Z3_QUAD_OFFSET = 60n;\n /** @internal */ static readonly Z3_QUAD_MASK = 0xF000000000000000n;\n\n // --- ZORDER constants (2 bits per digit, max 30 resolutions) ---\n /** @internal */ static readonly ZORDER_MAX_RES = 30;\n /** @internal */ static readonly ZORDER_BITS_PER_DIGIT = 2n;\n /** @internal */ static readonly ZORDER_DIGIT_MASK = 3n;\n /** @internal */ static readonly ZORDER_QUAD_OFFSET = 60n;\n /** @internal */ static readonly ZORDER_QUAD_MASK = 0xF000000000000000n;\n\n /**\n * Get the quad (icosahedron face) number from a Z7 index.\n *\n * The quad occupies bits 63–60 of the 64-bit packed value.\n *\n * ```ts\n * const quad = dggs.z7GetQuad(z7Value); // 0–11\n * ```\n *\n * @param z7Value - A Z7 packed index (BigInt).\n * @returns The quad number (0–11).\n */\n z7GetQuad(z7Value: bigint): number {\n return Number((z7Value & Webdggrid.Z7_QUAD_MASK) >> Webdggrid.Z7_QUAD_OFFSET);\n }\n\n /**\n * Get the digit at a specific resolution level from a Z7 index.\n *\n * Each digit is 3 bits wide and occupies a fixed position in the 64-bit value.\n * Valid digits are 0–6; the value 7 is the invalid/padding marker.\n *\n * ```ts\n * const digit = dggs.z7GetDigit(z7Value, 3); // 0–6 (or 7 = invalid)\n * ```\n *\n * @param z7Value - A Z7 packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 20).\n * @returns The digit value (0–7).\n */\n z7GetDigit(z7Value: bigint, res: number): number {\n const shift = BigInt(Webdggrid.Z7_MAX_RES - res) * Webdggrid.Z7_BITS_PER_DIGIT;\n return Number((z7Value >> shift) & Webdggrid.Z7_DIGIT_MASK);\n }\n\n /**\n * Set the digit at a specific resolution level in a Z7 index.\n *\n * Returns a new Z7 value with the digit at position `res` replaced.\n *\n * ```ts\n * const child = dggs.z7SetDigit(z7Value, 6, 3); // set res-6 digit to 3\n * ```\n *\n * @param z7Value - A Z7 packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 20).\n * @param digit - The digit value to set (0–6, or 7 for invalid).\n * @returns A new Z7 value with the digit replaced.\n */\n z7SetDigit(z7Value: bigint, res: number, digit: number): bigint {\n const shift = BigInt(Webdggrid.Z7_MAX_RES - res) * Webdggrid.Z7_BITS_PER_DIGIT;\n return (z7Value & ~(Webdggrid.Z7_DIGIT_MASK << shift)) | (BigInt(digit) << shift);\n }\n\n /**\n * Extract all digits from a Z7 index up to a given resolution.\n *\n * ```ts\n * const { quad, digits } = dggs.z7ExtractDigits(z7Value, 5);\n * // quad: 1, digits: [2, 0, 3, 4, 1]\n * ```\n *\n * @param z7Value - A Z7 packed index (BigInt).\n * @param resolution - Number of digits to extract (1-based).\n * @returns Object with `quad` (number) and `digits` (number array).\n */\n z7ExtractDigits(z7Value: bigint, resolution: number): { quad: number; digits: number[] } {\n const quad = this.z7GetQuad(z7Value);\n const digits: number[] = [];\n for (let r = 1; r <= resolution; r++) {\n digits.push(this.z7GetDigit(z7Value, r));\n }\n return { quad, digits };\n }\n\n /**\n * Get the quad (icosahedron face) number from a Z3 index.\n *\n * ```ts\n * const quad = dggs.z3GetQuad(z3Value); // 0–11\n * ```\n *\n * @param z3Value - A Z3 packed index (BigInt).\n * @returns The quad number (0–11).\n */\n z3GetQuad(z3Value: bigint): number {\n return Number((z3Value & Webdggrid.Z3_QUAD_MASK) >> Webdggrid.Z3_QUAD_OFFSET);\n }\n\n /**\n * Get the digit at a specific resolution level from a Z3 index.\n *\n * Each digit is 2 bits wide. Valid digits are 0–2; the value 3 is the\n * invalid/padding marker.\n *\n * ```ts\n * const digit = dggs.z3GetDigit(z3Value, 3); // 0–2 (or 3 = invalid)\n * ```\n *\n * @param z3Value - A Z3 packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 30).\n * @returns The digit value (0–3).\n */\n z3GetDigit(z3Value: bigint, res: number): number {\n const shift = BigInt(Webdggrid.Z3_MAX_RES - res) * Webdggrid.Z3_BITS_PER_DIGIT;\n return Number((z3Value >> shift) & Webdggrid.Z3_DIGIT_MASK);\n }\n\n /**\n * Set the digit at a specific resolution level in a Z3 index.\n *\n * ```ts\n * const child = dggs.z3SetDigit(z3Value, 6, 1); // set res-6 digit to 1\n * ```\n *\n * @param z3Value - A Z3 packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 30).\n * @param digit - The digit value to set (0–2, or 3 for invalid).\n * @returns A new Z3 value with the digit replaced.\n */\n z3SetDigit(z3Value: bigint, res: number, digit: number): bigint {\n const shift = BigInt(Webdggrid.Z3_MAX_RES - res) * Webdggrid.Z3_BITS_PER_DIGIT;\n return (z3Value & ~(Webdggrid.Z3_DIGIT_MASK << shift)) | (BigInt(digit) << shift);\n }\n\n /**\n * Extract all digits from a Z3 index up to a given resolution.\n *\n * ```ts\n * const { quad, digits } = dggs.z3ExtractDigits(z3Value, 5);\n * // quad: 1, digits: [1, 0, 2, 1, 0]\n * ```\n *\n * @param z3Value - A Z3 packed index (BigInt).\n * @param resolution - Number of digits to extract (1-based).\n * @returns Object with `quad` (number) and `digits` (number array).\n */\n z3ExtractDigits(z3Value: bigint, resolution: number): { quad: number; digits: number[] } {\n const quad = this.z3GetQuad(z3Value);\n const digits: number[] = [];\n for (let r = 1; r <= resolution; r++) {\n digits.push(this.z3GetDigit(z3Value, r));\n }\n return { quad, digits };\n }\n\n /**\n * Get the quad (icosahedron face) number from a ZORDER index.\n *\n * ```ts\n * const quad = dggs.zOrderGetQuad(zorderValue); // 0–11\n * ```\n *\n * @param zorderValue - A ZORDER packed index (BigInt).\n * @returns The quad number (0–11).\n */\n zOrderGetQuad(zorderValue: bigint): number {\n return Number((zorderValue & Webdggrid.ZORDER_QUAD_MASK) >> Webdggrid.ZORDER_QUAD_OFFSET);\n }\n\n /**\n * Get the digit at a specific resolution level from a ZORDER index.\n *\n * Each digit is 2 bits wide (values 0–3).\n *\n * ```ts\n * const digit = dggs.zOrderGetDigit(zorderValue, 3); // 0–3\n * ```\n *\n * @param zorderValue - A ZORDER packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 30).\n * @returns The digit value (0–3).\n */\n zOrderGetDigit(zorderValue: bigint, res: number): number {\n const shift = BigInt(Webdggrid.ZORDER_MAX_RES - res) * Webdggrid.ZORDER_BITS_PER_DIGIT;\n return Number((zorderValue >> shift) & Webdggrid.ZORDER_DIGIT_MASK);\n }\n\n /**\n * Set the digit at a specific resolution level in a ZORDER index.\n *\n * ```ts\n * const modified = dggs.zOrderSetDigit(zorderValue, 3, 2);\n * ```\n *\n * @param zorderValue - A ZORDER packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 30).\n * @param digit - The digit value to set (0–3).\n * @returns A new ZORDER value with the digit replaced.\n */\n zOrderSetDigit(zorderValue: bigint, res: number, digit: number): bigint {\n const shift = BigInt(Webdggrid.ZORDER_MAX_RES - res) * Webdggrid.ZORDER_BITS_PER_DIGIT;\n return (zorderValue & ~(Webdggrid.ZORDER_DIGIT_MASK << shift)) | (BigInt(digit) << shift);\n }\n\n /**\n * Extract all digits from a ZORDER index up to a given resolution.\n *\n * ```ts\n * const { quad, digits } = dggs.zOrderExtractDigits(zorderValue, 5);\n * // quad: 1, digits: [2, 0, 3, 1, 0]\n * ```\n *\n * @param zorderValue - A ZORDER packed index (BigInt).\n * @param resolution - Number of digits to extract (1-based).\n * @returns Object with `quad` (number) and `digits` (number array).\n */\n zOrderExtractDigits(zorderValue: bigint, resolution: number): { quad: number; digits: number[] } {\n const quad = this.zOrderGetQuad(zorderValue);\n const digits: number[] = [];\n for (let r = 1; r <= resolution; r++) {\n digits.push(this.zOrderGetDigit(zorderValue, r));\n }\n return { quad, digits };\n }\n\n // =========================================================================\n // Low-level coordinate transformation methods\n // These methods expose all DGGRID coordinate systems beyond GEO/SEQNUM\n // =========================================================================\n\n /**\n * Helper to build the DGGS parameter array for WASM calls.\n * @private\n */\n private _getParams(resolution: number = DEFAULT_RESOLUTION): any[] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n return [\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq\n ];\n }\n\n // -------------------------------------------------------------------------\n // GEO transformations (beyond the high-level methods above)\n // -------------------------------------------------------------------------\n\n /**\n * Converts geographic coordinates to PLANE coordinates.\n * \n * @param coordinates - Array of `[lng, lat]` pairs\n * @param resolution - Resolution level\n * @returns Array of `{x, y}` plane coordinates\n */\n geoToPlane(coordinates: number[][], resolution: number = DEFAULT_RESOLUTION): Array<{ x: number, y: number }> {\n const xCoords = coordinates.map(c => c[0]);\n const yCoords = coordinates.map(c => c[1]);\n\n const result = this._module.GEO_to_PLANE(...this._getParams(resolution), xCoords, yCoords);\n\n const size = result.length / 2;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({ x: result[i], y: result[i + size] });\n }\n return output;\n }\n\n /**\n * Converts geographic coordinates to PROJTRI coordinates.\n * \n * @param coordinates - Array of `[lng, lat]` pairs\n * @param resolution - Resolution level\n * @returns Array of `{tnum, x, y}` projection triangle coordinates\n */\n geoToProjtri(coordinates: number[][], resolution: number = DEFAULT_RESOLUTION): Array<{ tnum: number, x: number, y: number }> {\n const xCoords = coordinates.map(c => c[0]);\n const yCoords = coordinates.map(c => c[1]);\n\n const result = this._module.GEO_to_PROJTRI(...this._getParams(resolution), xCoords, yCoords);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n tnum: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts geographic coordinates to Q2DD coordinates.\n * \n * @param coordinates - Array of `[lng, lat]` pairs\n * @param resolution - Resolution level\n * @returns Array of `{quad, x, y}` quad 2D double coordinates\n */\n geoToQ2dd(coordinates: number[][], resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, x: number, y: number }> {\n const xCoords = coordinates.map(c => c[0]);\n const yCoords = coordinates.map(c => c[1]);\n\n const result = this._module.GEO_to_Q2DD(...this._getParams(resolution), xCoords, yCoords);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts geographic coordinates to Q2DI coordinates.\n * \n * @param coordinates - Array of `[lng, lat]` pairs\n * @param resolution - Resolution level\n * @returns Array of `{quad, i, j}` quad 2D integer coordinates\n */\n geoToQ2di(coordinates: number[][], resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, i: bigint, j: bigint }> {\n const xCoords = coordinates.map(c => c[0]);\n const yCoords = coordinates.map(c => c[1]);\n\n const result = this._module.GEO_to_Q2DI(...this._getParams(resolution), xCoords, yCoords);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n i: BigInt(result[i + size]),\n j: BigInt(result[i + 2 * size])\n });\n }\n return output;\n }\n\n // -------------------------------------------------------------------------\n // SEQNUM transformations (beyond the high-level methods above)\n // -------------------------------------------------------------------------\n\n /**\n * Converts sequence numbers to PLANE coordinates.\n * \n * @param sequenceNum - Array of cell IDs\n * @param resolution - Resolution level\n * @returns Array of `{x, y}` plane coordinates\n */\n sequenceNumToPlane(sequenceNum: bigint[], resolution: number = DEFAULT_RESOLUTION): Array<{ x: number, y: number }> {\n const result = this._module.SEQNUM_to_PLANE(...this._getParams(resolution), sequenceNum);\n\n const size = result.length / 2;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({ x: result[i], y: result[i + size] });\n }\n return output;\n }\n\n /**\n * Converts sequence numbers to PROJTRI coordinates.\n * \n * @param sequenceNum - Array of cell IDs\n * @param resolution - Resolution level\n * @returns Array of `{tnum, x, y}` projection triangle coordinates\n */\n sequenceNumToProjtri(sequenceNum: bigint[], resolution: number = DEFAULT_RESOLUTION): Array<{ tnum: number, x: number, y: number }> {\n const result = this._module.SEQNUM_to_PROJTRI(...this._getParams(resolution), sequenceNum);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n tnum: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts sequence numbers to Q2DD coordinates.\n * \n * @param sequenceNum - Array of cell IDs\n * @param resolution - Resolution level\n * @returns Array of `{quad, x, y}` quad 2D double coordinates\n */\n sequenceNumToQ2dd(sequenceNum: bigint[], resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, x: number, y: number }> {\n const result = this._module.SEQNUM_to_Q2DD(...this._getParams(resolution), sequenceNum);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts sequence numbers to Q2DI coordinates.\n * \n * @param sequenceNum - Array of cell IDs\n * @param resolution - Resolution level\n * @returns Array of `{quad, i, j}` quad 2D integer coordinates\n */\n sequenceNumToQ2di(sequenceNum: bigint[], resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, i: bigint, j: bigint }> {\n const result = this._module.SEQNUM_to_Q2DI(...this._getParams(resolution), sequenceNum);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n i: BigInt(result[i + size]),\n j: BigInt(result[i + 2 * size])\n });\n }\n return output;\n }\n\n // -------------------------------------------------------------------------\n // Q2DI transformations\n // -------------------------------------------------------------------------\n\n /**\n * Converts Q2DI coordinates to geographic coordinates.\n * \n * @param coords - Array of `{quad, i, j}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `[lng, lat]` positions\n */\n q2diToGeo(coords: Array<{ quad: number, i: bigint, j: bigint }>, resolution: number = DEFAULT_RESOLUTION): Position[] {\n const quads = coords.map(c => c.quad);\n const is = coords.map(c => Number(c.i));\n const js = coords.map(c => Number(c.j));\n\n const result = this._module.Q2DI_to_GEO(...this._getParams(resolution), quads, is, js);\n\n const size = result.length / 2;\n const output: Position[] = [];\n for (let i = 0; i < size; i++) {\n output.push([result[i], result[i + size]]);\n }\n return output;\n }\n\n /**\n * Converts Q2DI coordinates to sequence numbers.\n * \n * @param coords - Array of `{quad, i, j}` coordinates\n * @param resolution - Resolution level\n * @returns Array of cell IDs\n */\n q2diToSequenceNum(coords: Array<{ quad: number, i: bigint, j: bigint }>, resolution: number = DEFAULT_RESOLUTION): bigint[] {\n const quads = coords.map(c => c.quad);\n const is = coords.map(c => Number(c.i));\n const js = coords.map(c => Number(c.j));\n\n return this._module.Q2DI_to_SEQNUM(...this._getParams(resolution), quads, is, js);\n }\n\n /**\n * Converts Q2DI coordinates to PLANE coordinates.\n * \n * @param coords - Array of `{quad, i, j}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{x, y}` plane coordinates\n */\n q2diToPlane(coords: Array<{ quad: number, i: bigint, j: bigint }>, resolution: number = DEFAULT_RESOLUTION): Array<{ x: number, y: number }> {\n const quads = coords.map(c => c.quad);\n const is = coords.map(c => Number(c.i));\n const js = coords.map(c => Number(c.j));\n\n const result = this._module.Q2DI_to_PLANE(...this._getParams(resolution), quads, is, js);\n\n const size = result.length / 2;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({ x: result[i], y: result[i + size] });\n }\n return output;\n }\n\n /**\n * Converts Q2DI coordinates to PROJTRI coordinates.\n * \n * @param coords - Array of `{quad, i, j}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{tnum, x, y}` projection triangle coordinates\n */\n q2diToProjtri(coords: Array<{ quad: number, i: bigint, j: bigint }>, resolution: number = DEFAULT_RESOLUTION): Array<{ tnum: number, x: number, y: number }> {\n const quads = coords.map(c => c.quad);\n const is = coords.map(c => Number(c.i));\n const js = coords.map(c => Number(c.j));\n\n const result = this._module.Q2DI_to_PROJTRI(...this._getParams(resolution), quads, is, js);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n tnum: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts Q2DI coordinates to Q2DD coordinates.\n * \n * @param coords - Array of `{quad, i, j}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{quad, x, y}` quad 2D double coordinates\n */\n q2diToQ2dd(coords: Array<{ quad: number, i: bigint, j: bigint }>, resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, x: number, y: number }> {\n const quads = coords.map(c => c.quad);\n const is = coords.map(c => Number(c.i));\n const js = coords.map(c => Number(c.j));\n\n const result = this._module.Q2DI_to_Q2DD(...this._getParams(resolution), quads, is, js);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n // -------------------------------------------------------------------------\n // Q2DD transformations\n // -------------------------------------------------------------------------\n\n /**\n * Converts Q2DD coordinates to geographic coordinates.\n * \n * @param coords - Array of `{quad, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `[lng, lat]` positions\n */\n q2ddToGeo(coords: Array<{ quad: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Position[] {\n const quads = coords.map(c => c.quad);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.Q2DD_to_GEO(...this._getParams(resolution), quads, xs, ys);\n\n const size = result.length / 2;\n const output: Position[] = [];\n for (let i = 0; i < size; i++) {\n output.push([result[i], result[i + size]]);\n }\n return output;\n }\n\n /**\n * Converts Q2DD coordinates to sequence numbers.\n * \n * @param coords - Array of `{quad, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of cell IDs\n */\n q2ddToSequenceNum(coords: Array<{ quad: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): bigint[] {\n const quads = coords.map(c => c.quad);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n return this._module.Q2DD_to_SEQNUM(...this._getParams(resolution), quads, xs, ys);\n }\n\n /**\n * Converts Q2DD coordinates to PLANE coordinates.\n * \n * @param coords - Array of `{quad, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{x, y}` plane coordinates\n */\n q2ddToPlane(coords: Array<{ quad: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ x: number, y: number }> {\n const quads = coords.map(c => c.quad);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.Q2DD_to_PLANE(...this._getParams(resolution), quads, xs, ys);\n\n const size = result.length / 2;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({ x: result[i], y: result[i + size] });\n }\n return output;\n }\n\n /**\n * Converts Q2DD coordinates to PROJTRI coordinates.\n * \n * @param coords - Array of `{quad, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{tnum, x, y}` projection triangle coordinates\n */\n q2ddToProjtri(coords: Array<{ quad: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ tnum: number, x: number, y: number }> {\n const quads = coords.map(c => c.quad);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.Q2DD_to_PROJTRI(...this._getParams(resolution), quads, xs, ys);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n tnum: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts Q2DD coordinates to Q2DI coordinates.\n * \n * @param coords - Array of `{quad, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{quad, i, j}` quad 2D integer coordinates\n */\n q2ddToQ2di(coords: Array<{ quad: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, i: bigint, j: bigint }> {\n const quads = coords.map(c => c.quad);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.Q2DD_to_Q2DI(...this._getParams(resolution), quads, xs, ys);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n i: BigInt(result[i + size]),\n j: BigInt(result[i + 2 * size])\n });\n }\n return output;\n }\n\n // -------------------------------------------------------------------------\n // PROJTRI transformations\n // -------------------------------------------------------------------------\n\n /**\n * Converts PROJTRI coordinates to geographic coordinates.\n * \n * @param coords - Array of `{tnum, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `[lng, lat]` positions\n */\n projtriToGeo(coords: Array<{ tnum: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Position[] {\n const tnums = coords.map(c => c.tnum);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.PROJTRI_to_GEO(...this._getParams(resolution), tnums, xs, ys);\n\n const size = result.length / 2;\n const output: Position[] = [];\n for (let i = 0; i < size; i++) {\n output.push([result[i], result[i + size]]);\n }\n return output;\n }\n\n /**\n * Converts PROJTRI coordinates to sequence numbers.\n * \n * @param coords - Array of `{tnum, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of cell IDs\n */\n projtriToSequenceNum(coords: Array<{ tnum: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): bigint[] {\n const tnums = coords.map(c => c.tnum);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n return this._module.PROJTRI_to_SEQNUM(...this._getParams(resolution), tnums, xs, ys);\n }\n\n /**\n * Converts PROJTRI coordinates to PLANE coordinates.\n * \n * @param coords - Array of `{tnum, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{x, y}` plane coordinates\n */\n projtriToPlane(coords: Array<{ tnum: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ x: number, y: number }> {\n const tnums = coords.map(c => c.tnum);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.PROJTRI_to_PLANE(...this._getParams(resolution), tnums, xs, ys);\n\n const size = result.length / 2;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({ x: result[i], y: result[i + size] });\n }\n return output;\n }\n\n /**\n * Converts PROJTRI coordinates to Q2DD coordinates.\n * \n * @param coords - Array of `{tnum, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{quad, x, y}` quad 2D double coordinates\n */\n projtriToQ2dd(coords: Array<{ tnum: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, x: number, y: number }> {\n const tnums = coords.map(c => c.tnum);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.PROJTRI_to_Q2DD(...this._getParams(resolution), tnums, xs, ys);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts PROJTRI coordinates to Q2DI coordinates.\n * \n * @param coords - Array of `{tnum, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{quad, i, j}` quad 2D integer coordinates\n */\n projtriToQ2di(coords: Array<{ tnum: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, i: bigint, j: bigint }> {\n const tnums = coords.map(c => c.tnum);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.PROJTRI_to_Q2DI(...this._getParams(resolution), tnums, xs, ys);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n i: BigInt(result[i + size]),\n j: BigInt(result[i + 2 * size])\n });\n }\n return output;\n }\n\n // -------------------------------------------------------------------------\n // PLANE transformations\n // Note: PLANE is an output-only coordinate system in DGGRID.\n // There are no PLANE_to_* transformations available.\n // Use other coordinate systems (GEO, SEQNUM, Q2DI, Q2DD, PROJTRI) as input.\n // -------------------------------------------------------------------------\n}\n"],"names":["ab","ArrayBuffer","u8","Uint8Array","u16","Uint16Array","i16","Int16Array","i32","Int32Array","slc","v","s","e","prototype","slice","call","length","n","set","subarray","fill","cpw","t","copyWithin","ec","err","ind","msg","nt","Error","code","captureStackTrace","rb","d","b","i","o","rzfh","dat","w","n3","flg","ss","cc","df","fcf","bt","db","di","fsb","fss","ws","wb","buf","y","l","buffer","u","c","m","Math","min","msb","val","bits","rfse","mal","tpos","al","sz","probs","sym","re","ht","freq","dstate","nstate","bb1","syms","nbits","cbt","msk","msk1fb","msv","sval","rbt","sympos","sstep","smask","sf","ns","nb","dllt","dmlt","doct","b2bl","len","bl","llb","llbl","mlb","mlbl","dhu","out","hu","lb","eb","st","btr","pos","dhu4","sz1","sz2","sz3","rzb","_a","b0","btype","ebt","b3","lbt","lss","lcs","s4","spl","h","hud","wc","hb","hw","rc","ri","fdt","epos","st1","st2","btr1","btr2","fpos","byte","wes","wt","mb","ts","rem","hbuf","pv","rhu","scm","dts","md","rbuf","_b","mlt","oct","llt","spos","oubt","lst","ost","mst","llc","lbtr","mlc","mbtr","ofc","obtr","ofp","off","ml","ll","idx","stin","bs","decompress","bufs","ol","push","blk","chk","cct","extract","raw","compressed","ret","p","indexOf","decode","async","libdggrid","moduleArg","Module","thisProgram","wasmBinary","readyPromiseResolve","readyPromiseReject","wasmBinaryFile","HEAP16","HEAP32","HEAP64","HEAP8","HEAPF32","HEAPF64","HEAPU16","HEAPU32","HEAPU64","HEAPU8","console","log","bind","error","ABORT","runtimeInitialized","updateMemoryViews","wasmMemory","Int8Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","abort","what","WebAssembly","RuntimeError","findWasmBinary","path","URL","url","href","getWasmBinary","binaryFile","response","readAsync","file","getBinarySync","instantiateAsync","binary","imports","startsWith","fetch","credentials","instantiateStreaming","reason","instantiate","instantiateArrayBuffer","ExitStatus","name","constructor","status","this","message","callRuntimeCallbacks","callbacks","shift","onPostRuns","addOnPostRun","cb","onPreRuns","addOnPreRun","noExitRuntime","stackSave","_emscripten_stack_get_current","ExceptionInfo","excPtr","ptr","set_type","type","get_type","set_destructor","destructor","get_destructor","set_caught","caught","get_caught","set_rethrown","rethrown","get_rethrown","init","set_adjusted_ptr","adjustedPtr","get_adjusted_ptr","AsciiToString","str","ch","String","fromCharCode","awaitingDependencies","registeredTypes","typeDependencies","BindingError","super","throwBindingError","registerType","rawType","registeredInstance","options","hasOwnProperty","ignoreDuplicateRegistrations","forEach","sharedRegisterType","integerReadValueFromPointer","width","signed","pointer","TypeError","throwInstanceAlreadyDeleted","obj","$$","ptrType","registeredClass","finalizationRegistry","detachFinalizer","handle","releaseClassHandle","count","value","smartPtr","smartPtrType","rawDestructor","runDestructor","attachFinalizer","globalThis","FinalizationRegistry","info","register","unregister","ClassHandle","createNamedFunction","func","Object","defineProperty","registeredPointers","ensureOverloadTable","proto","methodName","humanName","undefined","overloadTable","prevFunc","args","apply","argCount","exposePublicSymbol","numArguments","RegisteredClass","instancePrototype","baseClass","getActualType","upcast","downcast","pureVirtualFunctions","upcastPointer","ptrClass","desiredClass","embindRepr","toString","constNoSmartPtrRawPointerToWireType","destructors","isReference","handleClass","genericPointerToWireType","isSmartPointer","rawConstructor","isConst","sharingPolicy","clonedHandle","rawShare","Emval","toHandle","nonConstNoSmartPtrRawPointerToWireType","readPointer","fromWireType","downcastPointer","rv","registeredInstances","getInheritedInstance","class_","getBasestPointer","InternalError","throwInternalError","makeClassHandle","record","create","writable","RegisteredPointer_fromWireType","rawPointer","getPointee","makeDefaultHandle","pointeeType","toType","actualType","registeredPointerRecord","constPointerType","pointerType","dp","RegisteredPointer","rawGetPointee","toWireType","destructorFunction","replacePublicSymbol","wasmTableMirror","embind__requireFunction","signature","rawFunction","isAsync","funcPtr","fp","wasmTable","get","UnboundTypeError","getTypeName","___getTypeName","_free","throwUnboundTypeError","types","unboundTypes","seen","visit","map","join","whenDependentTypesAreResolved","myTypes","dependentTypes","getTypeConverters","onComplete","typeConverters","myTypeConverters","Array","unregisteredTypes","registered","dt","entries","heap32VectorToArray","firstElement","array","runDestructors","pop","del","craftInvokerFunction","argTypes","classType","cppInvokerFunc","cppTargetFunc","isClassMethodFunc","needsDestructorStack","usesDestructorStack","returns","isVoid","expectedArgCount","argsWired","invokerFuncArgs","thisWired","param","onDone","getFunctionName","argsIndex","trim","emval_freelist","emval_handles","__emval_decref","toValue","EmValType","readValueFromPointer","floatReadValueFromPointer","installIndexedIterator","sizeMethodName","getMethodName","makeIterator","size","getValue","index","next","done","current","Symbol","iterator","EmValOptionalType","assign","optional","stringToUTF8","outPtr","maxBytesToWrite","heap","outIdx","startIdx","endIdx","codePointAt","stringToUTF8Array","lengthBytesUTF8","charCodeAt","UTF8Decoder","TextDecoder","findStringEnd","heapOrArray","maxBytesToRead","ignoreNul","maxIdx","UTF8ArrayToString","endPtr","u0","u1","u2","UTF8ToString","UTF16Decoder","UTF16ToString","codeUnit","stringToUTF16","startPtr","numCharsToWrite","lengthBytesUTF16","UTF32ToString","utf32","fromCodePoint","stringToUTF32","codePoint","lengthBytesUTF32","emval_methodCallers","requireRegisteredType","impl","emval_symbols","getStringOrSymbol","address","symbol","__emval_invoke","caller","destructorsRef","alignMemory","alignment","ceil","growMemory","pages","byteLength","grow","ENV","getEnvStrings","strings","env","USER","LOGNAME","PATH","PWD","HOME","LANG","navigator","language","replace","_","x","_proc_exit","toThrow","quit_","_exit","implicit","_malloc","__emscripten_stack_restore","__emscripten_stack_alloc","printCharBuffers","printChar","stream","curr","getCFunc","ident","stackAlloc","ccall","returnType","opts","toC","string","stringToUTF8OnStack","arr","cArgs","stack","converter","Boolean","convertReturnValue","isAliasOf","other","leftClass","left","rightClass","right","clone","preservePointerOnDelete","getPrototypeOf","deleteScheduled","isDeleted","deleteLater","symbolDispose","dispose","init_ClassHandle","numericArgs","every","wasmExports","wasmImports","g","C","primitiveType","minRange","maxRange","isUnsignedType","bitSize","BigInt","asUintN","J","trueValue","falseValue","rawPointerType","rawConstPointerType","baseClassRawType","getActualTypeSignature","upcastSignature","downcastSignature","destructorSignature","legalFunctionName","f","makeLegalFunctionName","base","basePrototype","constructor_body","body","keys","__derivedClasses","referenceConverter","pointerConverter","constPointerConverter","rawClassType","rawArgTypesAddr","invokerSignature","invoker","rawArgTypes","splice","rawInvoker","context","isPureVirtual","isNonnullReturn","unboundTypesHandler","substring","method","className","memberFunction","H","a","fn","invokerArgsArray","concat","j","bitshift","k","rawElementType","dataTypeIndex","TA","decodeMemoryView","data","rawOptionalType","I","valueIsOfTypeString","isView","BYTES_PER_ELEMENT","charSize","decodeString","encodeString","lengthBytesUTF","K","dst","src","argTypesPtr","kind","retType","emval_lookupTypes","toReturnWire","argFromPtr","id","argN","functionName","offset","Reflect","construct","result","emval_returnValue","M","key","r","a1","a2","a3","a4","a5","view","L","q","z","timezone","daylight","std_name","dst_name","currentYear","Date","getFullYear","winter","summer","winterOffset","getTimezoneOffset","summerOffset","stdTimezoneOffset","max","Number","extractZone","timezoneOffset","sign","absOffset","abs","floor","padStart","winterName","summerName","D","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","newSize","A","__environ","environ_buf","bufSize","envp","Infinity","B","penviron_count","penviron_buf_size","N","F","fd","G","iov","iovcnt","pnum","E","whence","newOffset","num","receiveInstance","instance","module","assignWasmExports","exports","Promise","resolve","reject","inst","mod","receiveInstantiationResult","doRun","postRun","preRun","setTimeout","run","g_module","g_wasmBinary","Topology","Projection","unwrapAntimeridianRing","ring","minLon","maxLon","lon","lat","DEFAULT_DGGS","poleCoordinates","lng","azimuth","topology","HEXAGON","projection","ISEA","aperture","Webdggrid","_module","dggs","resolution","load","wrapper","then","catch","unload","version","setDggs","getResolution","setResolution","_main","nCells","apertureSequence","isApertureSequence","apSeq","cellAreaKM","cellDistKM","gridStatCLS","geoToSequenceNum","coordinates","xCoords","coord","yCoords","DgGEO_to_SEQNUM","sequenceNumToGeo","sequenceNum","resultArray","SEQNUM_to_GEO","arrayOfArrays","geoToGeo","GEO_to_GEO","sequenceNumToGrid","inputSize","SeqNumGrid","getExceptionMessage","allShapeVertexes","featureSet","xOffset","yOffset","reduce","accumulator","currentValue","numVertexes","sequenceNumToGridFeatureCollection","features","seqNum","geometry","properties","sequenceNumNeighbors","TRIANGLE","SEQNUMS_neighbors","counts","neighbors","sequenceNumParent","SEQNUMS_parents","sequenceNumAllParents","SEQNUMS_all_parents","_getParams","inner","sequenceNumChildren","SEQNUMS_children","children","sequenceNumToVertex2DD","SEQNUM_to_VERTEX2DD","vertex2DDToSequenceNum","keep","vertNum","triNum","VERTEX2DD_to_SEQNUM","sequenceNumToZOrder","SEQNUM_to_ZORDER","errMsg","includes","zOrderToSequenceNum","zorderValue","ZORDER_to_SEQNUM","sequenceNumToZ3","SEQNUM_to_Z3","z3ToSequenceNum","z3Value","Z3_to_SEQNUM","sequenceNumToZ7","SEQNUM_to_Z7","z7ToSequenceNum","z7Value","Z7_to_SEQNUM","z7GetQuad","Z7_QUAD_MASK","Z7_QUAD_OFFSET","z7GetDigit","res","Z7_MAX_RES","Z7_BITS_PER_DIGIT","Z7_DIGIT_MASK","z7SetDigit","digit","z7ExtractDigits","quad","digits","z3GetQuad","Z3_QUAD_MASK","Z3_QUAD_OFFSET","z3GetDigit","Z3_MAX_RES","Z3_BITS_PER_DIGIT","Z3_DIGIT_MASK","z3SetDigit","z3ExtractDigits","zOrderGetQuad","ZORDER_QUAD_MASK","ZORDER_QUAD_OFFSET","zOrderGetDigit","ZORDER_MAX_RES","ZORDER_BITS_PER_DIGIT","ZORDER_DIGIT_MASK","zOrderSetDigit","zOrderExtractDigits","geoToPlane","GEO_to_PLANE","output","geoToProjtri","GEO_to_PROJTRI","tnum","geoToQ2dd","GEO_to_Q2DD","geoToQ2di","GEO_to_Q2DI","sequenceNumToPlane","SEQNUM_to_PLANE","sequenceNumToProjtri","SEQNUM_to_PROJTRI","sequenceNumToQ2dd","SEQNUM_to_Q2DD","sequenceNumToQ2di","SEQNUM_to_Q2DI","q2diToGeo","coords","quads","is","js","Q2DI_to_GEO","q2diToSequenceNum","Q2DI_to_SEQNUM","q2diToPlane","Q2DI_to_PLANE","q2diToProjtri","Q2DI_to_PROJTRI","q2diToQ2dd","Q2DI_to_Q2DD","q2ddToGeo","xs","ys","Q2DD_to_GEO","q2ddToSequenceNum","Q2DD_to_SEQNUM","q2ddToPlane","Q2DD_to_PLANE","q2ddToProjtri","Q2DD_to_PROJTRI","q2ddToQ2di","Q2DD_to_Q2DI","projtriToGeo","tnums","PROJTRI_to_GEO","projtriToSequenceNum","PROJTRI_to_SEQNUM","projtriToPlane","PROJTRI_to_PLANE","projtriToQ2dd","PROJTRI_to_Q2DD","projtriToQ2di","PROJTRI_to_Q2DI"],"mappings":"AAEG,IAACA,EAAKC,YAAaC,EAAKC,WAAYC,EAAMC,YAAaC,EAAMC,WAA+BC,EAAMC,WACjGC,EAAM,SAAUC,EAAGC,EAAGC,GACtB,GAAIX,EAAGY,UAAUC,MACb,OAAOb,EAAGY,UAAUC,MAAMC,KAAKL,EAAGC,EAAGC,IAChC,MAALD,GAAaA,EAAI,KACjBA,EAAI,IACC,MAALC,GAAaA,EAAIF,EAAEM,UACnBJ,EAAIF,EAAEM,QACV,IAAIC,EAAI,IAAIhB,EAAGW,EAAID,GAEnB,OADAM,EAAEC,IAAIR,EAAES,SAASR,EAAGC,IACbK,CACX,EACIG,EAAO,SAAUV,EAAGO,EAAGN,EAAGC,GAC1B,GAAIX,EAAGY,UAAUO,KACb,OAAOnB,EAAGY,UAAUO,KAAKL,KAAKL,EAAGO,EAAGN,EAAGC,GAK3C,KAJS,MAALD,GAAaA,EAAI,KACjBA,EAAI,IACC,MAALC,GAAaA,EAAIF,EAAEM,UACnBJ,EAAIF,EAAEM,QACHL,EAAIC,IAAKD,EACZD,EAAEC,GAAKM,EACX,OAAOP,CACX,EACIW,EAAM,SAAUX,EAAGY,EAAGX,EAAGC,GACzB,GAAIX,EAAGY,UAAUU,WACb,OAAOtB,EAAGY,UAAUU,WAAWR,KAAKL,EAAGY,EAAGX,EAAGC,GAKjD,KAJS,MAALD,GAAaA,EAAI,KACjBA,EAAI,IACC,MAALC,GAAaA,EAAIF,EAAEM,UACnBJ,EAAIF,EAAEM,QACHL,EAAIC,GACPF,EAAEY,KAAOZ,EAAEC,IAEnB,EAaIa,EAAK,CACL,oBACA,kCACA,qBACA,wBACA,8BACA,kBAEAC,EAAM,SAAUC,EAAKC,EAAKC,GAC1B,IAAIhB,EAAI,IAAIiB,MAAMF,GAAOH,EAAGE,IAI5B,GAHAd,EAAEkB,KAAOJ,EACLG,MAAME,mBACNF,MAAME,kBAAkBnB,EAAGa,IAC1BG,EACD,MAAMhB,EACV,OAAOA,CACX,EACIoB,EAAK,SAAUC,EAAGC,EAAGjB,GAErB,IADA,IAAIkB,EAAI,EAAGC,EAAI,EACRD,EAAIlB,IAAKkB,EACZC,GAAKH,EAAEC,OAASC,GAAK,GACzB,OAAOC,CACX,EAGIC,EAAO,SAAUC,EAAKC,GACtB,IAHeN,EAAGC,EAGdM,EAAKF,EAAI,GAAMA,EAAI,IAAM,EAAMA,EAAI,IAAM,GAC7C,GAAU,SAANE,GAA4B,KAAVF,EAAI,GAAW,CAEjC,IAAIG,EAAMH,EAAI,GAEVI,EAAMD,GAAO,EAAK,EAAGE,EAAMF,GAAO,EAAK,EAAGG,EAAW,EAANH,EAASI,EAAMJ,GAAO,EAC/D,EAANA,GACAhB,EAAI,GAER,IAAIqB,EAAK,EAAIJ,EAETK,EAAW,GAANH,EAAU,EAAIA,EAEnBI,EAAKhB,EAAGM,EAAKQ,EAAIC,GAGjBE,EAAMJ,EAAO,GAAKA,EAAOH,EAEzBQ,EAAMlB,EAAGM,EAJbQ,GAAMC,EAIgBE,IAAgB,GAAPJ,GAAa,KAExCM,EAAKD,EACT,IAAKR,EAAI,CAEL,IAAIU,EAAK,GAAM,IAAMd,EAAI,IAAM,GAC/Ba,EAAKC,GAAMA,GAAM,IAAe,EAATd,EAAI,GAC/B,CACIa,EAAK,YACL1B,EAAI,GACR,IAAI4B,EAAM,IAAIpD,GAAS,GAALsC,EAAUW,GAAOC,EAAMZ,EAAI,EAAIY,GAAM,IAEvD,OADAE,EAAI,GAAK,EAAGA,EAAI,GAAK,EAAGA,EAAI,GAAK,EAC1B,CACHnB,EAAGY,EAAKG,EACRK,EAAG,EACHC,EAAG,EACHtB,EAAGe,EACHT,EAAIA,GAAU,GAALA,EAAUA,EAAIc,EAAIlC,SAAS,IACpCP,EAAGuC,EACHf,EAAG,IAAI7B,EAAI8C,EAAIG,OAAQ,EAAG,GAC1BC,EAAGP,EACHQ,EAAGf,EACHgB,EAAGC,KAAKC,IAAI,OAAQV,GAE5B,CACK,GAAoC,WAA9BX,GAAM,EAAMF,EAAI,IAAM,IAE7B,SAhDWL,EAgDDK,GAhDIJ,EAgDC,GAhDoBD,EAAEC,EAAI,IAAM,EAAMD,EAAEC,EAAI,IAAM,GAAOD,EAAEC,EAAI,IAAM,MAAS,GAgDzE,EAExBT,EAAI,EACR,EAEIqC,EAAM,SAAUC,GAEhB,IADA,IAAIC,EAAO,EACH,GAAKA,GAASD,IAAOC,GAE7B,OAAOA,EAAO,CAClB,EAEIC,EAAO,SAAU3B,EAAKQ,EAAIoB,GAE1B,IAAIC,EAAmB,GAAXrB,GAAM,GAEdsB,EAAsB,GAAN,GAAV9B,EAAIQ,IACVsB,EAAKF,GACLzC,EAAI,GAcR,IAZA,IAAI4C,EAAK,GAAKD,EAEVE,EAAQD,EAAIE,GAAM,EAAIC,GAAK,EAAIrC,KAAQsC,EAAKJ,EAE5ChB,EAAM,IAAItD,EAAG,KAAOsE,GAAM,IAC1BK,EAAO,IAAIrE,EAAIgD,EAAK,EAAG,KAEvBsB,EAAS,IAAIxE,EAAIkD,EAAK,EAAG,KACzBuB,EAAS,IAAIzE,EAAIkD,EAAK,IAAKgB,GAC3BQ,EAAM,KAAOR,GAAM,GACnBS,EAAO,IAAI7E,EAAGoD,EAAKwB,EAAKR,GACxBU,EAAQ,IAAI9E,EAAGoD,EAAKwB,EAAMR,GACvBE,EAAM,KAAOD,EAAQ,GAAG,CAC3B,IAAIN,EAAOF,EAAIQ,EAAQ,GACnBU,EAAMb,GAAQ,EAEdc,GAAO,GAAMjB,EAAO,GAAM,EAC1BD,GAAQzB,EAAI0C,GAAQ1C,EAAI0C,EAAM,IAAM,EAAM1C,EAAI0C,EAAM,IAAM,MAAgB,EAAPb,GAAac,EAEhFC,GAAU,GAAKlB,GAAQ,EAEvBmB,EAAMF,EAAMX,EAAQ,EAEpBc,EAAOrB,EAAMmB,EAejB,GAdIE,EAAOD,GACPhB,GAAQH,EAAMD,EAAMqB,IAEpBjB,GAAQH,EAAO,EACXD,EAAMmB,IACNnB,GAAOoB,IAEfT,IAAOH,KAASR,GACL,GAAPA,GACAO,GAASP,EACTe,IAAOL,GAAMF,GAGbD,GAASP,GACRA,EACD,EAAG,CAEC,IAAIsB,EAAMlB,GAAQ,EAClBK,GAAOlC,EAAI+C,GAAQ/C,EAAI+C,EAAM,IAAM,KAAe,EAAPlB,GAAa,EACxDA,GAAQ,EACRI,GAAOC,CACX,OAAe,GAANA,EAEjB,EACID,EAAM,KAAOD,IACb7C,EAAI,GAMR,IALA,IAAI6D,EAAS,EAETC,GAASlB,GAAM,IAAMA,GAAM,GAAK,EAEhCmB,EAAQnB,EAAK,EACR1D,EAAI,EAAGA,GAAK4D,IAAO5D,EAAG,CAC3B,IAAI8E,EAAKf,EAAK/D,GACd,GAAI8E,EAAK,EACLd,EAAOhE,IAAM8E,OAIjB,IAAKtD,EAAI,EAAGA,EAAIsD,IAAMtD,EAAG,CACrB2C,EAAKQ,GAAU3E,EACf,GACI2E,EAAUA,EAASC,EAASC,QACvBF,GAAUb,EACvB,CACJ,CAIA,IAFIa,GACA7D,EAAI,GACHU,EAAI,EAAGA,EAAIkC,IAAMlC,EAAG,CAErB,IAAIuD,EAAKf,EAAOG,EAAK3C,MAEjBwD,EAAKZ,EAAM5C,GAAKiC,EAAKN,EAAI4B,GAC7Bd,EAAOzC,IAAMuD,GAAMC,GAAMtB,CAC7B,CACA,MAAO,CAAEF,EAAO,GAAM,EAAG,CACjBjC,EAAGkC,EACHzD,EAAGmE,EACH7D,EAAG8D,EACHzD,EAAGsD,GAEf,EA4GIgB,EAAqB3B,EAAmB,IAAIhE,EAAG,CAC/C,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAC/E,EAAG,GAAG,GAEN4F,EAAqB5B,EAAmB,IAAIhE,EAAG,CAC/C,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,EAAG,GAAI,IAAK,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC1G,EAAG,GAAG,GAEN6F,EAAsB7B,EAAmB,IAAIhE,EAAG,CAChD,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAClD,EAAG,GAAG,GAEN8F,EAAO,SAAU7D,EAAGvB,GAEpB,IADA,IAAIqF,EAAM9D,EAAElB,OAAQiF,EAAK,IAAI1F,EAAIyF,GACxB7D,EAAI,EAAGA,EAAI6D,IAAO7D,EACvB8D,EAAG9D,GAAKxB,EACRA,GAAK,GAAKuB,EAAEC,GAEhB,OAAO8D,CACX,EAEIC,EAAqB,IAAIjG,EAAG,IAAoBM,EAAI,CACpD,EAAG,EAAG,EAAG,EAAG,SAAU,SAAU,UAAW,UAAW,YACtDiD,OAAQ,EAAG,IAEX2C,EAAsBJ,EAAKG,EAAK,GAEhCE,EAAqB,IAAInG,EAAG,IAAoBM,EAAI,CACpD,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,SAAU,SAAU,UAAW,UAAW,UAAW,KAC7EiD,OAAQ,EAAG,IAEX6C,EAAsBN,EAAKK,EAAK,GAEhCE,EAAM,SAAUhE,EAAKiE,EAAKC,GAC1B,IAAIR,EAAM1D,EAAItB,OAAQ0B,EAAK6D,EAAIvF,OAAQyF,EAAKnE,EAAI0D,EAAM,GAAIf,GAAO,GAAKuB,EAAGtE,GAAK,EAAGwE,GAAMF,EAAGtE,EACrFuE,GACDhF,EAAI,GAER,IADA,IAAIkF,EAAK,EAAGC,EAAMJ,EAAGtE,EAAG2E,GAAOb,GAAO,GAAK,EAAIlC,EAAI2C,GAAMG,EAAKzE,GAAI,EAC3D0E,EAAMH,GAAMvE,EAAIO,GAAK,CACxB,IAAIsC,EAAM6B,GAAO,EAEjBF,GAAOA,GAAMC,GADFtE,EAAI0C,GAAQ1C,EAAI0C,EAAM,IAAM,EAAM1C,EAAI0C,EAAM,IAAM,MAAe,EAAN6B,IAC3C5B,EAC3BsB,IAAMpE,GAAKqE,EAAG7F,EAAEgG,GAChBE,GAAQD,EAAMJ,EAAGvF,EAAE0F,EACvB,CACIE,GAAOH,GAAMvE,EAAI,GAAKO,GACtBjB,EAAI,EACZ,EAGIqF,EAAO,SAAUxE,EAAKiE,EAAKC,GAC3B,IAAI1D,EAAK,EACYiE,EAAZR,EAAIvF,OAAoB,GAAM,EAAGgG,EAAMD,GAAO,EAAGE,EAAMF,EAAMC,EACtEV,EAAIhE,EAAInB,SAAS2B,EAAIA,GAAMR,EAAI,GAAMA,EAAI,IAAM,GAAKiE,EAAIpF,SAAS,EAAG4F,GAAMP,GAC1EF,EAAIhE,EAAInB,SAAS2B,EAAIA,GAAMR,EAAI,GAAMA,EAAI,IAAM,GAAKiE,EAAIpF,SAAS4F,EAAKC,GAAMR,GAC5EF,EAAIhE,EAAInB,SAAS2B,EAAIA,GAAMR,EAAI,GAAMA,EAAI,IAAM,GAAKiE,EAAIpF,SAAS6F,EAAKC,GAAMT,GAC5EF,EAAIhE,EAAInB,SAAS2B,GAAKyD,EAAIpF,SAAS8F,GAAMT,EAC7C,EAEIU,EAAM,SAAU5E,EAAKqE,EAAIJ,GACzB,IAAIY,EACArE,EAAK6D,EAAGzE,EAERkF,EAAK9E,EAAIQ,GAAKuE,EAASD,GAAM,EAAK,EACtCT,EAAGpD,EAAS,EAAL6D,EACP,IAAI/C,EAAM+C,GAAM,EAAM9E,EAAIQ,EAAK,IAAM,EAAMR,EAAIQ,EAAK,IAAM,GAEtDwE,GAAOxE,GAAM,GAAKuB,EACtB,GAAa,GAATgD,EAAY,CACZ,GAAIvE,GAAMR,EAAItB,OACV,OAEJ,OADA2F,EAAGzE,EAAIY,EAAK,EACRyD,GACAnF,EAAKmF,EAAKjE,EAAIQ,GAAK6D,EAAGrD,EAAGqD,EAAGrD,GAAKe,GAC1BkC,GAEJnF,EAAK,IAAInB,EAAGoE,GAAK/B,EAAIQ,GAChC,CACA,KAAIwE,EAAMhF,EAAItB,QAAd,CAEA,GAAa,GAATqG,EAEA,OADAV,EAAGzE,EAAIoF,EACHf,GACAA,EAAIrF,IAAIoB,EAAInB,SAAS2B,EAAIwE,GAAMX,EAAGrD,GAClCqD,EAAGrD,GAAKe,EACDkC,GAEJ9F,EAAI6B,EAAKQ,EAAIwE,GAExB,GAAa,GAATD,EAAY,CAEZ,IAAIE,EAAKjF,EAAIQ,GAAK0E,EAAW,EAALD,EAAQ9B,EAAM8B,GAAM,EAAK,EAE7CE,EAAMF,GAAM,EAAGG,EAAM,EAAGC,EAAK,EAC7BH,EAAM,EACG,EAAL/B,EACAgC,GAAQnF,IAAMQ,IAAO,GAAY,EAAL2C,GAAYnD,IAAMQ,IAAO,IAErD2E,EAAMF,GAAM,GAGhBI,EAAKlC,EACDA,EAAK,GACLgC,IAAqB,GAAZnF,IAAMQ,KAAa,EAAI4E,EAAOpF,EAAIQ,IAAO,EAAMR,IAAMQ,IAAO,GAC1D,GAAN2C,GACLgC,GAAQnF,IAAMQ,IAAO,GAAmB,EAAZR,IAAMQ,KAAY,GAAK4E,EAAOpF,EAAIQ,IAAO,EAAMR,IAAMQ,IAAO,IAExF2E,GAAQnF,IAAMQ,IAAO,GAAmB,GAAZR,IAAMQ,KAAa,GAAK4E,EAAOpF,EAAIQ,IAAO,EAAMR,IAAMQ,IAAO,EAAMR,IAAMQ,IAAO,OAElHA,EAEF,IAAIO,EAAMkD,EAAMA,EAAIpF,SAASwF,EAAGrD,EAAGqD,EAAGrD,EAAIqD,EAAGhD,GAAK,IAAI1D,EAAG0G,EAAGhD,GAExDiE,EAAMvE,EAAIrC,OAASyG,EACvB,GAAW,GAAPD,EACAnE,EAAInC,IAAIoB,EAAInB,SAAS2B,EAAIA,GAAM2E,GAAMG,QACpC,GAAW,GAAPJ,EACLpG,EAAKiC,EAAKf,EAAIQ,KAAO8E,OACpB,CAED,IAAIpB,EAAKG,EAAGkB,EACZ,GAAW,GAAPL,EAAU,CACV,IAAIM,EApOV,SAAUxF,EAAKQ,GAErB,IAAIX,EAAI,EAAG4F,GAAK,EAEZ1E,EAAM,IAAIpD,EAAG,KAAM+H,EAAK1F,EAAIQ,GAE5BmF,EAAK5E,EAAIlC,SAAS,EAAG,KAErB+G,EAAK7E,EAAIlC,SAAS,IAAK,KAEvBgH,EAAK,IAAIhI,EAAIkD,EAAIG,OAAQ,KAE7B,GAAIwE,EAAK,IAAK,CAEV,IAAIb,EAAKlD,EAAK3B,EAAKQ,EAAK,EAAG,GAAIwE,EAAMH,EAAG,GAAIiB,EAAMjB,EAAG,GAEjDkB,EAAOf,GAAO,EAEdb,EAAKnE,EAHTQ,GAAMkF,GAIDvB,GACDhF,EAAI,GAMR,IAJA,IAAI6G,EAAM,EAAGC,EAAM,EAAGC,EAAOJ,EAAIlG,EAAGuG,EAAOD,EAGvCE,KAAU5F,GAAM,GAAK,EAAIgB,EAAI2C,MAE7BiC,GAAQF,GACGH,IAFN,CAIL,IAAIrD,EAAM0D,GAAQ,EAIlB,GAHAJ,IAAShG,EAAI0C,GAAQ1C,EAAI0C,EAAM,IAAM,KAAe,EAAP0D,IAAe,GAAKF,GAAQ,EACzEP,IAAKF,GAAMK,EAAIzH,EAAE2H,IACjBI,GAAQD,GACGJ,EACP,MAEJE,IAASjG,EADT0C,EAAM0D,GAAQ,GACOpG,EAAI0C,EAAM,IAAM,KAAe,EAAP0D,IAAe,GAAKD,GAAQ,EACzER,IAAKF,GAAMK,EAAIzH,EAAE4H,GACjBC,EAAOJ,EAAInH,EAAEqH,GACbA,EAAMF,EAAI9G,EAAEgH,GACZG,EAAOL,EAAInH,EAAEsH,GACbA,EAAMH,EAAI9G,EAAEiH,EAChB,GACMR,EAAK,KACPtG,EAAI,EACZ,KACK,CAED,IADAsG,EAAKC,EAAK,IACH7F,EAAI4F,EAAI5F,GAAK,EAAG,CACnB,IAAIwG,EAAOrG,IAAMQ,GACjBmF,EAAG9F,GAAKwG,GAAQ,EAChBV,EAAG9F,EAAI,GAAY,GAAPwG,CAChB,GACE7F,CACN,CAEA,IAAI8F,EAAM,EACV,IAAKzG,EAAI,EAAGA,EAAI4F,IAAM5F,GACd0G,EAAKZ,EAAG9F,IAEH,IACLV,EAAI,GACRmH,GAAOC,GAAO,GAAMA,EAAK,EAG7B,IAAIC,EAAKhF,EAAI8E,GAAO,EAEhBG,EAAK,GAAKD,EAEVE,EAAMD,EAAKH,EAKf,IAHII,EAAOA,EAAM,GACbvH,EAAI,GACRwG,EAAGF,KAAQjE,EAAIkF,GAAO,EACjB7G,EAAI,EAAGA,EAAI4F,IAAM5F,EAAG,CACrB,IAAI0G,EAAKZ,EAAG9F,KACV+F,EAAGD,EAAG9F,GAAK0G,GAAOC,EAAK,EAAID,EACjC,CAEA,IAAII,EAAO,IAAIhJ,EAAG8I,GAAM,GAEpBjE,EAAOmE,EAAK9H,SAAS,EAAG4H,GAAKpD,EAAKsD,EAAK9H,SAAS4H,GAEpD,IADAZ,EAAGW,GAAM,EACJ3G,EAAI2G,EAAI3G,EAAI,IAAKA,EAAG,CACrB,IAAI+G,EAAKf,EAAGhG,GACZf,EAAKuE,EAAIxD,EAAG+G,EAAIf,EAAGhG,EAAI,GAAK+G,EAAKhB,EAAG/F,IAAM,GAAM2G,EAAK3G,GACzD,CAGA,IAFIgG,EAAG,IAAMY,GACTtH,EAAI,GACHU,EAAI,EAAGA,EAAI4F,IAAM5F,EAAG,CACrB,IAAI6B,EAAOiE,EAAG9F,GACd,GAAI6B,EAAM,CACN,IAAIlC,EAAOqG,EAAGnE,GACd5C,EAAK0D,EAAM3C,EAAGL,EAAMqG,EAAGnE,GAAQlC,GAAQ,GAAMgH,EAAK9E,GACtD,CACJ,CACA,MAAO,CAAClB,EAAI,CACJ7B,EAAG0E,EACHzD,EAAG4G,EACHnI,EAAGmE,GAEf,CA8H0BqE,CAAI7G,EAAKQ,GAEnB4E,GAAO5E,GAAMA,EAAKgF,EAAI,IACtBnB,EAAGkB,EAAIrB,EAAKsB,EAAI,EACpB,MACUtB,GACN/E,EAAI,IACPkG,EAAKb,EAAOR,GAAKhE,EAAInB,SAAS2B,EAAIA,GAAM4E,GAAMrE,EAAIlC,SAASyG,GAAMpB,EACtE,CAEA,IAAId,EAAKpD,EAAIQ,KACb,GAAI4C,EAAI,CACM,KAANA,EACAA,EAAsC,OAAhCpD,EAAIQ,KAASR,EAAIQ,MAAS,GAC3B4C,EAAK,MACVA,EAAOA,EAAK,KAAQ,EAAKpD,EAAIQ,MAEjC,IAAIsG,EAAM9G,EAAIQ,KACJ,EAANsG,GACA3H,EAAI,GAER,IADA,IAAI4H,EAAM,CAACxD,EAAMC,EAAMF,GACdzD,EAAI,EAAGA,GAAI,IAAMA,EAAG,CACzB,IAAImH,EAAMF,GAAmB,GAAVjH,GAAK,GAAW,EACnC,GAAU,GAANmH,EAAS,CAET,IAAIC,EAAO,IAAItJ,EAAG,CAAC,EAAG,EAAGqC,EAAIQ,OAC7BuG,EAAIlH,GAAK,CACLxB,EAAG4I,EAAKpI,SAAS,EAAG,GACpBF,EAAGsI,EAAKpI,SAAS,EAAG,GACpBG,EAAG,IAAInB,EAAIoJ,EAAK/F,OAAQ,EAAG,GAC3BtB,EAAG,EAEX,MACe,GAANoH,GAE4BxG,GAAjCqE,EAAKlD,EAAK3B,EAAKQ,EAAI,GAAS,EAAJX,KAAiB,GAAIkH,EAAIlH,GAAKgF,EAAG,IAE9C,GAANmC,IACA3C,EAAGrF,GACJG,EAAI,GACR4H,EAAIlH,GAAKwE,EAAGrF,EAAEa,GAEtB,CACA,IAAIqH,EAAK7C,EAAGrF,EAAI+H,EAAKI,EAAMD,EAAG,GAAIE,EAAMF,EAAG,GAAIG,EAAMH,EAAG,GACpD/C,EAAKnE,EAAIgF,EAAM,GACdb,GACDhF,EAAI,GACR,IAAImI,GAAQtC,GAAO,GAAK,EAAIxD,EAAI2C,GAAMkD,EAAIzH,EAAG8C,EAAM4E,GAAQ,EAAGC,EAAO,EACjEC,GAAQxH,EAAI0C,GAAQ1C,EAAI0C,EAAM,IAAM,KAAe,EAAP4E,IAAe,GAAKD,EAAIzH,GAAK,EAEzE6H,GAAQzH,EADZ0C,GAAO4E,GAAQF,EAAIxH,IAAM,GACDI,EAAI0C,EAAM,IAAM,KAAe,EAAP4E,IAAe,GAAKF,EAAIxH,GAAK,EAEzE8H,GAAQ1H,EADZ0C,GAAO4E,GAAQH,EAAIvH,IAAM,GACDI,EAAI0C,EAAM,IAAM,KAAe,EAAP4E,IAAe,GAAKH,EAAIvH,GAAK,EAC7E,MAAOwD,IAAMA,GAAK,CACd,IAAIuE,EAAMN,EAAIhJ,EAAEmJ,GACZI,EAAOP,EAAI1I,EAAE6I,GACbK,GAAMV,EAAI9I,EAAEqJ,GACZI,GAAOX,EAAIxI,EAAE+I,GACbK,GAAMX,EAAI/I,EAAEoJ,GACZO,GAAOZ,EAAIzI,EAAE8I,GAEbQ,GAAM,GAAKF,GACXG,GAAMD,KAASjI,EAFnB0C,GAAO4E,GAAQS,KAAQ,GAEQ/H,EAAI0C,EAAM,IAAM,EAAM1C,EAAI0C,EAAM,IAAM,GAAO1C,EAAI0C,EAAM,IAAM,OAAiB,EAAP4E,GAAcW,GAAM,GAC1HvF,GAAO4E,GAAQxD,EAAI+D,MAAS,EAC5B,IAAIM,GAAKpE,EAAK8D,MAAU7H,EAAI0C,GAAQ1C,EAAI0C,EAAM,IAAM,EAAM1C,EAAI0C,EAAM,IAAM,MAAgB,EAAP4E,IAAe,GAAKxD,EAAI+D,KAAQ,GACnHnF,GAAO4E,GAAQ1D,EAAI+D,KAAS,EAC5B,IAAIS,GAAKvE,EAAK8D,KAAU3H,EAAI0C,GAAQ1C,EAAI0C,EAAM,IAAM,EAAM1C,EAAI0C,EAAM,IAAM,MAAgB,EAAP4E,IAAe,GAAK1D,EAAI+D,IAAQ,GAOnH,GANAjF,GAAO4E,GAAQM,IAAS,EACxBJ,EAAMH,EAAIrI,EAAEwI,KAAUxH,EAAI0C,GAAQ1C,EAAI0C,EAAM,IAAM,KAAe,EAAP4E,IAAe,GAAKM,GAAQ,GACtFlF,GAAO4E,GAAQQ,KAAS,EACxBJ,EAAMP,EAAInI,EAAE0I,KAAU1H,EAAI0C,GAAQ1C,EAAI0C,EAAM,IAAM,KAAe,EAAP4E,IAAe,GAAKQ,IAAQ,GACtFpF,GAAO4E,GAAQU,KAAS,EACxBP,EAAML,EAAIpI,EAAEyI,KAAUzH,EAAI0C,GAAQ1C,EAAI0C,EAAM,IAAM,KAAe,EAAP4E,IAAe,GAAKU,IAAQ,GAClFE,GAAM,EACN7D,EAAGvE,EAAE,GAAKuE,EAAGvE,EAAE,GACfuE,EAAGvE,EAAE,GAAKuE,EAAGvE,EAAE,GACfuE,EAAGvE,EAAE,GAAKoI,IAAO,MAEhB,CACD,IAAIG,GAAMH,IAAa,GAANE,IACbC,IACAH,GAAa,GAAPG,GAAWhE,EAAGvE,EAAE,GAAK,EAAIuE,EAAGvE,EAAEuI,IAChCA,GAAM,IACNhE,EAAGvE,EAAE,GAAKuE,EAAGvE,EAAE,IACnBuE,EAAGvE,EAAE,GAAKuE,EAAGvE,EAAE,GACfuE,EAAGvE,EAAE,GAAKoI,IAGVA,GAAM7D,EAAGvE,EAAE,EACnB,CACA,IAASD,EAAI,EAAGA,EAAIuI,KAAMvI,EACtBkB,EAAIwG,EAAO1H,GAAKkB,EAAIuE,EAAMzF,GAElByF,GAAO8C,GACnB,IAAIE,IADJf,GAAQa,IACUF,GAClB,GAAII,GAAO,EAAG,CACV,IAAI5E,IAAO4E,GACPC,GAAKlE,EAAG/F,EAAIgK,GACZ5E,GAAMyE,KACNzE,GAAMyE,IACV,IAAStI,EAAI,EAAGA,EAAI6D,KAAO7D,EACvBkB,EAAIwG,EAAO1H,GAAKwE,EAAGpE,EAAEsI,GAAK1I,GAE9B0H,GAAQ7D,GAAKyE,IAAMzE,GAAK4E,GAAO,CACnC,CACA,IAASzI,EAAI,EAAGA,EAAIsI,KAAMtI,EACtBkB,EAAIwG,EAAO1H,GAAKkB,EAAIuH,GAAOzI,GAE/B0H,GAAQY,EACZ,CACA,GAAIZ,GAAQjC,EACR,KAAOA,EAAMvE,EAAIrC,QACbqC,EAAIwG,KAAUxG,EAAIuE,UAItBiC,EAAOxG,EAAIrC,OACXuF,EACAI,EAAGrD,GAAKuG,EAERxG,EAAM5C,EAAI4C,EAAK,EAAGwG,EAC1B,MACK,GAAItD,GAEL,GADAI,EAAGrD,GAAKmE,EACJG,EACA,IAASzF,EAAI,EAAGA,EAAIsF,IAAOtF,EACvBkB,EAAIlB,GAAKkB,EAAIuE,EAAMzF,QAItByF,IACLvE,EAAM5C,EAAI4C,EAAKuE,IAEnB,OADAjB,EAAGzE,EAAIoF,EACAjE,CACX,CACA5B,EAAI,EAlLA,CAmLR,EAsBO,SAASqJ,EAAWxI,EAAKe,GAG5B,IAFA,IAAI0H,EAAO,GAAIpF,IAAOtC,EAClBP,EAAK,EAAGkI,EAAK,EACV1I,EAAItB,QAAS,CAChB,IAAI2F,EAAKtE,EAAKC,EAAKqD,GAAMtC,GACzB,GAAiB,iBAANsD,EAAgB,CAYvB,IAXIhB,GACAtC,EAAM,KACFsD,EAAGpE,EAAEvB,QAAU2F,EAAGlD,IAClBsH,EAAKE,KAAK5H,EAAMsD,EAAGpE,GACnByI,GAAMrE,EAAGlD,KAIbsH,EAAKE,KAAK5H,GACVsD,EAAG/F,EAAI,IAEH+F,EAAGpD,GAAI,CACX,IAAI2H,EAAMhE,EAAI5E,EAAKqE,EAAItD,GAClB6H,GACDzJ,EAAI,GACJ4B,EACAsD,EAAG/F,EAAI+F,EAAGrD,GAEVyH,EAAKE,KAAKC,GACVF,GAAME,EAAIlK,OACVK,EAAIsF,EAAGpE,EAAG,EAAG2I,EAAIlK,QACjB2F,EAAGpE,EAAErB,IAAIgK,EAAKvE,EAAGpE,EAAEvB,OAASkK,EAAIlK,QAExC,CACA8B,EAAK6D,EAAGzE,EAAY,EAAPyE,EAAGjD,CACpB,MAEIZ,EAAK6D,EACTrE,EAAMA,EAAInB,SAAS2B,EACvB,CACA,OAxDM,SAAUiI,EAAMC,GACtB,GAAmB,GAAfD,EAAK/J,OACL,OAAO+J,EAAK,GAEhB,IADA,IAAI1H,EAAM,IAAIpD,EAAG+K,GACR7I,EAAI,EAAGD,EAAI,EAAGC,EAAI4I,EAAK/J,SAAUmB,EAAG,CACzC,IAAIgJ,EAAMJ,EAAK5I,GACfkB,EAAInC,IAAIiK,EAAKjJ,GACbA,GAAKiJ,EAAInK,MACb,CACA,OAAOqC,CACX,CA8CW+H,CAAIL,EAAMC,EACrB,CClmBM,SAAUK,EAAQC,GACpB,MAAMC,EAnCV,SAAgBD,GACZ,MAAMtF,EAAMsF,EAAItK,OACVwK,EAAgB,GAEtB,IAAItJ,EAAI,EACJjB,EAAI,EACJP,GAAI,EAER,IAAK,IAAIyB,EAAI,EAAGA,EAAI6D,EAAK7D,IAAK,CAC1B,MAAMsJ,EAXA,8FAWUC,QAAQJ,EAAInJ,IAE5B,IAAU,IAANsJ,EACJ,GAAI/K,EAAI,EACJA,EAAI+K,MACD,CACH/K,GAAS,GAAJ+K,EACLvJ,GAAKxB,GAAKO,EACVA,IAAU,KAAJP,GAAY,GAAK,GAAK,GAC5B,GACI8K,EAAIP,KAAS,IAAJ/I,GACTA,IAAM,EACNjB,GAAK,QACAA,EAAI,GACbP,GAAI,CACR,CACJ,CAMA,OAJIA,GAAI,GACJ8K,EAAIP,KAAoB,KAAd/I,EAAIxB,GAAKO,IAGhB,IAAIf,WAAWsL,EAC1B,CAGuBG,CAAOL,GAC1B,OAAOR,EAAWS,EACtB,CC1CAK,eAAeC,EAAUC,EAAU,CAAA,GAAI,IAAkBC,EAAOD,EAAgCE,EAAY,iBAAgR,IAA0EC,EAAoKC,EAAoBC,EAAwlCC,EAAg+DC,EAAWC,EAAWC,EAAWC,EAAUC,EAAYC,EAAYC,EAAYC,EAAYC,EAAYC,EAA75GvG,EAAIwG,QAAQC,IAAIC,KAAKF,SAAatL,EAAIsL,QAAQG,MAAMD,KAAKF,SAA4BI,GAAM,EAA0LC,GAAmB,EAAM,SAASC,IAAoB,IAAInL,EAAEoL,GAAW9J,OAAOgJ,EAAM,IAAIe,UAAUrL,GAAGmK,EAAO,IAAI/L,WAAW4B,GAAG4K,EAAO,IAAI5M,WAAWgC,GAAGyK,EAAQ,IAAIvM,YAAY8B,GAAGoK,EAAO,IAAI9L,WAAW0B,GAAG0K,EAAQ,IAAIY,YAAYtL,GAAGuK,EAAQ,IAAIgB,aAAavL,GAAGwK,EAAQ,IAAIgB,aAAaxL,GAAGqK,EAAO,IAAIoB,cAAczL,GAAG2K,EAAQ,IAAIe,eAAe1L,EAAE,CAAghB,SAAS2L,EAAMC,GAAM/B,EAAgB,UAAI+B,GAA8BrM,EAAxBqM,EAAK,WAAWA,MAAkBX,GAAM,EAAKW,GAAM,2CAA2C,IAAIlN,EAAE,IAAImN,YAAYC,aAAaF,GAA8B,MAAxB3B,IAAqBvL,GAASA,CAAC,CAAoB,SAASqN,IAAiB,OAAGlC,EAAmB,YAAjiDmC,EAAsjD,iBAA7iDnC,EAAmB,WAAUA,EAAmB,WAAEmC,EAAlF,OAA+HA,GAAu+C,IAAIC,IAAI,6BAA6BC,KAAKC,KAA7oD,IAAoBH,CAA6nD,CAAmMtC,eAAe0C,EAAcC,GAAY,IAAItC,EAAY,IAAI,IAAIuC,aAAhxDC,GAAyyDF,GAAY,OAAO,IAAIrO,WAAWsO,EAAS,CAAC,MAAM,CAAE,OAAhV,SAAuBE,GAAM,GAAGA,GAAMtC,GAAgBH,EAAY,OAAO,IAAI/L,WAAW+L,GAAmD,KAAK,iDAAiD,CAAsJ0C,CAAcJ,EAAW,CAA0Q3C,eAAegD,EAAiBC,EAAON,EAAWO,GAAS,IAAID,IAAmBN,EAA7iEQ,WAAW,WAA+iE,IAAI,IAAIP,EAASQ,MAAMT,EAAW,CAACU,YAAY,gBAAiG,aAAnDlB,YAAYmB,qBAAqBV,EAASM,EAAmC,CAAC,MAAMK,GAAQ1N,EAAI,kCAAkC0N,KAAU1N,EAAI,4CAA4C,CAAE,OAAnoBmK,eAAsC2C,EAAWO,GAAS,IAAI,IAAID,QAAaP,EAAcC,GAAuE,aAAxCR,YAAYqB,YAAYP,EAAOC,EAAwB,CAAC,MAAMK,GAAQ1N,EAAI,0CAA0C0N,KAAUtB,EAAMsB,EAAO,CAAC,CAAkYE,CAAuBd,EAAWO,EAAQ,CAAypB,MAAMQ,EAAWC,KAAK,aAAa,WAAAC,CAAYC,GAAQC,KAAKC,QAAQ,gCAAgCF,KAAUC,KAAKD,OAAOA,CAAM,EAAoH,IAAIG,EAAqBC,IAAY,KAAMA,EAAU7O,OAAO,GAAG6O,EAAUC,OAAVD,CAAkB9D,IAAcgE,EAAW,GAAOC,EAAaC,GAAIF,EAAW9E,KAAKgF,GAAQC,EAAU,GAAOC,EAAYF,GAAIC,EAAUjF,KAAKgF,GAAQG,GAAc,EAA+DC,EAAU,IAAIC,KAAgC,MAAMC,EAAc,WAAAf,CAAYgB,GAAQd,KAAKc,OAAOA,EAAOd,KAAKe,IAAID,EAAO,EAAE,CAAC,QAAAE,CAASC,GAAM/D,EAAQ8C,KAAKe,IAAI,GAAG,GAAGE,CAAI,CAAC,QAAAC,GAAW,OAAOhE,EAAQ8C,KAAKe,IAAI,GAAG,EAAE,CAAC,cAAAI,CAAeC,GAAYlE,EAAQ8C,KAAKe,IAAI,GAAG,GAAGK,CAAU,CAAC,cAAAC,GAAiB,OAAOnE,EAAQ8C,KAAKe,IAAI,GAAG,EAAE,CAAC,UAAAO,CAAWC,GAAQA,EAAOA,EAAO,EAAE,EAAEzE,EAAMkD,KAAKe,IAAI,IAAIQ,CAAM,CAAC,UAAAC,GAAa,OAA2B,GAApB1E,EAAMkD,KAAKe,IAAI,GAAM,CAAC,YAAAU,CAAaC,GAAUA,EAASA,EAAS,EAAE,EAAE5E,EAAMkD,KAAKe,IAAI,IAAIW,CAAQ,CAAC,YAAAC,GAAe,OAA2B,GAApB7E,EAAMkD,KAAKe,IAAI,GAAM,CAAC,IAAAa,CAAKX,EAAKG,GAAYpB,KAAK6B,iBAAiB,GAAG7B,KAAKgB,SAASC,GAAMjB,KAAKmB,eAAeC,EAAW,CAAC,gBAAAS,CAAiBC,GAAa5E,EAAQ8C,KAAKe,IAAI,IAAI,GAAGe,CAAW,CAAC,gBAAAC,GAAmB,OAAO7E,EAAQ8C,KAAKe,IAAI,IAAI,EAAE,EAA+B,IAAuKiB,EAAcjB,IAAiB,IAAX,IAAIkB,EAAI,KAAW,CAAC,IAAIC,EAAG9E,EAAO2D,KAAO,IAAImB,EAAG,OAAOD,EAAIA,GAAKE,OAAOC,aAAaF,EAAG,GAAOG,EAAqB,CAAA,EAAOC,EAAgB,GAAOC,EAAiB,CAAA,EAAOC,EAAa,cAA2BrQ,MAAM,WAAA2N,CAAYG,GAASwC,MAAMxC,GAASD,KAAKH,KAAK,cAAc,GAAO6C,EAAkBzC,IAAU,MAAM,IAAIuC,EAAavC,IAAmlB,SAAS0C,EAAaC,EAAQC,EAAmBC,EAAQ,IAAI,OAAtoB,SAA4BF,EAAQC,EAAmBC,EAAQ,CAAA,GAAI,IAAIjD,EAAKgD,EAAmBhD,KAAkG,GAAzF+C,GAASF,EAAkB,SAAS7C,kDAAwDyC,EAAgBS,eAAeH,GAAS,CAAC,GAAGE,EAAQE,6BAA8B,OAAYN,EAAkB,yBAAyB7C,WAAe,CAA8E,GAA7EyC,EAAgBM,GAASC,SAA0BN,EAAiBK,GAAYP,EAAqBU,eAAeH,GAAS,CAAC,IAAIzC,EAAUkC,EAAqBO,UAAgBP,EAAqBO,GAASzC,EAAU8C,QAAQ1C,GAAIA,IAAK,CAAC,CAAqE2C,CAAmBN,EAAQC,EAAmBC,EAAQ,CAAC,IAAIK,EAA4B,CAACtD,EAAKuD,EAAMC,KAAU,OAAOD,GAAO,KAAK,EAAE,OAAOC,EAAOC,GAASxG,EAAMwG,GAASA,GAASlG,EAAOkG,GAAS,KAAK,EAAE,OAAOD,EAAOC,GAAS3G,EAAO2G,GAAS,GAAGA,GAASrG,EAAQqG,GAAS,GAAG,KAAK,EAAE,OAAOD,EAAOC,GAAS1G,EAAO0G,GAAS,GAAGA,GAASpG,EAAQoG,GAAS,GAAG,KAAK,EAAE,OAAOD,EAAOC,GAASzG,EAAOyG,GAAS,GAAGA,GAASnG,EAAQmG,GAAS,GAAG,QAAQ,MAAM,IAAIC,UAAU,0BAA0BH,OAAWvD,OAA8jC2D,EAA4BC,IAAyFf,EAAsCe,EAAtEC,GAAGC,QAAQC,gBAAgB/D,KAAgD,8BAAkCgE,GAAqB,EAAUC,EAAgBC,MAAyJC,EAAmBN,IAAKA,EAAGO,MAAMC,OAAO,EAAe,IAAIR,EAAGO,MAAMC,OAAhMR,KAAQA,EAAGS,SAAUT,EAAGU,aAAaC,cAAcX,EAAGS,UAAeT,EAAGC,QAAQC,gBAAgBS,cAAcX,EAAG3C,MAAkGuD,CAAcZ,IAAUa,EAAgBR,GAAaS,WAAWC,sBAAmEZ,EAAqB,IAAIY,qBAAqBC,IAAOV,EAAmBU,EAAKhB,MAAMa,EAAgBR,IAAS,IAAIL,EAAGK,EAAOL,GAAiC,KAAZA,EAAGS,SAAwB,CAAC,IAAIO,EAAK,CAAChB,MAAIG,EAAqBc,SAASZ,EAAOW,EAAKX,EAAO,CAAC,OAAOA,GAAQD,EAAgBC,GAAQF,EAAqBe,WAAWb,GAAeQ,EAAgBR,KAA9XQ,EAAgBR,GAAQA,EAAcA,GAAmpE,SAASc,IAAc,CAAC,IAAIC,EAAoB,CAACjF,EAAKkF,IAAOC,OAAOC,eAAeF,EAAK,OAAO,CAACb,MAAMrE,IAAWqF,EAAmB,CAAA,EAAOC,EAAoB,CAACC,EAAMC,EAAWC,KAAa,QAAGC,IAAYH,EAAMC,GAAYG,cAAc,CAAC,IAAIC,EAASL,EAAMC,GAAYD,EAAMC,GAAY,YAAYK,GAAuO,OAA7NN,EAAMC,GAAYG,cAAczC,eAAe2C,EAAKpU,SAASoR,EAAkB,aAAa4C,kDAA0DI,EAAKpU,6BAA6B8T,EAAMC,GAAYG,mBAA0BJ,EAAMC,GAAYG,cAAcE,EAAKpU,QAAQqU,MAAM3F,KAAK0F,EAAK,EAAEN,EAAMC,GAAYG,cAAc,GAAGJ,EAAMC,GAAYG,cAAcC,EAASG,UAAUH,CAAQ,GAAOI,EAAmB,CAAChG,EAAKqE,EAAM4B,KAAmBzJ,EAAO0G,eAAelD,UAAU0F,IAAYO,QAAcP,IAAYlJ,EAAOwD,GAAM2F,oBAAeD,IAAYlJ,EAAOwD,GAAM2F,cAAcM,KAAepD,EAAkB,gCAAgC7C,YAAesF,EAAoB9I,EAAOwD,EAAKA,GAASxD,EAAOwD,GAAM2F,cAAczC,eAAe+C,IAAepD,EAAkB,uFAAuFoD,OAAkBzJ,EAAOwD,GAAM2F,cAAcM,GAAc5B,IAAW7H,EAAOwD,GAAMqE,EAAM7H,EAAOwD,GAAM+F,SAASE,IAAoM,SAASC,EAAgBlG,EAAKC,EAAYkG,EAAkB3B,EAAc4B,EAAUC,EAAcC,EAAOC,GAAUpG,KAAKH,KAAKA,EAAKG,KAAKF,YAAYA,EAAYE,KAAKgG,kBAAkBA,EAAkBhG,KAAKqE,cAAcA,EAAcrE,KAAKiG,UAAUA,EAAUjG,KAAKkG,cAAcA,EAAclG,KAAKmG,OAAOA,EAAOnG,KAAKoG,SAASA,EAASpG,KAAKqG,qBAAqB,EAAE,CAAC,IAAIC,GAAc,CAACvF,EAAIwF,EAASC,KAAgB,KAAMD,IAAWC,GAAkBD,EAASJ,QAAQzD,EAAkB,gCAAgC8D,EAAa3G,4BAA4B0G,EAAS1G,QAAQkB,EAAIwF,EAASJ,OAAOpF,GAAKwF,EAASA,EAASN,UAAU,OAAOlF,GAAS0F,GAAWzV,IAAI,GAAO,OAAJA,EAAU,MAAM,OAAO,IAAIY,SAASZ,EAAE,MAAO,WAAJY,GAAkB,UAAJA,GAAiB,aAAJA,EAAuBZ,EAAE0V,WAAsB,GAAG1V,GAAI,SAAS2V,GAAoCC,EAAY7C,GAAQ,GAAY,OAATA,EAA0F,OAAxE/D,KAAK6G,aAAanE,EAAkB,uBAAuB1C,KAAKH,QAAe,EAAMkE,EAAOL,IAAIhB,EAAkB,gBAAgB+D,GAAW1C,YAAiB/D,KAAKH,QAAYkE,EAAOL,GAAG3C,KAAK2B,EAAkB,mDAAmD1C,KAAKH,QAAQ,IAAIiH,EAAY/C,EAAOL,GAAGC,QAAQC,gBAAsF,OAA9D0C,GAAcvC,EAAOL,GAAG3C,IAAI+F,EAAY9G,KAAK4D,gBAA2B,CAAC,SAASmD,GAAyBH,EAAY7C,GAAQ,IAAIhD,EAAI,GAAY,OAATgD,EAA0F,OAAxE/D,KAAK6G,aAAanE,EAAkB,uBAAuB1C,KAAKH,QAAWG,KAAKgH,gBAAgBjG,EAAIf,KAAKiH,iBAAkC,OAAdL,GAAoBA,EAAYrL,KAAKyE,KAAKqE,cAActD,GAAYA,GAAgB,EAAOgD,GAASA,EAAOL,IAAIhB,EAAkB,gBAAgB+D,GAAW1C,YAAiB/D,KAAKH,QAAYkE,EAAOL,GAAG3C,KAAK2B,EAAkB,mDAAmD1C,KAAKH,SAAYG,KAAKkH,SAASnD,EAAOL,GAAGC,QAAQuD,SAASxE,EAAkB,mCAAmCqB,EAAOL,GAAGU,aAAaL,EAAOL,GAAGU,aAAavE,KAAKkE,EAAOL,GAAGC,QAAQ9D,0BAA0BG,KAAKH,QAAQ,IAAIiH,EAAY/C,EAAOL,GAAGC,QAAQC,gBAAkF,GAAlE7C,EAAIuF,GAAcvC,EAAOL,GAAG3C,IAAI+F,EAAY9G,KAAK4D,iBAAoB5D,KAAKgH,eAAwH,YAArGzB,IAAYxB,EAAOL,GAAGS,UAAUzB,EAAkB,mDAA0D1C,KAAKmH,eAAe,KAAK,EAAKpD,EAAOL,GAAGU,eAAepE,KAAMe,EAAIgD,EAAOL,GAAGS,SAAczB,EAAkB,mCAAmCqB,EAAOL,GAAGU,aAAaL,EAAOL,GAAGU,aAAavE,KAAKkE,EAAOL,GAAGC,QAAQ9D,0BAA0BG,KAAKH,QAAQ,MAAM,KAAK,EAAEkB,EAAIgD,EAAOL,GAAGS,SAAS,MAAM,KAAK,EAAE,GAAGJ,EAAOL,GAAGU,eAAepE,KAAMe,EAAIgD,EAAOL,GAAGS,aAAa,CAAC,IAAIiD,EAAarD,EAAc,QAAIhD,EAAIf,KAAKqH,SAAStG,EAAIuG,GAAMC,SAAS,IAAIH,EAAqB,WAAuB,OAAdR,GAAoBA,EAAYrL,KAAKyE,KAAKqE,cAActD,EAAK,CAAC,MAAM,QAAQ2B,EAAkB,8BAA+B,OAAO3B,CAAG,CAAC,SAASyG,GAAuCZ,EAAY7C,GAAQ,GAAY,OAATA,EAA0F,OAAxE/D,KAAK6G,aAAanE,EAAkB,uBAAuB1C,KAAKH,QAAe,EAAMkE,EAAOL,IAAIhB,EAAkB,gBAAgB+D,GAAW1C,YAAiB/D,KAAKH,QAAYkE,EAAOL,GAAG3C,KAAK2B,EAAkB,mDAAmD1C,KAAKH,QAAWkE,EAAOL,GAAGC,QAAQuD,SAASxE,EAAkB,mCAAmCqB,EAAOL,GAAGC,QAAQ9D,0BAA0BG,KAAKH,QAAQ,IAAIiH,EAAY/C,EAAOL,GAAGC,QAAQC,gBAAsF,OAA9D0C,GAAcvC,EAAOL,GAAG3C,IAAI+F,EAAY9G,KAAK4D,gBAA2B,CAAC,SAAS6D,GAAYnE,GAAS,OAAOtD,KAAK0H,aAAaxK,EAAQoG,GAAS,GAAG,CAAC,IAAIqE,GAAgB,CAAC5G,EAAIwF,EAASC,KAAgB,GAAGD,IAAWC,EAAc,OAAOzF,EAAI,QAAGwE,IAAYiB,EAAaP,UAAW,OAAO,KAAK,IAAI2B,EAAGD,GAAgB5G,EAAIwF,EAASC,EAAaP,WAAW,OAAQ,OAAL2B,EAAkB,KAAYpB,EAAaJ,SAASwB,IAASC,GAAoB,GAAmMC,GAAqB,CAACC,EAAOhH,KAAOA,EAA/M,EAACgH,EAAOhH,KAA4E,SAA5DwE,IAANxE,GAAiB2B,EAAkB,+BAAqCqF,EAAO9B,WAAWlF,EAAIgH,EAAO5B,OAAOpF,GAAKgH,EAAOA,EAAO9B,UAAU,OAAOlF,GAAiDiH,CAAiBD,EAAOhH,GAAY8G,GAAoB9G,IAAUkH,GAAc,cAA4B9V,MAAM,WAAA2N,CAAYG,GAASwC,MAAMxC,GAASD,KAAKH,KAAK,eAAe,GAAOqI,GAAmBjI,IAAU,MAAM,IAAIgI,GAAchI,IAAckI,GAAgB,CAAChX,EAAUiX,KAAcA,EAAOzE,SAAUyE,EAAOrH,KAAKmH,GAAmB,8CAAkEE,EAAOhE,iBAA+BgE,EAAOjE,UAA2C+D,GAAmB,oDAAoDE,EAAOnE,MAAM,CAACC,MAAM,GAAUK,EAAgBS,OAAOqD,OAAOlX,EAAU,CAACuS,GAAG,CAACQ,MAAMkE,EAAOE,UAAS,OAAU,SAASC,GAA+BxH,GAAK,IAAIyH,EAAWxI,KAAKyI,WAAW1H,GAAK,IAAIyH,EAAiC,OAArBxI,KAAKoB,WAAWL,GAAY,KAAK,IAAI8B,EAAmBiF,GAAqB9H,KAAK4D,gBAAgB4E,GAAY,QAAGjD,IAAY1C,EAAmB,CAAC,GAAG,IAAIA,EAAmBa,GAAGO,MAAMC,MAA+E,OAAxErB,EAAmBa,GAAG3C,IAAIyH,EAAW3F,EAAmBa,GAAGS,SAASpD,EAAW8B,EAA0B,QAAS,IAAI+E,EAAG/E,EAA0B,QAAyB,OAArB7C,KAAKoB,WAAWL,GAAY6G,CAAG,CAAC,SAASc,IAAoB,OAAG1I,KAAKgH,eAAuBmB,GAAgBnI,KAAK4D,gBAAgBoC,kBAAkB,CAACrC,QAAQ3D,KAAK2I,YAAY5H,IAAIyH,EAAWpE,aAAapE,KAAKmE,SAASpD,IAAkBoH,GAAgBnI,KAAK4D,gBAAgBoC,kBAAkB,CAACrC,QAAQ3D,KAAKe,OAAM,CAAC,IAA8L6H,EAA1LC,EAAW7I,KAAK4D,gBAAgBsC,cAAcsC,GAAgBM,EAAwB5D,EAAmB2D,GAAY,IAAIC,EAAyB,OAAOJ,EAAkBrX,KAAK2O,MAAkC4I,EAAd5I,KAAKkH,QAAgB4B,EAAwBC,iBAA6BD,EAAwBE,YAAY,IAAIC,EAAGtB,GAAgBa,EAAWxI,KAAK4D,gBAAgBgF,EAAOhF,iBAAiB,OAAQ,OAALqF,EAAkBP,EAAkBrX,KAAK2O,MAASA,KAAKgH,eAAuBmB,GAAgBS,EAAOhF,gBAAgBoC,kBAAkB,CAACrC,QAAQiF,EAAO7H,IAAIkI,EAAG7E,aAAapE,KAAKmE,SAASpD,IAAkBoH,GAAgBS,EAAOhF,gBAAgBoC,kBAAkB,CAACrC,QAAQiF,EAAO7H,IAAIkI,GAAK,CAAsR,SAASC,GAAkBrJ,EAAK+D,EAAgBiD,EAAYK,EAAQF,EAAe2B,EAAYxB,EAAcgC,EAAclC,EAAeI,EAAShD,GAAerE,KAAKH,KAAKA,EAAKG,KAAK4D,gBAAgBA,EAAgB5D,KAAK6G,YAAYA,EAAY7G,KAAKkH,QAAQA,EAAQlH,KAAKgH,eAAeA,EAAehH,KAAK2I,YAAYA,EAAY3I,KAAKmH,cAAcA,EAAcnH,KAAKmJ,cAAcA,EAAcnJ,KAAKiH,eAAeA,EAAejH,KAAKqH,SAASA,EAASrH,KAAKqE,cAAcA,EAAkB2C,QAA4CzB,IAA5B3B,EAAgBqC,UAAmNjG,KAAKoJ,WAAWrC,GAAzMG,GAASlH,KAAKoJ,WAAWzC,GAAoC3G,KAAKqJ,mBAAmB,OAAUrJ,KAAKoJ,WAAW5B,GAAuCxH,KAAKqJ,mBAAmB,KAAoD,CAAC,IAAIC,GAAoB,CAACzJ,EAAKqE,EAAM4B,KAAoBzJ,EAAO0G,eAAelD,IAAOqI,GAAmB,4CAA0C3C,IAAYlJ,EAAOwD,GAAM2F,oBAAeD,IAAYO,EAAczJ,EAAOwD,GAAM2F,cAAcM,GAAc5B,GAAW7H,EAAOwD,GAAMqE,EAAM7H,EAAOwD,GAAM+F,SAASE,IAAmByD,GAAgB,GAAqJC,GAAwB,CAACC,EAAUC,EAAYC,GAAQ,KAASF,EAAUzH,EAAcyH,GAAsF,IAA1SG,EAAc7E,EAAgS8E,IAAhS9E,EAAKwE,GAAnBK,EAAkRF,MAA5NH,GAAgBK,GAAS7E,EAAK+E,GAAUC,IAAIH,IAAgB7E,GAAmU,MAAtG,mBAAJ8E,GAAgBnH,EAAkB,2CAA2C+G,MAAcC,KAAsBG,GAAI,MAAMG,WAAyB7X,OAAO,IAAI8X,GAAYhJ,IAAO,IAAIF,EAAImJ,GAAejJ,GAAU2G,EAAG5F,EAAcjB,GAAgB,OAAXoJ,GAAMpJ,GAAY6G,GAAQwC,GAAsB,CAACnK,EAAQoK,KAAS,IAAIC,EAAa,GAAOC,EAAK,CAAA,EAAoN,MAArBF,EAAMpH,QAAlM,SAASuH,EAAMvJ,GAASsJ,EAAKtJ,IAAiBqB,EAAgBrB,KAAiBsB,EAAiBtB,GAAOsB,EAAiBtB,GAAMgC,QAAQuH,IAAcF,EAAa/O,KAAK0F,GAAMsJ,EAAKtJ,IAAM,GAAI,GAA4B,IAAI+I,GAAiB,GAAG/J,MAAYqK,EAAaG,IAAIR,IAAaS,KAAK,CAAC,SAAaC,GAA8B,CAACC,EAAQC,EAAeC,KAAkF,SAASC,EAAWC,GAAgB,IAAIC,EAAiBH,EAAkBE,GAAmBC,EAAiB3Z,SAASsZ,EAAQtZ,QAAQ4W,GAAmB,mCAAmC,IAAI,IAAIzV,EAAE,EAAEA,EAAEmY,EAAQtZ,SAASmB,EAAGkQ,EAAaiI,EAAQnY,GAAGwY,EAAiBxY,GAAI,CAA1UmY,EAAQ3H,QAAQhC,GAAMsB,EAAiBtB,GAAM4J,GAA8R,IAAIG,EAAe,IAAIE,MAAML,EAAevZ,QAAY6Z,EAAkB,GAAOC,EAAW,EAAE,IAAI,IAAI3Y,EAAE4Y,KAAMR,EAAeS,UAAchJ,EAAgBS,eAAesI,GAAKL,EAAevY,GAAG6P,EAAgB+I,IAASF,EAAkB5P,KAAK8P,GAAQhJ,EAAqBU,eAAesI,KAAKhJ,EAAqBgJ,GAAI,IAAGhJ,EAAqBgJ,GAAI9P,KAAK,KAAKyP,EAAevY,GAAG6P,EAAgB+I,KAAMD,IAA2BD,EAAkB7Z,QAAQyZ,EAAWC,MAAuB,IAAIG,EAAkB7Z,QAAQyZ,EAAWC,IAAm8EO,GAAoB,CAACtH,EAAMuH,KAA6B,IAAb,IAAIC,EAAM,GAAWhZ,EAAE,EAAEA,EAAEwR,EAAMxR,IAAKgZ,EAAMlQ,KAAK2B,EAAQsO,EAAe,EAAF/Y,GAAK,IAAI,OAAOgZ,GAAWC,GAAe9E,IAAc,KAAMA,EAAYtV,QAAO,CAAC,IAAIyP,EAAI6F,EAAY+E,MAAc/E,EAAY+E,KAAMC,CAAI7K,EAAI,GAA0K,SAAS8K,GAAqBvG,EAAUwG,EAASC,EAAUC,EAAeC,EAActC,GAAS,IAAI/D,EAASkG,EAASxa,OAAUsU,EAAS,GAAGlD,EAAkB,kFAAkF,IAAIwJ,EAAgC,OAAdJ,EAAS,IAAuB,OAAZC,EAAqBI,EAAvd,SAA6BL,GAAU,IAAI,IAAIrZ,EAAE,EAAEA,EAAEqZ,EAASxa,SAASmB,EAAG,GAAiB,OAAdqZ,EAASrZ,SAA4C8S,IAAjCuG,EAASrZ,GAAG4W,mBAAgC,OAAO,EAAM,OAAO,CAAK,CAAsU+C,CAAoBN,GAAcO,GAASP,EAAS,GAAGQ,OAAWC,EAAiB3G,EAAS,EAAM4G,EAAU,IAAItB,MAAMqB,GAAsBE,EAAgB,GAAO7F,EAAY,GAA0uB,OAAO9B,EAAoBQ,EAApvB,YAAYI,GAA2B,IAAIgH,EAAzB9F,EAAYtV,OAAO,EAAgBmb,EAAgBnb,OAAO4a,EAAkB,EAAE,EAAEO,EAAgB,GAAGR,EAAiBC,IAAmBQ,EAAUZ,EAAS,GAAG1C,WAAWxC,EAAY5G,MAAMyM,EAAgB,GAAGC,GAAU,IAAI,IAAIja,EAAE,EAAEA,EAAE8Z,IAAmB9Z,EAAG+Z,EAAU/Z,GAAGqZ,EAASrZ,EAAE,GAAG2W,WAAWxC,EAAYlB,EAAKjT,IAAIga,EAAgBlR,KAAKiR,EAAU/Z,IAA+V,OAAjT,SAAgBmV,GAAI,GAAGuE,EAAsBT,GAAe9E,QAAkB,IAAI,IAAInU,EAAEyZ,EAAkB,EAAE,EAAEzZ,EAAEqZ,EAASxa,OAAOmB,IAAI,CAAC,IAAIka,EAAU,IAAJla,EAAMia,EAAUF,EAAU/Z,EAAE,GAAuC,OAAjCqZ,EAASrZ,GAAG4W,oBAA2ByC,EAASrZ,GAAG4W,mBAAmBsD,EAAO,CAAE,GAAGN,EAAS,OAAOP,EAAS,GAAGpE,aAAaE,EAAI,CAAQgF,CAA3VZ,KAAkBS,GAAmV,EAAiD,CAAC,IAA0pCI,GAAgBpD,IAAuC,MAAMqD,GAAjCrD,EAAUA,EAAUsD,QAAiC/Q,QAAQ,KAAK,OAAe,IAAZ8Q,EAAsBrD,EAAiBA,EAAUrY,MAAM,EAAE0b,IAAyjDE,GAAe,GAAOC,GAAc,CAAC,EAAE,EAAC,CAAE,EAAE,KAAK,GAAE,EAAK,GAAE,EAAM,GAAOC,GAAenJ,IAAYA,EAAO,GAAG,MAAMkJ,GAAclJ,EAAO,KAAoCkJ,GAAclJ,QAAQwB,EAAUyH,GAAezR,KAAKwI,KAAcuD,GAAM,CAAC6F,QAAQpJ,IAAaA,GAAQrB,EAAkB,oCAAoCqB,KAAiBkJ,GAAclJ,IAASwD,SAASrD,IAAQ,OAAOA,GAAO,UAAKqB,EAAU,OAAO,EAAE,KAAK,KAAK,OAAO,EAAE,KAAK,EAAK,OAAO,EAAE,KAAK,EAAM,OAAO,EAAE,QAAQ,CAAC,MAAMxB,EAAOiJ,GAAerB,OAAOsB,GAAc3b,OAA6D,OAAtD2b,GAAclJ,GAAQG,EAAM+I,GAAclJ,EAAO,GAAG,EAASA,CAAM,KAASqJ,GAAU,CAACvN,KAAK,kBAAkB6H,aAAa3D,IAAS,IAAI6D,EAAGN,GAAM6F,QAAQpJ,GAA+B,OAAvBmJ,GAAenJ,GAAe6D,GAAIwB,WAAW,CAACxC,EAAY1C,IAAQoD,GAAMC,SAASrD,GAAOmJ,qBAAqB5F,GAAY4B,mBAAmB,MAA+EiE,GAA0B,CAACzN,EAAKuD,KAAS,OAAOA,GAAO,KAAK,EAAE,OAAO,SAASE,GAAS,OAAOtD,KAAK0H,aAAa3K,EAAQuG,GAAS,GAAG,EAAE,KAAK,EAAE,OAAO,SAASA,GAAS,OAAOtD,KAAK0H,aAAa1K,EAAQsG,GAAS,GAAG,EAAE,QAAQ,MAAM,IAAIC,UAAU,wBAAwBH,OAAWvD,OAA02C0N,GAAuB,CAACnI,EAAMoI,EAAeC,KAAiB,MAAMC,EAAa,CAACC,EAAKC,KAAY,IAAIC,EAAM,EAAE,MAAM,CAAC,IAAAC,GAAO,GAAGD,GAAOF,EAAM,MAAM,CAACI,MAAK,GAAM,MAAMC,EAAQH,EAAMA,IAAsC,MAAM,CAAC3J,MAAzB0J,EAASI,GAAsBD,MAAK,EAAM,EAAE,CAACE,OAAOC,YAAY,OAAOlO,IAAI,IAAQoF,EAAM6I,OAAOC,YAAW9I,EAAM6I,OAAOC,UAAU,WAAW,MAAMP,EAAK3N,KAAKwN,KAAkB,OAAOE,EAAaC,EAAKlb,GAAGuN,KAAKyN,GAAehb,GAAG,IAAy5B0b,GAAkBnJ,OAAOoJ,OAAO,CAACC,UAAS,GAAMjB,IAA+vBkB,GAAa,CAACrM,EAAIsM,EAAOC,IAA3oB,EAACvM,EAAIwM,EAAKC,EAAOF,KAAmB,KAAKA,EAAgB,GAAG,OAAO,EAA0D,IAAxD,IAAIG,EAASD,EAAWE,EAAOF,EAAOF,EAAgB,EAAU/b,EAAE,EAAEA,EAAEwP,EAAI3Q,SAASmB,EAAE,CAAC,IAAIsB,EAAEkO,EAAI4M,YAAYpc,GAAG,GAAGsB,GAAG,IAAI,CAAC,GAAG2a,GAAQE,EAAO,MAAMH,EAAKC,KAAU3a,CAAC,MAAM,GAAGA,GAAG,KAAK,CAAC,GAAG2a,EAAO,GAAGE,EAAO,MAAMH,EAAKC,KAAU,IAAI3a,GAAG,EAAE0a,EAAKC,KAAU,IAAM,GAAF3a,CAAI,MAAM,GAAGA,GAAG,MAAM,CAAC,GAAG2a,EAAO,GAAGE,EAAO,MAAMH,EAAKC,KAAU,IAAI3a,GAAG,GAAG0a,EAAKC,KAAU,IAAI3a,GAAG,EAAE,GAAG0a,EAAKC,KAAU,IAAM,GAAF3a,CAAI,KAAK,CAAC,GAAG2a,EAAO,GAAGE,EAAO,MAAMH,EAAKC,KAAU,IAAI3a,GAAG,GAAG0a,EAAKC,KAAU,IAAI3a,GAAG,GAAG,GAAG0a,EAAKC,KAAU,IAAI3a,GAAG,EAAE,GAAG0a,EAAKC,KAAU,IAAM,GAAF3a,EAAKtB,GAAG,CAAC,CAAgB,OAAfgc,EAAKC,GAAQ,EAASA,EAAOC,GAAyDG,CAAkB7M,EAAI7E,EAAOmR,EAAOC,GAAqBO,GAAgB9M,IAAgB,IAAV,IAAI3L,EAAI,EAAU7D,EAAE,EAAEA,EAAEwP,EAAI3Q,SAASmB,EAAE,CAAC,IAAIuB,EAAEiO,EAAI+M,WAAWvc,GAAMuB,GAAG,IAAKsC,IAActC,GAAG,KAAMsC,GAAK,EAAUtC,GAAG,OAAOA,GAAG,OAAOsC,GAAK,IAAI7D,GAAO6D,GAAK,CAAE,CAAC,OAAOA,GAAS2Y,GAAYzK,WAAW0K,aAAa,IAAIA,YAAgBC,GAAc,CAACC,EAAYnU,EAAIoU,EAAeC,KAAa,IAAIC,EAAOtU,EAAIoU,EAAe,GAAGC,EAAU,OAAOC,EAAO,KAAMH,EAAYnU,MAAQA,GAAKsU,MAAUtU,EAAI,OAAOA,GAASuU,GAAkB,CAACJ,EAAYnU,EAAI,EAAEoU,EAAeC,KAAa,IAAIG,EAAON,GAAcC,EAAYnU,EAAIoU,EAAeC,GAAW,GAAGG,EAAOxU,EAAI,IAAImU,EAAYtb,QAAQmb,GAAa,OAAOA,GAAYhT,OAAOmT,EAAY3d,SAASwJ,EAAIwU,IAAoB,IAAX,IAAIxN,EAAI,GAAShH,EAAIwU,GAAO,CAAC,IAAIC,EAAGN,EAAYnU,KAAO,GAAQ,IAAHyU,EAAL,CAAoD,IAAIC,EAAsB,GAAnBP,EAAYnU,KAAU,GAAa,MAAN,IAAHyU,GAAJ,CAAmE,IAAIE,EAAsB,GAAnBR,EAAYnU,KAA0G,IAA9EyU,EAAL,MAAN,IAAHA,IAAqB,GAAHA,IAAQ,GAAGC,GAAI,EAAEC,GAAe,EAAHF,IAAO,GAAGC,GAAI,GAAGC,GAAI,EAAqB,GAAnBR,EAAYnU,MAAgB,MAAOgH,GAAKE,OAAOC,aAAasN,OAAQ,CAAC,IAAIxN,EAAGwN,EAAG,MAAMzN,GAAKE,OAAOC,aAAa,MAAMF,GAAI,GAAG,MAAS,KAAHA,EAAQ,CAAjP,MAAhDD,GAAKE,OAAOC,cAAiB,GAAHsN,IAAQ,EAAEC,EAApF,MAArC1N,GAAKE,OAAOC,aAAasN,EAA8V,CAAC,OAAOzN,GAAS4N,GAAa,CAAC9O,EAAIsO,EAAeC,IAAYvO,EAAIyO,GAAkBpS,EAAO2D,EAAIsO,EAAeC,GAAW,GAAkvCQ,GAAatL,WAAW0K,YAAY,IAAIA,YAAY,iBAAY3J,EAAcwK,GAAc,CAAChP,EAAIsO,EAAeC,KAAa,IAAIrU,EAAI8F,GAAK,EAAM6N,EAAOO,GAAclS,EAAQhC,EAAIoU,EAAe,EAAEC,GAAW,GAAGV,EAAO3T,EAAI,IAAI6U,GAAa,OAAOA,GAAa7T,OAAOgB,EAAQxL,SAASwJ,EAAI2T,IAAoB,IAAX,IAAI3M,EAAI,GAAWxP,EAAEwI,EAAIxI,EAAEmc,IAASnc,EAAE,CAAC,IAAIud,EAAS/S,EAAQxK,GAAGwP,GAAKE,OAAOC,aAAa4N,EAAS,CAAC,OAAO/N,GAASgO,GAAc,CAAChO,EAAIsM,EAAOC,KAAgD,GAA7BA,IAAkB,WAAcA,EAAgB,EAAE,OAAO,EAAuH,IAAlG,IAAI0B,EAAS3B,EAAW4B,GAA3C3B,GAAiB,GAAqE,EAAXvM,EAAI3Q,OAASkd,EAAgB,EAAEvM,EAAI3Q,OAAemB,EAAE,EAAEA,EAAE0d,IAAkB1d,EAAE,CAAC,IAAIud,EAAS/N,EAAI+M,WAAWvc,GAAGkK,EAAO4R,GAAQ,GAAGyB,EAASzB,GAAQ,CAAC,CAAqB,OAApB5R,EAAO4R,GAAQ,GAAG,EAASA,EAAO2B,GAAcE,GAAiBnO,GAAgB,EAAXA,EAAI3Q,OAAa+e,GAAc,CAACtP,EAAIsO,EAAeC,KAA4C,IAA/B,IAAIrN,EAAI,GAAO0M,EAAS5N,GAAK,EAAUtO,EAAE,IAAIA,GAAG4c,EAAe,GAAG5c,IAAI,CAAC,IAAI6d,EAAMpT,EAAQyR,EAASlc,GAAG,IAAI6d,IAAQhB,EAAU,MAAMrN,GAAKE,OAAOoO,cAAcD,EAAM,CAAC,OAAOrO,GAASuO,GAAc,CAACvO,EAAIsM,EAAOC,KAAgD,GAA7BA,IAAkB,WAAcA,EAAgB,EAAE,OAAO,EAA4D,IAA1D,IAAI0B,EAAS3B,EAAWkB,EAAOS,EAAS1B,EAAgB,EAAU/b,EAAE,EAAEA,EAAEwP,EAAI3Q,SAASmB,EAAE,CAAC,IAAIge,EAAUxO,EAAI4M,YAAYpc,GAAiE,GAA3Dge,EAAU,OAAOhe,IAAImK,EAAO2R,GAAQ,GAAGkC,GAAUlC,GAAQ,GAAY,EAAEkB,EAAO,KAAK,CAAqB,OAApB7S,EAAO2R,GAAQ,GAAG,EAASA,EAAO2B,GAAcQ,GAAiBzO,IAAgB,IAAV,IAAI3L,EAAI,EAAU7D,EAAE,EAAEA,EAAEwP,EAAI3Q,SAASmB,EAAE,CAAewP,EAAI4M,YAAYpc,GAAgB,OAAOA,IAAI6D,GAAK,CAAC,CAAC,OAAOA,GAA0pCqa,GAAoB,GAAwHC,GAAsB,CAAChO,EAAQ0C,KAAa,IAAIuL,EAAKvO,EAAgBM,GAAyG,YAA7F2C,IAAYsL,GAAMnO,EAAkB,GAAG4C,sBAA8B2E,GAAYrH,MAAmBiO,GAAqZC,GAAc,CAAA,EAAOC,GAAkBC,IAAU,IAAIC,EAAOH,GAAcE,GAAS,YAAYzL,IAAT0L,EAA2BjP,EAAcgP,GAAgBC,GAAywCC,GAAe,CAACC,EAAOpN,EAAOsB,EAAW+L,EAAe1L,IAAOiL,GAAoBQ,GAAQpN,EAAOsB,EAAW+L,EAAe1L,GAAwmD2L,GAAY,CAAC1D,EAAK2D,IAAYpd,KAAKqd,KAAK5D,EAAK2D,GAAWA,EAAcE,GAAW7D,IAAO,IAAiD8D,GAAO9D,EAAxC/P,GAAW9J,OAAO4d,WAAuC,OAAO,MAAM,EAAE,IAA+C,OAA3C9T,GAAW+T,KAAKF,GAAO9T,IAA2B,CAAC,CAAC,MAAMzM,GAAG,GAAkf0gB,GAAI,CAAA,EAA+DC,GAAc,KAAK,IAAIA,GAAcC,QAAQ,CAAC,IAA6EC,EAAI,CAACC,KAAK,WAAWC,QAAQ,WAAWC,KAAK,IAAIC,IAAI,IAAIC,KAAK,iBAAiBC,MAAlJ7N,WAAW8N,WAAWC,UAAU,KAAKC,QAAQ,IAAI,KAAK,SAAsGC,EAAtPnW,GAAa,kBAAgQ,IAAI,IAAIoW,KAAKd,QAAiBrM,IAATqM,GAAIc,UAAsBX,EAAIW,GAAQX,EAAIW,GAAGd,GAAIc,GAAG,IAAIZ,EAAQ,GAAG,IAAI,IAAIY,KAAKX,EAAKD,EAAQvW,KAAK,GAAGmX,KAAKX,EAAIW,MAAMb,GAAcC,QAAQA,CAAO,CAAC,OAAOD,GAAcC,SAA4kBa,GAAWvgB,IAAxDsO,IAAuGrE,EAAe,SAAIjK,GAAMqL,GAAM,GAA7y2C,EAACsC,EAAO6S,KAAW,MAAMA,GAAyx2CC,CAAMzgB,EAAK,IAAIwN,EAAWxN,KAAiF0gB,GAA9D,CAAC/S,EAAOgT,KAA8BJ,GAAW5S,IAAuT,IAA+3EmK,GAAe8I,GAAQ7I,GAA6B8I,GAA2BC,GAAyBtS,GAA+DhD,GAAWkM,GAA7iFqJ,GAAiB,CAAC,KAAK,GAAG,IAAQC,GAAU,CAACC,EAAOC,KAAQ,IAAIxf,EAAOqf,GAAiBE,GAAkB,IAAPC,GAAiB,KAAPA,IAAqB,IAATD,EAAWxc,EAAI9E,GAAKyd,GAAkB1b,IAASA,EAAOxC,OAAO,GAAOwC,EAAOyH,KAAK+X,IAAwUC,GAASC,GAAiBnX,EAAO,IAAImX,GAAyFC,GAAW9e,GAAIue,GAAyBve,GAAsI+e,GAAM,CAACF,EAAMG,EAAW7H,EAASpG,EAAKkO,KAAQ,IAAIC,EAAI,CAACC,OAAO7R,IAAM,IAAInG,EAAI,EAAwE,OAAnEmG,SAAmC,IAANA,IAASnG,EAAjOmG,KAAM,IAAI0L,EAAKoB,GAAgB9M,GAAK,EAAMnG,EAAI2X,GAAW9F,GAAiC,OAA3BW,GAAarM,EAAInG,EAAI6R,GAAa7R,GAAoIiY,CAAoB9R,IAAYnG,GAAK2P,MAAMuI,IAAM,IAAvYvI,EAAM3X,EAAqYgI,EAAI2X,GAAWO,EAAI1iB,QAAoC,OAAlcma,EAAybuI,EAAnblgB,EAAubgI,EAA7agB,EAAMtL,IAAIia,EAAM3X,GAAyagI,IAAmJ,IAAIiJ,EAAKwO,GAASC,GAAWS,EAAM,GAAOC,EAAM,EAAE,GAAGxO,EAAM,IAAI,IAAIjT,EAAE,EAAEA,EAAEiT,EAAKpU,OAAOmB,IAAI,CAAC,IAAI0hB,EAAUN,EAAI/H,EAASrZ,IAAO0hB,GAAsB,IAARD,IAAUA,EAAMvT,KAAYsT,EAAMxhB,GAAG0hB,EAAUzO,EAAKjT,KAASwhB,EAAMxhB,GAAGiT,EAAKjT,EAAG,CAAE,IAAIqJ,EAAIiJ,KAAQkP,GAA4G,OAAhBnY,EAArF,SAAgBA,GAAsC,OAAtB,IAARoY,GAA1vyCjB,GAAixyCiB,GAA7a,SAA4BpY,GAAK,MAAgB,WAAb6X,EAA8B9D,GAAa/T,GAAqB,YAAb6X,EAA8BS,QAAQtY,GAAYA,CAAG,CAA+SuY,CAAmBvY,EAAI,CAAK8Q,CAAO9Q,IAAwpB,GAAh2qC,MAAK,IAAIsJ,EAAMP,EAAY1T,UAAU6T,OAAOoJ,OAAOhJ,EAAM,CAAC,SAAAkP,CAAUC,GAAO,KAAKvU,gBAAgB6E,GAAc,OAAO,EAAM,KAAK0P,aAAiB1P,GAAc,OAAO,EAAM,IAAI2P,EAAUxU,KAAK0D,GAAGC,QAAQC,gBAAoB6Q,EAAKzU,KAAK0D,GAAG3C,IAAIwT,EAAM7Q,GAAG6Q,EAAM7Q,GAA0E,IAAvE,IAAIgR,EAAWH,EAAM7Q,GAAGC,QAAQC,gBAAoB+Q,EAAMJ,EAAM7Q,GAAG3C,IAAUyT,EAAUvO,WAAWwO,EAAKD,EAAUrO,OAAOsO,GAAMD,EAAUA,EAAUvO,UAAU,KAAMyO,EAAWzO,WAAW0O,EAAMD,EAAWvO,OAAOwO,GAAOD,EAAWA,EAAWzO,UAAU,OAAOuO,IAAYE,GAAYD,IAAOE,CAAK,EAAE,KAAAC,GAA2D,GAA/C5U,KAAK0D,GAAG3C,KAAKyC,EAA4BxD,MAASA,KAAK0D,GAAGmR,wBAAgD,OAAvB7U,KAAK0D,GAAGO,MAAMC,OAAO,EAASlE,KAAU,IAAn+DtN,EAAu+DkiB,EAAMrQ,EAAgBS,OAAOqD,OAAOrD,OAAO8P,eAAe9U,MAAM,CAAC0D,GAAG,CAACQ,OAA5iExR,EAA6kEsN,KAAK0D,GAAjlE,CAAIO,MAAMvR,EAAEuR,MAAM8Q,gBAAgBriB,EAAEqiB,gBAAgBF,wBAAwBniB,EAAEmiB,wBAAwB9T,IAAIrO,EAAEqO,IAAI4C,QAAQjR,EAAEiR,QAAQQ,SAASzR,EAAEyR,SAASC,aAAa1R,EAAE0R,mBAA2+D,OAAvDwQ,EAAMlR,GAAGO,MAAMC,OAAO,EAAE0Q,EAAMlR,GAAGqR,iBAAgB,EAAaH,CAAM,EAAE,SAAa5U,KAAK0D,GAAG3C,KAAKyC,EAA4BxD,MAASA,KAAK0D,GAAGqR,kBAAkB/U,KAAK0D,GAAGmR,yBAAyBnS,EAAkB,yCAAyCoB,EAAgB9D,MAAMgE,EAAmBhE,KAAK0D,IAAQ1D,KAAK0D,GAAGmR,0BAAyB7U,KAAK0D,GAAGS,cAASoB,EAAUvF,KAAK0D,GAAG3C,SAAIwE,EAAU,EAAE,SAAAyP,GAAY,OAAOhV,KAAK0D,GAAG3C,GAAG,EAAE,WAAAkU,GAA+T,OAA7SjV,KAAK0D,GAAG3C,KAAKyC,EAA4BxD,MAASA,KAAK0D,GAAGqR,kBAAkB/U,KAAK0D,GAAGmR,yBAAyBnS,EAAkB,yCAAiJ1C,KAAK0D,GAAGqR,iBAAgB,EAAY/U,IAAI,IAAI,MAAMkV,EAAcjH,OAAOkH,QAAWD,IAAe9P,EAAM8P,GAAe9P,EAAc,SAAu4mCgQ,GAA/53BpQ,OAAOoJ,OAAOlF,GAAkB/X,UAAU,CAAC,UAAAsX,CAAW1H,GAAwD,OAAhDf,KAAKmJ,gBAAepI,EAAIf,KAAKmJ,cAAcpI,IAAYA,CAAG,EAAE,UAAAK,CAAWL,GAAKf,KAAKqE,gBAAgBtD,EAAI,EAAEsM,qBAAqB5F,GAAYC,aAAaa,KAA4v3BlM,EAAsB,gBAAEqE,EAAcrE,EAAsB,eAAKA,EAAc,QAAExF,EAAIwF,EAAc,OAAKA,EAAiB,WAAEtK,EAAIsK,EAAiB,UAAKA,EAAmB,aAAEE,EAAWF,EAAmB,YAAKA,EAAkB,WAAaA,EAAkB,UAAKA,EAAoB,cAAEC,EAAYD,EAAoB,aAAKA,EAAgB,QAAiF,IAAjD,mBAAnBA,EAAgB,UAAcA,EAAgB,QAAE,CAACA,EAAgB,UAASA,EAAgB,QAAE/K,OAAO,GAAG+K,EAAgB,QAAE+D,OAAlB/D,GAA8BA,EAAc,MAAEqX,GAAMrX,EAAc,MAAr0B,CAACmX,EAAMG,EAAW7H,EAAS8H,KAAQ,IAAIyB,GAAavJ,GAAUA,EAASwJ,MAAMrU,GAAa,WAAPA,GAAwB,YAAPA,GAAuD,MAAT,WAAb0S,GAAqC0B,IAAczB,EAAaL,GAASC,GAAa,IAAI9N,IAAOgO,GAAMF,EAAMG,EAAW7H,EAASpG,IAAgsC,IAA89C6P,GAA19CC,GAAY,CAACC,EAAh/zC,CAAC1U,EAAIE,EAAKG,KAAuB,IAAIP,EAAcE,GAAUa,KAAKX,EAAKG,GAAqCjD,KAAm5zCuX,EAA33zC,IAAIvX,EAAM,IAA83zCtL,EAA32wC,CAAC8iB,EAAc9V,EAAK8N,EAAKiI,EAASC,KAAYhW,EAAKmC,EAAcnC,GAAM,MAAMiW,EAA0B,KAAXF,EAAc,IAAIlO,EAAaxD,GAAOA,EAAM,GAAG4R,EAAe,CAAC,MAAMC,EAAa,EAALpI,EAAOjG,EAAaxD,GAAO8R,OAAOC,QAAQF,EAAQ7R,GAAO2R,EAASnO,EAAamO,EAAS,CAAClT,EAAagT,EAAc,CAAC9V,OAAK6H,eAAa0B,WAAW,CAACxC,EAAY1C,KAA0B,iBAAPA,IAAiBA,EAAM8R,OAAO9R,IAAcA,GAAOmJ,qBAAqBlK,EAA4BtD,EAAK8N,GAAMmI,GAAgBzM,mBAAmB,QAAy5vC6M,EAAt3vC,CAACtT,EAAQ/C,EAAKsW,EAAUC,KAAuCzT,EAAaC,EAAQ,CAAC/C,KAA/CA,EAAKmC,EAAcnC,GAAiC6H,aAAa,SAASvO,GAAI,QAAQA,CAAE,EAAEiQ,WAAW,SAASxC,EAAYlU,GAAG,OAAOA,EAAEyjB,EAAUC,CAAU,EAAE/I,qBAAqB,SAAS/J,GAAS,OAAOtD,KAAK0H,aAAatK,EAAOkG,GAAS,EAAE+F,mBAAmB,QAAwmvCpV,EAA77zB,CAAC2O,EAAQyT,EAAeC,EAAoBC,EAAiBC,EAAuBtQ,EAAcuQ,EAAgBtQ,EAAOuQ,EAAkBtQ,EAASvG,EAAK8W,EAAoBtS,KAAiBxE,EAAKmC,EAAcnC,GAAMqG,EAAcsD,GAAwBgN,EAAuBtQ,GAAeC,IAASqD,GAAwBiN,EAAgBtQ,GAAQC,IAAWoD,GAAwBkN,EAAkBtQ,GAAU/B,EAAcmF,GAAwBmN,EAAoBtS,GAAe,IAAIuS,EAA53T/W,KAA+C,IAAIgX,GAA5ChX,EAAKA,EAAK2S,QAAQ,iBAAiB,MAAgBxD,WAAW,GAAG,OAAG6H,GAAtH,IAAiIA,GAAnH,GAAoI,IAAIhX,IAAcA,GAAqxTiX,CAAsBjX,GAAMgG,EAAmB+Q,EAAkB,WAAWxM,GAAsB,oBAAoBvK,yBAA4B,CAAC0W,GAAkB,GAAG5L,GAA8B,CAAC/H,EAAQyT,EAAeC,GAAqBC,EAAiB,CAACA,GAAkB,GAAGQ,IAAoB,IAAI9Q,EAAc+Q,EAA/BD,EAAKA,EAAK,GAAuFC,EAAjDT,GAAkBtQ,EAAU8Q,EAAKnT,iBAAwCoC,kBAAqCnB,EAAY1T,UAAU,IAAI2O,EAAYgF,EAAoBjF,EAAK,YAAY6F,GAAM,GAAGV,OAAO8P,eAAe9U,QAAQgG,EAAmB,MAAM,IAAIxD,EAAa,0BAA0B3C,KAAQ,QAAG0F,IAAY3B,EAAgBqT,iBAAkB,MAAM,IAAIzU,EAAa,GAAG3C,mCAAsC,IAAIqX,EAAKtT,EAAgBqT,iBAAiBvR,EAAKpU,QAAQ,QAAGiU,IAAY2R,EAAM,MAAM,IAAI1U,EAAa,2BAA2B3C,wCAA2C6F,EAAKpU,uBAAuB0T,OAAOmS,KAAKvT,EAAgBqT,kBAAkBvQ,mCAAmC,OAAOwQ,EAAKvR,MAAM3F,KAAK0F,EAAK,GAAOM,EAAkBhB,OAAOqD,OAAO2O,EAAc,CAAClX,YAAY,CAACoE,MAAMpE,KAAeA,EAAY3O,UAAU6U,EAAkB,IAAIpC,EAAgB,IAAImC,EAAgBlG,EAAKC,EAAYkG,EAAkB3B,EAAc4B,EAAUC,EAAcC,EAAOC,GAAaxC,EAAgBqC,YAAWrC,EAAgBqC,UAAUmR,mBAAmB,GAAGxT,EAAgBqC,UAAUmR,iBAAiB7b,KAAKqI,IAAiB,IAAIyT,EAAmB,IAAInO,GAAkBrJ,EAAK+D,GAAgB,GAAK,GAAM,GAAW0T,EAAiB,IAAIpO,GAAkBrJ,EAAK,IAAI+D,GAAgB,GAAM,GAAM,GAAW2T,EAAsB,IAAIrO,GAAkBrJ,EAAK,UAAU+D,GAAgB,GAAM,GAAK,GAA4J,OAArJsB,EAAmBtC,GAAS,CAACoG,YAAYsO,EAAiBvO,iBAAiBwO,GAAuBjO,GAAoBsN,EAAkB9W,GAAmB,CAACuX,EAAmBC,EAAiBC,MAAgmvB1jB,EAAn2rB,CAAC2jB,EAAa5R,EAAS6R,EAAgBC,EAAiBC,EAAQ1Q,KAAkB,IAAI2Q,EAAYrM,GAAoB3F,EAAS6R,GAAiBE,EAAQnO,GAAwBkO,EAAiBC,GAAShN,GAA8B,GAAG,CAAC6M,GAAczL,IAAmC,IAAIzG,EAAU,gBAArCyG,EAAUA,EAAU,IAA0ClM,OAAgH,QAAtG0F,IAAYwG,EAAUnI,gBAAgBqT,mBAAkBlL,EAAUnI,gBAAgBqT,iBAAiB,SAAM1R,IAAYwG,EAAUnI,gBAAgBqT,iBAAiBrR,EAAS,GAAI,MAAM,IAAIpD,EAAa,8EAA8EoD,EAAS,iBAAiBmG,EAAUlM,2GAA8d,OAAnXkM,EAAUnI,gBAAgBqT,iBAAiBrR,EAAS,GAAG,KAAKwE,GAAsB,oBAAoB2B,EAAUlM,4BAA4B+X,IAAcjN,GAA8B,GAAGiN,EAAY9L,IAAWA,EAAS+L,OAAO,EAAE,EAAE,MAAM9L,EAAUnI,gBAAgBqT,iBAAiBrR,EAAS,GAAGiG,GAAqBvG,EAAUwG,EAAS,KAAK6L,EAAQ1Q,GAAsB,KAAW,MAAiypBzU,EAA5kpB,CAACglB,EAAanS,EAAWO,EAAS6R,EAAgBC,EAAiBI,EAAWC,EAAQC,EAAcrO,EAAQsO,KAAmB,IAAIL,EAAYrM,GAAoB3F,EAAS6R,GAAiBpS,EAAWrD,EAAcqD,GAAYA,EAAWwH,GAAgBxH,GAAYyS,EAAWtO,GAAwBkO,EAAiBI,EAAWnO,GAASgB,GAA8B,GAAG,CAAC6M,GAAczL,IAAmC,IAAIzG,EAAU,IAArCyG,EAAUA,EAAU,IAA8BlM,QAAQwF,IAA0K,SAAS6S,IAAsB9N,GAAsB,eAAe9E,yBAAiCsS,EAAY,CAA3QvS,EAAWhG,WAAW,QAAOgG,EAAW4I,OAAO5I,EAAW8S,UAAU,KAAOH,GAAejM,EAAUnI,gBAAgByC,qBAAqB9K,KAAK8J,GAA8H,IAAID,EAAM2G,EAAUnI,gBAAgBoC,kBAAsBoS,EAAOhT,EAAMC,GAA8sB,YAA/rBE,IAAY6S,QAAQ7S,IAAY6S,EAAO5S,eAAe4S,EAAOC,YAAYtM,EAAUlM,MAAMuY,EAAOxS,WAAWA,EAAS,GAAGsS,EAAoBtS,SAASA,EAAS,EAAEsS,EAAoBG,UAAUtM,EAAUlM,KAAKuF,EAAMC,GAAY6S,IAAyB/S,EAAoBC,EAAMC,EAAWC,GAAWF,EAAMC,GAAYG,cAAcI,EAAS,GAAGsS,GAAoBvN,GAA8B,GAAGiN,EAAY9L,IAAW,IAAIwM,EAAezM,GAAqBvG,EAAUwG,EAASC,EAAU+L,EAAWC,GAAqM,YAAjLxS,IAAYH,EAAMC,GAAYG,eAAe8S,EAAe1S,SAASA,EAAS,EAAER,EAAMC,GAAYiT,GAAoBlT,EAAMC,GAAYG,cAAcI,EAAS,GAAG0S,EAAqB,KAAW,MAAinmBC,EAAvvkB3V,GAASD,EAAaC,EAAQwK,IAAmvkBpc,EAA16jB,CAAC4R,EAAQ/C,EAAK8N,KAAiChL,EAAaC,EAAQ,CAAC/C,KAA/CA,EAAKmC,EAAcnC,GAAiC6H,aAAaxD,GAAOA,EAAMkF,WAAW,CAACxC,EAAY1C,IAAQA,EAAMmJ,qBAAqBC,GAA0BzN,EAAK8N,GAAMtE,mBAAmB,QAA6ujBmP,EAAtsjB,CAAC3Y,EAAK+F,EAAS6R,EAAgBhO,EAAUqO,EAAWW,EAAG9O,EAAQsO,KAAmB,IAAInM,EAASP,GAAoB3F,EAAS6R,GAAiB5X,EAAKmC,EAAcnC,GAAMA,EAAKgN,GAAgBhN,GAAMiY,EAAWtO,GAAwBC,EAAUqO,EAAWnO,GAAS9D,EAAmBhG,EAAK,WAAWuK,GAAsB,eAAevK,yBAA4BiM,EAAS,EAAElG,EAAS,GAAG+E,GAA8B,GAAGmB,EAASA,IAAW,IAAI4M,EAAiB,CAAC5M,EAAS,GAAG,MAAM6M,OAAO7M,EAAS1a,MAAM,IAAgH,OAA5GkY,GAAoBzJ,EAAKgM,GAAqBhM,EAAK6Y,EAAiB,KAAKZ,EAAWW,GAAY7S,EAAS,GAAS,MAA6niBgT,EAAzliB,CAACjD,EAAc9V,EAAK8N,EAAKiI,EAASC,KAAYhW,EAAKmC,EAAcnC,GAAwC,IAAI6H,EAAaxD,GAAOA,EAAM,GAAhC,IAAX0R,EAA6D,CAAC,IAAIiD,EAAS,GAAG,EAAElL,EAAKjG,EAAaxD,GAAOA,GAAO2U,IAAWA,EAAShD,EAASnO,EAAamO,EAAS,CAAClT,EAAagT,EAAc,CAAC9V,OAAK6H,eAAa0B,WAAW,CAACxC,EAAY1C,IAAQA,EAAMmJ,qBAAqBlK,EAA4BtD,EAAK8N,EAAgB,IAAXiI,GAAcvM,mBAAmB,QAAqshByP,EAA7ugB,CAACtB,EAAauB,EAAevL,EAAeC,KAAiBD,EAAexL,EAAcwL,GAAgBC,EAAczL,EAAcyL,GAAe9C,GAA8B,GAAG,CAAC6M,EAAauB,GAAgB1O,IAAQ,MAAM0B,EAAU1B,EAAM,GAAoG,OAAjGkD,GAAuBxB,EAAUnI,gBAAgBoC,kBAAkBwH,EAAeC,GAAqB,MAA86ftV,EAAt4f,CAACyK,EAAQoW,EAAcnZ,KAAQ,IAAgJoZ,EAAhI,CAACpb,UAAUrN,WAAWI,WAAWF,YAAYI,WAAWgN,YAAYC,aAAaC,aAAaC,cAAcC,gBAAmC8a,GAAe,SAASE,EAAiBnV,GAAQ,IAAI4J,EAAKzQ,EAAQ6G,GAAQ,GAAOoV,EAAKjc,EAAQ6G,EAAO,GAAG,GAAG,OAAO,IAAIkV,EAAGnc,EAAMhJ,OAAOqlB,EAAKxL,EAAK,CAA0BhL,EAAaC,EAAQ,CAAC/C,KAA/CA,EAAKmC,EAAcnC,GAAiC6H,aAAawR,EAAiB7L,qBAAqB6L,GAAkB,CAAClW,8BAA6B,KAAg8ezR,EAA11e,CAAC6nB,EAAgBxW,KAAWD,EAAayW,EAAgBjL,KAA8zekL,EAAt0a,CAACzW,EAAQ/C,KAA0D8C,EAAaC,EAAQ,CAAC/C,KAAxEA,EAAKmC,EAAcnC,GAA0D,YAAA6H,CAAaxD,GAAO,IAAqDjC,EAAjD3Q,EAAO4L,EAAQgH,GAAO,GAAyL,OAAtIjC,EAAI4N,GAAxC3L,EAAM,EAAuD5S,GAAO,GAAyF6Y,GAAMjG,GAAcjC,CAAG,EAAE,UAAAmH,CAAWxC,EAAY1C,GAAoE,IAAI5S,EAA9D4S,aAAiB5T,cAAa4T,EAAM,IAAI1T,WAAW0T,IAAkB,IAAIoV,EAAkC,iBAAPpV,EAAqBoV,GAAqBhpB,YAAYipB,OAAOrV,IAAiC,GAAzBA,EAAMsV,mBAAuB9W,EAAkB,yCAAkFpR,EAArBgoB,EAA4BvK,GAAgB7K,GAAmBA,EAAM5S,OAAO,IAAIylB,EAAK/D,GAAQ,EAAE1hB,EAAO,GAAOyP,EAAIgW,EAAK,EAAwX,OAAtX7Z,EAAQ6Z,GAAM,GAAGzlB,EAAUgoB,EAAyChL,GAAapK,EAAMnD,EAAIzP,EAAO,GAA0M8L,EAAO5L,IAAI0S,EAAMnD,GAAsB,OAAd6F,GAAoBA,EAAYrL,KAAK4O,GAAM4M,GAAaA,CAAI,EAAE1J,qBAAqB5F,GAAY,kBAAA4B,CAAmBtI,GAAKoJ,GAAMpJ,EAAI,KAAgqYhF,EAA/mV,CAAC6G,EAAQ6W,EAAS5Z,KAAiC,IAAI6Z,EAAaC,EAAaC,EAAvD/Z,EAAKmC,EAAcnC,GAAiE,IAAX4Z,GAAcC,EAAa3J,GAAc4J,EAAa1J,GAAc2J,EAAexJ,KAAsBsJ,EAAarJ,GAAcsJ,EAAanJ,GAAcoJ,EAAelJ,IAAiB/N,EAAaC,EAAQ,CAAC/C,OAAK6H,aAAaxD,IAAQ,IAAI5S,EAAO4L,EAAQgH,GAAO,GAAOjC,EAAIyX,EAAaxV,EAAM,EAAE5S,EAAOmoB,GAAS,GAAmB,OAAbtP,GAAMjG,GAAcjC,GAAKmH,WAAW,CAACxC,EAAY1C,KAA4B,iBAAPA,GAAkBxB,EAAkB,6CAA6C7C,KAAQ,IAAIvO,EAAOsoB,EAAe1V,GAAWnD,EAAIiS,GAAQ,EAAE1hB,EAAOmoB,GAAuI,OAA7Hvc,EAAQ6D,GAAK,GAAGzP,EAAOmoB,EAASE,EAAazV,EAAMnD,EAAI,EAAEzP,EAAOmoB,GAA2B,OAAd7S,GAAoBA,EAAYrL,KAAK4O,GAAMpJ,GAAYA,GAAKsM,qBAAqB5F,GAAY,kBAAA4B,CAAmBtI,GAAKoJ,GAAMpJ,EAAI,KAA8zT8Y,EAA9xT,CAACjX,EAAQ/C,KAAiC8C,EAAaC,EAAQ,CAAC0J,QAAO,EAAKzM,KAA3DA,EAAKmC,EAAcnC,GAA6C6H,aAAa,OAAc0B,WAAW,CAACxC,EAAYlU,UAAmrTkB,EAAjoT,CAACkmB,EAAIC,KAAOD,EAAIxS,GAAM6F,QAAQ2M,GAAKC,EAAIzS,GAAM6F,QAAQ4M,GAAKD,EAAItoB,IAAIuoB,IAA8lT7oB,EAA5sR,CAAC0U,EAASoU,EAAYC,KAAQ,IAA8BC,KAAWpO,GAAlnB,EAAClG,EAASkG,KAAsC,IAA1B,IAAI0M,EAAE,IAAItN,MAAMtF,GAAkBnT,EAAE,EAAEA,EAAEmT,IAAWnT,EAAG+lB,EAAE/lB,GAAGme,GAAsB1T,EAAQ4O,EAAW,EAAFrZ,GAAK,GAAG,aAAaA,KAAK,OAAO+lB,GAAme2B,CAAkBvU,EAASoU,GAAiBI,EAAaF,EAAQ9Q,WAAW7L,KAAK2c,GAAaG,EAAWvO,EAASrB,IAAIxJ,GAAMA,EAAKoM,qBAAqB9P,KAAK0D,IAAO2E,IAAW,IAArlCuL,EAAamJ,EAA4kCC,EAAK,IAAIrP,MAAMtF,GAA6d4U,EAAa,iBAAiB1O,EAASrB,IAAI7Y,GAAGA,EAAEiO,aAAaqa,EAAQra,QAAQ,OAAlpDsR,EAA+qDrM,EAAoB0V,EAA7jB,CAACzW,EAAOsB,EAAW+L,EAAe1L,KAAqB,IAAb,IAA4GkC,EAAxG6S,EAAO,EAAUhoB,EAAE,EAAEA,EAAEmT,IAAWnT,EAAG8nB,EAAK9nB,GAAG4nB,EAAW5nB,GAAGiT,EAAK+U,GAAQA,GAA/W,EAAkZ,OAAOR,GAAM,KAAK,EAAErS,EAAGN,GAAM6F,QAAQpJ,GAAQ4B,MAAM,KAAK4U,GAAM,MAAM,KAAK,EAAE3S,EAAG8S,QAAQC,UAAUrT,GAAM6F,QAAQpJ,GAAQwW,GAAM,MAAM,KAAK,EAAE3S,EAAG2S,EAAK,GAAG,MAAM,KAAK,EAAE3S,EAAGN,GAAM6F,QAAQpJ,GAAQgN,GAAkB1L,OAAgBkV,GAAY,MAAziC,EAACH,EAAahJ,EAAerN,KAAU,IAAI6C,EAAY,GAAOgU,EAAOR,EAAaxT,EAAY7C,GAAsF,OAA3E6C,EAAYtV,SAAQ4L,EAAQkU,GAAgB,GAAG9J,GAAMC,SAASX,IAAoBgU,GAAq3BC,CAAkBT,EAAahJ,EAAexJ,KAA/iD0S,EAAG3J,GAAoBrf,OAAOqf,GAAoBpV,KAAK4V,GAAemJ,GAAy+StmB,EAAEkZ,GAAe4N,EAAn1Pjb,GAAWA,GAAwCA,EAAKkR,GAAkBlR,GAAayH,GAAMC,SAAS/C,WAAW3E,KAAzFyH,GAAMC,SAAS/C,YAAi0PvT,EAAttP,CAAC8S,EAAOgX,KAAOhX,EAAOuD,GAAM6F,QAAQpJ,GAAQgX,EAAIzT,GAAM6F,QAAQ4N,GAAYzT,GAAMC,SAASxD,EAAOgX,KAA6oPtoB,EAAnnPsR,IAAYA,EAAO,IAAGkJ,GAAclJ,EAAO,IAAI,IAAqlP8S,EAAE3F,GAAe8J,EAAr8O,CAACC,EAAGC,EAAGC,EAAGC,EAAGC,IAAKnK,GAAe+J,EAAGC,EAAGC,EAAGC,EAAGC,GAA66O3I,EAAn5O,IAAIpL,GAAMC,SAAS,IAAo5O3V,EAAz2O0pB,IAAOA,EAAKhU,GAAM6F,QAAQmO,GAAmC,IAA7B,IAAI9C,EAAE,IAAItN,MAAMoQ,EAAKhqB,QAAgBmB,EAAE,EAAEA,EAAE6oB,EAAKhqB,OAAOmB,IAAI+lB,EAAE/lB,GAAG6oB,EAAK7oB,GAAG,OAAO6U,GAAMC,SAASiR,IAAgxO9lB,EAApvO1B,GAAGsW,GAAMC,SAASwJ,GAAkB/f,IAAsuOuqB,EAA3sO,IAAIjU,GAAMC,SAAS,CAAA,GAA6sOhV,EAA7qOwR,IAAS,IAAI6C,EAAYU,GAAM6F,QAAQpJ,GAAQ2H,GAAe9E,GAAasG,GAAenJ,IAA6mOyX,EAA3kO,CAACzX,EAAOgX,EAAI7W,KAASH,EAAOuD,GAAM6F,QAAQpJ,GAAQgX,EAAIzT,GAAM6F,QAAQ4N,GAAK7W,EAAMoD,GAAM6F,QAAQjJ,GAAOH,EAAOgX,GAAK7W,GAAk/NuX,EAA59N,CAACC,EAASC,EAASC,EAASC,KAAY,IAAIC,GAAY,IAAKC,MAAMC,cAAkBC,EAAO,IAAIF,KAAKD,EAAY,EAAE,GAAOI,EAAO,IAAIH,KAAKD,EAAY,EAAE,GAAOK,EAAaF,EAAOG,oBAAwBC,EAAaH,EAAOE,oBAAwBE,EAAkBpoB,KAAKqoB,IAAIJ,EAAaE,GAAcnf,EAAQwe,GAAU,GAAqB,GAAlBY,EAAqB1f,EAAO+e,GAAU,GAAGa,OAAOL,GAAcE,GAAc,IAAII,EAAYC,IAAiB,IAAIC,EAAKD,GAAgB,EAAE,IAAI,IAAQE,EAAU1oB,KAAK2oB,IAAIH,GAA4H,MAAM,MAAMC,IAA9Gxa,OAAOjO,KAAK4oB,MAAMF,EAAU,KAAKG,SAAS,EAAE,OAAiB5a,OAAOya,EAAU,IAAIG,SAAS,EAAE,QAA+CC,EAAWP,EAAYN,GAAkBc,EAAWR,EAAYJ,GAAiBA,EAAaF,GAAc7N,GAAa0O,EAAWpB,EAAS,IAAItN,GAAa2O,EAAWpB,EAAS,MAASvN,GAAa0O,EAAWnB,EAAS,IAAIvN,GAAa2O,EAAWrB,EAAS,MAAylMsB,EAAjyLC,IAAgB,IAAIC,EAAQhgB,EAAO9L,OAA8B+rB,EAAhW,WAAyX,IAAhDF,KAAiB,GAAgDE,EAAa,OAAO,EAAM,IAAI,IAAIC,EAAQ,EAAEA,GAAS,EAAEA,GAAS,EAAE,CAAC,IAAIC,EAAkBH,GAAS,EAAE,GAAGE,GAASC,EAAkBrpB,KAAKC,IAAIopB,EAAkBJ,EAAc,WAAW,IAAIK,EAAQtpB,KAAKC,IAAIkpB,EAAYhM,GAAYnd,KAAKqoB,IAAIY,EAAcI,GAAmB,QAA4C,GAApB/L,GAAWgM,GAAyB,OAAO,CAAK,CAAC,OAAO,GAAm3KC,EAAp2J,CAACC,EAAUC,KAAe,IAAIC,EAAQ,EAAMC,EAAK,EAAE,IAAI,IAAI/J,KAAUjC,KAAgB,CAAC,IAAI9Q,EAAI4c,EAAYC,EAAQ1gB,EAAQwgB,EAAUG,GAAM,GAAG9c,EAAI6c,GAAStP,GAAawF,EAAO/S,EAAI+c,KAAU,EAAED,GAAM,CAAC,CAAC,OAAO,GAAsqJE,EAA5oJ,CAACC,EAAeC,KAAqB,IAAInM,EAAQD,KAAgB3U,EAAQ8gB,GAAgB,GAAGlM,EAAQxgB,OAAO,IAAIssB,EAAQ,EAAE,IAAI,IAAI9J,KAAUhC,EAAS8L,GAAS7O,GAAgB+E,GAAQ,EAAwC,OAAtC5W,EAAQ+gB,GAAmB,GAAGL,EAAe,GAA67IM,EAAEpL,GAAMqL,EAA1nIC,GAAI,GAAkoIC,EAAlnI,CAACD,EAAGE,EAAIC,EAAOC,IAAO,GAAumIC,EAA59H,SAAkBL,EAAG3D,EAAOiE,EAAOC,GAA6C,OAAO,EAAE,EAA84H5qB,EAA1qH,CAACqqB,EAAGE,EAAIC,EAAOC,KAAkB,IAAV,IAAII,EAAI,EAAUnsB,EAAE,EAAEA,EAAE8rB,EAAO9rB,IAAI,CAAC,IAAIsO,EAAI7D,EAAQohB,GAAK,GAAOhoB,EAAI4G,EAAQohB,EAAI,GAAG,GAAGA,GAAK,EAAE,IAAI,IAAI1F,EAAE,EAAEA,EAAEtiB,EAAIsiB,IAAKxF,GAAUgL,EAAGhhB,EAAO2D,EAAI6X,IAAIgG,GAAKtoB,CAAG,CAAsB,OAArB4G,EAAQshB,GAAM,GAAGI,EAAW,IAC5v4C,OAD2ygDrJ,SAA/06CrZ,iBAA4B,SAAS2iB,EAAgBC,EAASC,GAAwF,OAAsx2C,SAA2BxJ,GAAarL,GAAeqL,EAAe,EAAEvC,GAAQuC,EAAe,EAAEpL,GAAMoL,EAAe,EAAmBlZ,EAAyB,iBAAEkZ,EAAe,EAAQlZ,EAAc,MAAEkZ,EAAe,EAAEtC,GAA2BsC,EAAe,EAAErC,GAAyBqC,EAAe,EAAE3U,GAA8B2U,EAAe,EAAS3X,GAAW2X,EAAe,EAA4BzL,GAAUyL,EAAe,CAAC,CAAjw3CyJ,CAA7BzJ,GAAYuJ,EAASG,SAAuCthB,IAA2B4X,EAAW,CAAwF,IAAI7Q,EAAnS,CAAC8T,EAAEhD,IAAsT,OAAGnZ,EAAwB,gBAAU,IAAI6iB,QAAQ,CAACC,EAAQC,KAAU/iB,EAAwB,gBAAEqI,EAAK,CAAC2a,EAAKC,KAAOH,EAAQN,EAAgBQ,SAAe3iB,IAAiB6B,IAAzR,SAAoCqc,GAAQ,OAAOiE,EAAgBjE,EAAiB,SAAE,CAAkS2E,OAA7DrgB,EAAiB3C,EAAWG,EAAegI,IAAmE,CAAyw5C,GAAza,WAAwB,SAAS8a,IAAQnjB,EAAkB,WAAE,EAAQoB,IAAxv9CC,GAAmB,EAAK6X,GAAe,IAAsv9C/Y,IAAsBH,GAAQA,EAA6B,yBAAuBA,EAAqB,aAAr09C,WAAmB,GAAGA,EAAgB,QAAiF,IAAjD,mBAAnBA,EAAgB,UAAcA,EAAgB,QAAE,CAACA,EAAgB,UAASA,EAAgB,QAAE/K,QAAQgP,EAAajE,EAAgB,QAAE+D,SAAUF,EAAqBG,EAAW,CAAyo9Cof,GAAS,EAAhq+C,WAAkB,GAAGpjB,EAAe,OAA8E,IAA/C,mBAAlBA,EAAe,SAAcA,EAAe,OAAE,CAACA,EAAe,SAASA,EAAe,OAAE/K,QAAQmP,EAAYpE,EAAe,OAAE+D,SAAUF,EAAqBM,EAAU,CAA0t9Ckf,GAAmPrjB,EAAkB,WAAGA,EAAkB,UAAE,cAAcsjB,WAAW,KAAKA,WAAW,IAAItjB,EAAkB,UAAE,IAAI,GAAGmjB,KAAS,IAAQA,GAAQ,CAAkDI,GAASliB,EAA8BrB,EAAsB,IAAI6iB,QAAQ,CAACC,EAAQC,KAAU5iB,EAAoB2iB,EAAQ1iB,EAAmB2iB,GACv8gD,CCIjB,IAAIS,EACAC,MCeQC,EA2BAC,EAkJN,SAAUC,EAAuBC,GACnC,IAAIC,EAASD,EAAK,GAAG,GACjBE,EAASF,EAAK,GAAG,GACrB,IAAK,IAAIztB,EAAI,EAAGA,EAAIytB,EAAK5uB,OAAQmB,IAAK,CAClC,MAAM4tB,EAAMH,EAAKztB,GAAG,GAChB4tB,EAAMF,EAAQA,EAASE,EAClBA,EAAMD,IAAQA,EAASC,EACpC,CACA,OAAID,EAASD,GAAU,IAAYD,EAC5BA,EAAKzV,IAAI,EAAE4V,EAAKC,KAAS,CAACD,EAAM,EAAIA,EAAM,IAAMA,EAAKC,GAChE,EAvLA,SAAYP,GAERA,EAAA,QAAA,UAEAA,EAAA,SAAA,WAEAA,EAAA,QAAA,SACH,CAPD,CAAYA,IAAAA,EAAQ,CAAA,IA2BpB,SAAYC,GAERA,EAAA,KAAA,OAEAA,EAAA,OAAA,QACH,CALD,CAAYA,IAAAA,EAAU,CAAA,IA8JtB,MACMO,EAAe,CACjBC,gBAAiB,CAAEF,IAAK,EAAGG,IAAK,GAChCC,QAAS,EACTC,SAAUZ,EAASa,QACnBC,WAAYb,EAAWc,KACvBC,SAAU,SAuCDC,EAuBT,WAAAlhB,CAA8BmhB,GAAAjhB,KAAAihB,QAAAA,EAd9BjhB,KAAAkhB,KAAmBX,EAYnBvgB,KAAAmhB,WAlEuB,EAqEnBnhB,KAAKihB,QAAUA,CACnB,CAqBA,WAAOG,GACH,ODlSCtB,IACDA,EAAenkB,EANP,yyoNAQPkkB,IACDA,EAAWwB,EAAQ,CACf9kB,WAAYujB,KAGbD,GC0ReyB,KAAMvC,GACb,IAAIiC,EAAUjC,IACtBwC,MAAMlkB,QAAQC,IACrB,CASA,aAAOkkB,GDlSH3B,IACAA,OAAWta,ECmSf,CAWA,OAAAkc,GACI,OAAOzhB,KAAKihB,QAAQD,UAAU7vB,UAAUswB,SAC5C,CAqBA,OAAAC,CAAQR,EAAmBX,EAAcY,EA5IlB,GA6InBnhB,KAAKkhB,KAAOA,EACZlhB,KAAKmhB,WAAaA,CACtB,CAYA,aAAAQ,GACI,OAAO3hB,KAAKmhB,UAChB,CAaA,aAAAS,CAAcT,GACVnhB,KAAKmhB,WAAaA,CACtB,CAOA,KAAAU,GACI,OAAO7hB,KAAKihB,QAAQY,OACxB,CA0BA,MAAAC,CAAOX,EA/MgB,GAgNnB,MACIX,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAEHc,IAAuBD,EACvBE,EAAQF,GAAoB,GAclC,OAZkB/hB,KAAKihB,QAAQa,OAC3BrB,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,EACAmB,EACAC,EAIR,CAiBA,UAAAC,CAAWf,EA1PY,GA2PnB,MACIX,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAEHc,IAAuBD,EACvBE,EAAQF,GAAoB,GAclC,OAZkB/hB,KAAKihB,QAAQiB,WAC3BzB,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,EACAmB,EACAC,EAIR,CAiBA,UAAAE,CAAWhB,EArSY,GAsSnB,MACIX,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAEHc,IAAuBD,EACvBE,EAAQF,GAAoB,GAclC,OAZkB/hB,KAAKihB,QAAQkB,WAC3B1B,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,EACAmB,EACAC,EAIR,CAkBA,WAAAG,CAAYjB,EAjVW,GAkVnB,MACIX,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAEHc,IAAuBD,EACvBE,EAAQF,GAAoB,GAclC,OAZkB/hB,KAAKihB,QAAQmB,YAC3B3B,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,EACAmB,EACAC,EAIR,CA+BA,gBAAAI,CACIC,EACAnB,EA5YmB,GA8YnB,MACIX,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAEHc,IAAuBD,EACvBE,EAAQF,GAAoB,GAE5BQ,EAAUD,EAAY7X,IAAK+X,GAAUA,EAAM,IAC3CC,EAAUH,EAAY7X,IAAK+X,GAAUA,EAAM,IAgBjD,OAdoBxiB,KAAKihB,QAAQyB,gBAC7BjC,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,EACAmB,EACAC,EACAM,EACAE,EAIR,CAoBA,gBAAAE,CACIC,EACAzB,EAlcmB,GAocnB,MACIX,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAEHc,IAAuBD,EACvBE,EAAQF,GAAoB,GAE5Bc,EAAc7iB,KAAKihB,QAAQ6B,cAC7BrC,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,EACAmB,EACAC,EACAW,GAGEjV,EAAOkV,EAAYvxB,OAAS,EAC5ByxB,EAA4B,GAClC,IAAK,IAAItwB,EAAI,EAAGA,EAAIkb,EAAMlb,GAAK,EAC3BswB,EAAcxnB,KAAK,CAACsnB,EAAYpwB,GAAIowB,EAAYpwB,EAAIkb,KAGxD,OAAOoV,CACX,CA6BA,QAAAC,CACIV,EACAnB,EAngBmB,GAqgBnB,MACIX,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAEHc,IAAuBD,EACvBE,EAAQF,GAAoB,GAE5BQ,EAAUD,EAAY7X,IAAK+X,GAAUA,EAAM,IAC3CC,EAAUH,EAAY7X,IAAK+X,GAAUA,EAAM,IAE3CK,EAAc7iB,KAAKihB,QAAQgC,WAC7BxC,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,EACAmB,EACAC,EACAM,EACAE,GAGE9U,EAAOkV,EAAYvxB,OAAS,EAC5ByxB,EAA4B,GAClC,IAAK,IAAItwB,EAAI,EAAGA,EAAIkb,EAAMlb,GAAK,EAC3BswB,EAAcxnB,KAAK,CAACsnB,EAAYpwB,GAAIowB,EAAYpwB,EAAIkb,KAGxD,OAAOoV,CACX,CAyBA,iBAAAG,CACIN,EACAzB,EApkBmB,GAskBnB,MACIX,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAEHc,IAAuBD,EACvBE,EAAQF,GAAoB,GAE5BoB,EAAYP,EAAYtxB,OAE9B,IAAIuxB,EAAc,GAClB,IACIA,EAAc7iB,KAAKihB,QAAQmC,WACvB3C,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,EACAmB,EACAC,EACAW,EAER,CAAE,MAAO1xB,GAEL,MADAmM,QAAQG,MAAMwC,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,aAEtD,CAEA,MAAM4c,EAAmBT,EAAYzxB,MAAM,EAAG+xB,GAMxCI,EAA2B,GAEjC,IAAIC,EAAUL,EACVM,EAAUN,EAPMG,EAAiBI,OAAO,CAACC,EAAaC,IAC/CD,EAAcC,EACtB,GAMH,IAAK,IAAInxB,EAAI,EAAGA,EAAI6wB,EAAiBhyB,OAAQmB,GAAK,EAAG,CACjD,MAAMoxB,EAAcP,EAAiB7wB,GAE/B6vB,EAA0B,GAChC,IAAK,IAAI1J,EAAI,EAAGA,EAAIiL,EAAajL,GAAK,EAClC0J,EAAY/mB,KAAK,CAACsnB,EAAYW,EAAU5K,GAAIiK,EAAYY,EAAU7K,KAEtE2K,EAAWhoB,KAAK0kB,EAAuBqC,IACvCkB,GAAWK,EACXJ,GAAWI,CACf,CAEA,OAAON,CACX,CAmCA,kCAAAO,CACIlB,EACAzB,EAnqBmB,GAurBnB,MAAO,CACHlgB,KAAM,oBACN8iB,SAnBqB/jB,KAAKkjB,kBAAkBN,EAAazB,GAE3B1W,IAAI,CAAC6X,EAAazU,KAChD,MAAMmW,EAASpB,EAAY/U,GAC3B,MAAO,CACH5M,KAAM,UACNgjB,SAAU,CACNhjB,KAAM,UACNqhB,YAAa,CAACA,IAElBhI,GAAI0J,EACJE,WAAY,CACR5J,GAAI0J,MASpB,CA6BA,oBAAAG,CACIvB,EACAzB,EA1tBmB,GA4tBnB,MACIX,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAET,GAAIP,IAAaZ,EAASqE,SACtB,MAAM,IAAIjyB,MAAM,6DAGpB,MAAM6vB,IAAuBD,EACvBE,EAAQF,GAAoB,GAElC,IACI,MAAMc,EAAc7iB,KAAKihB,QAAQoD,kBAC7B5D,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,EACAmB,EACAC,EACAW,GAKEO,EAAYP,EAAYtxB,OACxBgzB,EAASzB,EAAYzxB,MAAM,EAAG+xB,GAC9BoB,EAAwB,GAE9B,IAAI9J,EAAS0I,EACb,IAAK,IAAI1wB,EAAI,EAAGA,EAAI0wB,EAAW1wB,IAAK,CAChC,MAAMwR,EAAQuY,OAAO8H,EAAO7xB,IAC5B8xB,EAAUhpB,KAAKsnB,EAAYzxB,MAAMqpB,EAAQA,EAASxW,IAClDwW,GAAUxW,CACd,CAEA,OAAOsgB,CACX,CAAE,MAAOrzB,GAEL,MADAmM,QAAQG,MAAMwC,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,YAC5CxV,CACV,CACJ,CA2BA,iBAAAszB,CACI5B,EACAzB,EAzyBmB,GA2yBnB,GAAIA,GAAc,EACd,MAAM,IAAIhvB,MAAM,8CAGpB,MACIquB,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAEHc,IAAuBD,EACvBE,EAAQF,GAAoB,GAElC,IAcI,OAboB/hB,KAAKihB,QAAQwD,gBAC7BhE,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,EACAmB,EACAC,EACAW,EAIR,CAAE,MAAO1xB,GAEL,MADAmM,QAAQG,MAAMwC,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,YAC5CxV,CACV,CACJ,CA6BA,qBAAAwzB,CACI9B,EACAzB,EA72BmB,GA+2BnB,GAAIA,GAAc,EACd,MAAM,IAAIhvB,MAAM,+CAGpB,IACI,MAAM0wB,EAAc7iB,KAAKihB,QAAQ0D,uBAC1B3kB,KAAK4kB,WAAWzD,GACnByB,GAIEhI,EAAqB,GAC3B,IAAK,IAAInoB,EAAI,EAAGA,EAAIowB,EAAYvxB,OAAQmB,IAAK,CACzC,MAAMoyB,EAAkB,GACxB,IAAK,IAAIjM,EAAI,EAAGA,EAAIiK,EAAYpwB,GAAGnB,OAAQsnB,IACvCiM,EAAMtpB,KAAKsnB,EAAYpwB,GAAGmmB,IAE9BgC,EAAOrf,KAAKspB,EAChB,CACA,OAAOjK,CACX,CAAE,MAAO1pB,GAEL,MADAmM,QAAQG,MAAMwC,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,YAC5CxV,CACV,CACJ,CAgCA,mBAAA4zB,CACIlC,EACAzB,EAz6BmB,GA26BnB,MACIX,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAEHc,IAAuBD,EACvBE,EAAQF,GAAoB,GAElC,IACI,MAAMc,EAAc7iB,KAAKihB,QAAQ8D,iBAC7BtE,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,EACAmB,EACAC,EACAW,GAKEO,EAAYP,EAAYtxB,OACxBgzB,EAASzB,EAAYzxB,MAAM,EAAG+xB,GAC9B6B,EAAuB,GAE7B,IAAIvK,EAAS0I,EACb,IAAK,IAAI1wB,EAAI,EAAGA,EAAI0wB,EAAW1wB,IAAK,CAChC,MAAMwR,EAAQuY,OAAO8H,EAAO7xB,IAC5BuyB,EAASzpB,KAAKsnB,EAAYzxB,MAAMqpB,EAAQA,EAASxW,IACjDwW,GAAUxW,CACd,CAEA,OAAO+gB,CACX,CAAE,MAAO9zB,GAEL,MADAmM,QAAQG,MAAMwC,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,YAC5CxV,CACV,CACJ,CAwBA,sBAAA+zB,CACIrC,EACAzB,EAj/BmB,GAm/BnB,IAKI,OAJenhB,KAAKihB,QAAQiE,uBACrBllB,KAAK4kB,WAAWzD,GACnByB,EAGR,CAAE,MAAO1xB,GAEL,MADAmM,QAAQG,MAAMwC,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,YAC5CxV,CACV,CACJ,CAmBA,sBAAAi0B,CACIC,EACAC,EACAC,EACA5S,EACA9e,EACAutB,EAthCmB,GAwhCnB,IACI,OAAOnhB,KAAKihB,QAAQsE,uBACbvlB,KAAK4kB,WAAWzD,GACnBiE,EACAC,EACAC,EACA5S,EACA9e,EAER,CAAE,MAAO1C,GAEL,MADAmM,QAAQG,MAAMwC,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,YAC5CxV,CACV,CACJ,CAuBA,mBAAAs0B,CACI5C,EACAzB,EA9jCmB,GAgkCnB,MAAMJ,SAAEA,EAAQgB,iBAAEA,GAAqB/hB,KAAKkhB,KAG5C,GAAiB,IAAbH,IAAmBgB,EACnB,MAAM,IAAI5vB,MACN,+GAKR,IACI,OAAO6N,KAAKihB,QAAQwE,oBACbzlB,KAAK4kB,WAAWzD,GACnByB,EAER,CAAE,MAAO1xB,GACL,MAAMw0B,EAAS1lB,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,WACnD,GAAIgf,EAAOC,SAAS,YAChB,MAAM,IAAIxzB,MACN,iBAAiBuzB,+CAIzB,MADAroB,QAAQG,MAAMkoB,GACRx0B,CACV,CACJ,CAgBA,mBAAA00B,CACIC,EACA1E,EA3mCmB,GA6mCnB,MAAMJ,SAAEA,EAAQgB,iBAAEA,GAAqB/hB,KAAKkhB,KAE5C,GAAiB,IAAbH,IAAmBgB,EACnB,MAAM,IAAI5vB,MACN,+GAKR,IACI,OAAO6N,KAAKihB,QAAQ6E,oBACb9lB,KAAK4kB,WAAWzD,GACnB0E,EAER,CAAE,MAAO30B,GACL,MAAMw0B,EAAS1lB,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,WACnD,GAAIgf,EAAOC,SAAS,YAChB,MAAM,IAAIxzB,MACN,iBAAiBuzB,+CAIzB,MADAroB,QAAQG,MAAMkoB,GACRx0B,CACV,CACJ,CAsBA,eAAA60B,CACInD,EACAzB,EA7pCmB,GA+pCnB,MAAMJ,SAAEA,EAAQJ,SAAEA,EAAQoB,iBAAEA,GAAqB/hB,KAAKkhB,KAEtD,IAAkB,IAAbH,GAA+B,YAAbJ,KAA4BoB,EAC/C,MAAM,IAAI5vB,MAEN,sFAAmC4uB,eAAsBJ,MAIjE,IACI,OAAO3gB,KAAKihB,QAAQ+E,gBACbhmB,KAAK4kB,WAAWzD,GACnByB,EAER,CAAE,MAAO1xB,GACL,MAAMw0B,EAAS1lB,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,WACnD,GAAIgf,EAAOC,SAAS,aAAeD,EAAOC,SAAS,MAC/C,MAAM,IAAIxzB,MACN,aAAauzB,4CAIrB,MADAroB,QAAQG,MAAMkoB,GACRx0B,CACV,CACJ,CAgBA,eAAA+0B,CACIC,EACA/E,EAzsCmB,GA2sCnB,MAAMJ,SAAEA,EAAQJ,SAAEA,EAAQoB,iBAAEA,GAAqB/hB,KAAKkhB,KAEtD,IAAkB,IAAbH,GAA+B,YAAbJ,KAA4BoB,EAC/C,MAAM,IAAI5vB,MAEN,sFAAmC4uB,eAAsBJ,MAIjE,IACI,OAAO3gB,KAAKihB,QAAQkF,gBACbnmB,KAAK4kB,WAAWzD,GACnB+E,EAER,CAAE,MAAOh1B,GACL,MAAMw0B,EAAS1lB,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,WACnD,GAAIgf,EAAOC,SAAS,aAAeD,EAAOC,SAAS,MAC/C,MAAM,IAAIxzB,MACN,aAAauzB,4CAIrB,MADAroB,QAAQG,MAAMkoB,GACRx0B,CACV,CACJ,CAuBA,eAAAk1B,CACIxD,EACAzB,EA5vCmB,GA8vCnB,MAAMJ,SAAEA,EAAQJ,SAAEA,EAAQoB,iBAAEA,GAAqB/hB,KAAKkhB,KAEtD,IAAkB,IAAbH,GAA+B,YAAbJ,KAA4BoB,EAC/C,MAAM,IAAI5vB,MAEN,sFAAmC4uB,eAAsBJ,MAIjE,IACI,OAAO3gB,KAAKihB,QAAQoF,gBACbrmB,KAAK4kB,WAAWzD,GACnByB,EAER,CAAE,MAAO1xB,GACL,MAAMw0B,EAAS1lB,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,WACnD,GAAIgf,EAAOC,SAAS,aAAeD,EAAOC,SAAS,MAC/C,MAAM,IAAIxzB,MACN,aAAauzB,4CAIrB,MADAroB,QAAQG,MAAMkoB,GACRx0B,CACV,CACJ,CAgBA,eAAAo1B,CACIC,EACApF,EAxyCmB,GA0yCnB,MAAMJ,SAAEA,EAAQJ,SAAEA,EAAQoB,iBAAEA,GAAqB/hB,KAAKkhB,KAEtD,IAAkB,IAAbH,GAA+B,YAAbJ,KAA4BoB,EAC/C,MAAM,IAAI5vB,MAEN,sFAAmC4uB,eAAsBJ,MAIjE,IACI,OAAO3gB,KAAKihB,QAAQuF,gBACbxmB,KAAK4kB,WAAWzD,GACnBoF,EAER,CAAE,MAAOr1B,GACL,MAAMw0B,EAAS1lB,KAAKihB,QAAQoC,oBAAoBnyB,GAAGwV,WACnD,GAAIgf,EAAOC,SAAS,aAAeD,EAAOC,SAAS,MAC/C,MAAM,IAAIxzB,MACN,aAAauzB,4CAIrB,MADAroB,QAAQG,MAAMkoB,GACRx0B,CACV,CACJ,CA0CA,SAAAu1B,CAAUF,GACN,OAAO/J,QAAQ+J,EAAUvF,EAAU0F,eAAiB1F,EAAU2F,eAClE,CAgBA,UAAAC,CAAWL,EAAiBM,GACxB,MAAMzmB,EAAQ4V,OAAOgL,EAAU8F,WAAaD,GAAO7F,EAAU+F,kBAC7D,OAAOvK,OAAQ+J,GAAWnmB,EAAS4gB,EAAUgG,cACjD,CAgBA,UAAAC,CAAWV,EAAiBM,EAAaK,GACrC,MAAM9mB,EAAQ4V,OAAOgL,EAAU8F,WAAaD,GAAO7F,EAAU+F,kBAC7D,OAAQR,IAAYvF,EAAUgG,eAAiB5mB,GAAW4V,OAAOkR,IAAU9mB,CAC/E,CAcA,eAAA+mB,CAAgBZ,EAAiBpF,GAC7B,MAAMiG,EAAOpnB,KAAKymB,UAAUF,GACtBc,EAAmB,GACzB,IAAK,IAAIrM,EAAI,EAAGA,GAAKmG,EAAYnG,IAC7BqM,EAAO9rB,KAAKyE,KAAK4mB,WAAWL,EAASvL,IAEzC,MAAO,CAAEoM,OAAMC,SACnB,CAYA,SAAAC,CAAUpB,GACN,OAAO1J,QAAQ0J,EAAUlF,EAAUuG,eAAiBvG,EAAUwG,eAClE,CAgBA,UAAAC,CAAWvB,EAAiBW,GACxB,MAAMzmB,EAAQ4V,OAAOgL,EAAU0G,WAAab,GAAO7F,EAAU2G,kBAC7D,OAAOnL,OAAQ0J,GAAW9lB,EAAS4gB,EAAU4G,cACjD,CAcA,UAAAC,CAAW3B,EAAiBW,EAAaK,GACrC,MAAM9mB,EAAQ4V,OAAOgL,EAAU0G,WAAab,GAAO7F,EAAU2G,kBAC7D,OAAQzB,IAAYlF,EAAU4G,eAAiBxnB,GAAW4V,OAAOkR,IAAU9mB,CAC/E,CAcA,eAAA0nB,CAAgB5B,EAAiB/E,GAC7B,MAAMiG,EAAOpnB,KAAKsnB,UAAUpB,GACtBmB,EAAmB,GACzB,IAAK,IAAIrM,EAAI,EAAGA,GAAKmG,EAAYnG,IAC7BqM,EAAO9rB,KAAKyE,KAAKynB,WAAWvB,EAASlL,IAEzC,MAAO,CAAEoM,OAAMC,SACnB,CAYA,aAAAU,CAAclC,GACV,OAAOrJ,QAAQqJ,EAAc7E,EAAUgH,mBAAqBhH,EAAUiH,mBAC1E,CAeA,cAAAC,CAAerC,EAAqBgB,GAChC,MAAMzmB,EAAQ4V,OAAOgL,EAAUmH,eAAiBtB,GAAO7F,EAAUoH,sBACjE,OAAO5L,OAAQqJ,GAAezlB,EAAS4gB,EAAUqH,kBACrD,CAcA,cAAAC,CAAezC,EAAqBgB,EAAaK,GAC7C,MAAM9mB,EAAQ4V,OAAOgL,EAAUmH,eAAiBtB,GAAO7F,EAAUoH,sBACjE,OAAQvC,IAAgB7E,EAAUqH,mBAAqBjoB,GAAW4V,OAAOkR,IAAU9mB,CACvF,CAcA,mBAAAmoB,CAAoB1C,EAAqB1E,GACrC,MAAMiG,EAAOpnB,KAAK+nB,cAAclC,GAC1BwB,EAAmB,GACzB,IAAK,IAAIrM,EAAI,EAAGA,GAAKmG,EAAYnG,IAC7BqM,EAAO9rB,KAAKyE,KAAKkoB,eAAerC,EAAa7K,IAEjD,MAAO,CAAEoM,OAAMC,SACnB,CAWQ,UAAAzC,CAAWzD,EAjkDI,GAkkDnB,MACIX,iBAAiBF,IAAEA,EAAGG,IAAEA,GAAKC,QAC7BA,EAAOC,SACPA,EAAQE,WACRA,EAAUE,SACVA,EAAQgB,iBACRA,GACA/hB,KAAKkhB,KAKT,MAAO,CACHT,EACAH,EACAI,EACAK,EACAI,EACAR,EACAE,IAVyBkB,EACfA,GAAoB,GAatC,CAaA,UAAAyG,CAAWlG,EAAyBnB,EAtmDb,GAumDnB,MAAMoB,EAAUD,EAAY7X,IAAIzW,GAAKA,EAAE,IACjCyuB,EAAUH,EAAY7X,IAAIzW,GAAKA,EAAE,IAEjC4mB,EAAS5a,KAAKihB,QAAQwH,gBAAgBzoB,KAAK4kB,WAAWzD,GAAaoB,EAASE,GAE5E9U,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CAAEmX,EAAGkI,EAAOnoB,GAAImB,EAAGgnB,EAAOnoB,EAAIkb,KAE9C,OAAO+a,CACX,CASA,YAAAC,CAAarG,EAAyBnB,EA3nDf,GA4nDnB,MAAMoB,EAAUD,EAAY7X,IAAIzW,GAAKA,EAAE,IACjCyuB,EAAUH,EAAY7X,IAAIzW,GAAKA,EAAE,IAEjC4mB,EAAS5a,KAAKihB,QAAQ2H,kBAAkB5oB,KAAK4kB,WAAWzD,GAAaoB,EAASE,GAE9E9U,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACRstB,KAAMjO,EAAOnoB,GACbigB,EAAGkI,EAAOnoB,EAAIkb,GACd/Z,EAAGgnB,EAAOnoB,EAAI,EAAIkb,KAG1B,OAAO+a,CACX,CASA,SAAAI,CAAUxG,EAAyBnB,EAppDZ,GAqpDnB,MAAMoB,EAAUD,EAAY7X,IAAIzW,GAAKA,EAAE,IACjCyuB,EAAUH,EAAY7X,IAAIzW,GAAKA,EAAE,IAEjC4mB,EAAS5a,KAAKihB,QAAQ8H,eAAe/oB,KAAK4kB,WAAWzD,GAAaoB,EAASE,GAE3E9U,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACR6rB,KAAMxM,EAAOnoB,GACbigB,EAAGkI,EAAOnoB,EAAIkb,GACd/Z,EAAGgnB,EAAOnoB,EAAI,EAAIkb,KAG1B,OAAO+a,CACX,CASA,SAAAM,CAAU1G,EAAyBnB,EA7qDZ,GA8qDnB,MAAMoB,EAAUD,EAAY7X,IAAIzW,GAAKA,EAAE,IACjCyuB,EAAUH,EAAY7X,IAAIzW,GAAKA,EAAE,IAEjC4mB,EAAS5a,KAAKihB,QAAQgI,eAAejpB,KAAK4kB,WAAWzD,GAAaoB,EAASE,GAE3E9U,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACR6rB,KAAMxM,EAAOnoB,GACbA,EAAGujB,OAAO4E,EAAOnoB,EAAIkb,IACrBiL,EAAG5C,OAAO4E,EAAOnoB,EAAI,EAAIkb,MAGjC,OAAO+a,CACX,CAaA,kBAAAQ,CAAmBtG,EAAuBzB,EA1sDnB,GA2sDnB,MAAMvG,EAAS5a,KAAKihB,QAAQkI,mBAAmBnpB,KAAK4kB,WAAWzD,GAAayB,GAEtEjV,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CAAEmX,EAAGkI,EAAOnoB,GAAImB,EAAGgnB,EAAOnoB,EAAIkb,KAE9C,OAAO+a,CACX,CASA,oBAAAU,CAAqBxG,EAAuBzB,EA5tDrB,GA6tDnB,MAAMvG,EAAS5a,KAAKihB,QAAQoI,qBAAqBrpB,KAAK4kB,WAAWzD,GAAayB,GAExEjV,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACRstB,KAAMjO,EAAOnoB,GACbigB,EAAGkI,EAAOnoB,EAAIkb,GACd/Z,EAAGgnB,EAAOnoB,EAAI,EAAIkb,KAG1B,OAAO+a,CACX,CASA,iBAAAY,CAAkB1G,EAAuBzB,EAlvDlB,GAmvDnB,MAAMvG,EAAS5a,KAAKihB,QAAQsI,kBAAkBvpB,KAAK4kB,WAAWzD,GAAayB,GAErEjV,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACR6rB,KAAMxM,EAAOnoB,GACbigB,EAAGkI,EAAOnoB,EAAIkb,GACd/Z,EAAGgnB,EAAOnoB,EAAI,EAAIkb,KAG1B,OAAO+a,CACX,CASA,iBAAAc,CAAkB5G,EAAuBzB,EAxwDlB,GAywDnB,MAAMvG,EAAS5a,KAAKihB,QAAQwI,kBAAkBzpB,KAAK4kB,WAAWzD,GAAayB,GAErEjV,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACR6rB,KAAMxM,EAAOnoB,GACbA,EAAGujB,OAAO4E,EAAOnoB,EAAIkb,IACrBiL,EAAG5C,OAAO4E,EAAOnoB,EAAI,EAAIkb,MAGjC,OAAO+a,CACX,CAaA,SAAAgB,CAAUC,EAAuDxI,EAlyD1C,GAmyDnB,MAAMyI,EAAQD,EAAOlf,IAAIzW,GAAKA,EAAEozB,MAC1ByC,EAAKF,EAAOlf,IAAIzW,GAAKwoB,OAAOxoB,EAAEvB,IAC9Bq3B,EAAKH,EAAOlf,IAAIzW,GAAKwoB,OAAOxoB,EAAE4kB,IAE9BgC,EAAS5a,KAAKihB,QAAQ8I,eAAe/pB,KAAK4kB,WAAWzD,GAAayI,EAAOC,EAAIC,GAE7Enc,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAqB,GAC3B,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CAACqf,EAAOnoB,GAAImoB,EAAOnoB,EAAIkb,KAEvC,OAAO+a,CACX,CASA,iBAAAsB,CAAkBL,EAAuDxI,EAxzDlD,GAyzDnB,MAAMyI,EAAQD,EAAOlf,IAAIzW,GAAKA,EAAEozB,MAC1ByC,EAAKF,EAAOlf,IAAIzW,GAAKwoB,OAAOxoB,EAAEvB,IAC9Bq3B,EAAKH,EAAOlf,IAAIzW,GAAKwoB,OAAOxoB,EAAE4kB,IAEpC,OAAO5Y,KAAKihB,QAAQgJ,kBAAkBjqB,KAAK4kB,WAAWzD,GAAayI,EAAOC,EAAIC,EAClF,CASA,WAAAI,CAAYP,EAAuDxI,EAv0D5C,GAw0DnB,MAAMyI,EAAQD,EAAOlf,IAAIzW,GAAKA,EAAEozB,MAC1ByC,EAAKF,EAAOlf,IAAIzW,GAAKwoB,OAAOxoB,EAAEvB,IAC9Bq3B,EAAKH,EAAOlf,IAAIzW,GAAKwoB,OAAOxoB,EAAE4kB,IAE9BgC,EAAS5a,KAAKihB,QAAQkJ,iBAAiBnqB,KAAK4kB,WAAWzD,GAAayI,EAAOC,EAAIC,GAE/Enc,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CAAEmX,EAAGkI,EAAOnoB,GAAImB,EAAGgnB,EAAOnoB,EAAIkb,KAE9C,OAAO+a,CACX,CASA,aAAA0B,CAAcT,EAAuDxI,EA71D9C,GA81DnB,MAAMyI,EAAQD,EAAOlf,IAAIzW,GAAKA,EAAEozB,MAC1ByC,EAAKF,EAAOlf,IAAIzW,GAAKwoB,OAAOxoB,EAAEvB,IAC9Bq3B,EAAKH,EAAOlf,IAAIzW,GAAKwoB,OAAOxoB,EAAE4kB,IAE9BgC,EAAS5a,KAAKihB,QAAQoJ,mBAAmBrqB,KAAK4kB,WAAWzD,GAAayI,EAAOC,EAAIC,GAEjFnc,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACRstB,KAAMjO,EAAOnoB,GACbigB,EAAGkI,EAAOnoB,EAAIkb,GACd/Z,EAAGgnB,EAAOnoB,EAAI,EAAIkb,KAG1B,OAAO+a,CACX,CASA,UAAA4B,CAAWX,EAAuDxI,EAv3D3C,GAw3DnB,MAAMyI,EAAQD,EAAOlf,IAAIzW,GAAKA,EAAEozB,MAC1ByC,EAAKF,EAAOlf,IAAIzW,GAAKwoB,OAAOxoB,EAAEvB,IAC9Bq3B,EAAKH,EAAOlf,IAAIzW,GAAKwoB,OAAOxoB,EAAE4kB,IAE9BgC,EAAS5a,KAAKihB,QAAQsJ,gBAAgBvqB,KAAK4kB,WAAWzD,GAAayI,EAAOC,EAAIC,GAE9Enc,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACR6rB,KAAMxM,EAAOnoB,GACbigB,EAAGkI,EAAOnoB,EAAIkb,GACd/Z,EAAGgnB,EAAOnoB,EAAI,EAAIkb,KAG1B,OAAO+a,CACX,CAaA,SAAA8B,CAAUb,EAAuDxI,EAr5D1C,GAs5DnB,MAAMyI,EAAQD,EAAOlf,IAAIzW,GAAKA,EAAEozB,MAC1BqD,EAAKd,EAAOlf,IAAIzW,GAAKA,EAAE0e,GACvBgY,EAAKf,EAAOlf,IAAIzW,GAAKA,EAAEJ,GAEvBgnB,EAAS5a,KAAKihB,QAAQ0J,eAAe3qB,KAAK4kB,WAAWzD,GAAayI,EAAOa,EAAIC,GAE7E/c,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAqB,GAC3B,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CAACqf,EAAOnoB,GAAImoB,EAAOnoB,EAAIkb,KAEvC,OAAO+a,CACX,CASA,iBAAAkC,CAAkBjB,EAAuDxI,EA36DlD,GA46DnB,MAAMyI,EAAQD,EAAOlf,IAAIzW,GAAKA,EAAEozB,MAC1BqD,EAAKd,EAAOlf,IAAIzW,GAAKA,EAAE0e,GACvBgY,EAAKf,EAAOlf,IAAIzW,GAAKA,EAAEJ,GAE7B,OAAOoM,KAAKihB,QAAQ4J,kBAAkB7qB,KAAK4kB,WAAWzD,GAAayI,EAAOa,EAAIC,EAClF,CASA,WAAAI,CAAYnB,EAAuDxI,EA17D5C,GA27DnB,MAAMyI,EAAQD,EAAOlf,IAAIzW,GAAKA,EAAEozB,MAC1BqD,EAAKd,EAAOlf,IAAIzW,GAAKA,EAAE0e,GACvBgY,EAAKf,EAAOlf,IAAIzW,GAAKA,EAAEJ,GAEvBgnB,EAAS5a,KAAKihB,QAAQ8J,iBAAiB/qB,KAAK4kB,WAAWzD,GAAayI,EAAOa,EAAIC,GAE/E/c,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CAAEmX,EAAGkI,EAAOnoB,GAAImB,EAAGgnB,EAAOnoB,EAAIkb,KAE9C,OAAO+a,CACX,CASA,aAAAsC,CAAcrB,EAAuDxI,EAh9D9C,GAi9DnB,MAAMyI,EAAQD,EAAOlf,IAAIzW,GAAKA,EAAEozB,MAC1BqD,EAAKd,EAAOlf,IAAIzW,GAAKA,EAAE0e,GACvBgY,EAAKf,EAAOlf,IAAIzW,GAAKA,EAAEJ,GAEvBgnB,EAAS5a,KAAKihB,QAAQgK,mBAAmBjrB,KAAK4kB,WAAWzD,GAAayI,EAAOa,EAAIC,GAEjF/c,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACRstB,KAAMjO,EAAOnoB,GACbigB,EAAGkI,EAAOnoB,EAAIkb,GACd/Z,EAAGgnB,EAAOnoB,EAAI,EAAIkb,KAG1B,OAAO+a,CACX,CASA,UAAAwC,CAAWvB,EAAuDxI,EA1+D3C,GA2+DnB,MAAMyI,EAAQD,EAAOlf,IAAIzW,GAAKA,EAAEozB,MAC1BqD,EAAKd,EAAOlf,IAAIzW,GAAKA,EAAE0e,GACvBgY,EAAKf,EAAOlf,IAAIzW,GAAKA,EAAEJ,GAEvBgnB,EAAS5a,KAAKihB,QAAQkK,gBAAgBnrB,KAAK4kB,WAAWzD,GAAayI,EAAOa,EAAIC,GAE9E/c,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACR6rB,KAAMxM,EAAOnoB,GACbA,EAAGujB,OAAO4E,EAAOnoB,EAAIkb,IACrBiL,EAAG5C,OAAO4E,EAAOnoB,EAAI,EAAIkb,MAGjC,OAAO+a,CACX,CAaA,YAAA0C,CAAazB,EAAuDxI,EAxgE7C,GAygEnB,MAAMkK,EAAQ1B,EAAOlf,IAAIzW,GAAKA,EAAE60B,MAC1B4B,EAAKd,EAAOlf,IAAIzW,GAAKA,EAAE0e,GACvBgY,EAAKf,EAAOlf,IAAIzW,GAAKA,EAAEJ,GAEvBgnB,EAAS5a,KAAKihB,QAAQqK,kBAAkBtrB,KAAK4kB,WAAWzD,GAAakK,EAAOZ,EAAIC,GAEhF/c,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAqB,GAC3B,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CAACqf,EAAOnoB,GAAImoB,EAAOnoB,EAAIkb,KAEvC,OAAO+a,CACX,CASA,oBAAA6C,CAAqB5B,EAAuDxI,EA9hErD,GA+hEnB,MAAMkK,EAAQ1B,EAAOlf,IAAIzW,GAAKA,EAAE60B,MAC1B4B,EAAKd,EAAOlf,IAAIzW,GAAKA,EAAE0e,GACvBgY,EAAKf,EAAOlf,IAAIzW,GAAKA,EAAEJ,GAE7B,OAAOoM,KAAKihB,QAAQuK,qBAAqBxrB,KAAK4kB,WAAWzD,GAAakK,EAAOZ,EAAIC,EACrF,CASA,cAAAe,CAAe9B,EAAuDxI,EA7iE/C,GA8iEnB,MAAMkK,EAAQ1B,EAAOlf,IAAIzW,GAAKA,EAAE60B,MAC1B4B,EAAKd,EAAOlf,IAAIzW,GAAKA,EAAE0e,GACvBgY,EAAKf,EAAOlf,IAAIzW,GAAKA,EAAEJ,GAEvBgnB,EAAS5a,KAAKihB,QAAQyK,oBAAoB1rB,KAAK4kB,WAAWzD,GAAakK,EAAOZ,EAAIC,GAElF/c,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CAAEmX,EAAGkI,EAAOnoB,GAAImB,EAAGgnB,EAAOnoB,EAAIkb,KAE9C,OAAO+a,CACX,CASA,aAAAiD,CAAchC,EAAuDxI,EAnkE9C,GAokEnB,MAAMkK,EAAQ1B,EAAOlf,IAAIzW,GAAKA,EAAE60B,MAC1B4B,EAAKd,EAAOlf,IAAIzW,GAAKA,EAAE0e,GACvBgY,EAAKf,EAAOlf,IAAIzW,GAAKA,EAAEJ,GAEvBgnB,EAAS5a,KAAKihB,QAAQ2K,mBAAmB5rB,KAAK4kB,WAAWzD,GAAakK,EAAOZ,EAAIC,GAEjF/c,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACR6rB,KAAMxM,EAAOnoB,GACbigB,EAAGkI,EAAOnoB,EAAIkb,GACd/Z,EAAGgnB,EAAOnoB,EAAI,EAAIkb,KAG1B,OAAO+a,CACX,CASA,aAAAmD,CAAclC,EAAuDxI,EA7lE9C,GA8lEnB,MAAMkK,EAAQ1B,EAAOlf,IAAIzW,GAAKA,EAAE60B,MAC1B4B,EAAKd,EAAOlf,IAAIzW,GAAKA,EAAE0e,GACvBgY,EAAKf,EAAOlf,IAAIzW,GAAKA,EAAEJ,GAEvBgnB,EAAS5a,KAAKihB,QAAQ6K,mBAAmB9rB,KAAK4kB,WAAWzD,GAAakK,EAAOZ,EAAIC,GAEjF/c,EAAOiN,EAAOtpB,OAAS,EACvBo3B,EAAgB,GACtB,IAAK,IAAIj2B,EAAI,EAAGA,EAAIkb,EAAMlb,IACtBi2B,EAAOntB,KAAK,CACR6rB,KAAMxM,EAAOnoB,GACbA,EAAGujB,OAAO4E,EAAOnoB,EAAIkb,IACrBiL,EAAG5C,OAAO4E,EAAOnoB,EAAI,EAAIkb,MAGjC,OAAO+a,CACX,EAlyBiC1H,EAAA8F,WAAa,GACb9F,EAAA+F,kBAAoB,GACpB/F,EAAAgG,cAAgB,GAChBhG,EAAA2F,eAAiB,IACjB3F,EAAA0F,aAAe,oBAGf1F,EAAA0G,WAAa,GACb1G,EAAA2G,kBAAoB,GACpB3G,EAAA4G,cAAgB,GAChB5G,EAAAwG,eAAiB,IACjBxG,EAAAuG,aAAe,oBAGfvG,EAAAmH,eAAiB,GACjBnH,EAAAoH,sBAAwB,GACxBpH,EAAAqH,kBAAoB,GACpBrH,EAAAiH,mBAAqB,IACrBjH,EAAAgH,iBAAmB","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"webdggrid.js","sources":["../node_modules/fzstd/esm/index.mjs","../src-ts/extract.ts","../lib-wasm/libdggrid.js","../lib-esm/libdggrid.wasm.js","../src-ts/webdggrid.ts"],"sourcesContent":["// Some numerical data is initialized as -1 even when it doesn't need initialization to help the JIT infer types\n// aliases for shorter compressed code (most minifers don't do this)\nvar ab = ArrayBuffer, u8 = Uint8Array, u16 = Uint16Array, i16 = Int16Array, u32 = Uint32Array, i32 = Int32Array;\nvar slc = function (v, s, e) {\n if (u8.prototype.slice)\n return u8.prototype.slice.call(v, s, e);\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n var n = new u8(e - s);\n n.set(v.subarray(s, e));\n return n;\n};\nvar fill = function (v, n, s, e) {\n if (u8.prototype.fill)\n return u8.prototype.fill.call(v, n, s, e);\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n for (; s < e; ++s)\n v[s] = n;\n return v;\n};\nvar cpw = function (v, t, s, e) {\n if (u8.prototype.copyWithin)\n return u8.prototype.copyWithin.call(v, t, s, e);\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n while (s < e) {\n v[t++] = v[s++];\n }\n};\n/**\n * Codes for errors generated within this library\n */\nexport var ZstdErrorCode = {\n InvalidData: 0,\n WindowSizeTooLarge: 1,\n InvalidBlockType: 2,\n FSEAccuracyTooHigh: 3,\n DistanceTooFarBack: 4,\n UnexpectedEOF: 5\n};\n// error codes\nvar ec = [\n 'invalid zstd data',\n 'window size too large (>2046MB)',\n 'invalid block type',\n 'FSE accuracy too high',\n 'match distance too far back',\n 'unexpected EOF'\n];\nvar err = function (ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\nvar rb = function (d, b, n) {\n var i = 0, o = 0;\n for (; i < n; ++i)\n o |= d[b++] << (i << 3);\n return o;\n};\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };\n// read Zstandard frame header\nvar rzfh = function (dat, w) {\n var n3 = dat[0] | (dat[1] << 8) | (dat[2] << 16);\n if (n3 == 0x2FB528 && dat[3] == 253) {\n // Zstandard\n var flg = dat[4];\n // single segment checksum dict flag frame content flag\n var ss = (flg >> 5) & 1, cc = (flg >> 2) & 1, df = flg & 3, fcf = flg >> 6;\n if (flg & 8)\n err(0);\n // byte\n var bt = 6 - ss;\n // dict bytes\n var db = df == 3 ? 4 : df;\n // dictionary id\n var di = rb(dat, bt, db);\n bt += db;\n // frame size bytes\n var fsb = fcf ? (1 << fcf) : ss;\n // frame source size\n var fss = rb(dat, bt, fsb) + ((fcf == 1) && 256);\n // window size\n var ws = fss;\n if (!ss) {\n // window descriptor\n var wb = 1 << (10 + (dat[5] >> 3));\n ws = wb + (wb >> 3) * (dat[5] & 7);\n }\n if (ws > 2145386496)\n err(1);\n var buf = new u8((w == 1 ? (fss || ws) : w ? 0 : ws) + 12);\n buf[0] = 1, buf[4] = 4, buf[8] = 8;\n return {\n b: bt + fsb,\n y: 0,\n l: 0,\n d: di,\n w: (w && w != 1) ? w : buf.subarray(12),\n e: ws,\n o: new i32(buf.buffer, 0, 3),\n u: fss,\n c: cc,\n m: Math.min(131072, ws)\n };\n }\n else if (((n3 >> 4) | (dat[3] << 20)) == 0x184D2A5) {\n // skippable\n return b4(dat, 4) + 8;\n }\n err(0);\n};\n// most significant bit for nonzero\nvar msb = function (val) {\n var bits = 0;\n for (; (1 << bits) <= val; ++bits)\n ;\n return bits - 1;\n};\n// read finite state entropy\nvar rfse = function (dat, bt, mal) {\n // table pos\n var tpos = (bt << 3) + 4;\n // accuracy log\n var al = (dat[bt] & 15) + 5;\n if (al > mal)\n err(3);\n // size\n var sz = 1 << al;\n // probabilities symbols repeat index high threshold\n var probs = sz, sym = -1, re = -1, i = -1, ht = sz;\n // optimization: single allocation is much faster\n var buf = new ab(512 + (sz << 2));\n var freq = new i16(buf, 0, 256);\n // same view as freq\n var dstate = new u16(buf, 0, 256);\n var nstate = new u16(buf, 512, sz);\n var bb1 = 512 + (sz << 1);\n var syms = new u8(buf, bb1, sz);\n var nbits = new u8(buf, bb1 + sz);\n while (sym < 255 && probs > 0) {\n var bits = msb(probs + 1);\n var cbt = tpos >> 3;\n // mask\n var msk = (1 << (bits + 1)) - 1;\n var val = ((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (tpos & 7)) & msk;\n // mask (1 fewer bit)\n var msk1fb = (1 << bits) - 1;\n // max small value\n var msv = msk - probs - 1;\n // small value\n var sval = val & msk1fb;\n if (sval < msv)\n tpos += bits, val = sval;\n else {\n tpos += bits + 1;\n if (val > msk1fb)\n val -= msv;\n }\n freq[++sym] = --val;\n if (val == -1) {\n probs += val;\n syms[--ht] = sym;\n }\n else\n probs -= val;\n if (!val) {\n do {\n // repeat byte\n var rbt = tpos >> 3;\n re = ((dat[rbt] | (dat[rbt + 1] << 8)) >> (tpos & 7)) & 3;\n tpos += 2;\n sym += re;\n } while (re == 3);\n }\n }\n if (sym > 255 || probs)\n err(0);\n var sympos = 0;\n // sym step (coprime with sz - formula from zstd source)\n var sstep = (sz >> 1) + (sz >> 3) + 3;\n // sym mask\n var smask = sz - 1;\n for (var s = 0; s <= sym; ++s) {\n var sf = freq[s];\n if (sf < 1) {\n dstate[s] = -sf;\n continue;\n }\n // This is split into two loops in zstd to avoid branching, but as JS is higher-level that is unnecessary\n for (i = 0; i < sf; ++i) {\n syms[sympos] = s;\n do {\n sympos = (sympos + sstep) & smask;\n } while (sympos >= ht);\n }\n }\n // After spreading symbols, should be zero again\n if (sympos)\n err(0);\n for (i = 0; i < sz; ++i) {\n // next state\n var ns = dstate[syms[i]]++;\n // num bits\n var nb = nbits[i] = al - msb(ns);\n nstate[i] = (ns << nb) - sz;\n }\n return [(tpos + 7) >> 3, {\n b: al,\n s: syms,\n n: nbits,\n t: nstate\n }];\n};\n// read huffman\nvar rhu = function (dat, bt) {\n // index weight count\n var i = 0, wc = -1;\n // buffer header byte\n var buf = new u8(292), hb = dat[bt];\n // huffman weights\n var hw = buf.subarray(0, 256);\n // rank count\n var rc = buf.subarray(256, 268);\n // rank index\n var ri = new u16(buf.buffer, 268);\n // NOTE: at this point bt is 1 less than expected\n if (hb < 128) {\n // end byte, fse decode table\n var _a = rfse(dat, bt + 1, 6), ebt = _a[0], fdt = _a[1];\n bt += hb;\n var epos = ebt << 3;\n // last byte\n var lb = dat[bt];\n if (!lb)\n err(0);\n // state1 state2 state1 bits state2 bits\n var st1 = 0, st2 = 0, btr1 = fdt.b, btr2 = btr1;\n // fse pos\n // pre-increment to account for original deficit of 1\n var fpos = (++bt << 3) - 8 + msb(lb);\n for (;;) {\n fpos -= btr1;\n if (fpos < epos)\n break;\n var cbt = fpos >> 3;\n st1 += ((dat[cbt] | (dat[cbt + 1] << 8)) >> (fpos & 7)) & ((1 << btr1) - 1);\n hw[++wc] = fdt.s[st1];\n fpos -= btr2;\n if (fpos < epos)\n break;\n cbt = fpos >> 3;\n st2 += ((dat[cbt] | (dat[cbt + 1] << 8)) >> (fpos & 7)) & ((1 << btr2) - 1);\n hw[++wc] = fdt.s[st2];\n btr1 = fdt.n[st1];\n st1 = fdt.t[st1];\n btr2 = fdt.n[st2];\n st2 = fdt.t[st2];\n }\n if (++wc > 255)\n err(0);\n }\n else {\n wc = hb - 127;\n for (; i < wc; i += 2) {\n var byte = dat[++bt];\n hw[i] = byte >> 4;\n hw[i + 1] = byte & 15;\n }\n ++bt;\n }\n // weight exponential sum\n var wes = 0;\n for (i = 0; i < wc; ++i) {\n var wt = hw[i];\n // bits must be at most 11, same as weight\n if (wt > 11)\n err(0);\n wes += wt && (1 << (wt - 1));\n }\n // max bits\n var mb = msb(wes) + 1;\n // table size\n var ts = 1 << mb;\n // remaining sum\n var rem = ts - wes;\n // must be power of 2\n if (rem & (rem - 1))\n err(0);\n hw[wc++] = msb(rem) + 1;\n for (i = 0; i < wc; ++i) {\n var wt = hw[i];\n ++rc[hw[i] = wt && (mb + 1 - wt)];\n }\n // huf buf\n var hbuf = new u8(ts << 1);\n // symbols num bits\n var syms = hbuf.subarray(0, ts), nb = hbuf.subarray(ts);\n ri[mb] = 0;\n for (i = mb; i > 0; --i) {\n var pv = ri[i];\n fill(nb, i, pv, ri[i - 1] = pv + rc[i] * (1 << (mb - i)));\n }\n if (ri[0] != ts)\n err(0);\n for (i = 0; i < wc; ++i) {\n var bits = hw[i];\n if (bits) {\n var code = ri[bits];\n fill(syms, i, code, ri[bits] = code + (1 << (mb - bits)));\n }\n }\n return [bt, {\n n: nb,\n b: mb,\n s: syms\n }];\n};\n// Tables generated using this:\n// https://gist.github.com/101arrowz/a979452d4355992cbf8f257cbffc9edd\n// default literal length table\nvar dllt = /*#__PURE__*/ rfse(/*#__PURE__*/ new u8([\n 81, 16, 99, 140, 49, 198, 24, 99, 12, 33, 196, 24, 99, 102, 102, 134, 70, 146, 4\n]), 0, 6)[1];\n// default match length table\nvar dmlt = /*#__PURE__*/ rfse(/*#__PURE__*/ new u8([\n 33, 20, 196, 24, 99, 140, 33, 132, 16, 66, 8, 33, 132, 16, 66, 8, 33, 68, 68, 68, 68, 68, 68, 68, 68, 36, 9\n]), 0, 6)[1];\n// default offset code table\nvar doct = /*#__PURE__ */ rfse(/*#__PURE__*/ new u8([\n 32, 132, 16, 66, 102, 70, 68, 68, 68, 68, 36, 73, 2\n]), 0, 5)[1];\n// bits to baseline\nvar b2bl = function (b, s) {\n var len = b.length, bl = new i32(len);\n for (var i = 0; i < len; ++i) {\n bl[i] = s;\n s += 1 << b[i];\n }\n return bl;\n};\n// literal length bits\nvar llb = /*#__PURE__ */ new u8(( /*#__PURE__ */new i32([\n 0, 0, 0, 0, 16843009, 50528770, 134678020, 202050057, 269422093\n])).buffer, 0, 36);\n// literal length baseline\nvar llbl = /*#__PURE__ */ b2bl(llb, 0);\n// match length bits\nvar mlb = /*#__PURE__ */ new u8(( /*#__PURE__ */new i32([\n 0, 0, 0, 0, 0, 0, 0, 0, 16843009, 50528770, 117769220, 185207048, 252579084, 16\n])).buffer, 0, 53);\n// match length baseline\nvar mlbl = /*#__PURE__ */ b2bl(mlb, 3);\n// decode huffman stream\nvar dhu = function (dat, out, hu) {\n var len = dat.length, ss = out.length, lb = dat[len - 1], msk = (1 << hu.b) - 1, eb = -hu.b;\n if (!lb)\n err(0);\n var st = 0, btr = hu.b, pos = (len << 3) - 8 + msb(lb) - btr, i = -1;\n for (; pos > eb && i < ss;) {\n var cbt = pos >> 3;\n var val = (dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (pos & 7);\n st = ((st << btr) | val) & msk;\n out[++i] = hu.s[st];\n pos -= (btr = hu.n[st]);\n }\n if (pos != eb || i + 1 != ss)\n err(0);\n};\n// decode huffman stream 4x\n// TODO: use workers to parallelize\nvar dhu4 = function (dat, out, hu) {\n var bt = 6;\n var ss = out.length, sz1 = (ss + 3) >> 2, sz2 = sz1 << 1, sz3 = sz1 + sz2;\n dhu(dat.subarray(bt, bt += dat[0] | (dat[1] << 8)), out.subarray(0, sz1), hu);\n dhu(dat.subarray(bt, bt += dat[2] | (dat[3] << 8)), out.subarray(sz1, sz2), hu);\n dhu(dat.subarray(bt, bt += dat[4] | (dat[5] << 8)), out.subarray(sz2, sz3), hu);\n dhu(dat.subarray(bt), out.subarray(sz3), hu);\n};\n// read Zstandard block\nvar rzb = function (dat, st, out) {\n var _a;\n var bt = st.b;\n // byte 0 block type\n var b0 = dat[bt], btype = (b0 >> 1) & 3;\n st.l = b0 & 1;\n var sz = (b0 >> 3) | (dat[bt + 1] << 5) | (dat[bt + 2] << 13);\n // end byte for block\n var ebt = (bt += 3) + sz;\n if (btype == 1) {\n if (bt >= dat.length)\n return;\n st.b = bt + 1;\n if (out) {\n fill(out, dat[bt], st.y, st.y += sz);\n return out;\n }\n return fill(new u8(sz), dat[bt]);\n }\n if (ebt > dat.length)\n return;\n if (btype == 0) {\n st.b = ebt;\n if (out) {\n out.set(dat.subarray(bt, ebt), st.y);\n st.y += sz;\n return out;\n }\n return slc(dat, bt, ebt);\n }\n if (btype == 2) {\n // byte 3 lit btype size format\n var b3 = dat[bt], lbt = b3 & 3, sf = (b3 >> 2) & 3;\n // lit src size lit cmp sz 4 streams\n var lss = b3 >> 4, lcs = 0, s4 = 0;\n if (lbt < 2) {\n if (sf & 1)\n lss |= (dat[++bt] << 4) | ((sf & 2) && (dat[++bt] << 12));\n else\n lss = b3 >> 3;\n }\n else {\n s4 = sf;\n if (sf < 2)\n lss |= ((dat[++bt] & 63) << 4), lcs = (dat[bt] >> 6) | (dat[++bt] << 2);\n else if (sf == 2)\n lss |= (dat[++bt] << 4) | ((dat[++bt] & 3) << 12), lcs = (dat[bt] >> 2) | (dat[++bt] << 6);\n else\n lss |= (dat[++bt] << 4) | ((dat[++bt] & 63) << 12), lcs = (dat[bt] >> 6) | (dat[++bt] << 2) | (dat[++bt] << 10);\n }\n ++bt;\n // add literals to end - can never overlap with backreferences because unused literals always appended\n var buf = out ? out.subarray(st.y, st.y + st.m) : new u8(st.m);\n // starting point for literals\n var spl = buf.length - lss;\n if (lbt == 0)\n buf.set(dat.subarray(bt, bt += lss), spl);\n else if (lbt == 1)\n fill(buf, dat[bt++], spl);\n else {\n // huffman table\n var hu = st.h;\n if (lbt == 2) {\n var hud = rhu(dat, bt);\n // subtract description length\n lcs += bt - (bt = hud[0]);\n st.h = hu = hud[1];\n }\n else if (!hu)\n err(0);\n (s4 ? dhu4 : dhu)(dat.subarray(bt, bt += lcs), buf.subarray(spl), hu);\n }\n // num sequences\n var ns = dat[bt++];\n if (ns) {\n if (ns == 255)\n ns = (dat[bt++] | (dat[bt++] << 8)) + 0x7F00;\n else if (ns > 127)\n ns = ((ns - 128) << 8) | dat[bt++];\n // symbol compression modes\n var scm = dat[bt++];\n if (scm & 3)\n err(0);\n var dts = [dmlt, doct, dllt];\n for (var i = 2; i > -1; --i) {\n var md = (scm >> ((i << 1) + 2)) & 3;\n if (md == 1) {\n // rle buf\n var rbuf = new u8([0, 0, dat[bt++]]);\n dts[i] = {\n s: rbuf.subarray(2, 3),\n n: rbuf.subarray(0, 1),\n t: new u16(rbuf.buffer, 0, 1),\n b: 0\n };\n }\n else if (md == 2) {\n // accuracy log 8 for offsets, 9 for others\n _a = rfse(dat, bt, 9 - (i & 1)), bt = _a[0], dts[i] = _a[1];\n }\n else if (md == 3) {\n if (!st.t)\n err(0);\n dts[i] = st.t[i];\n }\n }\n var _b = st.t = dts, mlt = _b[0], oct = _b[1], llt = _b[2];\n var lb = dat[ebt - 1];\n if (!lb)\n err(0);\n var spos = (ebt << 3) - 8 + msb(lb) - llt.b, cbt = spos >> 3, oubt = 0;\n var lst = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << llt.b) - 1);\n cbt = (spos -= oct.b) >> 3;\n var ost = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << oct.b) - 1);\n cbt = (spos -= mlt.b) >> 3;\n var mst = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << mlt.b) - 1);\n for (++ns; --ns;) {\n var llc = llt.s[lst];\n var lbtr = llt.n[lst];\n var mlc = mlt.s[mst];\n var mbtr = mlt.n[mst];\n var ofc = oct.s[ost];\n var obtr = oct.n[ost];\n cbt = (spos -= ofc) >> 3;\n var ofp = 1 << ofc;\n var off = ofp + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16) | (dat[cbt + 3] << 24)) >>> (spos & 7)) & (ofp - 1));\n cbt = (spos -= mlb[mlc]) >> 3;\n var ml = mlbl[mlc] + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (spos & 7)) & ((1 << mlb[mlc]) - 1));\n cbt = (spos -= llb[llc]) >> 3;\n var ll = llbl[llc] + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (spos & 7)) & ((1 << llb[llc]) - 1));\n cbt = (spos -= lbtr) >> 3;\n lst = llt.t[lst] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << lbtr) - 1));\n cbt = (spos -= mbtr) >> 3;\n mst = mlt.t[mst] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << mbtr) - 1));\n cbt = (spos -= obtr) >> 3;\n ost = oct.t[ost] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << obtr) - 1));\n if (off > 3) {\n st.o[2] = st.o[1];\n st.o[1] = st.o[0];\n st.o[0] = off -= 3;\n }\n else {\n var idx = off - (ll != 0);\n if (idx) {\n off = idx == 3 ? st.o[0] - 1 : st.o[idx];\n if (idx > 1)\n st.o[2] = st.o[1];\n st.o[1] = st.o[0];\n st.o[0] = off;\n }\n else\n off = st.o[0];\n }\n for (var i = 0; i < ll; ++i) {\n buf[oubt + i] = buf[spl + i];\n }\n oubt += ll, spl += ll;\n var stin = oubt - off;\n if (stin < 0) {\n var len = -stin;\n var bs = st.e + stin;\n if (len > ml)\n len = ml;\n for (var i = 0; i < len; ++i) {\n buf[oubt + i] = st.w[bs + i];\n }\n oubt += len, ml -= len, stin = 0;\n }\n for (var i = 0; i < ml; ++i) {\n buf[oubt + i] = buf[stin + i];\n }\n oubt += ml;\n }\n if (oubt != spl) {\n while (spl < buf.length) {\n buf[oubt++] = buf[spl++];\n }\n }\n else\n oubt = buf.length;\n if (out)\n st.y += oubt;\n else\n buf = slc(buf, 0, oubt);\n }\n else if (out) {\n st.y += lss;\n if (spl) {\n for (var i = 0; i < lss; ++i) {\n buf[i] = buf[spl + i];\n }\n }\n }\n else if (spl)\n buf = slc(buf, spl);\n st.b = ebt;\n return buf;\n }\n err(2);\n};\n// concat\nvar cct = function (bufs, ol) {\n if (bufs.length == 1)\n return bufs[0];\n var buf = new u8(ol);\n for (var i = 0, b = 0; i < bufs.length; ++i) {\n var chk = bufs[i];\n buf.set(chk, b);\n b += chk.length;\n }\n return buf;\n};\n/**\n * Decompresses Zstandard data\n * @param dat The input data\n * @param buf The output buffer. If unspecified, the function will allocate\n * exactly enough memory to fit the decompressed data. If your\n * data has multiple frames and you know the output size, specifying\n * it will yield better performance.\n * @returns The decompressed data\n */\nexport function decompress(dat, buf) {\n var bufs = [], nb = +!buf;\n var bt = 0, ol = 0;\n for (; dat.length;) {\n var st = rzfh(dat, nb || buf);\n if (typeof st == 'object') {\n if (nb) {\n buf = null;\n if (st.w.length == st.u) {\n bufs.push(buf = st.w);\n ol += st.u;\n }\n }\n else {\n bufs.push(buf);\n st.e = 0;\n }\n for (; !st.l;) {\n var blk = rzb(dat, st, buf);\n if (!blk)\n err(5);\n if (buf)\n st.e = st.y;\n else {\n bufs.push(blk);\n ol += blk.length;\n cpw(st.w, 0, blk.length);\n st.w.set(blk, st.w.length - blk.length);\n }\n }\n bt = st.b + (st.c * 4);\n }\n else\n bt = st;\n dat = dat.subarray(bt);\n }\n return cct(bufs, ol);\n}\n/**\n * Decompressor for Zstandard streamed data\n */\nvar Decompress = /*#__PURE__*/ (function () {\n /**\n * Creates a Zstandard decompressor\n * @param ondata The handler for stream data\n */\n function Decompress(ondata) {\n this.ondata = ondata;\n this.c = [];\n this.l = 0;\n this.z = 0;\n }\n /**\n * Pushes data to be decompressed\n * @param chunk The chunk of data to push\n * @param final Whether or not this is the last chunk in the stream\n */\n Decompress.prototype.push = function (chunk, final) {\n if (typeof this.s == 'number') {\n var sub = Math.min(chunk.length, this.s);\n chunk = chunk.subarray(sub);\n this.s -= sub;\n }\n var sl = chunk.length;\n var ncs = sl + this.l;\n if (!this.s) {\n if (final) {\n if (!ncs) {\n this.ondata(new u8(0), true);\n return;\n }\n // min for frame + one block\n if (ncs < 5)\n err(5);\n }\n else if (ncs < 18) {\n this.c.push(chunk);\n this.l = ncs;\n return;\n }\n if (this.l) {\n this.c.push(chunk);\n chunk = cct(this.c, ncs);\n this.c = [];\n this.l = 0;\n }\n if (typeof (this.s = rzfh(chunk)) == 'number')\n return this.push(chunk, final);\n }\n if (typeof this.s != 'number') {\n if (ncs < (this.z || 3)) {\n if (final)\n err(5);\n this.c.push(chunk);\n this.l = ncs;\n return;\n }\n if (this.l) {\n this.c.push(chunk);\n chunk = cct(this.c, ncs);\n this.c = [];\n this.l = 0;\n }\n if (!this.z && ncs < (this.z = (chunk[this.s.b] & 2) ? 4 : 3 + ((chunk[this.s.b] >> 3) | (chunk[this.s.b + 1] << 5) | (chunk[this.s.b + 2] << 13)))) {\n if (final)\n err(5);\n this.c.push(chunk);\n this.l = ncs;\n return;\n }\n else\n this.z = 0;\n for (;;) {\n var blk = rzb(chunk, this.s);\n if (!blk) {\n if (final)\n err(5);\n var adc = chunk.subarray(this.s.b);\n this.s.b = 0;\n this.c.push(adc), this.l += adc.length;\n return;\n }\n else {\n this.ondata(blk, false);\n cpw(this.s.w, 0, blk.length);\n this.s.w.set(blk, this.s.w.length - blk.length);\n }\n if (this.s.l) {\n var rest = chunk.subarray(this.s.b);\n this.s = this.s.c * 4;\n this.push(rest, final);\n return;\n }\n }\n }\n else if (final)\n err(5);\n };\n return Decompress;\n}());\nexport { Decompress };\n","import { decompress } from 'fzstd';\n\n// See: https://github.com/Equim-chan/base91\nconst table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~\"';\n\nfunction decode(raw: string): Uint8Array {\n const len = raw.length;\n const ret: number[] = [];\n\n let b = 0;\n let n = 0;\n let v = -1;\n\n for (let i = 0; i < len; i++) {\n const p = table.indexOf(raw[i]);\n /* istanbul ignore next */\n if (p === -1) continue;\n if (v < 0) {\n v = p;\n } else {\n v += p * 91;\n b |= v << n;\n n += (v & 8191) > 88 ? 13 : 14;\n do {\n ret.push(b & 0xff);\n b >>= 8;\n n -= 8;\n } while (n > 7);\n v = -1;\n }\n }\n\n if (v > -1) {\n ret.push((b | v << n) & 0xff);\n }\n\n return new Uint8Array(ret);\n}\n\nexport function extract(raw: string): Uint8Array {\n const compressed = decode(raw);\n return decompress(compressed);\n}\n","async function libdggrid(moduleArg={}){var moduleRtn;var Module=moduleArg;var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var isFileURI=filename=>filename.startsWith(\"file://\");class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}var readyPromiseResolve,readyPromiseReject;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports[\"P\"]()}function preMain(){}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module[\"onAbort\"]?.(what);what=`Aborted(${what})`;err(what);ABORT=true;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module[\"locateFile\"]){return locateFile(\"libdggrid.wasm\")}return new URL(\"libdggrid.wasm\",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!isFileURI(binaryFile)){try{var response=fetch(binaryFile,{credentials:\"same-origin\"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result[\"instance\"])}var info=getWasmImports();if(Module[\"instantiateWasm\"]){return new Promise((resolve,reject)=>{Module[\"instantiateWasm\"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name=\"ExitStatus\";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var HEAP16;var HEAP32;var HEAP64;var HEAP8;var HEAPF32;var HEAPF64;var HEAPU16;var HEAPU32;var HEAPU64;var HEAPU8;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);uncaughtExceptionCount++;abort()};var __abort_js=()=>abort(\"\");var AsciiToString=ptr=>{var str=\"\";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError=class BindingError extends Error{constructor(message){super(message);this.name=\"BindingError\"}};var throwBindingError=message=>{throw new BindingError(message)};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type \"${name}\" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){return sharedRegisterType(rawType,registeredInstance,options)}var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer]:pointer=>HEAPU8[pointer];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];case 8:return signed?pointer=>HEAP64[pointer>>3]:pointer=>HEAPU64[pointer>>3];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0n;let fromWireType=value=>value;if(isUnsignedType){const bitSize=size*8;fromWireType=value=>BigInt.asUintN(bitSize,value);maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>{if(typeof value==\"number\"){value=BigInt(value)}return value},readValueFromPointer:integerReadValueFromPointer(name,size,!isUnsignedType),destructorFunction:null})};var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},readValueFromPointer:function(pointer){return this.fromWireType(HEAPU8[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+\" instance already deleted\")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var attachFinalizer=handle=>{if(!globalThis.FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj[\"delete\"]()}};var delayFunction;var init_ClassHandle=()=>{let proto=ClassHandle.prototype;Object.assign(proto,{isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},isDeleted(){return!this.$$.ptr},deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}});const symbolDispose=Symbol.dispose;if(symbolDispose){proto[symbolDispose]=proto[\"delete\"]}};function ClassHandle(){}var createNamedFunction=(name,func)=>Object.defineProperty(func,\"name\",{value:name});var registeredPointers={};var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module[name].overloadTable.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{name=name.replace(/[^a-zA-Z0-9_]/g,\"$\");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};var embindRepr=v=>{if(v===null){return\"null\"}var t=typeof v;if(t===\"object\"||t===\"array\"||t===\"function\"){return v.toString()}else{return\"\"+v}};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError(\"Passing raw pointer to smart pointer is illegal\")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle[\"clone\"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle[\"delete\"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError(\"Unsupported sharing policy\")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this.fromWireType(HEAPU32[pointer>>2])}var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError(\"ptr should not be undefined\")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var InternalError=class InternalError extends Error{constructor(message){super(message);this.name=\"InternalError\"}};var throwInternalError=message=>{throw new InternalError(message)};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError(\"makeClassHandle requires ptr and ptrType\")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError(\"Both smartPtrType and smartPtr must be specified\")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance[\"clone\"]()}else{var rv=registeredInstance[\"clone\"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this.toWireType=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this.toWireType=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this.toWireType=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistent public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var wasmTableMirror=[];var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var embind__requireFunction=(signature,rawFunction,isAsync=false)=>{signature=AsciiToString(signature);function makeDynCaller(){var rtn=getWasmTableEntry(rawFunction);return rtn}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};class UnboundTypeError extends Error{}var getTypeName=type=>{var ptr=___getTypeName(type);var rv=AsciiToString(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([\", \"]))};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(type=>typeDependencies[type]=dependentTypes);function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError(\"Mismatched type converter count\")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;for(let[i,dt]of dependentTypes.entries()){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}}if(0===unregisteredTypes.length){onComplete(typeConverters)}};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=AsciiToString(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(`Use 'new' to construct ${name}`)}if(undefined===registeredClass.constructor_body){throw new BindingError(`${name} has no accessible constructor`)}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+\"*\",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+\" const*\",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>2])}return array};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){return true}}return false}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=usesDestructorStack(argTypes);var returns=!argTypes[0].isVoid;var expectedArgCount=argCount-2;var argsWired=new Array(expectedArgCount);var invokerFuncArgs=[];var destructors=[];var invokerFn=function(...args){destructors.length=0;var thisWired;invokerFuncArgs.length=isClassMethodFunc?2:1;invokerFuncArgs[0]=cppTargetFunc;if(isClassMethodFunc){thisWired=argTypes[1].toWireType(destructors,this);invokerFuncArgs[1]=thisWired}for(var i=0;i<expectedArgCount;++i){argsWired[i]=argTypes[i+2].toWireType(destructors,args[i]);invokerFuncArgs.push(argsWired[i])}var rv=cppInvokerFunc(...invokerFuncArgs);function onDone(rv){if(needsDestructorStack){runDestructors(destructors)}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;i++){var param=i===1?thisWired:argsWired[i-2];if(argTypes[i].destructorFunction!==null){argTypes[i].destructorFunction(param)}}}if(returns){return argTypes[0].fromWireType(rv)}}return onDone(rv)};return createNamedFunction(humanName,invokerFn)}var __embind_register_class_constructor=(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf(\"(\");if(argsIndex===-1)return signature;return signature.slice(0,argsIndex)};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=AsciiToString(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker,isAsync);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var emval_freelist=[];var emval_handles=[0,1,,1,null,1,true,1,false,1];var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){var value=emval_handles[handle];emval_handles[handle]=undefined;emval_freelist.push(handle)}};var Emval={toValue:handle=>{if(!handle){throwBindingError(`Cannot use deleted val. handle = ${handle}`)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};var EmValType={name:\"emscripten::val\",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this.fromWireType(HEAPF32[pointer>>2])};case 8:return function(pointer){return this.fromWireType(HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:value=>value,toWireType:(destructors,value)=>value,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var __embind_register_function=(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync,isNonnullReturn)=>{var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=AsciiToString(name);name=getFunctionName(name);rawInvoker=embind__requireFunction(signature,rawInvoker,isAsync);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0;let fromWireType=value=>value;if(isUnsignedType){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift;maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>value,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var installIndexedIterator=(proto,sizeMethodName,getMethodName)=>{const makeIterator=(size,getValue)=>{let index=0;return{next(){if(index>=size){return{done:true}}const current=index;index++;const value=getValue(current);return{value,done:false}},[Symbol.iterator](){return this}}};if(!proto[Symbol.iterator]){proto[Symbol.iterator]=function(){const size=this[sizeMethodName]();return makeIterator(size,i=>this[getMethodName](i))}}};var __embind_register_iterable=(rawClassType,rawElementType,sizeMethodName,getMethodName)=>{sizeMethodName=AsciiToString(sizeMethodName);getMethodName=AsciiToString(getMethodName);whenDependentTypesAreResolved([],[rawClassType,rawElementType],types=>{const classType=types[0];installIndexedIterator(classType.registeredClass.instancePrototype,sizeMethodName,getMethodName);return[]})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=AsciiToString(name);registerType(rawType,{name,fromWireType:decodeMemoryView,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var EmValOptionalType=Object.assign({optional:true},EmValType);var __embind_register_optional=(rawOptionalType,rawType)=>{registerType(rawOptionalType,EmValOptionalType)};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63;i++}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):\"\";var __embind_register_std_string=(rawType,name)=>{name=AsciiToString(name);var stdStringIsUTF8=true;registerType(rawType,{name,fromWireType(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){str=UTF8ToString(payload,length,true)}else{str=\"\";for(var i=0;i<length;++i){str+=String.fromCharCode(HEAPU8[payload+i])}}_free(value);return str},toWireType(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||ArrayBuffer.isView(value)&&value.BYTES_PER_ELEMENT==1)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>2]=length;if(valueIsOfTypeString){if(stdStringIsUTF8){stringToUTF8(value,ptr,length+1)}else{for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(base);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i]=charCode}}}else{HEAPU8.set(value,ptr)}if(destructors!==null){destructors.push(_free,base)}return base},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var UTF16Decoder=globalThis.TextDecoder?new TextDecoder(\"utf-16le\"):undefined;var UTF16ToString=(ptr,maxBytesToRead,ignoreNul)=>{var idx=ptr>>1;var endIdx=findStringEnd(HEAPU16,idx,maxBytesToRead/2,ignoreNul);if(endIdx-idx>16&&UTF16Decoder)return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx));var str=\"\";for(var i=idx;i<endIdx;++i){var codeUnit=HEAPU16[i];str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead,ignoreNul)=>{var str=\"\";var startIdx=ptr>>2;for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAPU32[startIdx+i];if(!utf32&&!ignoreNul)break;str+=String.fromCodePoint(utf32)}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codePoint=str.codePointAt(i);if(codePoint>65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i<str.length;++i){var codePoint=str.codePointAt(i);if(codePoint>65535){i++}len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=AsciiToString(name);var decodeString,encodeString,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16}else{decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32}registerType(rawType,{name,fromWireType:value=>{var length=HEAPU32[value>>2];var str=decodeString(value+4,length*charSize,true);_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value==\"string\")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=(rawType,name)=>{name=AsciiToString(name);registerType(rawType,{isVoid:true,name,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};var __emval_array_to_memory_view=(dst,src)=>{dst=Emval.toValue(dst);src=Emval.toValue(src);dst.set(src)};var emval_methodCallers=[];var emval_addMethodCaller=caller=>{var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var emval_lookupTypes=(argCount,argTypes)=>{var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAPU32[argTypes+i*4>>2],`parameter ${i}`)}return a};var emval_returnValue=(toReturnWire,destructorsRef,handle)=>{var destructors=[];var result=toReturnWire(destructors,handle);if(destructors.length){HEAPU32[destructorsRef>>2]=Emval.toHandle(destructors)}return result};var emval_symbols={};var getStringOrSymbol=address=>{var symbol=emval_symbols[address];if(symbol===undefined){return AsciiToString(address)}return symbol};var __emval_create_invoker=(argCount,argTypesPtr,kind)=>{var GenericWireTypeSize=8;var[retType,...argTypes]=emval_lookupTypes(argCount,argTypesPtr);var toReturnWire=retType.toWireType.bind(retType);var argFromPtr=argTypes.map(type=>type.readValueFromPointer.bind(type));argCount--;var argN=new Array(argCount);var invokerFunction=(handle,methodName,destructorsRef,args)=>{var offset=0;for(var i=0;i<argCount;++i){argN[i]=argFromPtr[i](args+offset);offset+=GenericWireTypeSize}var rv;switch(kind){case 0:rv=Emval.toValue(handle).apply(null,argN);break;case 2:rv=Reflect.construct(Emval.toValue(handle),argN);break;case 3:rv=argN[0];break;case 1:rv=Emval.toValue(handle)[getStringOrSymbol(methodName)](...argN);break}return emval_returnValue(toReturnWire,destructorsRef,rv)};var functionName=`methodCaller<(${argTypes.map(t=>t.name)}) => ${retType.name}>`;return emval_addMethodCaller(createNamedFunction(functionName,invokerFunction))};var __emval_get_global=name=>{if(!name){return Emval.toHandle(globalThis)}name=getStringOrSymbol(name);return Emval.toHandle(globalThis[name])};var __emval_get_property=(handle,key)=>{handle=Emval.toValue(handle);key=Emval.toValue(key);return Emval.toHandle(handle[key])};var __emval_incref=handle=>{if(handle>9){emval_handles[handle+1]+=1}};var __emval_invoke=(caller,handle,methodName,destructorsRef,args)=>emval_methodCallers[caller](handle,methodName,destructorsRef,args);var __emval_invoke_i64=(a1,a2,a3,a4,a5)=>__emval_invoke(a1,a2,a3,a4,a5);var __emval_new_array=()=>Emval.toHandle([]);var __emval_new_array_from_memory_view=view=>{view=Emval.toValue(view);var a=new Array(view.length);for(var i=0;i<view.length;i++)a[i]=view[i];return Emval.toHandle(a)};var __emval_new_cstring=v=>Emval.toHandle(getStringOrSymbol(v));var __emval_new_object=()=>Emval.toHandle({});var __emval_run_destructors=handle=>{var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)};var __emval_set_property=(handle,key,value)=>{handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?\"-\":\"+\";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,\"0\");var minutes=String(absOffset%60).padStart(2,\"0\");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||\"./this.program\";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module[\"onExit\"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var _fd_close=fd=>52;var _fd_read=(fd,iov,iovcnt,pnum)=>52;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);return 70}var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0};var handleException=e=>{if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)};var getCFunc=ident=>{var func=Module[\"_\"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\"){return UTF8ToString(ret)}if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type===\"number\"||type===\"boolean\");var numericRet=returnType!==\"string\";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};init_ClassHandle();init_RegisteredPointer();{if(Module[\"noExitRuntime\"])noExitRuntime=Module[\"noExitRuntime\"];if(Module[\"print\"])out=Module[\"print\"];if(Module[\"printErr\"])err=Module[\"printErr\"];if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].shift()()}}}Module[\"ccall\"]=ccall;Module[\"cwrap\"]=cwrap;var ___getTypeName,_malloc,_free,___original_main,_main,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,memory,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){___getTypeName=wasmExports[\"Q\"];_malloc=wasmExports[\"S\"];_free=wasmExports[\"T\"];___original_main=Module[\"___original_main\"]=wasmExports[\"U\"];_main=Module[\"_main\"]=wasmExports[\"V\"];__emscripten_stack_restore=wasmExports[\"W\"];__emscripten_stack_alloc=wasmExports[\"X\"];_emscripten_stack_get_current=wasmExports[\"Y\"];memory=wasmMemory=wasmExports[\"O\"];__indirect_function_table=wasmTable=wasmExports[\"R\"]}var wasmImports={g:___cxa_throw,D:__abort_js,w:__embind_register_bigint,J:__embind_register_bool,m:__embind_register_class,l:__embind_register_class_constructor,b:__embind_register_class_function,H:__embind_register_emval,v:__embind_register_float,a:__embind_register_function,j:__embind_register_integer,k:__embind_register_iterable,h:__embind_register_memory_view,n:__embind_register_optional,I:__embind_register_std_string,p:__embind_register_std_wstring,K:__embind_register_void,y:__emval_array_to_memory_view,e:__emval_create_invoker,c:__emval_decref,M:__emval_get_global,s:__emval_get_property,i:__emval_incref,f:__emval_invoke,r:__emval_invoke_i64,x:__emval_new_array,t:__emval_new_array_from_memory_view,o:__emval_new_cstring,L:__emval_new_object,d:__emval_run_destructors,q:__emval_set_property,z:__tzset_js,C:_emscripten_resize_heap,A:_environ_get,B:_environ_sizes_get,N:_exit,F:_fd_close,G:_fd_read,E:_fd_seek,u:_fd_write};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){preRun();function doRun(){Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module[\"onRuntimeInitialized\"]?.();var noInitialRun=Module[\"noInitialRun\"]||true;if(!noInitialRun)callMain();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(()=>{setTimeout(()=>Module[\"setStatus\"](\"\"),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}\n;return moduleRtn}export default libdggrid;\n","import { extract } from './extract.js';\nimport wrapper from '../lib-wasm/libdggrid.js';\n\nconst blobStr = 'v7#aSX:?wBMc0+!mdX8uD5gAMSuUagM^/n1+aGXznO8yTehzQf*hq5&~d5,wB^ijvLf*/RK~]h0^X1q$W&Gar1V^H;9#Ce()VK<}!q/j)X(I6~ZX_+k>MdI6+:pS|xCNqZvO]ZFcSVTZc[/JgaP=jP1=~05S2NQ.Nhn:6GR&YW~A[Z)QV}1Q;2lq|{h*vUH*e6?)6a5]W&>]eCJ]L\"knzQk7sAR!QI[]6OGzOw.O}q5!b:Nl0Sb2Cccq`$+JZb16b:Nl0SglH_a:I6+eD:.5aqs;.cePMZ9Hx2\"qrjMx()./&>jVEq)69;hfqcmb>ZK+mm<aj5s}%^j8f~f9T;7K*O]N9g^>:~[ppU~.?@7l1Pm\"GUJz3O#5#ZIGoH]1|oqOUK8woQTx,BxN#k>)s%V2)_LyR2,_@^+q:V@e2\"WZQFv6VZExBf5[#[A(u9pNLS0icdi?`$C(W>4`tTv3u>q2/z#_42ubG42_$!B>#pry^x`V)&}_LyST;/*o55z06r&2/V;/)X0(8>CqD=87ycHhk3<dYeXF1CD~e.*)./eTBuDs5,mpqP>hkPW_cOFcF>93!joU.c!mZj)$WYDm&U&?LYNEp^^1+#A5mz=)Z8p~Hx;KP=xRAh(;.[Nx(_~3<XyxHbl|[}Q&=&jNJXB/AU{MH//J6vMdq]l?oD@:0B~.[fE[|8HgMx5m{cjP3lZk19F,y:qvJ:T?:RGz+(6jYt7Z8OlN71E)gE1j37KhOd)qjj(S2%2_)]|+)UbWVJcTK8C(]GoPyHkKFDmN9~gx+8K&J84YxDuFOO_R=m<KsL*[}p)nA+Du|Q}WTX{]BX#rDse>OfB?c3Sut?mF,&3HPz[T)jPS=Q@=A0$L7~nbcF!`u<iF(,7kq9Etywspq)^By`g3/6OCett:R/TtQ_cOmf}tLWt\"uB\">/fNEGATra_RsvSE[8#Pu7T&,<Fmr%B(Fl/RNX.X6O#5SX6$Bhm6wispF#LLX`%nhPT>t@bnnN#FCG.qI}Qm)G4$=pdaWIjK{COO3E.BWk%+x~q_o&N|oPz?JYVfu04R]L4*_qsZrP,LS,ody+4Y:@V;?AmCsC0xL_k?XbT7JCb|}8o}6&sX`8=[l{SFLPzW05653#x_*L4bThWu?@^KL%KLW;?>cBWjUs,LV<XsE4G:]4R33_6g2[|wTT@rv,f\"tH`}b_0s8WB5k4()nofPTCC&3YuFE\"nV>/<mu_Pv_*amOZCN)Cb3cH)vWh:d!C.mlt,?J?ZN.A{&n+QfvIlm.uf]`tI}i$\"FEARtb:PC[Z7VJ_u]8\"W/uYrZN&I6L\"[IgjZd6X:wO3D}q}gqI=u*P$;|B<X[0#v*1~WW?jtcf4Q=Q!DtbVig`fT?Dli/B|G(fPBo+!yVjs&Gq3y#:/ZC|*)w}D3voAKEJ*gKnt+x?,_L35?w/7H*wZLy4$\"bbxUn5N5wDSJYmdRXhd)ol#z8Q/=QespP]4)aZ(su^w5T.A=fy@}?]xZa>c)arp9$TlO8^M3}d7`]`DoUu[g`U/ijf>b.3A4mVVS%uZQLwZPp]+89a!?a?R;3S2Nz!vWi?0iMJ3~].7W>L8>Zi*`%%e3lv$hj8RYyZn9eR@bRq;=F$5bw/CqOPh,n:bC|#N9_:/gtYYGi9MTh,aB&C}|4Y2L`V*/0VT|*h^DC!_]yGp]b&}mT;_S*gtqY7$u~.6M{M@e}tl892z9!QV&Co3*<=(0,eha05R;[S4]2#,H2P3N2!Q`{o&@H+N0+e(eHh]1ear0z9#Eav/{VpoPR;SLQhV~cUe#f}}:d#$S^+YV:zN~ok@l4XV{^%I_h>n12aj8Ww])th+;.zRZJ{%e+.npKvhk[6s:RYU+{70/w=91[=`$Hh)7hrH3XpW]A=py46$SP]c%O!C_.[o\"p+vpHq2tCh|Og4|]$W];;u3]n*4Wri!xDh9clB|,XKH^*PwBrL`SoH:>BX+AM7WIjs}~1)g&q53UEVE73%])!9$J:#f!sM/?Q~N/x/)%6wX}xP}]o&/9uv)}\"g*}@eD1lfCoS(gK`A)SlUE@o9N{I%Afi!7nzPRfYcPjfVnVNq&/N71(5{s6}r70DMn*0/=!7p2MgkkJFh@>,:.?,:{=,Rl]y>BVtqY3U%h,;`{tOw\"gmC%`h,D<bP%;lT$0xrP`=,\"^R@_mFsG*>H&iq*M:ZU|%%4J+fkO4o&*bY&SAn}N3(3iIO>R;a*b}w:cb1_N,|8N{&7SqtfC{xhD_1f~Sz3p^h>fV)zv_rNYt(&hDAL<vb7yQ3F&|?=O`i)PS$wnVxu+Df&OE<;jCpdpU3MR6Ee^r~rd^RZl9oCZ=W}Fmqy^)ns6XD(ChL[!dX2AH29s&=[{^7lFr>@%0z(lP`)AWJm#wZ@~|Vx$[AL8c*_Bs|]@^]ol|N#(<TEjsZlM[al9/OL[txL{#sA9/0*Pg30<|qb30(&RP=]}/F2sBxXf:CrIW{ppU^|[^7lN{LQH~}(B17~`BRfSOXIJCB)R1z)iB5k3!u,TtLy_D6o^OA!BxF}\"6)9Yx3n%3iUe%V>7jx|E;7j%|qB5#hI,~zW(KPKoWWnaQ{6Wt10Hqr~]uL4P3NHvje[^.[z8`EcB$c4d50*DsM:,bC_PcL^1C`Nje^pwf5gP.\"@1yP.=Hf[*q>>f64T7hf}c9ZC?BdQVY77z/O:qdYJk}>TjBX/CAXoGlD3dWYY*BtAv^M:*%k/7j7~aYO|H[jh16*YR}QS3gLcJ[(.T442Tsw3P|\"o;s5TN.\"@L(l//ZNU/uY[5q~d$Gpw;l)%A;gy7pFLbdd.;KE7{7ed?Cs@9=^2P3Na];%wb<%>9HI59&pi?OOc!Wm&Y`Yn2cE0;Ouh}tJ4So1D+!ma];<3xcH5j(SZ<nN_8OZ\".H2#gm.GhyDHJZ|+:BRfiec2MS>0k1|&2aQNPWH!}@&:xo/7Xh6$a8f8@%ipHqLWgtV0u>ALnf9/t&Fq9:TxD,[^sFQY$b:P=[Hiq*O8/`PcL_95pU?(soWiU$oaK@lm^5hWL?vfB(F#As%\"Q@wf[^[0auuBrLiq*P$;E#Asy*I[a=sVj(#vFhDJ42M2Ps`4kePT}#?es>iP!AxkVLu$mYM!mlukYy%\"(j3!dWof:]Q^@!d5lW*BcD=[@!B=e#:>E&;OjIcW}%eM*BpYVSG}Vxv#o[G}D7@&%3*?d5!(3DHcBW$\"V0d&3sTl)COO}`EU|T+`l:ol//:/:q)C(f04+r4YWc7pPzW0z@;?!<;KuCt:VWX>%3[||+h2+7^62S*?vDYu~n@n`hcYp=Y:VWMUGvp~0@A|pI*WN]`K^nH>B/8p8^#=ZuUHA%R]L4cV4m&sZ`Bbz7b:QwPC^*_?|n|}0@\"{pIw7j:E}+CJ0}N.:;v4KJB~l)xYxmqs2B4B6nt<iyt~_HkCKc.}0btA|&sWkCK$U[\"ACMXBb07Tq|%0<g197ALv`D30`L~Q;/ZZ]\"zW>\"#TSf$72Zo}+4~<]*gboZ}HaUNyXUN5<=e_{`LD|S.12:?_d8eHr9FRcz2]tF,/KJzQ:=w+L+=!DIOr>Iqk4U>%cHcup6#QbSo9YNc45GOi;wRi}!VWU+<wR;=eL<%Kz6dRt7w97GZQb5/$S7O7dEc&eZ%h!9}xpg~zmc:%2~p[gr^^.97+~^W8\"Wh(QBF8Sf>[)}e[hOYf}AL%P,G=[MK<|}O%08}WuS`dkld[69?8HRYChvY?ujvr2$GJQv`e0/fG>\"g&edWreH(R;wF09\"oh0052U99)9:J65%I%0{z|q+{pk(Uh_2^ML$KZUSL1!dWm&N>grK_77S],eNk;3yy8{^ed}ly4lAAsp`7bq43Ph}|q8m0ox1h0~*S.sZMT;LQL=dWrj8{CSqiZ,N|abU<QvB@CP%hV+zO+{N?/8%&3s1tU|lcd}Q_1sfqlkUcD$P}k_|pW9<8QbErZ_VGDhMTYy8&jO*bS;A`:<q9)%X&ZrvY[gCV:LR;L.lZT8fvq8dWi)@}ax)Gs>&jm8E&>kxb+qd6c$O=Nd.m!d2aN+6.E:+5Ls+v.[Imfp/QLrNmW+v^]4pS:L8/;%sqWZAJukNU[.pl=VvxjqJ_!&+5<[=w~/g~M_1s26Au6>Zd=tdy;)j?[ks{82%zHqR]cOZ&gp<^ImcyJ:7^[nRC_KXC$}%#!@/8cxJ@@.)e;zU+EoJhlk5_v.Mi9wjSv$N{x!j8\"`O>tE[emrI_p[?.I]Q>IrC2}r3@B~X]?.NhAr?Y7q\"|j&o[_;7Oo&y9.KKv:|sj9{q%dKspr&mrg*NVG`p^d?|&T!73nwmmuK,9c*2f?.,]IW$_p^~MN,V]oD9X850[>`Fk=`g03_`*+#@=`$C$AL1}a*+#!H\"5ihuQLx,ilIr%5TLOPhT2u/s[>n8q({Zn<a>)8p_7f}~p%@jcer$)`6.eo*Or~&$&_SmN|pbiDI&J/fiAy+zb)I8cRRRRRRKlbP<a@J_2}>?{WqLXp.`J8_!2@2~>9B>TatfEIQ{xu_EE+H[DlkQHu#Q@vPNskkf+3WNsl[#PAl/..TfH33bo`Zr_3#qbPX)kY;Zr9Vm0LXkW.s1~(H+H23Kr{2hmrb~WOKpM:qobvn}tZG<R@4{x*T)v5u:<@GunzFp\"qC*Td?~BXQr3obwntU@v5uRl{2>o~DKM>cdq>YqH@z@TRwzg>G4bkoT1yz..5QnD*T$,hYtO?G]Tlw&(l[8Irjm:]TxwQ5x=Jo`2d*ad}M[2=B2bpotHifj:_T@DQL$s`Z~2_@EQ5?LVUp@z{TRE:84b<?pRXw03Uz<(riojjqO7T,oyRVqoyK#FJpKCWExpI*aG9C?$ftKL*1`fV~`EznnuIJ?t9Jkg6b`_kkG*jC}<=pmn1?uCrU|[~*+$L)`E[n!2jgNwbulK#n+Of,`%@JJ?XBCk?pQQynguMd\"D$VB`#m=>)C5Ke]j:I3%X>K.8rv)Tc?ACnQUsRQvnJu;IE.rv&m<>gCkJUQm*mU_,Yjd1#7n#[Tux7.nDoz_8$M1+I]8LLYmD5Q&Q.}df]m>cmZ;LPYhL#u:GTOHj|jnO]cp+Z!^yuXQC5bVJ]ViNh{LonZ,W%DPOG6lxl,\"O]s(f5.L`?hRQ>PdS\"h%/T:T5_BZC4P]s1pO~@/^o@yFuR7?#}wALv\"/t*EMo/5=[Kl.LVCz+;LMB+5^JsS88Qj?5kLkv5J:Jt%0|W@kLsvzz~Jaow.!ZWj|y/XsC%jI_J*4R8[z4uvNFt`&:Lo=U]8J%X@lL+vdFbr`[(Mj@~yPj#Y#FTS^tBFe<PfhP|mTv=I9p,fkflj?LXcIKZByv@U??qV4oI$RjRX{24RtL0FatSy<H\"eWj~L_FkvG0\"BOK1H_,}QY<bib!_>M)YuF+fx*IwU/LlE&!vL[G<3SC7!HzDC{5$YSmZj7zTCg7;H?1z+mYxP%j^aaj%zjODI!%}@7!OzWxWixJ`abjfM<1bj~Rf<3+U02x<ga.bf4+<Y@S#/bf,yjC\"J>ief5+_Y1TG)8PYjN,dN}Jeh]adjwMdKY^eepxYjGM/GC1d[bfojzM1Kzqfh&@/1.yfyua)4FJF=3!dz7CQr^,!(Zt,,R*euj<^kS)nE0_oj+z&FtL\"+|5na&e`=0E@h.P+%7kS)3Ek<L?z6)ThZEFHpRFVV158vFL//fB)F&_=kst9L$Xs}ay=LNg15{BKwxFTX)F$us8UNqe(Tg@~ly8uP=k,t9CkF8GoF}KuKo}qy=}&q#^};ERtS84DCKw:ieG`?7*MV5zx`JVk&&];Vi^S/FBtLW]24eB]kd5REq#{k4izn3UXNKb]`%kFl_keX%Go2s8UNNFvx9V1E^`_h84$D&R^HfSf!&G~D?8!kpX!H}P4<z4_Dyh}w6KkwYzGQ|n=86(+qdcrI//MCq#hw6tV2=[=(hmL^h/$Y;Id,Ekh#;4!ZQJOk;P%kQunu@S%/7fl4+Z@J5zw<NJo/lvlT!&g^T/tvKU15GF]k8MwC]k9M0C]kDj=adKZ^Y@OJm4qx\"Uf?<PU/)YMFS:PZPbNm1G~\"XNkr^?vcIgz^7fs/dB2V&aKL8#T)+t(<RY<(KbJ*)_1JZRRVo2IW]6/)(JgijCDD\"ej#Jfj!o,[P#W{u!G@^<P!G@^KVoMIWl=VBP$U!HjsFJYxglDF$JVb$Qs..pv4Pe>v^z8S<:(si%G:(BxATd!lw7WAEw2M<\")>4}P@YE$Y!Jw9R[fMwqZCCLw~nw;Fg2_x^B<Guyh5HB$Zwva2KN<z2NMNMxSB!twZcBxw2Q<;B^9=wjep5CgWmG)BPgi0nLIb$66ETt<r*z5=gl=%*7Rl&5NG$l!ix|i$m?iAJ(.jv33%k[%@jAQLm_ioJI)jJuaOkBm|i$Jh>rP6w9JL<.)oKK)[@ZbJgK<A+aU}gACq5E=A!Py6p$)B$u<M+PV+@u2XmO)fVB=RZ6G^avfum2/F*$/$tK*?V1^0nUFT#vy!OT#7C4bO+t_,#e>6&Bg!(b.yn|>/.o6/sU.ZpY.wJc<g+QS$B$rAGD*e!,yUb+it9`%>J5n%tHa;yuBGDU!Bw_to=crx{F^]hx/u\"HEK.RVP8BMFw1)navHneJhBw)TdwVM\"wdROZ#np=BzE*MGHCv4.Q[(cE+n<${F9Y)IcQuq3;($WtsFgjAE:H+C8WEE@2{>rB\"HsMig|>xBzM;?IY/CkG3f+nw)U9dq4g4)/tK1(Ta?pfB):tIvEBaE9hwYNN6a~1fTLC}x};\"9k|~Q\">|(^t<BVC]O]SRQJ^(8|h\"()Dpf9JTQwn}i=)%vuF(4G1_DLjTWiLJXJprbmo4GLUuJ2qg@g^k^,6?n,/>h2S;hHR.$OXHx[Eo5%cha~/oCuR&+nz`kW@E?@(aX&E7ZS)=SUC<`9+Q0*wsgPPef,R;+XNBGTy1pSj2MNK4M,|^,n#Cznytt%lU|8kEX4FSU>GhT~xVJ:k=/*G^w1G&X}E6V||u+{)}F}XocCGpYRJBwB5Q*BirIX<5NE5CwEX$coEVZ62`Z[gQjIw!X#x(rc}gm!k.<MCZKq](=rp)tF?&&7fsPvIthgoc5((Y22%um_4&(Q6.!Xt<\"^m`98n+uu{eS$cZ,Xiu3<8j$naKvt$~Jgx$jl2H,j41*V,\"w?/bQzg|1c$1$@nOnAUH!UY}AE\"roUY%N*HmOjnMd>WITh<>qu00Sy%dP]ZB3q05;|f{=Xy9cgxd8)b|<h;Kk,Rt6?RWJn/[lUh+#*)C>J_Q72l:^g.(1{f\"msouTXkTe?6jG~gXPY%Do]8\"=ie_7>R2QB2CJ]#N[2&Bew;e@Cy&x6+fJB8`Pf14=5m]R_1B.wec,7&lmAxSeO=QeE+Bn=eolHa&jmJAAAA)A*B5NCmDf=:*lbdgJX<[*,NX<5NVc~F5LFH:FAzNhyFk<4[#ToI1jQ/l%H6Y6Kml<.!vcYMJ\"0jT/_,n2H6Qya\"fIia}DCeAeFBJF,YM8[V#7RMgtp06Q3v<C$Ay]&y8&ZGhXP6/pNe;!K%B&Gkrml$)S[#{Y>xAh\"8&xWN8<[Pkn#GpN,29;7^25m[:*gxot[\")Gq1Jt*l?UW9Vazae*VgE`*hmIYz%M16KK=i}aQ6f,_$(p)XpRl:Ya$71<pf{w/jnmgp{$j.E6OUL$U,?0ClBhH!_nlAQO@(exLi9)ZJ`knOH[^dKD&q;Hg+gbndCtkgw5B5>i#kC16jAn:pZWFZ\"pead$)2QCaa&I1R:YQSS,t<%#?Hi&d8T60+rql20+`,0.%jzS,*QhVY>ksoD@yIuM$|@Q+z_WqRKgnK[W:C|nsLz!*&^aL.L3DqB&z.*J!Bf;Ph#l0o9\"#lt``j<:eS)lBl3&6^3^e@CZzht`K=AU3Xfdh=^v60=AIA1{1DSFq&DO<N]=}n/X0qQlXM%23vPDxI(dcKzm~p[SAK63??/Mn+7:)z2G=?a|fzYz0f!.fp>ahA{i+:wa~3briPl2No0N}C|Y=iL5!Y+};PwR(Jf}bSRwcP$<]U~v~vqS8MH,XD7ZSG(&7:@y:pmaf<U*8=i{VNnl>8=Hq)b4?JGO6?LbLRxhoj1)`v<uGAvdDHWi(?mms)AQ^q0:{uN8Qb{OzIi8ei1)c6;44dLRMg<tZEi7^(Nv7GMDLR1VpEzIE2~#aim5ZY4ILRnf)tZEVC{W{uMPML6CLRCe8tZE&7;(NvE7ai1)/#huiBy;P,]H}Kgt2O5f>(pd7jHuRsj,f*4{VWU4s/D7g*{D1yP$HuZ)kWH`}b#wuk.`a;26skq`Sl^`VWCL>(GuFkmsB=8|1s2O6f9%2/Bbu~6STW76skq`.bJ}u{L4!OS4|}Wi$tXi]|G/_hidZ#]|1)c2\"}t)jB]b~.ukg*q,8Dk}L4h0e^2b`\"/sldJRv#2/>(pdiW]|yFUo^`VWe{b7!w)2^d?rM@~ebdV=/[rsLR#OAQo<((M!!OB9MC:b\"lC=1cCie{((LRqqNHp37FU8Xe6%l\"1(I.`WacNTA7LWYlf}6?8p>tZP_%MVgP1mb$}?6m\"TB3}dv=+QuqZq<?7oT+TOjxqwj8tkpd/%@ODTi3G9ub^+VT9PFqHW^rK_SW{pbe&l)KL8v~zgSTwpFI3^p**z/3<Zn}}:V|Nl;`o[}/`<q\"c]2HOk@?D]=QH3qm[bj(:N`G]?&=_m<#||*,q^35)%P*~QhkF7:hn%9^35e^Ia{jASK;n0?K[N3]6!T`.Ka%mw#TF&%.AkASB24z<12~YeGmYK>5z3Qeg[,e5<Jv*{u||>LD#@?qek0XDMctN!Nh~<F.79s/ojJ8PfEY3A=nJ#tV86~]okvw~<Vb{NJ!0*v^@\"a8]b03b*?_,>hkOSha*3a~n6wQk.tmT#|q>=k?UqgT0q}OAmvBfqd8FJ`}r\"iyeH*<,idfT?`gl:xO%7oxOr)5]H^_tf%*K74Qs*aj&1l0CF~?l$JFnOPCLy4=hT{@l$mOPu9x4=!M2tx54=yQBv{CoO8>v_{@,F=@oqGRU%Pi{upqJQT:!5Z&F1;I=@wSe5&qJQK5cZj&EIHGd1+?dY6\"KhDxZ\"ZrJQ,t(f_)/mPGDrJQqi2Wv`Sg_)XhCE.F*H^_Sg;Xj&EI*BnCu&EImOf64.ua&e`*6DEbXhR7ER!*\"@;u)CXho+@0|5Lho+8wPd@opxaf8au/~4aH#Jk]CtPd+m%[;u<YK}9/6D9Er&=F]F>ci&=FwL8a/I@,Q%s77Lqt|)PdFZPdDf@k4QfS1NTjjzPd7X?gzWWHN&=F3u0Y4Q%MbL9vXhnZe!aH(FERl6aH)y7Bf66i&AzCv`lXmRf6_hHJzAf6_h5zEqEuB]{|3zjO8aJi1jUC6Pf6n4FazM5Qju`y#tjLTe?MoTt/D}6Spvj&tFgM4Qju#I<V?`AWNxJCSez3.0dh)CX?}x$CYh)C@_Q>AzKJ4Szi;j8uWZp?FAX:?gIO.Mlxy@YIK&!ymq#yl);jzZ7C.G#@L{4Z8ajH@,{D)K|=slh9z/4lL<]dAXLO&;f}#V\"{r0``?dLe(Oer\"nIEyZDEMEyZcpMb!yRj}*1BsqyE};sL8_Rx3S]6~Q13g;^)V4axNE]mdOYy{U5,Y.T]z*j?]=097bKOga&`0^b@hc>u&`1mWHs~jt$>UV?w=9$hA.PyWkZoth<CV&e}F`8d@*hIfkN[Ih|T`SU5`vt]cP2&{`$OL>9Y.,eoC3Bh~i_o^O>1B.Gy6;#!soF]cT3n*nF`L5d:k80;E.[rr!iBKq`S#*|^iEY%wE*g7)S>.|A&|Twq<%Ae`.\"9W4M[:gT[UrLQfo&%DU2N86u<Z)d:I3S5Ak{VK&!Yb:+qQ.1]E3s%+QZ[}mBVj?%_KMgq@1B&Yr2@Z_vH}]KGJPUSEp,4*2>bh88hebhw/j*Jn&/YeoJxQL.9GTT;t:_!BlJ(Orn=K2v.W=1heT5!Q`i)iyuK_rGK4?zY|6pX9;v=XFq[>TaTZh!^M@Cqppe0K{k8FJ|Nq8(9GAkk\"dGD(0+I3@9FBeAP*Cl[1_1F6hf$5j_RO|a,3v10shz>\"k}*Or3^Rs{2(U@NkyB~(5)%e7mzK8+bt4=`,`(Goiq#%apDZ1;p/<MOMSKm<pgHB{jrXH7::[e]ka)(yE+=%imm;E<p*b++X{jr*dg}eU4HucE}CS4?1qT8t+`;8{g}T<%)g[WPO?FkGCMZ[;L.6+g)Wa@xg`L52ZqV~`=XWVX>z+;7i/C5#7VDZk~pIrNxiPywPx}`xV|`sjVPkgXSC3A9tp3a:d&(!>6E/]@3_ot98?p]jb1K9{7r6pXOc+lb]Z2+T.]kn1dlbovp!=f?|q$1FHe9,1/Dj9YvhQo3/D2h;3_5Q~)^+%C2,}c>(SA^%oevE~g3G0!2D}D~Q{=/!HhMB{e]2RuQM+:B^2vU/:G<9=<$9^M_O0CjegVPt`c^QT\"fzswES#R+%*ly*qJ_aCaN?*vZN|T,\"XJcl7K,$0XMeE!:]jh,B)4Y:/@`K:h]+R3Irk+Gj5cH&hx?=wk)B2H@<<+}*sZ]O,*Rqry3!j{I}t|HLK1!S;yOkT?e8e3lA&9U4c,J+<z]gH.[my~3y9m<_}MSt%h3VeF8pjwVJP^b^;AAd^yT2;t]>[CQ9V}&wm7g7rIq6RZ$REatr84{6%!A5fxqy~ZnO&f*#f,9GTOqF^_AbRd{DLy>S=@b?<,2vTi3On3{I>h[0bmmv3*.X&5b_$>Tr~?fT8_GBr}dKnjPL{$>_1V+/,V?jE_r9ij92v06Bncl}=Fip~VT1`CpHSB[C.},iduR{68:FWIh(;?.2cW(K^qg%6|t[]$wy>hn3^f>$Xq[4kM/~qBJJ.Bkp#Je$>;4xrCc.hQ9lU!Xa#sHBpd{4SBW\"{}{pPk}k8c[]mTM]^S~);yV<+#sEVd$<?i3u{PhZkt:bKAYJ`3h[6N{sR{P%KCvMlTqj?Qz%ip[8nd&f5@No*4Q!jRhnYS`fxBVvZ$o]f>wXhZ]Ly<2$G)(r.O;1/$x~rOb{Z<e%6#BWwNVMriY1}4W#*:z9*C;TSc$2le&3Bv/!H*wiGNhU!.@L]7b|#[]O^4+4<y$JfA9ZBsy;[lB/eXn,fFV/fYr6_}E;A0~IhKcBy]lk5q2]T.o!023$]5^><A7+wnpUnYg~]A8L24*55.SV[*go:w/0T4cahsbMrQ6AE#zXs(=`#zwcB>152?{4`sv]f?$cn=lGHR67VVuf<(TA_mmNqm:#3Yyf@mUh,Kh&U1\"q|v^E\"M_cY,58YF_`1H,LhjWEzIMC#vTufwdHh!*}$b<c_LU2}by7sM@OLz|n&Q(3UOqx,LsgxVat*!KMbMy(Qgdsw`Wx{8X5+Sr5+4%_]g>(S*<?wXi3]<qO&#p<Ql1,Dkwu;,5s%pHG=E/{DBrkJe>>o_V4?:xydKQ+WHq;QHVHhgr(9pdiP?ZVOEUv:Jh>qDTvfkyND|(`ZN.3%V&n5$vf.n+\"|MRXKcEnX<`)MFRSQ&K~op]Q[Z3u3d6eQe=hSu%oP@N.+)r3@KpP0J2!h8w3{bblPk[BJl8P!z1+<1m)e(Dl&W#@;<%c2/b*}*|O@m|_@/!H#`2r}\"<vw~Gg7:<1c]ReQf&!Pc`r=ok)e;zckN+m7s@3O)+%#f&a7[5Kf9}ILI3CO|o!wAr%`S~;}ey/i<aQS:N$dfJw9Q9N9wZ%%ZDY(X}m,~+}Nol^2|dC:5c}W!~m8#HV|FeH(3(VbDa]|Yk7sVS_LAYYb^upe^3;%WI,1p[S~DG_73{odLOxh,.L2|F?vOe%3;44{JWb4j()b6>HkmE4@|Ll#Dw38iIZ)AHA76Gm0C{BlR^$`T?ZHY0Hz0OvG9DL5/?sVo=JzO?eo)8JZ)8!KjOIgHtfp;.}x/T_[i?14v3,>O`42?id<M>O[k3<yx3js!q|5+;h0J!Xg_5${/)CgA4;%M0}SmN!K;jd!}NMqY`j!;<=.#dJ(2`Znid4k|.&sc(SR]c8*B(o,%j?!62U#o<J[E@F_&2nDv3eI%_:<`JF_+q.wp:|LR&*K7`/fgYBV0L3l|SAK+.l;bnBV!9P+vV];_>eG?&1KKjxJx>.^03bFF?ylp%cy`_JJ,xWkpNVv@{,bEZ*3n&UqbBZV>DrG,_g/wcxW%}3dYV\"$sCouzw~\"0p`Ij!)Q575S`6zy[aka_[nP(7WY1!7w;/Lqq:FMVt<B>i@)e1wqu?,J1[U9h&P#l)O6x9]{#[5Ihwe<7v6./lok*nX>PL~y~)t?{[>UlMGjAsV0SqeU:@lQ+V1;)jcu#.Fx6RDnenX{#x&J:TNl!Uny.=Ni>q?`]S{^AqAVBqB&$h0FH}TrQ[O_E+B@&Y@.f:f$f*@2S#^SIF6vL$d}\"_L=+^b@MrPBH1t2bg:h,MKhHEz6_M^ZF6\"bZgNh6:3@/#v}@sEqe?HVj[!=_^\"\"G7FdL6UafOlD1OzsB2(O@:#TN^8|wCH}JJT[bog&,1qvEP3rr>mInhx9&.dmYI8^cT*bV(OZubl{KVLt#t}*6^|&z_;qG^IL,,Tk42QfbxM2cd@\"5<XudY_[+?QFLRafa){S|QY+nRf&P[YYaf2w(*?r}TMq9:\"V^I;O=iTRf`]05P0rIqYIRCvq>9%2l&FO+r0bz`XK7/@l2NoDH.D8b#12fm&OA%d3i3`6{i:bRE?qW.qp6Dc:BVIlmlH[wqtOM[i?vqW.W,>q@d\"/n.)j1*U11*t6AuEJ8>Xd^muwYSOT=iVSXI%wvtE~tRG+{b?/dkfo(|m40m*b|u<^5@G1{jb:jVZ=sO,b3Yvq+;\"mfak&S41$mJ9)~g5~>):O]6~Db`v]FzCnDVZaLY}SIFR6D&,YRZ,|nS~6nWmG:#p;G8@ja9o/rvNbFq9qwqMbI[9q!g162317J#*KM,bo29g2g!z|lV.M{X|IHr$KTCAWs}uU3l[3zomF|.P]dAE|{S{MN|97u;AU_Npd#\"p>^SK,%\"jc7Kwvz9e,;wqXpwzvqXhAcz$ZOZ&V..FqHEQ&:m;.F_1dA,)A2M7|1_QONGL_8oGKXqDsVWL&[mmg/cS0!vH@/cgKYyfx)q;reFv.zOM0UBxX+Kr>BVSR`juI}GDxH5,zX(vKl[Yv=KInA%Eqp*}=AS(rIkFRT0aD[6Nu:_7|[>][z@MKuS(<%[i}ALPIrFLhFiAp1Qp8Yq`Cb1JvR2jzzw1pp_3TO]8/p_Ccohc[t)7G9K_[?e,zjrzS3BgOzQpNjxmRC6,)gswqiJ9{a*|8bvwuOwP,f2?{<fNE>|wb)NcyS#Sl7TuK)nsq0~F`kSo&XwD*.Z)G2MoM2I%H2MQmd1>R0Jtoe[>+=b]6;AXSF{Mz0JOT4R(K8>+x\"|\"&Im0}e0X/dTt]?%V3%`U+Q=f|/;e?.z298=Bh8e?ucVGcCU>txk)9@.YsTln=mDn(\"/DvQERW[;aqwRvz4?+e}_:qIh:*.?TGjh<q,KE,&^i&~%%7+Lbd},A*NYTm^/5F~_<46=2q3eX&Gq3L*r=l44`VHJp=Lfi!*pGO.PI_Y3jI:s];c(t{pagD@>&l958xhC<?_?f_n}B5%4z3HxK`|n])PLR[y;:+/_TrNf,@04a8WqToQi|DxtHtVJOBCm1i=J)uM!\"rWC8Aj1q:2J+p9qd6)zN>W[}nt$cMdf8E=cpR;XX\"gj>)lOktayQ)K>oITC5H%F$S*UYu5/F$VxKu#P25#r=EguI\"[Q_a|h)c]TPc#D;+jN4YWU>EtXpSXOSCHmpI}jRhM9mLK\"ya(nQpCC*A}qD:,!FF^nJUUE:C$(4Qu`}m}(KKOM1PBQ>LPH[Q9,XhM9~kqINX`FZexF6At&K]f&231X3.ZU4;X(Lq:=,RVgaT>DVg{4,lH6.]*a!jL9CbzLE|5}oa]m{*<|d7T}W!,l;tL9Zt]m|ij]VT220BMWo@E#/|v6c2d.{|tS52S;qmqcmT3FAUMG<Qzs)92%uF8eSiL9D.q/2%DGj5K+UgG2,4`<P38BGLbnTLbn.q^C`EBTtG+LLXR=Ek1oDlW$HyK>w1>4)?7T)d*P$K[j$k`T[Ckd*P$KT1<2JC*b8o*bUTt<QET;86cqjmhO:#k)@.e%Ri33\"bdEG:H]/(Y!GG(^}I2MMt9=>oCrWK\"Y0nPpOy!qZL.NhDMEPYn.vS@IkB@)`.i1S&9C+e/p@\"v.%.QL!mKBe%3n6D7`YCw$MjT&A{}g}!tV5T+.iw2zX?Y@c9Q1R2$oPNuK!oW.YT\"ft&3BFL9K1{_V[Z)wH,t.e6Y1*D|7VcuA0QH&3kZ79T)kA{8K}B.iml[xMVa_kq/6Epuq!@\"01JZ6yq&@nWcq!L6QP&gJF{2nIUNo.[Q>jaxQsJ3wMd:S!PRax3P,f+0Yk8:%^7ubS}Ln5}+L]K}d>5]j[3g!\"v9q<L*b>Z97/b@1obB/?NlV|Up4WoF7Uqx7o.*q97\"@kV.e|nfdz{:rUl>Y<5C#\"N$>:UbG~TtgkPy4xR!0fEPZD&9wG5`:`YCVEaQhc23wEgO&#%M6+el)>nk~s&joP,.TY1aNTmG.[w*4g5np=,N&%vqjxb:qOTE[mY*+=bJW&?@>91MolKc7?z4`G3iS4HO49wu2s[S~ps+)1Zs~@sXZ:7`*+N2MmFl@s9K>0ZTm<JD{W2F^]>i*8+IPry$GA`dHRmW,jYs7Dq)|vsTE]ZY1mE]Fif)_AWphJNt{?yVDSH:tgOck8lK!+EQH6m!]XhP&PMi?s;G`)]O6M#s5M#&}3:)q;67CBVVp0WPbp(>m32ipB4e<][[M,DFO*aVJR7cc9OEX4d$)G$8fr9s4>o,_^5#!#}P7[o>d/KCVu^jk:Gh4\"}<G3b[G}iTkG(9po,.[]6gqyh/s*q#;JnI[S~M{~qZnY2&p/QSctkR2({yyqvjcD{hk>Tjek1gq@e#D)27*%a)GMQ.zEp#WP*ljOJKiq*Cg!$wfKZcy@FXTkDLT$5Pc4iQT|i:mJi~;jP!b*qJWKEvq{I!Ds%skG>a_!)i1$x6oZ0Y[<N9=:[]25&aq0/_^QH)gp81D5g%UQHZ%<q[Z.qHchR?d5qReP.O4G:w/HUa*m?Sa7,Tq;]$e~y[n29`by*yqgP^C}{K8N:](qi_w61Pc%x,nLLB*)N{M{M&9[L3(qiT;ohIPrGZca)rU[%\"J[%Z=+8?lhX]/Psr$)q{#6z<{X`STK^I(V.ZrEfQ,WqWc@j\"7d[E#SyHk[g`7(NK!Y&#lJk]=+P%vxX/K\"Zs*)e&j338dLD%%#h3V?gvdiP@u4P+r9{<tZBJzgaesO!B#*[$cppsKaPO^mYYywERWB[E]B(khp)X.VSLTV]%!Se9s8o`Pii_nXps>xHjj76\"9]3l!%&?iq*Zr<|/bd@.PC{bT~!S[O2?gx9Fq>Nk.z|Skd3qwK3+}fKFQ}&uYv$PZKOx]]`o59!N{UlRSLy^`L~axJ]&/UwI]D:7in@GJQsxyWID@o8ANxrV;2.5mxbWow#5.4S4lU[J4f*.U2|BWw>>5Nu{%6q.o_/SFKhP1i_S>v<|v^l.C!e1yaY7*A7.GS|%x!.YvA:dQ4_+K@&km>@9YhQZv!ng=,S+NkVvERWX_6W}?2]G%GJR(8z+Dsd\"gc^w~,9@Vy|z>H}J49T*{|6Q9E>tTv3~1|g_S}H+q;;G>Z2\"|^pYX[of::>r8r20*JWyh0~VlWc\"<C3o\"7<h[LDo*o\")NlU.cMci?_T5[GR}%f&6q>J1Q>&O:@n=]3{A5d^lFP2c}JZwH!GG..[6QHh[gyZ;`wILU9{?TBK@lG3+Y6*9qmO4]7@@Q2!EZ|@*qbT%mDJu.V?/]js|s:N\"2Sx1OZkv_l(,e6m6HmdM[<@MqFKj<OLXGD83{8`j?:RjeSep{vSK)[A{MYZb#:Ba=edcm&)F]0hc6cx={WWi=a$/+h@Z=G`|`3s5e^D~7cQV}n*WwSe?,SsFr>o%0z(i${XcR<c%yJ36y.3z2,`|Ov0otS6Nb#z~g8@!xfTi8CrW^wBs4Lk#!0VH|kVV#H}Ic},`)0CR1\"<nP6$\"dDJk^s69qWdb(ii,rb2a]f4P;R5;v=w~bP)p%vdsbXAE`~KFj[Yu2ukutt\"3~@@0jeE{W:Am9DG%xz|b0#eGo$a5iYTkD+y9(]~(|5um~UUd;xo_qwwlL6/};5Pp*]wmd&qxo(Gi|.Q^oG#NtWTJC;>Siv$96ntX5bLz}ty4O|9G`XcxBc:`9LC&BC:^)f[Kf]+)Pn9|+BHwrC<\"7B+b@[<@%h!W(LJp8lK_THB_]:[;.b<!H:`[n{^{_&gvkS4HVM+D]m=d^<?AFD`b&\"ru$^]Iq_nKywlR^$*+Ry||qxketVV0hyZ=?[1N+b5!HABxy7~})~2}_Go~.Z;d9bSAf?[X3zMmT^sEVjy(Rg`As{dwxSeV*y9Z`EcG3jVeUvO0jr,g7mUia`Fa42EVKXC4XQOED{n?Vf,.1JbIEI}RCCFvB:FQp[BvMyn2R|t?Zjty:+|GU@Il?C}IIfBdFPOSMRDD]?CaY0kP7NcVC/kpzmO[W95*T>P6Y.k.heu4AYraY{a&knuECn7aLWDqt;v2AAmf,@k<C>HGiHT]yB?3rkw}><z&:kYk[fYM[Tjv&t7|<k+.WOP2TQo?D0YC!FhOCKKF)Uq5IJdi#BF|bO:+J9\"y8[FP:1W:J9\"h54\"LVBFpBAIJhHj~r;v0A*aYw#AGHjQhw]4kT1/>yaLXP80ctjE^Kz*kq$$hG28AYbl3!>aP<[jWCw8Hm(KkC]$GCA5JtQRCM(1;I3CdAjT+)3_b4Tx`n+t[x@}yK:A=z}o%J:oi+pFY52(^y~x6yz+SQqMKtt6Z*4a657qbDeE(KU)sY_hG$mCqi:h+OJ`2uNPBzT,&Ch\"qb\"aT\"ft4+Rj\"CGo;>CKEU2;^iCfgzXvw+aL]>*UaKIXO\"xWSBJJzOcVqoXkwErH(T.IKjx_ia#Djt^r!v.MI:d7/w9^5Gwf]=?39;Q.fxo5L~<93:hG74ejFNqx2UaK?chx|cfx9YKhR|%GGxf5$*l5!>b8Xnt6/w\"MwqzPm6RPJj3P#*qqpne6.F;_6.JYX>BMZb\"B;Gr|:)#t;,z.lcG=%&I=[~q4(W:)~=9#JifzKorD!cjTRN7(~k71z/Yb>ZjrG&!X|&I=nztuBf8a%.XooTFn{N_uwqE@D`q~\"4P;+*2Oz?m$~k,/&w)M]WQCA_AqeZA%Z4C.DRr1iRqBsHizaow#gs{a.kxLtt6+.>X1a=A*G2$/)mHLdB3b\")A?=i/B8Z4G/1>1%Cgq$ZNjTHDKZlmOLF\"uH?GhWOtB|j}j<(e|\"K!)[VcEnL(1*a/?x_NMdBvOba/5./Yxq1!5+RyCd\"[Q8\"MttN8GxOdRPd0LwWDr[jj#Dt&EPOSMRDdwv~GGm|wWjoQc^MXs{a?xYi?vJZ:W(g,7$8(\"cwS/Fnlx#W!uc.ZPwfao)fJw||{&B4P;7j:Mb5<@lv9c30IjD#*|uS(Y)3$7s0FHw/2ua}\"2uj=18Bb8RP}%v@r&fG<o187yNOw|3IYn%:7jC_>33*$.H7L$i+^oBIPTK`&gXNNhX7?>Aqv}3w`BZxxVlNW9xx[49!h=]RmrcMn**1Y;`/OA1Mx1)0D)>&FJoBdFPOSMRDrydt(rXOhZ_,e+0Nvc{Q/1E?*}6y8*AYxR4M}[.Lx\"DKNZ9W<C_FBj#eYCF?6*BFEUex=VL1MPQzXB/nzpiKkEHocL0WTpNFK]};GG9AA26aO6Z*6aM)v_ouGR^L]C6FyMICa\"lNC<U6mt_La*CY84v!&^GG;\"z(*F0U;iB5VU#/z=!m$w\"hw=BN[B!OcX+csxg2},c%~,G**aI<WGwXfr%[\"2pIaR[PwfiVXP;+~T$ZCCT@6k,U95XhZTuvj5e2$PD/dNzDY#F5Inj5$S}n*Q]N|S{.~+@=4aB]}OO!pwAY*NKI[.q25Sk#_78\"T1dxCisPS<>Y%g,3&o!i}9?PD3V]UN<tDSXI[.f*b,3B8H.BL$4g^aZ`y[>P.AiBsOereD7SlS%|e1UcKDBkolE{zG)hSSJmq`lod1G.Gv]i7ZJ]8zU#pQiQXwAYffB/Bh``6Nmj8mYO<d`X0i.g>u>0z*~O^{I0&5cdEs*vCQR&x7G5gf\"oTM.kHB>0%hT*15I60*e]~L7/K2.l,_:2Mxb[[z3o:9m#Lz5$1D*3TSK3:Or4DGL]cNf1uQzDv[44W^gm4aQ1I]AML1;z[1zo$3Y7$RuTGv<dAG[$22[/O:cbPpUO3JwD69/@CGz<^2IxJxQr^ZZR2?:UbE:xw@jdC!T,RP&itie]GiTT0:vH*Mc<zY^YNXArI#@>>GJ`40h<GhRNg@Fc9ip*|Ku$;8kwc6O/~@dHQ>6V?g>u8:6dPb+3<ON!+aui<l)?I#esI{t?;{>HiVBc2N7QS<R{|6Nb$d<ySUaNkly<O+|<UcP9kX<y#dtH[t)S1s,Ev/>1voofc82EE:z23o9DP/[PmNdG2`8Q$wgc(6E6Q3nB8uS`5GU5mqH`U:|BAB2=<s36jy&.LzPeEcYh}@52oqD.@:O]DSgN/NQ@)Pb%2^ePw[Q+~_:*~d4bD\"r05s~fMF<eYyb|MUX*C/Z3crZv.+9^tmGS2:9N\"yn}R>Ax)91oSNK8Ff]Jm>)9NI={.SWl.L5bhwj1x]`?RJhyr9Q4_7ulpS1K9^p*qh4b@3k4FH%vIl?9InoPd2a(fVc3j2FQY2Z_X2RM@LSq1lSqI@Jz1|_GFhIU3eEo3\"CpRtE(J:oD?dNO5TTE&`QnaSG52_9l>/RuJ6i=6aZ&fc|@N2Fhy&;&~<1lx$H1kp]hQ/wc0zn,v/md|[>e&OI!k*T[KN09&?pU@bJy}}f*.UfAFecIL_P?x8R4^LBw=JjGIyp;,z+y[=K0Q:5U]Z4m*Z3u\"fIt@9>BxQQF+!Pl\"<<2XBW)To#NaIt,iuqd9(ECo1s>G~Lr\"IVY!oJ_m{2vT(NU7CO:6KS<e]n)>nYyx6VaZIU+W(n{\"[k&E7C?b>jWixYyi%]?72*#[dwZmrU^12L<uH12s@TWA=Qfo!utTYS\"1{|[~4^>,uG`(;iO`:bpmqj{Y!bsn2En`]u]!R+/=V}]RZqkMEjn7v\"1\"n*:UgJ@?lM3Y%P|79*SE[4#g972\"jZ<:%#cFW+D85*j/ZfZAN1*fk~CwN)E*p<%|$6|GPR^QM.D;{@%@>{}mEDsuz&6;UUx:g9%O2~Rd[4*ms@\"HJqD5%=dBCK2%=_S{CH&/(97+_D(`8{OjhPYW([=o|bl#jeS87;a|r1td5DR%OGq3ONJZhcl&Uch?c!^,wp%JP[3yZa>ipgbm|,57];L^lo.ubwLVuPz,tk8xHt2Ny(=o;zYeBZ*ir}VK&rlPH95Na<_u&:%?i11o]B_iyhbki{%L:!VCrlD@Hd[YPB!h6r2{0GE~<RsiY]ly)z+8g:/~+G4(kvX*(=/2iYTmB{,h2SXCV56k\"j=h`4~!3B^;DQ{>2Bha_s;D}I6C$[lD!`X6atCH3,`Y38Bl:>6a}[.y>d^y|V@[aN|X?/9#Z8o={NurkF4Rbg@*gV!K35<Cs~,PsjY\"IYY(hhh.29h$KhsO_b,%OQ{^O&rIod^_?_Mw!g=?f4QH+8C_ig*+x*6T$Zc&Q<@]Ik^me1J8=3q7H6gsO7n]`O[iE>^!pR.BQDwG*W6$Z]H*ys@7LmN7:V:i!]YblhvO:D$iqVZ\",AajyHTmNtn<Fami:L6[l)%Os\"f$d%IhU>]YT|6o_X$ezEwm!Z=V<`9G^<?#C}Y<[#DFhyf4mJWy5~,*tSq5gw:TBB:$`ipc2!H*uWnZ:;z6z4b~U,13=xdL(qk#bbaKO^BxNtE<.]E!3j>gqG@,v<%Hwf}uW&$gUI\"9N!3%3Fq%e&G~<nv>LxQ}]\"8JqAVBu!;Ap:Ts2N.n:g3:2QZWnw:lmx#Cz6>:23ov$As)9L9{&N$Dni`xZX.4;8G0zDH/%ok@;^u/Xk;_u&YTi>YRJw5X:W09^8!cX(19SrgIa3M]c}Kpj)ncQ*:i!&i{=wI<,J5gP]SE&T(5q8HR2({|W+EG:ZpPT+gP[8g^aLB:>P5;v3G%PXG.9Ts`4S83:dl>Y,bqj:_g2OFgGhKO.O8Xs+K6b?/f2R.i}sC(%Q08a={f/<\"ryaJ>&oGin}/P&}>6V(GQ)9*uX?,:i#Nr%MG>PnA)a_8TiIf+e^uO!8IE{T*#DyGvVT2XB$)=}#hCJ19~D?W2u>W>QUbt2Tp(aa9;Hv*eg8.%]JoeW2Wshpk</B6yl!bvE]/uEH<~Wjyf,,dOT8>$byZ!O@ys]gjWI3oPr,,O3,KO[iy`BVw4bl:N@Y99w#;eYcUPm!KwOA]e&G_i)w}P3Ahebad2J,3(}[N^0ZbacT;8eU[<9_*2;H}Ss~:S2l;H}nhsl\"}R(RGLRIC+e323_yeYI9#`8gdK5U#y[:pOo!zo&ibO#Nwo]JJ&)>x]YkP&0:_8KN#L/,)y78gIFcpN&7T}`4_c.8K6ZdJs;+9[35J[l!b.(rpHq$?sD#@[I3b%O;6(xfoMq&/*eH_9Oj<$&h!]`59:/`_zWUpe<hV29`de`B+_4CI,;oRu^l,F!;s<_[7WwXB\"9}`nt_;/KvCAWaE&_n*HqD?^K|g6|CZ*j}a|B0b+6SZFeTD[uN4#KmdkzNg5|_j>j03E6+/HjV=GS7|9OVD5)Y(`;7505h64hGztIp]k!c.bq#e$bkPMTMX,ejd{3iS4HHv3j3I_=L>H}5g]zF)8o03xf:GTl;5e(]68#Kxw$%|zNgzw=m/d.HLl=.&J:)#@a?l[lZ7F5Z8ccXgp0T:[T`JF:[TD5gm<yg@Nw?`~A38}pRRx?4,~rJ57LZbxw~,t4?_%~{R@bp+_4M]a%Rmh2eS84Lme#7&+C2PRf19}Wg!n>N*C67cDB2iWs3V4zf**Je(\"kc:525<xhH}(w)9|wQal[1PZ3EpBGe_NDMqTeO.(}8=z{0>YCJ#4:X#r:lF}lI.52%n3v1{(G~>:ZNyS}Cx,*zKDo7vpxSli9pcL9{/TbYex/g<&?m(pcV3JQoU_Be[i17QzsfaBVe){Phq!VlUuKPKF_6+OUv3$_)]T;FD7pmT$0Mh5c}WZvKsS+>gspU^cJ.KBj8pPr@p|7Oc:]T5^B_zUVG`<cR*%h)1?rW#rvn\"N5mlN|%%6}=ExwTh\"Ho}@vd:K~oHg;7OZ&{E:#7.r)H8_S%5hh/B$y0wOQZ=Or[R:eRCBVv?vqd0l/GlO3=]a9]E/Dx@L67X$p$1sO|FMw#x_Jf&\"Hqdu9}1:6oD5GT&`o9`KQ>T!//.291]A;DV3VuA,/3Ug!|rqkF;,kBpi(;>Z[4<fIM2,bI*Rwb0z@}npj{8w`Q?1XUNINSVo//Zr0{w/0\"GP:Gw7X!<|TP$Ko~&|!CMK4?XvXn?>kGy<wadWF!u~>yjowt/1W>!?D]W`j=Jn#~k_)gmc:b%il^552.5oa\"g@E1K2i@<y1f7n9i1]+eb&p6A=Qz3b%X:P[x74zmY8aVGy,_g(1\"r>+u%oj4EojVDp@XKNkYuKUSMh^71ruJhuNv6Lk6Vlw1:`N]m+)!2[R#8Ik6`FFw$^St+1?B#4ju&iWx$;mk;`#^yF{mF*jugHXmiA*~mLDbF4*HhJXn?.?F/5[r8ZUBR0;6^y>k2k8hy+enpj<l}o6/0zrSEKA8hN*gQT(M]Nu`eJY>b`~RbP;UTShP`g0lq;sd^mJ+V.4P}np&/Mh`j^aw5<y9cMavOi5R6Q;FYHYf=jPF4tf6VKqPn8HDK`Y3Q)]~F,cfa2viqpk!%B>m5BGR0^=B_D[)3{,}R8Z|oX6M*8%xH!2J`f[AqB&B>B_0>cP_uY{RhIPe+]N8u8nRP@e%e<.x(b}nx_whQWkMJ+[pdxo[.y9&gN.LQfavNz38y__jV_Sb.#**SQN3]Tb>G=ihxmRx,~qLXz9+IN]px`7UC~%Iz|>^IO[r+<A5#9(,eT<uj[`aqK[z(w~jK4<c^n<1U9^3&M%z__@Mw_v_ft>XFTV:N#~@I1Yk8eFa`l0x]m/w8hdoUdU~Yqo1%Iz4@&*bzoe<6oDze;XsHAf>S\"lHIK7W!jv,(7h/I3,xIIb.f~7;BbZS{I]g{c^3x&]qDtVImB$m,Am}t=d~hrCldSJUBFv5bgQdtr4UVz`9.}7.OsqM9ok]PKMIq6F=rN~pHHO;3{W~%eM*BF6rU[tO6&%0(#;GUj6]r:~Cr,Bm1ly>U|&Vb>qX&6f>%IG:CrI6f[oLOfUi!Oc5V]Bsg}@@m/_2H[.KWXlvI,+EoAOqTPu49j:,v\"h,9;}S40:]QU%)Omr#(|#$gdcW41,=^ImG0@lB)6bq<7FQYvDsa=lm4vjsm,l9bR6/JYZC,TW6[VgE,`(9`:qN,wRT`qTo%)Oh]$[Mq(\"kP8;:fhNqh~b#SyXYvNUQ>~g99k`}bCKR[C,[RGcBWN2*?g$B49+wLNOyR{sc.GSBF~|P>Nl3x{&U=kMX_/nk8*KemVVn~RJ@r.m@Zy{pf8%41mv0psqP,#U\"JuFR&U]19?eimpdP.J[2SnobW`fnc~:HY^zMQ{hC{<N^]cQ1}+lCzQHB*VT,xP7vUb96#cjnkA=fq0FE/!h%u?;!2u;ad.4/Mw0+oBHF23>hOMsFq;dD/!hgV4n1U&DLJqkr~OCt%axoY:zN{Yvz>{WxY3]=f.BeweQppHqwDqA{vQAUOBudq6@,>]YhgDvChVt7L:ooA^O;Lg#<N7_V1H\"qOFB^aql#[d!o(rd16o1T3@QB!%2g?7xUq0a)Q7CljvZ@0sK51E`!F+ZeZ?zUq0ab^|BQsXwyY.<<rvV7:@vaA0%bDZ<.o.\"$IuP|W~):Ws%XL5f5z^v+fBDEBUHWT2NmR,/,\"{S>nZ_I.=ryFqi{C*EhBMF~:ZR7R7?ll!Wp*M=MV<wy>T0k@A+{cYGnQm0juv\":h*Mm<U~&x&$EsloYOiL4D+W[JyCNtK!LYr`[&|LVQ7:PtWks2gdszjQg+rkX2dHm,bl6yA1ps(y{XBkx@_:T*S`*9|W;2G0}K3wz{n2e6wB\".dr>S^+@jl0[r,%2H:pJ{O~c3N~L>mIOgyZ9b`qGs`Ym(|C+&8)b|xEY;3a_B@jF.VC$TyE/]<?uv%i$WFu8(Dq:Ts2\"[~{L9C/9/}rOq&@De!y4]5RTq,C.guUy(GnCe1Gp/)#,wim30c\"N^_C,z1/.QFE4]9\"\"Eay3]mR!cp2w]k8h:Gh?Kz_I+BAS@_^i`vh$v8%^CBtk8hWgn5o<*6PW7V+CEw!Vh2Z;71D&K]*{P>#iDw$DCD`!ivQM<ZaK&tg@K4i`:x0AeB8lPK8;4T<r%C8f}4mK4wmJXT;qkR*~%B>gKcm+;|]yhs^NJt{393c[]6`:,g]YUOp)!i`Fhm=tp9qY7sq)c?ex?0hzCZq>T/)Z&#KH;V!=T?oe_z`^`>.)p5]X]}{rUa`L=w~P!Ks7h;6Bn<b[of`C6.x.ed<n&H[+e%;*w+e0S{@OFH_%[,Gi8@Z,NG0@>L6}e(+j.>i]eZ>$waoTsDjw=h`Hr*pspwh~E@:sV=_T?T!Fqd!%`AEi0=.encm}X5CF_({rHk&Dqq]QSw+#h3sJv;9nk@II}~ER69q<=HPPcdGX,~qUmQZv$Mj}zI7^U~:zdAX@*NflaWS+DkSI#4{abvQ;SP*sqTMT^NflaaC]3d<,ABLsh=qIh{%4,e7O{c]KBmMa]\"fOTajyW&h?q[2zOMEIrGZDqq>Oubyl:#&%e%{`[I<Q~/(so4^^`zsY8by,wQ8y?R_n5b]PdmrU~^Fg,Yp;dH|q|wHu%H50h7)hH@;t~ckZhf[!ejGJ|chkz_Gz6nj>g)%J@em}x?=zhaTj?Cptv]fb^6?z<A=D8qC/~:[!%R,uBM|62q)R;,6Jz6!1r>VW#,4^1w%bzr0U{N`A=QpRbfpZ_q+t^9$B{<$9{+3a~L{mYM!+P3Sd!fqh$XI|!=3]j`g:[j[k7X[#8BV#qOnIFMZhSm:@*c2J!nE\"<p)Q])`=IEo8Q3].S|w~:hX\"*,Vha{NkOwyVb#\"!o8Q%(c`+<7.|8yv^<^C]]$LI*Hk`gP.i}#k]<F6ylgFG!\"iyt>/q1^2r<o9[m.#VP},$[XtsY<h^Huy97h4gyu<EObpM=DJm,@iPTE[.RAHVNF%JwSmQC7sn!RP.ap$>iARvtQX=LZn;EzeqGCpJGz&IkLd,@^Qvt:=/b:Pr3]LwL%Imx9^nR|vL9l5ZM>[K(V:m*ZYZYb*8Sq^{3e^g2LeF#^lI@JQY%ll8uP9_gIm2j%d*rCy+[(.b]lj=MCd~y~)c]%?cvL9tRh]&8VxMY:]J5tRG1NY_UxYf]Gw8]oqCMM7|<&1DTMq;@0I\"`i[K]ljlxKQV<Fph!GyL9JN/(p+yiGNVg^ai]%?W0=`i[LlhRp[e*9^<?B(F.Jhq$w!wad;Zp1%=IV9L&AQXnL<jzNsbg.gAM%4x,=HyebyL2!H=a%vy}z2<!p)#U=m5_nd_V2>@hWKJ5YZ2}pLa|qLl+DRM#U&Pg54kD;![Kf:%aSap1CV$LW5wa~vq_NL;x=`R_K]ljmxKQG5S8JC>HJ[KYFI[\"5dVq.|MsXnVO]`R_Qp}/xV,=mE6bvkq%nn4Zk;!bF#fhLVbG:[#;wat&\"ZxRc2:[V]wf(KutB3NHORje,Au11M2eQEvw<DTP96ntOk}o?jF:Q.?%2P#:j!|g.a]#;p25.6wYRyE<q_=9+M$eJp}meZ}J%%AcCK(by|K@7dg^J5ZVY_vVJPa[7Sjkj@axsJWbX&Z]|.,z5VM>6FAxVDQ>CV<p9^sQ&seilOL8OzL9)nkbk.,rs2<L5!~t;)c2$3y`.<%P3E%k7XQJ{[)QNem+;EQJn/bvgSJf\"GV$M~S>;(Ko>CDR}?>qM%0b820=F$OZ6L={ZUUz;^?`i9r$w9Zu8x[`871~u!._Ae/9}#@;Z#<|31z;3b]RXqh$F{=z3@QfYy;jkIoW63J>~Yyh5_bUuwV>j($Q@kBn:1RC,egy&_i<jD)8|&eO6+?1z%h20.m3.mf[.]*d0>YU@UO#lcf0!P]nUC,3K(aIFaN+6PaPN=kG0;&/gdgMmCmTgT);9Or?_my`mmi};B[t9OQGUu%2eHIDL)gbw(9_#;,]6UV|q9cK!y\"@(4<Gln}MqCByc]sVc4r5~wWeje?H.SL;B_warSE%n>HFRW^dcF>7i7n?yyc?G3h@@z{.NM[YtlY+x|__n_c]5=%Bgf$23`3:q,f*G,(g.NYldDley?pD|W,mhXh@6+X&Algd7V[NGGW*t9DPU3+.(3O<B_Aq^]9!p{B_AqB&B>B_#h,D6``pPMl\"RGRZ0si^rM,zb3h:B;C13@l*Q[d.3%b/s8aAPgEIX8m(fV,9;jb~j``d%&<{~=jx9cST?\"[y39zx$bKb#p<;,zwomqUgo9Hb&g7V4]pwA(Rz2{&K~{hq_;4D6a4,cxz0JX#!`2&pT\")+jqYnD)<=LAp`I+JA!?_^vWoq+9Dt^_pThAkE`FXq{M09jjZDyHAVKy<ps!$z7i9M{:s7EzFHkf,eODnm.;}M[Q(Vr[[D/]%;wuY{.$zAA6*].zLn}`s0HPufKy:vN!+g41~dlFS(ArAe_d.8(KR}c>?hC*jJ]=H@qgq*fZhx)MV*%eL.WTzG=ihx(Kx|`Kj~L0Skb04l[Z<KvchQxmJn+D(7YYu0B@EgC7YmpX}rfyr)=Hm:P6O+\"m}I}lK<3[E&B:3a@mzZpd+/]J=iQ0pI6C)\"NDEVhqx3*{DY`c>G&J8pQ?+w/BZPgFg$zBOcn$aghy(l#g%nj%U]XO]HyK0FwQ2MQOu|DDG;oR=BS,Z)!|ai8P]XH$BmR&e/y.8gV+Q&Xn<QR[DKTsx@o8Vs>R#eE,;xb.9/*QpqgO]6zu]t:<wIx8]YeOZ=wI;>[l\">+lK!fKcq;/l$a#*fA[6g,qa0a7}Nc=[]2712nYE[@^7lP9{tB[jVSEa[7`Q.@ZM[=+^y1S_|f.Sf@or4?Q6/$z+P@ozee$9xG:LSCWt,?ZkxD:UlIPf_T\"|RbEL+1JiF9.OwPxr!w%jR<mt=m{Ycc:Vp9qH{<.Z%z`J9ePQ1|MQhc%O43XatzNNQ\"R/:H}\"TD$0By&/|.OEq%7L$fk1+./)q26{%0\"tPSsv]5<76T=lJ%JNco1.egHMbw{|*y$6!(S/.8%IZm:m&l`qx1`Vj/)D!yWBF+)gXT<[o(inY0~%P&e@=}+H}Sw+85L%.tROZje9S<1L1cyPHCz$:8!3311Vz%vkXsTq{\"#gD~.J(B}DJ4*h1kl\">aI?i[0Z/2IVHnx<HnGGBA6L0XXydvbbJK8iW3tRZ]LMeer3P6k)9o*VKQF/FMi**v|3eOCKiPMJ*{RxBRRzQ%57wSdxZxwt0R*3HTFCxOYi5VNdMK0Hv[TSj,Dnr7}yKj){&Ewv\"6q(MP.\"/{kNzE{*N%h].{<DyVo:y15^6vpKW]c{0bH17Q0&:=c/;C&1wZ+t?}ra2BKO.vJ|uHjLH9mpq6qQ1p&q9Xmu/u6e}.g&mmw=`YqLHkiB*8CQ\"S?!F[D[j^oLH7AH,=qGW8y&W6pGk%+Ka_cCIXi<IqyIG`9KOEXXB|F=V8E8Ao9~\"HhJ*av>_6<^b;<#m:Erxb:;oHCIw63?_rH}dy]K6*H+aa2oSXj8gl,4bLQyqhbTVyry!Qx&hU`P:.oE.8]<4C(N>Q7*q.U4H#;%n8T6!G58TSeFaL@_.*{IUD$qTcq)^n5RTl!Cr$0<[Dv.g]Mf%2&;$JxRZY1~kp7LEK*Rx>hr1hNfDCa#[|[tQJM=P8HX<[*%G+yn%tZOa2Gvuv\"6l:uYiU)AAZuUqIuaa!kmr@F}Dj4K<TKF*Y@mO3,OcFm<M*(Uf<V%4Ch/jLxR;v:5m!5s%K{N0SkRsJ_=r4Y#RvgX:obw*Hk#&cqB(e=V?+lRfnlK;+Sv,o5o]t$NP5oG#$./Gl?NaJX@!92U~}y<B+N<m6]6>mdjGQ,G5&HAl=%X~i~f*M.Ae0/!;G[oC?9@,Xqo:f^KvURL[F9BxVp5_F(9v(1im{M$Ri&PC6M;bnx2/1ZmRUd#lNxj!!t0pPGLh1*`/<=CVoWJbgmeHCFjk%mssF{n!QBqV*&;ujcB{>Ei$rL(WoDPf?D55,U_&n[La.;L{r{m=?11`f9ZT:|j~{l17)bkhns1.NUIbX&FTszEq~_R1}n&i^p:l)OyHAe9}xe&7+Q4su^#o<znSbJLxhM}2FH+o<a|?JW\"$y%D(dV`6rpPhK=:<1c2yC7|:8}iYq.V6|5oPYg8bb~A?hk&SQZ+l?lDU3.+`[P^HhpIcvMa]/i`{x@ztS#>gq$NsZ9Cvh1|vx3]WH3D6<ZY.uVBO[w+!b6x+C}]>+D)KXSaW,)b=?IZ%b[B,*[q@dLD`,u#@cXr+#=VOKQZ#\")|.Q!VO/|#(zY+mmK{MXMLQR2EgS2EgEg=VFNM]77n1JQI.YNZY&Qf`L.b.(?ZvJMw\"H.3*+qP1ujXH$3,]cVA/cs:NZb4D?.RREL2+`[us)C^/Vs!Ge=|Q/L:@oEw^__dL,/v(xwtVg?y7i=6RN~H03NRZl+a,SgaLzwtVHp*y}},?9.&%YYv^;=%}_XSeT0o8=~,<odZ(^.;P<ExZ2BcOETB=7]b+e?m_oY=>*QoAFZTa,i#YD+~=woXx<s=sOi?0|4[GSc\"og!>n,;__B5(SGBe=B+r$Kq#UW}?&g5!i^<,e__f0M*O^]*TdTGMV4[W#bEiG0!erjM)x5<uBl_H(I(Z?HVdVYH[79!REx@RsGKd../iypdvNiY1nf8ESXY+77:Q04MF!7HWUlic^I[JWPqN{y`K=M>qEO^k&%{V@X$2M]}I_4m=|tS56n:0m?<,gNK+/UW5$\"dx/%#x<zvx]0=z+xJo*u`.RM[A@&cx_2cJ{m<&lx;?&zp_L#QP!C\"|`4WEI@8Q7Os\"M)HY4A~0y))}vpjNEslg{lI5#0z)p`;;8,z9Zd4UkKKHS0$IfJ/y$?oXJMr9^d<:j17SeA.[w5<H.M2B=z.NhDa|$PVgP4WU)&gcB%[AA2[XLL&x4IZUqL+_EKybL5bYT)I?>jK/>XaG2XUNSSd<4Z!6D\"UK<1U9vwTK+!Qj>Q\"q3S0$VYS^AgU2Ujtxd5X9FO+zhVgt!Bou}br^v<%Aq$VV=SG/>&p:6$nBVFIWVr>nt5<.BiSi0uvcB<9z}hT}].p&@|+,,@%Z0mz2//+=[L}@SlS/?\"KUvXj``;LB7Xl2Hr6Xj]@#GUKb<!<Vm40tP]u{_Ct>[*Rz3~`Al8m7YJYe=I9yw{qU]phDyI`x>!@{^wv(UO$d[|DvB5#x?6ZH>&l+kc{wHF~lD*bGqB5^P6y*[Lo0ijH_FXcQFt.8?iO=^f5A:Gub2c$O=A&B>d$Y5DJ~Ab4#!gs:Jn|sr%?RyTQ}]zR}]T.P(gK\"_x>wzRf*zlILMC}lI;?*^^%GBu&rr\"nE.*(igP?.y5Vc)9+90s@D3$|#;wbv_5.FKSUq@E>+e6g,`jP#K&j7Wpq\"hqyP9MtiVEq|Rv$!6.eR[>kEB^_Ok`S/<AE<{)N];I[e:E{+,$077783(p$_1In[smde.?Z<oMKB8l(wf7N/fH8ylK#RBCpw:cV^6e%rKY%PoJV1oA*dN8DUZ={@6Ex)Q@7d[COZa_SZaAS03I]@RID%__ou\"0Ne;a{97gDwf4y.]@c=>66OnJV}]b<dsh@nC{W)m#vWRDC6S}o8PvAbcvW$@H\"s2jmK&p8k7P8B>MLmBAr<@JL*X<h7*bUARBwY&)I(K+%sF{_O)S7u`&0GRfy&H/]2<FZ70DMtqFYflSeEj%*@>V@pVx+s_\"&YIcpacADC`,<A&B>FIa@>|SE=4h7:<.sKWfVwSv{a[4/C~i2t~(;<EJ_*TZ)8tOMH.c=<$n.!h<08VIW4s^>OT[u(.WI,@2Jz:yh9S!LHy1ro[,N3%<bq$[f!bfOxY>Gq9S;}8mv#l>dx5Crn{D4h]\"0]iL9Mz3%@P[mHS@{|>qVsGpOe!#l)tHAHAD4c]hv)Y3EVgE2bi6:^u}I2d]mn+~J!cO;#cTiKQzx\"R7L[PvO;Z9R9RSMRDjG&*%zqSDZje.cjz8i(GW6ZPBSz1KQHRyXuaGXfXz90#Z<2UgS*]Q5_crOqZe!v(Ct&Jx$;i+K~DBwWqB3g#ro(jLdh{u[;Zk_w(}?5!i_/=aAIxpRG1@Q_Zi]eoe}|cvY[j0p<y7*PbUAcALXA@2&L70YJjXZ@RN6kz0B[CAK?${cOx<);/s@>z1:r^oE45c[7q.ru7`LaFPO~3`YsEsX[(C*EtpQIA{&YM(9=yb|>Eju?grT)%L?FVcD7rcR>`0|z*1`JE_C+bpGW_m6i3\"&%X+?u%D5^d$r1boh^_4)f7.Mh@2+yjE,|R_ye2ip*_{>|!.wQGUDGZgNe_tZP?LX7v#u}]_(?0ju,+J%r7Sm&!yjJ,0uY%nut0D}JE=c[SVd2P:=a.|HG6ZP?cGpmf{0L9FRDQ^C4%8LAJ9izeI6QDq$20WB4O_;etua(O>iU@OOOrsEY(EOxX5=Tj*#0s3]&NZv}n0g[GWQ65/]8u]Subw*~P)$K_*5l_g@WtEwDx_C7QpvLX&ayu3?C&df{7X%~`\"O<Fmrpu7cW@PE#gB:l*:W~2|DGYhfEE1JWUNSZH08d/d\"!KBUs_*_0U7J@F@N8vAJl6:qQc:BcDX|?Tx1xR&<QD]=uo~)rQ\"!LUex=V]IaR]$Hf+Z_cU:9?2u&MIk!*LH1q$Y(7,757Wo)nLO~R`vp+mSF#&gMv|b@jGbw$xpgExnWk(DaG1W/ERBdty(iaO)y1};8VB#%:r^NMDwS*1ir&WO6?yQe1A>)bmMLOEWcybJUP6Pp7AY82)syQ)$J*3EuxE2Ta/YLiA+./s%/>{NolFdO:.Z!{Iv6q4ekqKQ[[Ug0e0;$SO:qp$RZvRMS3iZ$0y</@|ve0.7p[hhb38%,Q5JU;0`IHf57U|&ya``[bREMJU;uX_LlHyNXNTpeKFNFNw7GyPHDZ2X2KucCdBQhw>?mOnOLatoh5UU&IEwpX]LlHkHmHz4uy@m4#Ik_bllW$38`<BXje1_e>U!./?gZv;Le_=fX]wfXpQDS9RHt#EN2J*:3%p0514:=^?lviFY$u&.u)]6iMFYoMwBHO`*;[O/N.$YLw[jJGt#GN^iWc.<dvHHrIhX_o:VOYV\"2Mfm|!=kw/rRVyPHH=tsjOa*dJ)yQT:uC1F9LTjm)<z#Glyz9uE1&M8ITMGY&u})*k|27180La/=V,v7,u(C<2z_?2)18=d%+n~|cssFL%*=Uoz?H*eS7*S\"yC%A~(CK*3%GYNQaxwRg>cb(XF:=s].g;*xN_m)HKb1%,6e/1%|:?5!Zaz;R1#c*=5D]RyLdZ6ecs*]mU7_fWrwkLVy#{CdJLHTMG\"Fx)L[W0U&Ip0tcLyQC9I}W:Oq$!Gk9x%WNi*%D{E+}QMQAdsBzznzLUkhHdL#3EYVNrGmEV*o|!M}\"tsD>V0KQ7G5jKQR*rH@XD7r7)6b4_[\"_=yp#\"]k_;IT@dj<H<X?h$T&m:L`6Llt;HSAdF#.K)u5hlGu^u:FptajZ/y[JnvZRGR2e3];Lq$%5/=_Crp&IyNx%:B/K<&V.3%d/[[[MC&*gf:Ni\"Fs2d.w*p9G1{>]]8um+P.,{8Fia0HwQ<q]x]eQEpkj8j:V]m3D6Vx]HR[;{A[[3)/1ja]T8=~KT,9n}%^H=3I7xwrD;zsW3e6zQ/*B[wqi9Zu$4%Cth]r)#u`?y1M)S@H+qowht=Olt3,5Q(N|*P0A`7lSWV$6N(F15gm%H3S^j05c`I2eN3,BhMO6pkj3_Wa3d^dwEl@25F5W3redt<x==^Ya@lTb5(V=DKhPe,boH&.%3D9a@G?%RnIO*n3XS0iE:[}Txx|?e9ZdkDh\"zPUSq!n,;#n\"!.[$8RT}{np9q*iI8TIzWCe]|Yjsl+rU5!P?,V!bD=uG}y=^t](S8:_FndH!vIdj8wv@rU~6)p(K:Y=78437[=w&!W:zuubYNx{YV__?.)pYC^r6?%&rn1rH_RyEq@JSts]?_RS<.x|%h5.ciQ/=$u<vs\"8g(<9tQn:lt[9J[ey6`?=J/x.Q;DoYWdg7Sl]|yFlv*Il9*Il/*IlSuR:~x)%uW,USE;h_Y$FQ>3SY#scpefb:P{md,z;a{o08_+04]n)I,^$15$JfHm[,z~pw<ttNB6.sImh<7qvD`}`CYb@bqBSJ~RsBc@V6b^!Valn64lK`0G]8F6;G5Ez(PeBI5z^mUTlz:[)]gu]^$cSK`A|pguJn|6Uk}h{,{MC+1W;Hz)<mWU.l!eu|Sf}#fMrWSS+~]Uy1!I&y9H*.X:O<zhmd?6R#_UKa_8OZ&^`y>1_PhhZJ5Ihz{RBy3I!yPuw<2eqsKJ>4zU3$RBVYzwOv3EE=V?N%%sc7*\"|b4*.]u/Xv3K3)s*WCqldj{Fx=Vnp*MoUNG=Dif_M+=Ue@5K((;2NI]Ru~`sSP]?wf{F]QBr=2w_;\"5SHO|7HS(/zXv:/ivaWCTa_4zhc16eT~wI^gBK^#.=:X/D~kif2o%0LxHiQ@e@:YjM*xr$)^g.3:EH4Or~B6mZya~OVe&jOBqa<CNInA@8H5o}[a3|fNaaJG3v3Pnao8&9m)eh:m2xvO`@Ezo{JgaAp?f9X0ru`}&|W~@Rkg.Kj`q/91oW$Tsbx<{%E>1&v|n`ue9REu^Y<(K6X9{;qMON(~ul&*6pXU^i(#KZX\"*LJ/K#_]!I|jvL<_;+Vt=36*$}]2lu\"kp9%d$:o1v/bUr6brK99]=#Fp]*tSq~}m9KMqtDMsN+L79P959R`Vnm\")uY5YOetDM!f_pDw)]2Aq>$X69`cuFgY8=ym&Ot/sXld*b{#bRB[H)Em9qM%4/wbW;_4#v5q#v5gslq.;QISJ[;i^p}b8g!??1Lja=C>CcLO@3o?yk!{(7%DO3e=w0cn.Grctw!$g9AI1~#%46$S#CKf|I?o;N*bvz.ntw`vaIvtCpRtZwy9|76Oc?%F00{kOLlnO&NyJMUt1m=)E#&cy)bQ:3\"i$VSEj)PsjS*<%oG0H,B|v,$BHv[3faQ/x9E@~G.=\"@xEoz]o;N;pWzCp}wiEn%J#g8|WFEpn7O3W3!m}w:D4HqElr|R%a)B{n@9dJPG#@B]/Ob#^%1sT|otK(7CD}BxX(JpCM&K}bTGhGl.4;h^o!g{1n}0+.%UnZC6mwN.q)t)NnO!\"u4_/x>1^kC7c~uigCUa2ip&c(c/l5:qmSe5_p^~(S7N@>3J>\"`1zVr$*XTK&1;t@<[&eH\"iH$%D.JhRnT]._>K|o;jUEgRoU$@Qt0\"~x!GEBTcrSlBkc3QH,o|vT9dbx95y(YQ/?21,O1Bk/ZLygqX>&bH/i;0FBFRAiItDKd)@C=H<ArZptuCLB%!NJOBD^MH!ZbX:?3j$C$4DNQTlv8Z2XKiDM+r|Gyw@pYEvAUZGM\"CcPY5e#6FtL]ndSbH6z@M8C*5H:DU[WTDHiV2:CXE,X]FwW{CJGAfjnbXB5@>.LD`1WMLb5pRri$r615A;AF**BOfBLKiiio#emkE@Lr_7HP^yL;BORMyiKV5`CGR}Ar*<`QQ}@A!9JABFd6ie6J)k~tJ7tORaLMg[*$(ZFl*TA!MtpB&ibn5v=wQ_)6=Mcf+\"hCgmCZu@C%mrPhggY3+3e;`1(uWeEnCGzjg{ORBj3%53ECQ!Y7BgT951W/E)@Y@.Ilx04VXAg|Wn!SpsHt5F!iNrBQI=X%({XVxzR:O5*QDbeB51RDZM5N08H,AZ;:o<HfALFhu3I[QbxBw<i%/b</o~[3(>5nA7]lU_0K)33SKCu6($IZ+x+v5u/>vWGE<4Isij,`TLoIEv\"Takod5|ok7{_vf!/~<Ni!:2&Ek|quS4/no65TwN>*aKjR.].awX.2X2Hud+81JgY]5z?\"*gxRn%?P>4Tc[M(M^lCwf.OGhhx[k[hWOU)\"AciE5|DSCpcfZ8@<{KK;i`QMi$C/NstADfMouZt=MXvB%GUA.gVNc;CMK=R]2JF3XlZHu#ypF@4E*6Fu4H)MbxXcX}w#Wz4ReV)*g|D3I.G@A^13*4I_K4X8e>C`%B>sLv)|)=MPB940W\"/y|Ud~BL)\",Pj#^Aq}tQcFA+dc38GsC>vriOa]1\"FMTw(eOC\"WEzPCi)4sMw{orUAX?7%w){k%zVRru+y4LBGBAAAAABt445`bDl1YetaRu/+dxyRnxYHe#w>x5p3CqssQ7?cqHRS>[fntJ#;,wgkKQrv_h?>01<A\"/#\",2/CaA<o8L=m(|sm&)Dj>CB}HH]S?dcJ#{H>>&nEX#>F{d0)gAode3tR1|LN{}]azugPec({FMf8Q}DT[h0.8)w`PTG=]R<@X9dt@`JV7v6{Y@xg\"h}{4F;QO?uZnY[j^PjENpi]29ap],aB]P_sVX=RZT|M}66SICYcU>zK}zgY0~GV%`[PxLO62~Wu~s[=cJD3^e64>Lyhx}2T_C0oZP3Ueiol^3_G&#n[Vx?bK]T{|`FUC0\"o@}gsj:{;#ZuKu$Zxe]+J~s<FoCweQ!:u1n=iHQjUkzHp4J!C):uD!jJVy~f\"!`ya9o%<Up`nq2jb,3Jv*;p0)+||e69a`|]Vh<&Hu*J`xF@R*Qb5%@_OPK0>2+uHF*_a}1E~6Xuv0nZBxCvc/HVO=it=hJxpBdr1kgzd`TX#&t.2}Hs)&(^GP/4>z!VNLU<BL6b$2$98+rvwKL8VfHL_!<O,I]VRdtz|P[4{`NyT\"vp6phAs?:Hal3QPAFaNBT&&9\"WVEmnQBh@/8qf0~NM8]DP<P%f<3JBPgacxm2=)MfxH4i:z83T.>TeF*O~q20r|JiN.AQJH_uR?,&*&}NYn}=j/$5Q1<uQH0rw*w.}];5;2>T.b4;@<`(mhM:/1^PzD/qHZP|%??MHvA|}G<9|wkYw1m=q_xAEUp]7R:\"$:0TS(#tAXHX8A)2~JNZU$R1TSBw2/5wsRd+o{0ri1_;f.jIJ|XNQ{]++:5g5Vl`)JXO]I%F@y1L45Ho`9N#WE(=kJR7cZY+3G*JI%S3!kXKJA<bF=nzqq]Q0HY|?Uwa>ZqbpTo@1uYl^ulPG}j7AuYWl8;JQs6~W~c7RDz=5?3n@K(6`h5r`>:pfvQ,#5^oB!qeOV>:wYJ%DU41wD(RvBLGp:#YVx~P!{PHz4J%K}W4*nOYM&w0@Y=Vy4T0br)oO_7Xg,$:UFoE]]hFy~74U!~$yxY/6^\"Ph@jH*Q[)NO{$u>!J;?tUA>Qcsx~_i@OU4I[vWCj}3T.%m?/ZL;IV1p~{CdnDmy}C1cP)LyPKp~:VpG1E4!_av2aR:/dB>;a&d)H/:6^?P,aEC%%i}l>4*TH7,/$eamCdI{3z=(e#,aqPWU{<aGTml|L`;^XeabEa0K/JqTPs1`5Yrt*owXh#]N=`r5>C,26@C?>BUSN>Mg3B`EQY%sVrq<>EpC<:<FDG)P\"=jd;0~(pO5lzpXuu`kSmGx].@o#g2kWN?_Di{ROsBIGYUH{kk5LRi5O/$!^qSX$hSm^M1b0&xI;0XJOv<b~Fbj{H*4(_MOwV:c.gYfum{lCIy8BPi^QG)8W/Q47Bry_YLbD\"xjpMSZT<M~K<!5Z|1Mo=>?qQfZ%#4{:d1US7Y|Z%=kMol2W(e/~6i8}y`DX{n}<9}>xK#Gt<:]1@yZ6QeBsc4x:oN(X4#9csN^W?#G2z+vP.bB&&K[4Z;2yNZ@FMt~7x&ujy+*uOvo+Z}dC?3DF1mBC:B*2I]F~1/de?|W?!(9d#?$!Ldwd~#;cug>=DE@S;dprT#Sh3R%}$epa5Z_Tx=8TQ+\"6l+^9Ptyb;r7_4ywZO;hWPZ,eS{n9Fe8_@\"Qc,ZoV&^FJ!aWAjz+JFJjqUF?ZVTP>A&[s+gdJ)&4@LixF,tGdSL?e\"e77m_LA8dDS2Ni^4n?O$L:T.HkjXz<vv5DSVR6L$].wn[)[kB256seT<ea*4h{b0/D_X8\"IZo^lh>/Gu~_KK}t{>NC,I~4JH.Rfcm=;7QO(h][$pYI~cs+==6>L6{xjmPv<8>!F.HoXMpVq4O0emic=JzoBDzAiPqMafsmgM{@e=M3Oy2qzaQLviK#w(s8M:;][%nM;D}v8w`fD)M4(hp|ygP_a]S*1~5jg@n1.#W3B^o#zR#]qG`;4pFa=G4A=1#L.e{7dU^(1rcLaVY)@xX_{j6b./(O;MVx!MY@gO1\"AGro=Gd{~g(;sqZ/@2q#m/6w`R<<p]Qp_^5.w`fSxd(!{0!Qk,MUJ5*}XY9Y$5`.}lB#I%V<zYCKvOy5G@{|$\"a}Iy4eb;foN!}64tNCXQEsCQ:b&&=73(I\"kMi3c9o+{_&4pH,0CqeX=*)|(.~.pU&^P7#]OO)L)x_D:X]\"VkBE$=aE#&mzWf{66ey\"BEC($9h[!SI0LUxoH5|wf:#!U\"rfDS++ZfKD{Y])E|5h!JrdFJbCjPtGX[2bu.hB79_fSuQjzd5&{h;[e0mP!isA>vu0qz!>f43bK*SX{w;K}dta4T~;Dx1e!MiV[\"7,OOM/Gw`kRhe4SDyXUclt55/L^OiWV1c%5}fwwKeKVJ;v;=yhci!2>`c0tdNC:6jhaMDq7qA^FR<&O]Lnz0C\"1q4[Bdpf+OSQ!J/cqi|I\"h=QnFP4V)Y>XDYbw=P\"[6?,<]>]B&/B[/t>OTFMok`z1xOA:>q|{A3e6Xg&~>>i){i!o0E&\"OQ5x]IbwkMoNRPkm53KKdAKl!&AsBD~xMwpHv~s}}M^y#\"uH[rp[b9vTCV5D4.}xGX(Is9bRR@Dp%0@;7K1FJyriK$RMcsP}32,Q8ME{<PUbFQLi,HPVTP*^1pNl:4$|y7[B1LPlr&])Q@B7h$*$N%FMpSM}^&6r85):PI)wh$8Kw#5u\"87u(ruQcuZnJ+/oz#C#1!cN{1*G.?Eo3eDd6Y0)xh~>b+&4LOHPeH^*.ASacuZYN+,g)_`?wy0*z[UL@d]I=<4]!?2H+R}~?5ZYl,m^Zlrp9Dl&%qb#DpGFs>Mc;D,dnFy:VChwbNjBEKpHRIb]9bvX*P0v1=4:m?B&4iD~L.csAHOjQc>bC[FRV:\"xs@~OVB)<X6HM<fKGis7cdVa8?&fZbZb?~QzGmsg^o[rR[5[c<3C28JU9v.DXMd>T1(Ws?#<+f]*\"|%m}PZD|mVB`XBX*5U>$s6\"yf:@tUfS_12OQ7n<t6#G%C\"pC]7+P64?\"fj::8vti6no?*f_R18s2eR*7l+QD=^L+tvawZp%F0,Tepbk2LJY&==b91dNb<h))y;cODTToTSST/<u)E^7_=U\"u{mc!5Yzlmb(qU+DW{cT^}FGu^*&clJzRs1Y;>X!9LKqeT)hB==/*(#~{[@TcJL^T)Ee6~3pmJy7ShD<96M=K~Up6wHl:P:5\"HYid>E{+z{_{C]XTMccEd~G]7d)}X7k2g(i}ExZtz;gAGp0!mRebtR[HRGEo+tMy(gC3=++P9%zQ[J@sds:<#J!BD+.FjHKha#BkSySg.ym[C3D%>4EU\"zx{Q%H?hv&Ykl:;P6#q]KR8ppT?^d+s&&Uxh#QO\"B&Y+8VLF{^c/C*u(TVF<astU)o8llL2#riO^)zr%?oHG4Nr~Z;&pv+sd{?;[#(TW~&|ABT3I/9<yZ]ho}k1*;Kb*N]K8p7sI@y!G)1=SRt;qwAc;eQ+UN=BoJZ/[{h9`}}z6%;,6P:;7d$Ov>6iwZ~k(k+nL/5{|U+PMA&~,`S2UT:1+RCs{y!=;V@;z_kv1:9Q%H+!_}6#D2F(q.h5Y}\"oomF0PES^X6i|dmvXUO+m+W7rQFV\"4zb4<^a#F6]e4#ew[[E@cIh94*rkFXj74&$5BqPd++}Q!S?Jw.Cj!48.a3kJ4Xya9:cm#4W{N<LE@:=i=R;oxCQP(ee$rvHlM+wBT.>u|Z}vE*T1l{,!Is}0lEV3HSkl,S<%wSk9R}}2,P3C%3}0JgWH&J{<0zBE2\"t6YfBYdp6Fo;A#tqY^)pcGQ>U@aTkR$wJcq+e]Ks};7|yp^]?DR1L#+4xgLG2jC,W<t%yc[;<jh_VMK,bo$ZNl%xjE.FsC2ijcG5v!cLWWEu1,7{}CLUhR~T}`K`#1r7Wp^QlXT@*o1E!*}&oE9BcRzZ%~O:,@X;2XJQ>/O}GxV<=ZSs77C9@.;@MBKjrz]vlYD0l;c,sC<X!m3w0\"T5[M@O_oFuk7wJ}r_e,1LT.4\"N;:)GR2e:N{6D6PX^Bg\"g\"2kpQX#OiiHbgM]`\"_Ra;]KT:{KKMTyLco)Ua+S=_G:]T<ri#tBCi:$Al!%RTo(d*MHHqartR1w|+Fk(wr%Ba[8goXd$$k`ypEkF)eKsGq4I2[]%#):W%`)E.~x>+P~lQD`qW+KL|9Q=^!Ma,XI9[]Nxj{_HKG)ZUg%C{+E~~HjLyxf,8xZPM+gAc{.zaN#!h+2(sLOq{4:lzSBDBXLp|UP2%2q];i,%Z4I6c_u,576bK)*~(jg~^sn7Kr%%Y(M`Us:!BT%iV@Z^pa%NeMV6Sn2Yi]AO7Y[)AHMOYuRI9Cx+R!{5FHA;Lv=,OM{`Je[b{gS~4CAc#2&d~N1i?^[:zl%XhV);&h3}Uy?,)?6NVD|laZio>FoGT!s;<7/X%6A2`_wnv~Ufo<t6i)]nE~h`:d6E:B#%YK[bmg9Qj0;so=,/\"FXuQd!ZFh}^gf1F;H@8*JOsc8xi/l^\">#@d5KI;&}8xaQ&Ducf]raSbPHZ02EW&6LLTZn@YkQ~MMz=[~{Mq>:w<A8=]51W}jVUS0z^2)Ef`D.%olk*iSF<MK30!S}y.[DS#D@^<HNqzzpS$Ab!;b3vE8X{`[xwR9()E5L*qj2!)|1f/yusEl#}p:A=C,oOHd8>uIwh*7PLu0=p$kC*^LNFKna2h.S$9xx;Fjf#t8`8J5IYaX#t6C@#$8X3]f3gl@mt}EnjBV1)0PhPRDFsPPzL|2RBvX#5UG[DDJ]T}.Md0XHnIg}:R`$dN+(N)NEs|r.QECIv<M`M3?B%n98u^|q+W^M0M5E%Ti({K:)JF9/6xJi6t<*FJ~pKO=7=8)MOGLTX/B*2JB|C#|Hk=A}x%g7>J)oD:\"*q{stZpH@)}>P8?mrVy,yr$J;{zS^za<ErpOHyL.mrY20\"kJeSm(`X+n5?4;c!/hSit,<MzkTb#riONH7&L0Tl%Jx<$kl6$QSCW^Jz4O135O?EfG=&Fd9_P#(8J}K1tm/iqR;]^v@<@4lQk(_wXYb)#fX/xymtwZsH*@9v^~Ic$&m8EsS{_=]llrC_|PJp5EDjcP7H=JlxeZwnM`4u]xMLacO7AXo,DMlF*RaS>6sT=qNXRrS\"J\"$+:Eu%LHDe<!2UGGMWq_]L9t5f/j.HrPCyWxwBZt+StO9MIJ)`@KPeQu`YK~4s2?.Qf}$cFLdd/0F%VfM/I/u}ysy^y$<K5_ULzQ1_|z*zS6*{=4{xM,3=k:zUHiE7mLA2\"H`E5pqPlW~^Drsx;:Ryt6(bM{(tp?Xk,mEUzKScd?z[eq{hBz4fI6uaadi>Zi8yuOc8gH)}C!:!OP3/[kYF4qQJz_9!]>5W4VNq~Ed;R3wqGDm[KmZMch#i7F74/.5cg4id+HCuBexvid5.P>OtX><bJH+0*ToMa1RK3qH2f9[4&!yeqCLw1{$0Enl>pT%?8t5.jfG}{.%D2XoU{GBW~VnYn&)u_nUx30CH#wz0BL{wsG9wwMG}Dg0A6o1*epRcsKQ1GfGLn4=kU)Kauu>COznL5zdLn79RR\"$It<7^([=>a0MlT)>nwDKj:(E[Bv|wNmiPe>m4C.O&E[eu&D>$A,YxvoVuxpTcUPxzv^P>&5*^f~a[R_48/(eA@N@c=}Vh3(d#CrrAkV)&O5h?IR_=39nG$oeI{$e;?D/D.)4b|wc:tMOX,)yrHG9=wu^UsPL3HxufS?h#Cs~h|i!8jv^RXT4SmnycVIhhoWS%pl]OdNIOo`jHrd)RxUELjAq~?Tr,Vc^tV$F}m^DDnw0Xug]>,Sly@STy<Eudy=6cvtm@Gh{]0?yp5{OR>E.:z^9Sukzx@UN+5a#G`Hm)g8=>}VTFa\"];vTl.uup]S6qKQg~DNS9`D~=^v`ip:QE!@h>Z3yC;bFD14+j!+x*`UWt,/H<Wo}D(aa4.n)0q^}xLph*nUY6]:\"R3kafX/6cOjB`Zq]a|h3(.X;G%/dQbIp:fVC89AG?Qj+f+o|s6lSJH&)hYo8[uo`Y&P>t^eGOke/k!kx.\";g0M5trMKsZLD|FiHR>{L6C+fh!U@UcPp^NX~*/DP[7e5.=Y1rTjFtf}C.7_iR$`%o:*](4:7pM>LB82}6R6?xvAt?c7x7_Q[5dML]X/vv*1+}}RxEMZ7{!5#X%;Cg,p%y1~/b&RivI&;z~f[a4s(^ZE[U.ey^pCE>i+,W`=DUUT>V6}NCKeoLvMO\"S{=mt`Xd4G{rN<y4r7]5Yx)QBARYn9S.;XModeJT8xraVom$hT~[$_J~>.$DSvvJS<3g$8sG{,(=.u&Tf?A&SQ(/lm7ZT@OhO!S/3Yw#<z=T9\"$Wch4WISrOSP\"7l(SJL3M^D|KRlFF5$nzH[\"/1uW.B^t3qwQmVxqF,X.Jj1SVWM=H}e4?0o)>??bX}jJbxQ@Zn;^L7/#y.69Ydn%Ko?5zb!#tzg*z$6N2tc1aTDWXq+n%@}mv!+9~=fPnyL:[mOwKu94:.gj=89)j]:(nq$Vd2b9GF$^9YEkTAQT.&70F7e!VM@dC#s}6N2)/3e,HVWXl+!fY:G{U`O~SyZ^)|B#dph_w.w#NF[c0sNcUqW<R2L#%OwnUA:>U>0XbRtGpw6Oo&0s&<p>cesj#VmJ>MG8$|3w0\"/LU6d@vgSR/dxOSj<=[ohx,oq=[,R~3/5(r8joYFhDAp^{Dr2myC&,h>m&Ln=a4xv6(}T+(56]GgB+uxx[:KWPbWaYP0]A)7)x6D`^a4u202:dC*LwacGF#r@mB\"G9@vhW[?>K>]ru%lHY,HcJHr1JVbxWseEr;qZ3V9Y#x@~Lt3RVh=qyPrU^#O]k(a&2m13r;mw*l9W=]W?.^)\"7O/q/&+1!f$m,v2k]qN:?eoxIc]*sf2/v2gqx^OrDXtlq7NUdj.xMc]/AC[*e{1lFXF?A1?Ccn!avPIC/cz7^a^Kq]MyXCUiqb1EA;qPw[aAL@$5/@iSH#nL<ts&|G{G_dPIgkcW`k~h/*dca|~Q\"UV0sily]A4pxyfZ+q=1{[UD;ray(k)zb=I$z#h+{5r~@tN]*E54UvGmI2=%N9&XR})XM6FI@hd+N4IpD8xPHy7bf4wPaoX?>^m$62\"OkK,e_)T$xmW/tv^CLF*:#6n|7Lf]ypzwioytJ`_.J.x~fywx#7u!g]B.DsK!hE|`*=&oR=0PAI%RrJa9Lh!fVuJ]m{Agl18BvxJhIk\"E8eB?,d[n.]!JG8}tAU*[cErqDrGT$Kfr!8.0GT(LTH|CsLgX`LDN*vtaUfL#gD63q73|:HHljf<G6spj8lf}z9B$xE>Q2f#);\"2fNx!mN4ea=E)ECyE_hL9=]]w@,fLSQk$HChRuZkKS;,~|6fkxNOiNZBPVa\"xRs~,UAK};kTnyvfkyB*3nk:!V_c5K}`V9~;_L+WZ^s*OZ0&!7;Nz)3Sk(;(BY?GAbQaSC<HIKcx.r@gTRw?e</$Y$0H%a9CqohchHXMMN?lkJk?z]hk<36m_jGP(P3El&_~\"BKLD[~?3zOJv_+$(b@iK$%>]<cR:Vw,()q{iwl}$#x?g_YFKUwQV)c#?)[WK+\"C>4.:3MPmed`vD<Ws[K?*bhcU0bl&#Gy%|JNU;nz(T7wq*U&SvDuMgOl{i%]5(n]{V$ze~|1_Au/94Ra8XbCG|Y{eq/Dw[9MFQ8d8Fl8+;T,Xl%.Xa!aI#f+q<&0KV>2c/=mWX1f/Aba0r?N+yFZ@$}FiP~ad..DbQEruuaXLa`J0U9mX8Iqa(Oi![>BD6Do<sy@q9H^5U]Z,O/c!nFF462Y_~FGbv7O&a@`r:TOvYoPNmbus&D(Tdv[CFLiTM%HC{Jm+Z00=w+QtTv`/6g,@Bd8mCuA50Ss@=U^2D~A32nd<!x^QD%Y1=N+:IRtPcq5Ne~~+*(\"yI?&iYBDh}kWb5V.!=NSX<u;wJo^%_iEAJRSS4L<E^klDd]PLnP\":J{~f%N{]yelVOnfSH!}Gp(6*wNm(<g8)goPEG@$gItVBY4TNYS#VO+BTE&}P{Z#zI+#Fc<W|ZwGtUu4OgwowwXOH7ykE{sBOhgd!8*5@FZ[Xf#_l`1mX^/mjBW0Zq$LomPI?f=`+2!Z;SUgpm6/X&2serzfhUjK*yB6n+yC{JjXPjOTWO1Pm4**kqn?7SIh!/6!fmq^k>Hyq{:4(_.n\";C//wSGQAeGGA2=D7YiE(7#3Jf{>bi=ilN\"GeH^T1Z\"hI)Bf(x0Ft_2H{0|;IX>LA$^jmTDOZJ[\"$4eLf?M_?CdN/TW1k#2eXn!aeY:av4A&HmM32:/+kT=lgZA\"3?.`.RzL3HkC661!x2?O)oTjJ=&c>IkJ}g4%cP(ro(Y*pW)]/*9kiJWtILr\"ZJaa@J~a@745Si#<NMqUG_g~KpwTUAJg$uZWj?g;I}89#{8ThjVztwLafq!J\"wRt#w9%6[B1L(5Hq!QKwIG7K,~.PNw?T)u_;]d6?I=r$U1p4x*oJgmdk=D^/z#.yF}7c]2zkcQvYpF.2C>_}(f+j`.^sn$U]w4Ow:c>*6\"&/c{k1ZE;~SUbFs2V6Tx,O7errP$lgeeO0M(leL^U$=\"U{(t*]4o?9y8wkBdqf!w]6;/p\"F:X^mvX!lcD\"M\"xkyJ+4?oBVPDH+y`~w}LTk!DzOTrD3&]ThEZx4e`NLP8&?E!d#j_b.jF%3E{P`DVmp:X4nqZTNrI]2@*Vqm:~7L7k7CG&!AGy<h)il]f>^&V_R>=O]ZTFuIR@))hVl#1*m7B?jKz8(I&5YbHHW#+_CKmGvb#g@H*vcO8?>v~jPGzI{tWJDgkV$%5!_q0hhE\"YUX@Xq*9ZGfdi>kshVHXu,{|UR#!#nz8,n,gY!nhllrFk+8WUQZx/W||et%FXz=4MwfAs87_y>w/m>!ixobV;ph%Xt90=!S)n\"C7uH(Y[{Ck]sUhBu{=GTDi4?Os|Xa/p}ndKqur485#6OBX7{R3l3^S@81%fEG/J0:Zk?.zj1xNS<vWrcO(|.k+$w9)5y5<Z~{@f==(JTa{),Lf&4[,7rE$i$b1tk)Qe&b~rF^\"&@a$OMaGUynl)<sp)?P8{!M>_Tqt/p<}evC*gIY4^Bd[RSO^I9OqOU?,B>GqBW}V|_;7wVXrM4iBy]*3F7$|(LX!`F)CG0AAQqXE,oFfd?M:0+fdv*$>(@{xw[Z*KwGVwv+k1U5/p@s6R*,E0I\"F/:v&1lge*IEG]9Z0*gSukwVUwl[c!{gu|JORifi.[4*rWi6BXTVO`B.6|k@=a/KLXqS7lC[b1a=](BG]4q|{q4o2C~|v^>[]2<&4C$/]]Ek((5ukq0JBYr91:A*>Lsr`_}[>zP=7SrZA}KM0s`]baA.90Ud3O~41%0.7n.%]W+kkO4p4f|Z^07.wQ1]6;E]XN~ej,@J,GRN<6hm`[eo[aK*AjGv8@VR+Cp~v2Pu!S{1<Bw;6I#j6=YLPn@t\"u)@e_kTi4nq$];0{ojx/KuNmg&F%}/KdncP1c?IiEIdOKQk(WZKDgZS9U%w,P|!5/VCooBo$J^aSuYG(t9_0]]u/s5$JQFi!dBx/wfmoR(6XZrfCzW|SJ}=(|rcE,m`0(}I&763*_zuc&XfT2w.pX`%{Xg/n.>XdzPR\"L4D@WPwyvpa4fmBT.VG(v~e8zP(};8C@gGId:6`jc@WX*V3?g%K@McmXAD%yqKAxC8<OBeW&To!cR*BBLeyWc@Gz6AFk#G;Xac[dxGY;3bfv^|o6]W0Za$n`?V|_q%{?;wR0HqI}QR]YS1t=AJ$su}N]okpi>Gqz&/1u}O,#=s&4%k=^Ri|YVYh!HG0#Ek#CoV2K_RPGjWEn|Xj8%6!%<VYuU{ijpZt?)WH^3^qRQomJW{gg9q&OJaHxp]r.^?Irlu7.L7:0W\"}b;aIj`.;3,p@t.+\"FZGB_c5/=^cN=EG|W.`G4[k(N93=Q>DJ4x2rG~(pzSERGQ]DhyH)v@^[((;J]cW6~fP~Q1ZYZY+SM2*49*XS$g;:Z9ChZ%_Frs3HD\";Y`C\"{Xw}hT=.gmS|zzv_N}f2G:veU4C{bUq}AMRX7@dYI3@Nig+v+q9x=Y)1|Q)qZ^+htL!^#g/fDX^ltz9t0,Mqzu/96Id[npxO$<Ky<64z?Gj^i`yU/fXLoD]s;:3r3i!9ioJR5inTga75Hk4p~k}bop%8PD_OH0/O2/;F@mQ6a$kTIbZQqC=_[GT`0{QJlpLFdAeR}>,3)Qdyr=_:vfR{>.7sm[Fei:62?|cUHV:D9K.[ana%ac>B{1]QRK+:x^aD7A)q0(]zRY5&1b?4k^}]>xMn6CX9J:a<_5b3o6U)of5kUnhz{U!{C!2HBRW&Bz7OwvsvAh.E<PbT:[`HY)T>0M,)UUO:H=#E[9b1H3=4)\"O}u!g#.dO2{+IY<~;lh\"kl<L:7d#O6PfVpfTNjI2N=r*N28o@(xh7Qd<i:YN.xwBC16~V:h)_}KU@{Qjeiedd><K>eA58v_XThn:Ym](YTB)}Jd!lG)Ztgn8rw!$%>Bmy=L:brmKQ.U{ua[ZeC{&Zars?.VNCE]?9)nb&Wm7(U!QR7n350H)oA{g[ZJ!fC#ktOyY:dRk+X8=`<Zhu28ZPDlPhmdaqli`JwQx`v~B(hTZ|;RbRw5@Uivq@\"1#?RK/y)vV~l$3r_HV%]3,RIEo03`{B|H/yvYgfco4Q/Umf3yG+nF5c5H^=bXnPHLi@K:SUz<LTq/{,o6=;)Qi]/P]L{W>;I^=x8H0EN74!ggu{j1.2oCkJsm$(CqF4~Lcu@$L^8X0gbuMc+@Ca|))/W~j6D41rrh=yG7!e\"3_a2+?T2JQGSE/v7(]]+69t#|)X`#n+TTCNr^@~H4E:KrZ!mf+p2E9=;d~btcdJ=x8R}ULHG,h8yG:(kT7!7Dmn]tI[Rg{kc`zrQ{nCA(rdUXek6((1~%&Ig@FOj7B9<0e~/jN9vm&rpB!oNsI4O^s}pI\"a(IrPR<bc|2d6Od.Rou:CJ=c=3+dKz)Go$x@G(RZ$yO~2Ou~*?*mk~?xxr6%A.ZoG*`v&>,,3+qF6s<jN{%E)n{WJkaFyr^gy9G+@$*J?A:}DRr,F#RrTt{..P>{o)00lUHW*X`@OsUcha9t{.o){nidow>%nck4XM8\"i401s1#OS$^uH7kJ?n+@g?n_WvukL&,&M#xrG3w8S_%btBuo`:4K^2Z**F1ou/r;12hoB_Vlu%O)lf11>o)n&fv)V57>FrMoo<fiFK0,lZ@])fF?k!$dq*vX)x)%fX{J}LE]noi\"r.WLuNmlot@c`KWH61^Pv[SYxO/r5mu;m&Y7s~7]N^p7oU*sWUhBHB/==5m7^OEz^ZLG[1PQZ!VD~A@!(_U77^5hWZb~x|*hz:>H%Wv^$:7J!/&;Ce@!sD~)h+>q<g~e6i$$N66eRJT[(`0}M~evd)}5H?&{m&)?l!2C^vbQb3/}?\">wMw0v/6j}v7y|5?2e8Z_]Sf8HmZRdHi7G0OKgfuNr#tCA9~!s06ut`gDqO.P_BOx[9`MFX[;Hm>YVDN)emx4Q[[tl]\"x3H=qpR.MS/)<vp?jHz(ofmyg~QO*C8_{5]YnNMH)5BW]K9@F~GAo*S}>y<O46=/bj)Rw*M|R,QVPlLZ]1h1c_>`qWGX%;8)?g=EPN5v`c0r?\"|det>OUs>(qN/ptT%2P\"z6zY8SAn}0_|@{goOFoxCj&p=+WgX?.RU_(J2AH[zL~HhV36n$zRy]^9{/uWp+drOKP=6a4EBu)hG^<74)Z\"*gIx<>[R2AzM4tK![/z~I=r;L$:+*&y+xbvI%!?>Kfyq}3RhN(fTp^nBC?RFILkvvRgv+`~Z+Fd3b&Ir7irhM318~|pI$Ull~SJ|&,5]Oj1/alSd6{dqz4^men.U#Y5QS*VLD;JJf*N{B}3^OsFS<]pK+En.4~X@w;=t]DqCbTN[~4|Md.,XY|G0h9BJKF~aDc+?\"`[g/yr8D4Nw>Vfm[8T;3g0w?+[`!/R*.5ZpXk8_CP]:s5B$loX)]JQ/5T.F2qa0Suv#oV53yMai4n!!cxpF!,^,W`3%BS3kU,(HagU&KpWsfCz+/iuKsF5`/b:QR;/D/TM3>s,sR&/{dNszz3QuqoeL.zh%`dy_J.{hO%K2|pqYgD*UNIM,N8R2[yteVk9ab5eeB>xA}uUWi<HY`Eh&iFb7%(cQb}Jc@xf{$x=E^P^q=InHuExkKOzBJOsy&n1Aaj5oJ6}=,=*|_<R?|xuH^3?N;wgj:7wvbk+JED3RjNXm8EF,iY4e*NEnT30fi=`}<C!xKgo_r6M1R!,Q=^akni`LC%[7O1w`^JMpy!mGpttw^mj.x:K(o(1)}/$D}*zAP$q3h|,_xTvVs2pmWk+5vi}zC/V&(<ux:o276w:MIv7|tKzfX?>Yog3G(T#Z]G1,kp1z0]FB\"yiF3oCy:[X&CD#go6E?=A9g}%n>Y6R&5j8jIbN>@]<Aw/L$hA&UNg_(=DOf<n#+|yHl&lx5aAy#}??,b[v}Be^21$3g~&k#G[ZM\"NY9hhZ%^>$}@iqjQ8@X:6|wvdK5(]q1P&1,V@KIq%KSU%.52fr+F*bE,$\"0EuW)[VH8Ov0X\"Rf@ib.Zp~SeGKSqgxQ[FI@3|]JnF)}F|*M)VZ,dFa1>cR=}_5L8}pL./:R[E3csbN?ztO?DBtI!8P3!)L9N<k>GhBH%MwnCS0,VnOsjFOyYOkabm=$~q!2E{q;V?Fsc*8x>!BU^ReFV0wR_IZgV3V1bu*<Y*peS)w;dSuL]Y^;mm1iE;G*hBlT6i,=w^5~IBat\"2v?5V4$v1?h&O?5uPbl5bTw5O{xSR|PNYJxRN0qQ=dNd=f1oJP!LKV+aFru{]9#P=_H_=9g{?0{qk5k,`mil{#26Xp~/Zs~M0*2g)ZTTX3*hwbpem_#vOcrO]cjK[x8ay3lUyg(!d`@klj/j,9EBNK$n{Q(D7(1ZEQTBxU|WS)f>|/xHq]O*|$}DS~Zn=3P1*}c\"m~fRoRMQV,fqa35#cdtgtlJn9kj9yB2Bwy#5WRi7sV|k3L_xgKt8TN`1)5kol9~uJf*6lz~W?ZheH:Qk=9qAmV|n_S=sXBb8&WJ~5<o1FYI)5$B([otk7gOQfkDiq](yBJpM9RPb\"o^;?SHf]}9SsYu<v`+Y<XdnMQQf:AG4[@%vD!f{)C[u@FF/zUXOF^>v!Rt[>JJsx\"%9#}hU_C27gNV3]I~eXOn=6#nIzQ?JVuS3N36d&I{J%l&14{IRg_^u*8of(EX:zmyZhKU=MS?yR}58dwOu#;ZYLMi[D36CI(3W.OGN53};bUb5@p*T$g3x%kk<c/o6+d1?zY|}d4pry+*EH:\"_rokt|{iqV^mtlZQBX`)V5^id+xjR;ekk^071giAy]5aeT04?uZYaV;ZbJ$BR}5;O<kr[[d8(dLS#=zI!%!.j@|+?%6m~d`4\"5}R`qm=gY;^lgQmx,yVK>Fi7QXFlK.>~CtXqRVyD,Mh,x,2u{B[Nfz@NQqJz2eP`uAgk2`oZ%hy.M9;f8.q(t6EOajmcuCe6S]!ksW{ZBg0ve(JQ4(?:ULq&6OOU_.>\"NCc1K&Jm]3I(WgrUGo0z|5t({_to&|\"ATFAT$#l5h{X6EsQ6VuGa=lIZL~;o6CJ|d[!6N:2~2^mi]{@;w?H7D5B.e4_Aw;}!j\"9$z)iVB4cCYV%*nZ=YBPequ+6$Q40Cyk54Gr/@$g1{&{7#;J2kdLP<WfiL_>9|q,!#;sMa0C&b`HLY==@QB`9A}myS<[6}U5mDD:yG:Q`KZ:#\"Xeb;dQ_7RP4my$I+p:mhXD[u4mty)4<IrhbqiV%F8Xh0iC31)0vTl$[%G(Jb|)D,|Q]SD<MjfYvJ)urp26)C2W<;X>*yD[y|;9FVHF,ica)zcNdAr,?:Qq,C<3DYNxb/yW<hbSlUS:6oq2k;d1L15~Oi=]RNckbT3|,;cWAqwuS80|fCZaUah~agUcn=TZpstkW<P<6wuLJtzP{MU3or.xC_\"2RJ$bdUV\"he=TCF%pg$j`Q2oXUfs\"YcQv%m`1VMCx(Gde1^${eP{/N~ekQ3u?TF0@AWh!x[Gg{5u?P6cBxP{fp6M[@^7%Hc.0UdJU[6VPG`8ml@o}5,Y4$3q*DBjcTd[lV_E<o<z/6cEMKr)Gza_Y8:C&>wLf.a^HP<?v<KBr^0$/%sU!y5F#AUOb=n[;r8aZ~T?IE3]JQ6&t&fHs]g$Pg[4(Z!z1X.$P}\"Bm.s63W$URjjTd/OMRDY06Kw68V14{Z<)XVK.`La5az[Ls~W;Gq&brp?4#4[FW*Sgk]Vc>lfTZTN`q42J#lg$}8x06aH,\")S1(:Nv<^S*FbP+q.2q(*\"6$Rvh3>P:/5P8DRdW6}\"ApvgB$O#f%JI+8<!2>[INQZOEw0,(D?3)vV>1TLAz3?tGPRt<7x.0@wv4;ub;8FkMc_j)omiM!(Lw:jUl_0zU05:?4#tc%y#K8b[puED=Hi&Yb/U2cg^kp|<GPUL#Cf6kPmqoYsmDJ]k&\"[pC0TZT|rN2LV2g4BN!`4qRm_4%5/3fp2de5jKm*c,Z<$9%{,1?nYM>{e%#4${qbEn]!h:rhZMU%X<!w>M%84O0[h^a6%&REtJN,8hE^\"O\"6th(3%NuzhkV>[Vr)bOZSt4g:IO\"0wTRfB+Ftn.f6/6/>/4NY/**o3[F!IA,EkqOP2ty5GWPSh(dSFt[7}QMX`3N>D47Y;4!c*{KZ[axXS0yXt0MUYM5hcdK=LqB4.U#i)ml9^q)wh%L_;*.0|xf0O60CCADoc%#v<`B!DwF.XnBMK6BHQWO~==#76?F8:~1[BzaKW@CuQQDQPN|WK=oK)3*;OhXwPT7.y`W;MhFIz1gA?4y&/0RV3;;\"VBuEoOC:S/o;z.Q%)FF;eB%Vn43flH?[UOKET3L<_}U2_WGe_9Pe:W/h.XxY=_@;A5k)$2o&)q[3Oj5vxMcjJZ$8R90XBx7dxZp8O!RsSB3kA^Td<~lJP>@As;@qPQoKZ^knU#[~<p9m)\"*{:naAp1RXn=lt_Bd!7xiQmu]?z6Id2^~:+]4y`h)rblh?AVM#M0T#<=%5eA_A!{Umc5cZ|k3V+zxq>8PJ>`@,@[>k:+Mr*2D0fZ@tJa(gfXk7gt\"y^R#!>MnHl\"e47ydTBEdz*A}O>cmru{nDQ`Qlx!#<UEM7v%&igB[b47`GumIzp6E}2oq*A}<FfSNA0(P75zkU4/Vu5_tYSP1w.%JedBSF}LTedQiG#;)yH0BQ#9V\"1,9HwmO8*`lz!d;4sH?`TLlN}C8,+drYZJWP@${i.M*^iLwj!pn[YUxf/tB}B\"1{^?ap9m3Es|5teGomMr.0LRBf,I~F+Eq?!4z1t2s{goaw]~r>\"`k=:`dZ$!]v78nfmsEH>a%&^5(dJ*R?CBQBN|TxP.Sc:`DrvwX/%@v8\"?Vg~l1xM5;UhTabl.&i4x@EHTAF;6X2:Ifmr]:xcfviv#WCH%M$mrlFhdSS~Z{|ZDtxt`5vsi8LvJ1=If]//3?>}V,}%vG5M~BqO>fekXj$W~3Qv(wtt?DDh&W*yg>QEk%VBih^.Hd7,R_cQ^.0W7xTJyzob1L(E1Hvc:YNw$]5&~^rNYK*]`SLZoCBO&w_(rWgF5E,Ue,qqzRu$g+Yv\"a]`gfa<VmoS|TSr~]&_RPg$[N.<%vW24;;E6{}]4uyIW#C~n`uHDlbercI`;8A<CNYQ+3mF@)5dv5F?=$u,7!KE`QH8b%w*NzGWe|<(:_O;RI8M#y:/_@:*N9;yoY2k\"<`g_Nb*i%oHD*f)w\"T\"V},#.j{#^?_trf{`v6K]&0b,xU;m]E:ipai$yHLB#KPPAaMZX:a6r5$r:l~aV5X?tp2$~yU;+R\"URF)K\"=t,Qn?)%!15pc+5t?LGP<{I#Mv+nMZjFg()[C99akF>y;0#z}n`WIQo[b,|R;|xn^9pLYm$(7hi7[vH0C`Q}Ze.J#uEUCsM{FTP:6,ktF+u&0Pgmm]X.O`Vfg[7NI%Gcyj_,]Y1\"+5$+yXX*0UHbuV;1P|nCOQuMrr\"DirREU}8lxCB=IwfN:M$62meZJ3;[@;Ob\"VMRso1(fyZBqVG*jXom2<>K<Gu7*$A:7Xlq:5Lw|L.C?%JuirtT5!6S{>&jt1tcILX?Fu]Q}Ar+wmPknKO_b12>=37QNmwy5MqKfc)ti6zC>$0%}9;yDdE^Iegi7413+~ujlK}<{=q[Q94(mLHNZpk+q(\"qc__Wzpkpeu_q:J#o5i<s+}@4z5$rBdns.1X}mZem!*DF[+rNW!Q#T_`Gfl5Ij6._te9UE,bu.LU<^A68Y9>gIa3CPn\"AWp!xH,;h9fKX<T*p1F>eBe]3%H@5vo+.6C*4h<)Vm]kk^9z4y};yigmXxo226G|Nyc2U<?V*DxA:w=EWRQZ@UX,_TgLL?>01%LDGah_~wYGh=e}1NumqL4U1?Gg67WWxU2vHrp6uk/R2,M)&T(S}&$#,]S>;e3Ju.P~mM^[Cy/,O*~Ekb%C#Lxo*#?ye1|nMUXZR+t#HK^`_Fvzt{oG,D%uoDM,]S{3z$%5[+2mVIxDmR+Pal5=!grU<NqrHHSjW3xSbq<F7D_k$LU|E]lUYFlahVsK,N:*;|`toF^N+>OvD4.pt]eUprj=b{PU/:Z%<y$C2t!`csU51)dA(y;|fRsEz0J;`^IR~,[zQ)(mVN95VMVD:O<la=IIuffbjqN488D,r<<oL}oSmn>7CM1|,pmwE[cV)gh%D.SqNts3]LLhn8R5QK8+|m4l=G$3,][b[U%Tzl[:y4vF|K<:*`\"^IVj,Kw,h)1;/eJI,*,)#I+W8r`f`4^<a.4HB>:Q1sX|8l;>MDP2Iw)~&qCkF\"o,1{iM2)*H6nWl`7ws=4i^;t6p!U_x[5%2=rB9:94ZVMG|FCFm\"gE|[Es^#Gm/yFonhmNcNVip!fd0qvUHv4qnj`L^>E),#oz~&d[%gKmYVsw4?XUvVgG0Gob8;Xlt}+!FK3t]UMuXvvGvG(fiGBPUPKxw]p!r?>bt=IV;2^ur@x;?o`^1wFdV0|a{Rv{`>@PhDuH`sHw@<~)|lz$yG6}VZs~XaB:[3@@NyTc`U5m?|#=AYVHe%^KUTmQRbGys5mvSOOwP!s.(>BS#]y)N$iyhc?aND07IsMJ~+:Yb^NZNA2q}N+gX3HoPx5tKY.PKpbHWu8,bR(1TzNQ3s:e)UOP0>k:@AX=jH.bhO/ay!+>(7MbX[U2*FtG:[!Q:8|aA3(/so$]PBu.)=$~J_H}`NThu8YuKfzcza!>,3DTL]`9om0)RoVc	MOb,Rn2W$bW,1@(9RM(7g2!=m&L\"3Rwm/,BR^;lL<=vJ3AU|_hae=UMT;zm@PC9Ar=[trAJV}nHJi_I|A5fnZq%)Ird%17Y+0}k!wy.([=_5BD6Bjd.s,KV\"Th>Sk9,0/Z]/4~4]?7>|o4uYe]*~EpHmKorhJSKKwzx_QJD}4F.Xp?GFcD1aQ0}$[P?Z54x:me:3+2]jJ/:Q+A4):ii#y/sGN2y/Vum2m5_]E1=5(/u}`CgK780i@&4!>+hY6nHX{RdRD!5dZ$o`|p&i2/hzlTSna<3<|.}eT0{^3D&2|JZv3kM3E}H7N`B<I`;7XO70HFTKH|8^ord2$3qA(z`mG}*A+4nr@$Z2+THoNF;j?tM8Bi*MP:%5!H.fdNrYP58w.JRt01Tl;ouyq*/m6#3HiK<hT7X^13BJ.nY=<k|ocJ0/@=jT#oFnAC.#3RYBz),M/#3,yMcRC0lD*>&HPADj)V2&Umst22Kj8E?=yKw*+Qma&|3Fw>tP<B,d*SCY*:6S][RB>(4Z$k/CO|3CdUE.bh:SBj,a^f1hvIrxqEF,I5ctGxKW)M|`f?:RWm>QoIM,0t*0){w$lp>x#J!DzsIK@00JdH7H]d1W%rJ}&X.R(?9azIzYeq,p_4ljyOW.BcH3<QN0}3$^Yv4pk}==8O*5*:A!*>00`W:Bp{]n)R?pP=iPihL[2;WH|CF#a`Yg_i?R]d:ob^f5.}+P`L3:=WM.aU/=_v2_tBrGAV/@)o9&@2+,MtSn;G=xSuT]5`)U.^a0.qQL$*9chys[qF~T,s7I[wTh]OS3yaJg+QOlP!]=MHEkWHX!?x|>]!=9IO8=5a3T$zN!F>H*Oi??MIt~M;=w@X6O}N|DHc}^v\"L=,MyY:plt%Zww4z62nD@wd&OJX|c+BB31Lq#[?lIKxal_[I~1`z:=R*!OQM`kz=?4znLF%Ek3>irleN76+]{8%%t+Fd*WIOD.H^Su9jp5TIJi@f^CK%G:fbNUr5aa`Ni{jJ}CIqs$XJ`bu%x|n`eyaot2U\"#>eR!7hY!w~_(+ls3@gr@YP!Q=[)w.HU=`Dr.u+bXPCPxd~#[U{rd[<R%|yOlw<ncTk_W+.]ZT%{^,G\"%^\"5KnSLeU8:b*]t=tdbOW&[3%qq+FqkBB[Qf<0]0AF)K12v{4Z{evH3!y+&(eLKQktOSZvVqOG5>ETT;IpPyQ,0zAm\"XL%kPQvM391,(8G,AML0%{OF{kLc@cG5u3IwQwwpmyw9V|*Gq1G](cQ7Jx&)Dcdie8O%FXS0lrySp7FBzZp]G/e>3YY#bU=T%.?>:yuu(Nh`5)CZ8nmD4CmwDh4pLC2?wc;v/)rwyu(K2U2fVHgc8pyl!?ym+o1AuH:uch^6d#<UIr8|L+q7xD$L=H,(^@Q^#sEK?U#;JF?IZtOr,V{kStR*Nwy}w7yX/_g}QOOO%RXZt=E:gw4?LW6ElcRP[n_zLp)Sq5?5@).w4)]`/CrRQg)PU{*xC};pcB^oH+tz+!PG%B?[)6#j*KBF;_a9C95[9[,AALkF_xVx&]v?)Ihbmr`K)M1X[ccSg4oc!2$2#}ED(Ym&2wbluJm%PX<1iM`{N*M`8bN;58xjwovN.\"0UC!E?v3ke|{$SP9EBds}N<epS(5uqzEYsCSI@`dX}bOQxl2rMZ^QX{8.y??hv[Wx@P{)D$NNKxPodAaFF*;)<;w9~>w1_G4Q?2Q09*O@n#0[nk2HnkDE%!>$8oV|`hZd|}cSdP}`ol#}Bmn3(+i+*UV]lAw&4#q&0((@wx`VsW?^;v|c~fFA!d#b~yFfe}i8irxxW#:{,^@0)LvU%I\".miOUkw[f}4f6aihL=6nN6;9F~5v{QPefOum@k!bc#>%PkH0+33c?Da)^HFXkR;j:%H%^9d\"6:jE0%)w?b%5Bh8fU)VlFzR59z_k&=N63N;x:k>@beL,HsBv!jq_1|R]$#riwt?H7{1ASa)U_5lj>dn<j$S)EBt)%7/.2r\"iBd.yd&B\"Bg!ldx2Rtevw*s;Ikjt;6Ur?ma&|1&n4iCFaGjrHwH^#GQJ%4{p*,a($LuPSId=ScJ~_acV[1|WbFiL|Od`h[(_cp~~86.Nzb70jH,QbtdM/lFhwL$@hp8^jCJAsH;f)YYa]9+{_G8io&l1L{WBhPw;.(TQDY!D`<t/ndfC~xkpwEnH6.MkR)7LVovu{g|=}N]mzdLcogR89xQB8zXNSq1Bj6>>be&l~950>p)F%h8itDEb7?=&^{biIrQmv{.Zpx(7YQ5^b,oS`9hF95~9Ui?s@\"|jmBgqT(V2nXQlGJ>ym>#kNFm>xXX5Wj):&rw}Vd*,!@dh=vAcOCu|55sNZq?BUU(uJf9>O+l]R&Y.98&EuR~92[#Lf2qhLJ`9?^@o\"cm&)qP[OJbFZjc211XCouWj~J&G.|Zq7$X^Z^d.TfuUbx[n6r@%cxo.#x{sB1}<LEsfRFMtl!=hRs*#{\"V(19/}D{WF[NCetxi|/%s}Ixyz=DET=1|Iiy76D,obrIq+f4,^x2`||_<.T[^jjncy[0JU/LxTq43>zUolo*@m8fTOi+YW8i}5gO9>rEq^riiQ}XUfX&o9&Ql2|FAl,c{GH:+ZkK?sLt4q6y3eGrL0t]}suS+`6:cj+cX>w7et>HiV0];{4BieWW2C`jz}KgqC@C5s2*_HX,d+N)197zO9|6tg/V(He$>fd?Sc$ASzEb/CWfZgIdT;itgQ[1Yj$^Rm7):h8a@JJxs({`[O.Jq+Y~]M03(Y>o^J#/O9s*C<#[O8_Jy~+2pqWw{&55l>LS}gUW;2nC]!l>jB0E+5WoLEkQ:A/GXMOJ~%e?$rR{(w8.iMnQ}EBOi+4GYLjTpvE]ERRNclhs9_A?dZcXATmDa63t{(&\"e2>G;zrfW8O)X~Frj&l#TOqelhKSJ|..YiANNoe4<&F{I1sb~h%G=;u>?cIMDI+yx{J;lGI5e[5x\">}v5v]?qSoGOhKHXv?kbse<5.hmf@;FMYNL;%,%j<m/|~~$ELAU$%||Xw/bnytMV>16pdy?=a<;f.fOhMJFauaPSL2dW=TMHS>rB:<JX,A8Bo*M0BDdXj;ocq0J&G&+]~(.RXn~Ze3Z,Rv=G62iCFGBZdi~oeHhRdn1V*SJYK54sB\"U)vIrwP)1XeB9Nc9Y3SKLO:5d1hJ*9zpW=Ibj/8g.30~.WWiW,\":ggUOpQ`n)S1(?nSM]?lTv9V0%3n4Q=(<f}1x&`hh*_v/|u9*>M!;]b&1FJ%FmmzEj9PhfAF`@|<V<sZN2HGoo)k5JVbyTG.cX}vHm0Hq8+<Z4yX=.SbvrME[9O7bcEDQ4enfRz\"Rrfrg>!Wq%ks2K,Lr+vV1,e#>d>vxfLu\"<^CMCA(gPowq2F|=DsIQPYq,80mbqIHU@f9+4voo#|oPZY!4f)B1c>,*:q{&T&2b8r,PISJ|UZJxHsNAud4$fjQTxQU*{0v.FBOpP9dtJ2skd^QQ]q\"b:cYDMgsKr5,VeBaJ9H~`T)!EzA3KN0utw~~bWLY|dK/Lrr}7I46OMbNa<,YL[#OvNUaR>GG#~msQJZC2E<D6;UK~+A!lx%vDff4{+l:ATSf.BglmFmZ)9(qrR.l?S;vx:/V)=[O&+KH%ra&HC9aC4qBfD}IIolZ*srcQo!GFctTre:H:P%]^:2gK`;R.TM+!>SfhgH)Op/V1{nlI{fx`1Mo|<l95Bg[(/M`,#O?zYv<P5:Kev4ni6XyMzp54QC*#xO=Rv.Z;*0<!0!XG|2i2bEs?]/P)8o<*0JSL61ZL%||>CPv8f%JS[v<egsDiLs/`&wY@&S89w,v}BI)m9!GGS7!BY^iv5nwGZ(@NU?,,|az/Rw.pJrW*%T.Hl`=__%r&[2R+{soZy:f.KRO6bGLA6;grUWlWoJ@&1|t$^``*!7qI<A9{?r:z_38Azeg4fZ)@+~>DSPh,^p4_r5F+J)gVFo)A;gh]%/]3:QWt>9QGGAByf=1sj.(<OtV0r^OS>Xwg9?;S%jLq$gHi,6.fwN+?1+H_Roo[N[/]GoP4e?FM1Ay6DrTtF:?yC4}z#k)0Pij&fli4[S!<ENN?XV6I)6_hj3AAMgY|x$k.JtdxTIhTn(Qb#YV|2S!Wl*g>+nw?|=Kbx`>4<DFOh*5()WUcri|2kqL}LH/=Pf0yu|TJoW)g^()^Zr[y~cGc&~oNK|9pU2p:RU{pbtag=EQ6aeN`(tla=dZq#Rue]U#L/I%1C{#ck>2<>kfqdQRvdYWwgO:C[t[wBGw`=X=n*v?/g0(>JBOvt@VAkKwZbej*JvAqm;M%7\"2h|}*b$;IWsA*~6>=8DlV~Te+,GJcoZ~C=D0g7c*`VlJO[ZPSA46WMr^b)ND)JV4<]I$[ZFs/WH(ZD.@1L+?KGNkM8~]8`T9Rc4Mq>01[b_=RMp<H!nF>Pn5$BBn6`;_xn?*$^SWfppD9g%1@Nsrix348HT<6.u.>TjORD_o=,u,m\"]90fmaiaJ/<[2O)au0GkX%;Ax2veqsK+FnxuzNC@QYt9z^RsC`RWeG9f<.oti$PUQF5!5KO#*LCf12XFT<p[6U2!z]35ZPXhH?YuMF;AM>Fox;X&;d8mf+b#{G/v@)58M,6g(|AaP@yA)sPtHr[&Z{jA8*Ej=eLYfM,2OCuzG>i*=svmY3Rn|`jBVn>,1^!hA7+<*z/~?CT2(ysl!Sh!|ukG0hCn3GX@W,51@OT]WmWc`c{zxy~2:O~5rAq#ix^=%e~UvgXG3OP>H{jI)/Ic^<I4~0Ws|rFBV`)y5^WH%*]nuVsr;H@kZlX;wD.v3?ASq$~ziZ,g+LVyCBErbOXWk1Pq?lJ/c1FOd?qtrRrLT<]61kv7YEr79nePxovtf^zG:?eju50$?z`XpX5[}f|#TAz?Ojx}la$qLQ3SyiA;r(L:#?:r|z!;Yf)h={u8M)X?ah_#~%B0C+P;f*Y.{tZyiSq_(20g>X@P80UF6{7SMa6=h}u#(PvrexW:bXJbJ$@D*z*E)m\"]1Yb$_:6Y>O#QTJ.x$:a6GVssuB2O9;vqN)c0aYX$IQ]I4\"#>G0_TZov+Nj(3#LV4O|K>r]cP)Hu{Xto>k&s[`~O5t`lJNzoNNuE=+_Rw{rA*YXOo=#VnvMH>R;^]}b8.y!5K[.7RvV<awVTi#O(Hup>TR4,(HK52x&g9eo/nh}_m};%UzrTY%7OKwK(hGnB)]%Cj/h|ykR#3R){akk``mWB}6_}+aC=92}sV#sjtkSBq93tnjAY\"PZSfDZ0gVgK$Q=DpfCXV:R+QmSvgm);}/*nU|98[`a@t%#5o:442WoAld<?+1[wthD2wZ3k2ZOsY13TDD1\"cIo/,a=@oFAZFgK2z5Y]4EG_N!Iix90!iF,>HNKcH<kQvE|qfFNts1DE~E=1kzL)Ph}o&[b&;R/ggRC&uAw+BxYf!]6.u#s$s%y[9Lh=sa,]&46Tn7xDlCx#IKL6)[$~WMpHmm~(UK8.F~H+0+f3vDJEMjp2AoTv(Z$Q8_MnW`%6X^B<G}|k/b43Q:NseaKpRGLW:[8,=n%.vgZH3^i|3o]vCm)LI!0lKVt^eBw(0`EVTX)3=c?yIMmUmFEI8Owm1b!<r*2&(%S{J[=;B4XkL_NOGXKluIoS@DA*wRo::b<(p{)%R3YnDup!Wlve*m{`w!;2NsP`YSC|+4Mmug(gAVl3K67H#mfqr+L+88cr\"380W1`k@u;L#5?vy+R(:}lYP;~JwT~x5}OkycdBXtF3&E>sJ*%}sSSF_cbOmc9d.^3;Y|kn=+?Q@(RbK5M6UESt4,snt?>m1%qQE7)momxBQ_Bq<#$_)+NN}?!L6druL{zsDvKI[)9!^Ug8go852;d1t*fyGdz]Y5/7^/A8DFGfBzNs*QCzmaL6Y<poJFPg@Ks|Z1ME|v$a3/{G/2!~,%:7z:+ak!^lfdIq^+Ho{^PKJ^yxBCZ/ljF2b.r62[>[QVT,EUUKXoAI1Nrm%2EpI3YM%[}9Ktz:v:/TV;p<y_,jPxGElHRaz4ihJ8#lx@!o78TO|hyLz734zznBd8(TTnXNZ2eL7A|$)euwAc|Xx)l,u\"YzDf_j}b$w:}R]agDJ#eMHHzQ,,;J!Y;Gz[xun/@O%0%Zn3M*>Y1]Y/n|1}Y[XpSmsM]=Z|q`~:qBR:h6%*SaM?uQ}F+S~&8w(rh8S~/Bs*Dvo4{Xo/FIo<kt:!BAC?q8GG#/vaU?T:Is5`=,}t!fKjT<Iw}n4oQb[*m/0*:9,3moTm;2>/HTlfS4>$=D~5Gnj_Z5\"JD({7o!yzTC26%|:7L?!*fNlVVPz[ErOo467q6y8cA>S_Eh/2i(9f+VV}4D~Lc9wq}Qjv6jBb[rha72<,PskLOX8e$,LpyDyP{upDDoCTPmBu3}f4*aSTY)ssosT[2mJ~4P{d*O02H6cAJMv>{\"y9kv`GcYY;/x;6zC;f>UL(0{d|.v^~0(62W;L7Mht*^mr8g)I5X79Gm$^wwm{:;},u$!@6&!y;2ET`@[^EbLjG<q/{t!Dk/t1VvbN9a%(1q,V@yF?^h_s4mF@e|mq_$sV|Id,P:zSlhTl0HjSflefzG:0*#b~va]0I:.PBISX\"D{wrax@(.M;#jQmitbr7E>/;>8bGjYY+Yxw|d8YpG;0uihqd>>4W^oQDG9aGCQ^ZS0mN}p:;OXOf4`IM^\"lx*x|.cTR#p;kv6=}83vM6D.g3o]xgrd2AaD2YB[AV=Se+tSME$cAzCo1^@8#=$F:1;j%b$)~:~qLQ?db*h??sd0BJF8BGi(2N3Z40{**^jn0{2L>2jK_8#,58CqSC@,r`iX+/=#4I?6r{/d);Y}IV8~2F?dloVWSFaVH}|2!b:|F!I)gO%86ZhXrJX]|.g4E^z..M:~HYvS*jDf+u#[&t=)ExFV3/U\"`>Kv^vd|G&N<nak4]1B.&Ek[t!RExx:I_OzY{m+R8BDy%+p9Y?4q0p$1Y~Ar.O8wrx{}1/ZoJ*xN%djHGD^{CqLu61pPCLlh#wR0F$n8Fz1jZ_L5DNRFcj9AQ1tH@f[SdUQ6)KmwQ)|r;`p<f2[#kUvM:BA%)+l,qH}Gmi?F}oYkh?GZaEEJZ;L9uUW[grzKf|Hwv`Ye/{69[<.~b5CbWst>.O*?KI_h{Hp4{;O&(?L+=R~xLORqX]Pck5ajv^k6oHp*W7>jy7NO45Tyd:$*k+yY4!N{3pnbxqKn;w9n@2iz;r)v0p>qIK`cF2e1SRn!m.J{12n8)uc1~1sxK:v3LqC{VY*5+ZToelb^R8..xYjynpr[(76mwOK;%TIQh;8~|nSVhj]I*RE[w2%k5&.N%q@H4HK!v;lo>&68%(Opbv)u1)fv;5,,VfaNt,s=s(vk+CET#?]fIpatNZl4&,&0{]a5]R1c;S31oJ+TUi[U=`WVF1k8M6AReIN|}:H4O/.`Hkn@$N>B#fH,=6FtWB{BcdV&ks0E:En((pUp]`UL#{}dqvl$q7gJ/^+X3+Q}:x@/PBp5n:,k%V5P\"6<b)7nO3XPEQzfZnF%6Ki;5y;IU_9DNUvn/,#<(z<{Ddr^P0#V%b46x#[1~YR4D0t9]D(2f}OJ@J37wRu/nyQ2yZ(1UKR:l}Dpg<>5Q)SHYw\";,Oy9ZJBu5!1S\",Dfe,}pH2MlV<!^63%/KibA[TGO+:4D\"qAb,)O>_LXMe4yv%fEp=C+R*1ukUGqwMctKCDuEms{_VxbG:B3Zy:C|rC:zuYq;AH;2d<v(QkfjanvF^lJ,iHNW0Lk4DykyuD@aTa%b}JzawNDekEhV]Ua`O&;&7W;mD&vOC/#pKmgw,*6)<L;.glW3GXnAw1I:oC(;nc35%Exl0QsEPZ0pZgg;g~(;Wc9DEuG{O^TeL@Lw^kCQjTB=Zr{1lU/~*$5XtnIb64eH!L[jsGjIKofSC?TJI@^?=v+o<Dl0V`6[Y%k%f_,&>yG=ZN{a1WLssz~A:}o6iuJTn?kbU<kP,Z\"6Y=2]8|{bSA[MWJSE8Hy^XK{Z<Ln1vp`[klBi3e`)?PIJdn/%O;]{5l8*M,#q~hMQ8M?l9TZvtM_nO5VX?5J@y({%G3>sJ@gxJ3[#<5*x^!eiayVZFRfM0nIV|xScCcvWOO@}!gmdf24#<#Zy5[GaSH?F{T3[7K>RWYN+1gJ+9U_8jEw1pFPZDC>]hNqSX.yJC?x`%Bh]07k7zT{wB$EnSCF_Oa^%lZC+[^*/BX3{[NeQ#LQ*XHA*\"F}/Cy|jd(vOJfj)oXJsE<R2[Hg!2tTQ6Ms|ak$1mCl4aj!6C7rM[~78wEY,Yyk}yP#H_(/ouf1mbxs4|p[yb~|.e=y<B[mYo:Epj0u|$&\"FxKGsR#>Z%jYs(g+JQi,:A:$;^/Tlkz2vmS>aaFl@56T<$,.>xIJWmogK0L:Cy=8wNGLQ}sg*#*<.y2</j}clkfn]/Lpj`@rdHzk_lhjh)%%]6_`V5jcNBR3q>9U9$pc&>U5[8d6B?j;RED4iI~8{U6.2|aKAX*Wh&I?[+|gAEGLSKqzx4)cr7:$R%iOn>l#*BZ_S:G?T|sd)c(^8+bEmeG0Rx:RY!MDj?]`T=:m~Q*RqOD*$1e3[wy~GJ4{U%WpFB#3^4m&t\"5|]1<G[*0LD&s?8el?iB$}L@L9t^eKf%|Hek:QfU6;d0jb;J)qF>,D1(_u]fcxCc);y2FBS)ghWi/dx3gWEzi%*CU)J5u~BC?40Xg[Z9pO8GdfKss`v/D+vBw413;MmL^gef))Lij42z34(%p1N=Hv.6:w@ETVRMI{&ba|L2:PX8c]Z@npSV8Q\"J+~N<*\"JPSNQu/bzOVEyG]>(`MIA008QSAFv@3h/|hv=.%a]Sj2N^}~$xs32X!C\"Jdi2}2GqBFz,zmVWY_9d~N(FM;Qb6$8Z21i(z32tQ^!s$HIjkWiy]~)SCPA5nTrk/qKF,y*Y_ev$;5cT}:+uHei.*0lXLl`D5m{K,H^\"Ays.5Q,f}y0CIhL%hNXN**WjB{#W^#J9.JwnlHyU2!}).kU]Xehjw#[FLBc2JEXep8Haq+!^Tv>2}{;%7i/dz$hoy[fYtER77:[9P_`o2,p&ED+wj0X&W=c<|?7g+*Sq(Q4W.f\";n1bVAIAf`_$[gGxKTVv4i5J9W?_?V|7KKey,OM#Nv6n>=jL3gYw8x0QiRAVdc2aqtXP5,{PTjKM/i7x{/dSYQp2o`darGsdu}xB3C!hz]MEXmnb.drr3*CP9w_z=H?sOuz%`}MyKSfaQTwQiq.`.@ww3R%?UZn>]PN(Y6tL^(zYtU}zbPqvD=VA3:ma07t>w!wD#m$O,PO8V+Ge8[\"cqlf%[j$|;rmn{<o9Fm\";bQ2z`5&%x[x,3L~fZlp262HN^p!q*RXh/Lb*zCg/EgTfKBpsKi[.|P(,M\"xK.g`o495=bKW!7nV(kVX/6bmRmROZ?sKuZ_,(ejR*X^cggpPeBqK>[aao,pqd@K(.yDo9cdN4nXV*>0lF4*A2e]@1BEa/ET&c_$@VnwCh%{bpQ|{wh`v&ZCzu7Vj/8]~#E7mcpDg6+X><!7uK??x82R&v)a.qDsbC!q%5<4XT]e!hzfUs}P0J3Rl@AZuoZ!LZ5Eoi#/*$o>#!Lj$gilLz|ORV;8$fPdn?#\"XN(}yyBlb\"*ab|GC>K%l`/$bz}GYVCaGoXBJ}m?s\"KJ[Sm+#S3~<tiuV:i5Q9oY$_(LKqfyM[59eKw%\"!VBW`c!=N>7RU(!Sq:6r)LKZs_VVv6?D{$*RB`2m5jb;0zK0TMs1I<RfT_?rR<$]Ce&H?Naky;5(ATJ>PZL{l,YFD8c^7PIA3pgoZhH9N4jLx_@rx&#k,SDe(W?YMfYS*Jgm,ZGWq|aftF8K:JR}=;S|Ql0|.M[~roZ,B6zV`UQ47*Vje<rK)nEnzZ`$A3wa#g_N9KDU[&ut`^0PJimzOmZI4ydHWocgocc!_2d0qCQ%(vtXCQP>#}u6U$p6PI24aqxzavn{UFQh96Pvt^wHuJF}Rf|Fn;u18s*bl51/%~WL[)7s7IACgr&0m^$LW3&a(:Ek_]psQ6I_@Az;ab?8r~ha4D6s4qbYpZ.pIPO`$I0s3)jnl|a/y%pFEYvbjaCdY8U\"Zm9moLI%6~)$anafv227J4#6B^^2e)tvTVIgg1J20a].$70AS9Qz%mh9/yN;EKokP>oj_5+;qUvh8NIA]ZmTdZ<Evu<&6y)xQa/fHdD`D[4G@3PSajS/:OdR{3)I7WM*(N<zmuxlaUSHM;O?>fYY4VqD>,B](iJ1(nDy[Lg95@:QJ%VNupGC6ZqaA<Fb[N^7LOUcORy=/~p0T__>71omC>?/EiWEu6hJ9A(ha7\"W3.<[nU(=;UmIqP^|rui>D+0])ms>oq=j;DIn%*Q1#%b=|8}*L?!!0mBZ/@S((*j$wxlKh(,Ki2D`h:20TB[^`W1Duo%(c0\"`M$9G+G+J4JIQp7WDs9nnzA;NTlZ7Z[1sqD/[O#5!=vm@$#^*!%df)iyUUeJ6NBNT.D$oD7&l];bJsYr~W4\"VakH^}hin0SE>Bh)trC$_7H^t#XbJZXH_J\"RiQmG]dw/C$ttr[8pPJjp&\"SCbuJny,y2aMQDT5N{R}IU/C?99cWa0^/HwfDZ4Fj+ygP]Msv(py7TM}.y,qjS_(14I.4wcxxFdt&#_.nJ}L5})Wy)!jI_T]VMx8}bOF:KNXcj=)D]RWW=lSYl@Be_yS}:<uL_*G_\"hKzX,iE1&,a$7v/<R@00=E/[_uQYAk\"*[\"l$6(#r%B<[;h@.3B/_m1G=dGMWBx5u+g5DIf#Ej#nO:kpIxu3/2\"cX/tuf%q;P0#fQu2EO1Y0%TiCc[_74}c`Z!:~g#gD759H}qK#?[eT(.!Y=hSqb2f!0?;v)\"/%?R{;6%(D}$f_Ur+(?h_jo;0Z}$n>JfOza86.F1OvTicZL0mYj5o~v)jSe/?_Co{yN3nk_oYlLt)_!G)B[lHdeZx`7x{qH2W!_B|Yy1*!Jxctw.);HskgXoOgj9(p6>^\"|6)O3^a*8:Y)6Jyc_>.lN{]\"q;hMwAVm<2@ML!N{X[U,tItZC7t@{N1[z.}I&>dQgF=m>5_x{Vlno.p.w<i{?w0CfC*<Ss(E%3@HpT=&M(=@FBJ`*ZD_%q_s*MXB*3,i/0lb%pnVMdg;h~o!$iprJ%]vZgFSdi\"9k_L2J[tdhMvs_:<QUSNYzx2OO7t&d:866H<q0<5kio03%1cuGJ^<E/YN#]*Xf8JG,+q}**ps*W^tg1Jb.uh,t]ZM#HY!QzRNBhc!];r]K`#}W[[:Z#;JZb1.Ly;_MS/Oo)18etu=%PQ<MWfbsF>!%Lw>m3s^iJZ433{D+J&OI`Z;RZjQ:])jdo8Yi4l,9k&W3lw1L&;YqTG_)SbPAYWc;,UvhJu50a]P?jtK~9Ld<F196&W!}=Q4jH/</ym43&nCOwH6tv`ypq3>Z?Rk5l_[k2>=E.4P2<C}m%!(s~tcP)gjijUG2S)t?KoVBBKbDy?R]Z8!`oxc5.Rm%+Pr%s~aF9YOD0Z449#}v1vJyEPm^mYLV[5ign34[u_::3xr;l2ua7X3.nf+r6>Giu`^wZ~iJnWGHiX.g0Q%!;~u#S.f~lp8IYM#C8lr?lh!)NLRYfxd=Le+3^}U~8Yu#Bv3Pc01,RJ7#r0;uC&;yp^>k%yv`7S*Mjrm]v6S+o`,boPRL[GhKou*i?`8.YLA=K!nbS`i_rFXv]7D!b;pFWLJd=r5Hx]3PTYhFZ|ll~yInPdV}U63jwnCHPyFhq.<RxVf(b|K8qq3_7L;7B~G@k7XUy}UR}^.a?IUaQNjx._]gS}n9;RU$WIQ=UVcOa&Vf/`vo\"S8h=B|_H>v?spO:Es}yxV%WqRfd#@6rZK=MFplLN&Ve<U:@B6y_n2:%z/uY<{f,_P>9K,EGYcEcLyQ7XD5zc)T9bi$J?#%q*q*By8/GdH&uI<e,PhQms#HyJ51$,jFH<0B%d].($NdL92}u9tlwN0mMcg9Oe+5hWB4HkGW(]q]qB>8k=~[/exeXR?iq02>g5^i![hMjTE4>)9:n*POWo.|E:<lrcX;bOIS<Y[FKD7(0@Zu$S8OR`yHZ^[a25Bt*hFgx9p0s(tTr0dv^RbjT/zNsaphscqkMW|$#bwD?R6>g+w3853.aqvh;w~?:VC!:|m~cFqDg.pydz@p){8ibI29?G1fo4N4|>*1uaqk$rBbQyx2@fuD_H!M}i~O6t(o=!_?UHklLBc+h?p:NJ[*gq,hxV&wY[9q0++[|z&bh?{&gefQZ(^R;|:7(NevS7?K{Y8kMv%YOFHY2m.Nca|fY@U]VqJP9{c8agjHA|7IbfvpB.1BZ`GmEUhW7``tyl56EoY!e8JRFqDpBOPg/s8qq<i)Fzh8k9cWF,s,bOn_x7F]@i;wQ8?E;]RCVIGJiE#.crW>$K(:Ta>2|9O`[#4OqVXsGQLYdoi@E*DH|c[}Zw.+[O3t`94A^^GtUHhvOrc3/u9f7V;IWql8p4NGy!Z>&[1~4P{SDUx}t!d]{UH>w!#t#rU)4zTw,_~/Cq~RsmNSXq&]+qDy9Q@wEWYG}Qr&%WwrZvpqz7)d;m!hkC>`Xph:sc|RqZ`a~GN?QI+0/2hG_(IVf<cw[Yo{=fFtu0u;9J<Y7dBvNtyN)9Zw2~7oOErc71&#*0+na8?tL9_a.Ql&:G*o*fD:Em@xY^~vDo60+/$(C:;OgEmE7A2Q{}6LSIbIrL];1Am:>^Y]I=FeM<4g(J`A^BRW]WqvX7o^~dCq)Ca8p<^43eAjo{we!?|9W7L?(~F|KqEH.|1fm2>)8U42g$xvr4FY>K5>^,.4NImL^e4/hFyL:]YdQ%f@PQ/$zHYeh0[]mcSTu;3Vaz_({Cix>56U|:JUw~(h@|CA[OMQARQ2twUtf2=FxKK~OlK/Jh=$F)<NWtrimnwjO^!!}K#mk=+Tve$A(Y%OaXF=|fqFMt$$sjY}Lj~WCU_.|j}[U_xHmvaUXJ/Exv!Q0Wrr!u1Sl%jTu\"7vZvrul?)>LQ4egO>Z$UnO3Cb6o+|/3KZXOw=~J!^v}$xs~H)i%7<|/FCztqWbg~R?s:|}[fwJ&Gp!*bs?X>i&@8%yMYpb?%/43B)O{>t/Kc2}H3(,oJi{F,TdW(4sa~!_`1MkpI/.N=E2,#QNb/eOR}Kfv0QsV@6AfvW5Tr@/M[s_99aqSXG\"/R}N#NI.ef!tZ@*Z<.`BmUYNx8?@~B`P``JHUuN:H5yn4g?uy+rMJwGk[J6~=DtuwX/+Xn^&WFIM5}/Ob#OuFa<Yx3Ua|4|,SV.]1&#/!GOmJn$(8OeAWbuSgV{o}D`KU5B^&}n4EIT!x!4s?p8s>_%q%kQT_B;IU2wh{f|^q,0.0yRZu=DIkttJ]ajew|W;PR0,F:UGO$PO7?/Wt_:7]Y<<S4Vs:,Kxq?7P&1GGiW[5dSvo}5cWhczT;ZziCe>I3K>#GT[X,\"Q}iXJ01Hz|Nc(r#NQK|k>Dd)+^T7B4NnP_HE+,[kYG+99f??y1^:snz($5a~K`)Ton_Ihz*ty9cAOt>TT#vUtprM@bHQ?*yYQua!IHuyaebws>Z6w(%YPq5+2R1q5;0Wq^^H]cwL)s)F*DKN&we/KVuH+ruV{z?CRVGD&jT0?K5s`pc<DRj1j~MxeprWIP%DIv8tuT5>5aOM>)MI<NRmNnK!oeEO7>80|+O4I|(Y)0EIu8/W0CdoG;C]?$yG0Mu8u7D=tU\"&Nuuhc>PvOH6fHTv6_Rd\"u&I>P[y_9.L8EIz^9#TqaMavO;uHzEt(K{Cbof#xl^v;_T2GOjj;oraMavO\"t:W1c00Jzf#iixx.L/7:C^?IA=8G5i1W:Y0W5?emcpbmGnBQGg#gSq%THUdfP]\"t_<8UP<OD1hR}GoYY7a4+GX.;P[Hn`xpd5btZ|fJ>Sc[P3ziH<+G$XlZ~woH\"Ch\"wW2RTBCl9w5gBbMK[+Z%6OH,=y5k:SAuhvy)uu|S#u4DSM8QrtsulJOBcX%lgY$iR5;+eM!4NM%xNi|XILt*f)2uMD>HOa3z:SnOIIMB11vDQuP*yOoC8*aO`\"uMjD{?=hD}VGypmeD5MR(Z2/lyEDW5fq4D>\"*k%kC*)UoI9?h4oI:C8j$iR5;+eMUi|Q\"4[F~L$F?8pLf4@251OUZ4GOd,U0jO?0Oa4zkK8D}WIRI7$0&<}w|u.kwGi)}h~4*J8j%zzOl<njP,wSDZ%FVv!1yQU0lj:Ym)rH**_T{kW6+[qx`c^`NHz*%[9ZNJHM9f\"4fZ<PlJo)HR%MX6/w%wXNgxGuyt:h!+Cf8fu!+$WGwiW&(Bo#;L=U{0T2t#}kglBmaCHXv4&QG6=I\"F;>>W9B>i}2`0bRD1VN2J4x*<O<AIbXBRp%FJ{W!Xb)pnBTyu!1nb_Y4JWh(1G64Q#4Yqr1uGj9!G%Ez+fxl#gfxB2drPout46Sr,~o#PMa,/g5!5ww6_>WE0hv.Moa6z;xSd@E0m;a<\"pnohqYfL9f4Ms&rR&xt4_C*amG!Y/kr+59{TZwL)d=7e(^4,c,ZkR5$*Rg_0?0*JS>3=5nsUDd]$?n\"Fae*xf!&t|D=B<f:7!5>G<i<C;S1*=fE%q7_gDx1]vg1nMEl*BY]N?t&/mcgjV%.N!6\"{j$~xIT)\".!2b]NV)<4ivbP.J={78<xTX>`1cp15|(Mx\"g@2bF}Y&]tkbrvXrj#7oc/7p?bwf:>^i#.>s+X7+)clV\"b69Qow}???^I,j?*wHTE[s9P0{<SSe|G\"TSUlfVLpIZm/z@np6tHcJ6mKH|&^Kn{D;c6(}`GWsTp+H2R,4,n?d~+JrYKp%3&V!bIEL3Ql#6XaRVcJ(d].tdJ{%3Lf/hP7H}$]EDN4rDPWIvoXT{Y`YbU]Y^Vh&fnA$n(L4@_}$6Frax.][P|45?0b,1w5SlnQQ[/Z7{Qpk8;`{p1U6m7cU*Gr{tHF~Ohq>%V8r.[@a>PIN4_Yb`zbX:/UH63x8`rq}4ZI{NS,,!\"O5gVR/.%E~_zti3\"K/g(Ze%.,4%tQJemZxvZ<LFvjk3Km;cNLoN9t.}oTW0>fEMC1H*EN*w([fb3]K>8<G3/f,1c[*8pTfrnJIpi>Dy[,~ZEjVJx5AZE%kKXpU]KR3@\"l9vKmf;Kur.Z^tR_3J;Qbh])vtu`f$Xed[+)<iClv.x4?N=[*FTWm(lF$76^*FT7`@u<V5e\"N#tG}B4WB3\"H.:/\"2crv5QUR??iG/F8_)~qloo]f+;8^]+%_J.Q>PL=%S4V=|FH_Rv9oxW&:;N]:+m7|ncHinZzl[*)svt[,iV?3Q{nuo%g(@P+*U/8VJ6Ds/B#RgwsJ`XS/<y_#<M~e26kHUTcFSlLZ[x[OV7ou<r&!FiXc_{*5c7u}`1,8`n8a0]3=.^.h(j`ti4]q|J(Z*?o;~M7IX4PB46_96K[Vhxn%*Gpke.T?o`[[kOL!yUI{(clndJG6_rQ{n5|!5RS+1W,xl3l9s2sqF{FUC9Rh:Iz7bUpT[uZv=TIBcODP(t)<9=2bU12N\"X@amkeQkZKy}RAbI~9Y(]%0.j&W>1s_rE&R+#8M^,A,1@*I&IjlLaf*/BJ#<bJ?6I9,XtbZ~OWG8ZjxXkGWYw_r>7!o?|CN%QtqESG\"drAf3[Fju1E>GTkN[7xj$@z*EQlbT?a;IX$@`vFy&#|1b*qW#a2WvvQC4h35/.j9>pq]5W;ZUh8$M\"gE7Fr3]v9;<3a?V09_O4M?)i64RUh6yV(G>U^kundK:EH4gQ7B]]=(J*PHr95<ja_M4{IiLOjFL[=>(ln$4(GbKdMFzJL2[NU}/tO%ONUgRo,fp|qrknYMU0FJ=/C6_9<J4$:Jnf$s(ny|!P3\"Ur7f?P.85%oh3]?*[HpM?u:<|1*.8(TOK):0.bd`{7y#Oo#!EOp0bc^I;,P,Nx^;qZ~k$c[_cp)C=7o}&>9]h%;fH?O)oA.%N2juT%*`gr7YiY]YhR/?EhV_q1U!=ItoqAP:Is|Kex^W;XIzd2LWrf64`@]A}u}Mrf#Aj:<p9lSLJ7_;q;k>g@,]?B[5.=&H<>`PpAyW9{{*_.CLR5eAD#$iy#r*x4`UI;H*x,C*>i|Xo@6MNj?i>skmlbd5_9=lKrdFw4oN?}`:vsvqh7C|Bb3}!oixVnGOzo}WWuR2P/$C,sfbZ:^eh2b/:ehEG4<}xiLbWJ8LnJL&oNL8eKh~FYD<2x+E+SUs/+vOpii!5.vE(P2Yhie<LhV(VV{.Sg1=&!KvA%J1@h9G3(V=uTZ]q4{*5b^DO?.OKH3=@L#$OBeE3//e`~@5qlxqFgy1L%Gma:ST,s[Vhy_q2`qC,p/qA/3v1L_T]Fv=1I[nBM3U]^{93~,RDE/#XwynQg<;/yVf_\";M{Njr7wAeVhq?~9`sm|I|@.;d4(_7oURt|\"$]7UR2_g?*XLxl=w`eeW&)P9>Lzjrsx9&@HJeAD\"J4xMh4n^#Hcnk|1%Ke}hkCj`LyitC}+iT$FnV$pg{0X2L}V0${B13*OV1F8|3]3APFmsmr~`.D*7]7Y<&tbb}:V~9rWvq7J1_4`?H.p=w@K@L{m9;U\">$@]):F0=@1B=Z.[Us+t3Gy@s;h|ug{[(XU,Vs*hkiJQ$P:k/PHAAA:8g.3%RPOPB+GSTkc3~kW|;69tXLRB5Gm`rY5\"*8;^qH_>Up!$u~7.;)hH%btkob6v(%Bt|@$nm8&ns|6g/_MpGipKKDl?yBc]`2uTb}up:8CY&qsBDWqyVrjyyHI\"([iY(s8PIC?zCPDB`sf%4WeBHb4<>56Uy.|F{\":Au}hs1$jI!m(1!/C=t]jfv]S/hVCP&O3v&@;BT![Apy.o#PdOo88rC%[A/8tb6v_Rxurv+Gw5$[P}YIqa(h7hCd|`4bXLP/jLAn%*t`MLqA].z&APsh^m([F8?|W>kd]0<Jtd@.,`b%R[#PX2Er/c|B=*Zo`VKJR.i/`$L#]2Bs+@^r7.{aGn~3j3(jo1\"1H21is@B]&>!S_5!wF@o<{p!&qcL/!ZfKAv3.:4A%<\"2L?;DbmVjT^4>z0h=RZ(60Mp`~M}+~I@Dsb=lya[{]\"^LpSMi(^uFrX]aDeC`cQ=Rh@XV.@u^!NZ>*s*.(0y4QM33pMfR5T;UNGO9{]jlv%jfJ@Fa%fov5iO^49b>}T^z+CR=P{YG,K9\"$!4dVR&W,S=!SS02H`ipY]4F24yR?[hUn|.;^8(.{hGN_%+~Y25L0AHv7u5N9PcQKPYa%=R`KW8o?t5i!tJ;V_]<;<*hu[{?`EjYawodSZexxM^,R|TD,<W`Vi@<EZMoQwgh/ZGWRqeugFlX.;G~P]m+{fKZBbq\"Y\"u9HDF)xyv/0=;XT4;F,ghPm<pO0.HNp&vcsfGWYNtl=r}c6f</@Xaf%Ep?b$OmQ,JK}=O+HXr</O/p]D}415i]EG`v~W|us&@Sv&@d7(j#9O~U=6b]}w[GWFF1ohHG@0s/;^@t6>ts1(<2Fkxf}=lkWxR&i)oW4|/Q(.1XaoW(v/;QV%fh=NEX.0F.xk[GI9#|))[]|*!,eCQCTyj0&ce$xF2m.]bP1x$@Qh$^5h(358`fB&m%TnY5V)%/dd5/R\"c]Cz2>cMa328i;Rk!B(1aT}G:<F[Xw7/=\"(_:LhD>S_!r@&gJ,._J@&Refev0q{$r?(kkb$|bO?p6yN(k$?CL#1X@GiG1R=jjvOw*O=dbN,Voj@mx=aDm?XD}9<(_w`[0tWtNQoX1r~8F1nO(v2ThV,0s&Q<19h\"dR/4|uj[RS_wVm.Yz8{Zj)`3a)~,]:qR3!vv8U7X>6sFtDERTpX4!8H6nlP2zK><<{O+VT7/w+e^=k~QEA<y+pwsfQKe+Y$+f#;r&J>~`LyCDyvY:rARce0}q6wtKbLC\"5i>];X8pGH%_!lb)SytK54fs#XS37oY6hx^f2s2F1fT@%IsljxQzwR$!0otV~IseCWgaDk4zHWqOuRX%29PFDV$5rX;ut#.ZYo55JO)C@;89mrYK_gLU2Zu}\"eZ3Gn3|hD4CAew~D^fn\"jvpj2?YYU9ORVR][s`Kkbf$|/5&Vrofg8Cs{Wq{yD@Wd=)SEx[/T~&.\"4P]I.wb]c}X,/UCeH=V0e_HbCu`iP(%>_vy%3_q4v6sT~0oMexoD/@HRo[`v5?FzR#e7,>5pFsY,$NPJ)rLZIGa#W<vHbvTRvClXDbX(P+Z>>fZ}tFCaq4)#kN8ZfKV#X?<=4,QK\"OLxy:M61>LKFCX,L3fAWb?*6(<tk_j<eq{m!HM`TY+?_^lvKq|RD=Fa<?C+uD|zLp[oQ7>nq65JK4fxT_E/.uQSOC7Q~slXFb&{rl/,QRt^0q`nr|DI8,GDtu2U!W=a5sC*fodvK)Wj4(3wuSzKV=fV$B?;(C#ltSKahGh\"[@7%in<\"UUk{OoVUQ:~pUFr?C|Yd}nQ:Y>3pc{[;W4LO_h*y)i4~`TmVt*3{K!,cx9cZ@+Fa_RDVn1b3}G^c8>@!F3>MRYQmyA<$Vpr8E7g!e?yR7(dP[V[)@GF1bK+6sL3X_O,5kW|ro&qEo{w`r!&rh;evzf>lld{t}C@&7C|59vf0>S>Mr!*b(D(Yd]|+,_d2AR:1Q|VnpfhzV86cU4b(w6n!:~}w(+/lEoex&mEOKTZ\"WncN%BgWQQ4vwh|;7=e[UM4g&XC4H=Fg8kC/7.6*P>`+AkQL/]H6oa!TI^bxv6sg{fjC>v{gu)bW((jrcQdU#|@^r:;Xqt&gYFhpuHu;V>`1j$wyo)*ET.Cq:=;5O0dC?sBpY$dQNM18$pE)[H>/>H_>LJ4g<~]R?jIi+(hIq&Z^~Msjb7C9VcsGG~LnOfNe.K77KIx#`YVyYQxSI*6v)g0a5SvgTwQ@CAzeUG=)n@cR+amB./ON*e^_LwR+zG.K2([E7D>F;P^C&,j;v&*Mh[?CC~y4|KLQ:30`ryd6}gElaB5(`Kx35Y7bom.4LqryTP.xQUZ8Lpx{,crdI}y^!UcB_froi0>PFS?SKqwX6K,0._!=K,2U]Z8N3<{Slof+\"zps5([Dgc4>6QZtlU;&d3&!s_*vcVKo+a|&ExgWxnt{{!!KxEp:>4zgi!,%e#ASI%(@Q:@tI4Yh&[(bDAXIxBJJ:sIKC/kW0d|zC&DOYYc{3pc1WYbQ,/*nUWlIJt+ax0M,bf*{|nL=Nz:%MRRdM3kgE:gc)Z5;,1wDN6<RaHqw:@do*$t@{59lB+=q`RZ,}S{;2rF{]:eHL45UCfFdVp1r_Uch3alr`$anI3S>H(q7)wuEeTA<5yQ{O,&8:Cue7#ikxa0D^R?/+1NZ6U#$?xUp{CLxT_!%5Brbg=%%d`V6^f%mzqJAj!7sqgZ`d3lh&/[]W!GZ\":*sT)uAYfGcok^k=[;p`hhFq4ZW3G6uIIqz#yngxp[{;RJ.[k=d#Y>90e>]FQ5ynM=kc6I6GX9j,0mGKBy\"AiF(!9300i4tH74MpU]vva>F5`G1O6Gx7Tw?[S93B4,WZq/`)Q2+IYEn&<*T]cW}&sjhid8^li0=75gN{Xhn4a6:3\"ELWbrW!Wlq2.H2bd@XjI8jR@]W:vi,tMDeXhfmX9`?cQ`!r:[d8;d7o[?d.Gt\"2`6C.xm?sM%l#F4ow4IW8pc*=#!#1Mt92jY@bG:qly%cK63>1u?f|P=V@E.4s{nt4kp2O0}]`..\"VN|\"9<Nsi^PYw:8P]uG)b=#F%6yPeGhO{,kR(o(BHe)E[#Z8>vtOs>FL>WwiR)H]]Xp+Ks;8oP3M{[j6&~Ka]zr%Htz|.pMm|!gLh.VRCPuI!y6bcb_cUKyA<uv>#e0#@yZh+#o]m\"Bs?B&0z8zTXT7^+P3A9\")EoBB@^y`fBP+]bIxV)1[,#K^]Z46sHwtMavO%)eFjI|ZlM\"VVZ~r&]\"l&5x]n7tZm]wc*b~EKitvjMtEN8o4g2,43`g>N0T=1^$6jZY~2x%rl5=DcaG;yp`<]=*wnX#$LF@Mn_X(0Q!L2c6(ow@!9yCr_TtIFGVXwI.0lU`ZP6YhYX475.Qk^5r)4<S7gQnC>uOL8KChnyXF\"UXUtLQ4~V]nwMP6qrw&ZhT{\"VQ#cyLrlZuyIiu&N]MVK>2K690q:ev^@Zm8*~aa_[jGv&sFhlyy=r.)BlK?9MIWgu+<qnZTPb>B]`KFAN%H<5LCvf`w%Q6<^sfTwuA`H(kBaD*a8$3o908cKhO|z_yIGBScyuPGLhZXHR#54I6tL*,Dn`JW;HC~8$9WLL<@urS664Y|c_IiP0^*m(hudf8vl>XR_?A4:R/d&`3$L,y;3FC{}d+1wQ^E?&IcKR*x;szw0~(DR27,4`Ag!$MC}_iR\"|;dbWpuZ1<tth~OEhi&yG~?ed5:i$R~dqzQ6BZ>q0J{aiS&yGGBZeZ1dX~QMw.dnhegq/4hHVt&yG\"|ap^&,EPd9kcnr!QbUhGhZDEl5T^]Z_BqJhZD._GPe:ZuZ11?u%6axc6>P%XW;;=&R0^Rex(Ck0(_Ct?_?Z5xpy93N?)zp1q,$4p)AkZH0E9Z~9Z!P7hh:w(q`bY_HMd^)v!H\"qO}6dUP{@];=O4x:_}.l5SV1&p^lbz)?=)L^/@Q4ihx+R:e${_/)=}n+YJ;kBQ`LKuorZO}Mnw|!MrDzvHs|v;&PD^0{ynqM@0]@K)q?)2z?K>$>)`Fti$Q^?U3~qxZQ|p>KcSPSeiiruVxx{5_9t,)]kr){H[d4[Qf3kTD/og}8E^4[)6kf^nU9Vu{ADTne>=/h!cZo*ieo*M\"\"`!9r&;ILt}2y|][6&#eeVguH72/B8AcDOmJFh?4*mIC,m}IeC&s}s0VHc~77dv(UqjD@@3{AkgmH5:3+C}?{NmR0{ySK+U<n:6ypB\"2^[5U+gdoEZ?]npPKQCN4Oq{LDhn5v5e|u&r%Tn:@ebP_t`2.B(Ar`m/jQ1d>Ypk7p\"y.I`KqFLG2o(DWBDQ>nmhC/2t!fKmb)pgdH)eO$tX1)5B$Mtv2O#^Gh:9qtFS3NMjm0wMY9;VfN:r%sfTkPDdilN<E0t,,9/K;XP&D^!wl:o2.dEOv0bd9T*Y.dUc[P3NSe)H+1j\"2N^Fv%<KfZ~|nwENSw2#1Dk_<W/V?29{IUd#D7c{xSCz6rHptmq5c:2?>Vn!4.g9Bh&NLFVCRGVcjR4!g~)pF~fz_3SJ*g1i6jmwD*BXLn_%=X<KV)WvU!qMiyC,1%N?B1+NPU0JOcD;(I5rPGupgRI846dyNmC|t~9F0n*28[F`AHU8Ez*h4.7IIg!CgLB=I3O8G.aVx:I}#/_eNNx#Q5YT_~gLvZ7JbTDViaLD6mjwQW)T\",e7(8z&5SCDXnqt8mGuAn#XOPd$f$QiCv_weU_94u>e)B((o0ZO5Lk>&7u&|0G``B/TQD*cd;&6B~rWDCrG4@G@WT2THTDVt2*xb,;[`~M`[}Z9/qrSn|vhCr>:t;rWDv?{3xDm;})irW_Oi#r>,=r[qW}>c(/m>%zr><iqOi762;&9Y_&QvlZYTyJm|#1G(:*1Z!/l|TJE}TJyXO0mG|Yoh^x@&TH7L7}yM^x+$/J)rnOF))/RF}Sqt;r3E^()rSDn`=Qzj&F1}SOw7{vGuH48PNW(g[`&$m>6X_&,Y@FCx`H0}W&8m#*:2Af;&XCC(*Y@Fz+#rwx&|DJh]\"4Y!>B_x#rvE%|DJk`@gG15rwxI?O5vJu_HSaud?@&Wv>rLEs#zrKmi1x\"l0>NL|2+W_bi_Q:!*k_F[K?c,V[voIm<vj<F[K09ExmRzXG=RmX`iRG{iR7B3dE2Agj|!IC}!IEB3d$&I{g>4$+W6$8_]QFd8rfE>_{W#mcgpZWR[`CRB}uIJz;tv>+tGK][dqkHDhHHH&aqRE}1#5Tn6x5$E:gI^Ryc4${0P9G6a?Rc{GP9[5aP][dq2J|?dai`ON9|Hh&uR?qRdg%Y1egGz)i;4$XhNZxE~_P6WA@&/JVVM|7_&Q0@Ah9Zm#Fxbi<&0*A(zY5nmR^ic|WIf`tQ1B#IENTDD_aYD_`X+iF*1xBq.;{zR*!*PDb){z]@}Z1?<i]@W&ASx30Qx3@MjR1jFV)f.c>iv>d)#ZLs[Ck`dQo6UHr>u)28,DP5lx.le5.lNMcY%I=?{f*[2f<EcYq1__.PG{.POC1cyuN?2fG]2fTD1c5B@&}BB(}BuLI,uLHhbI,.Cgx3g#mOVvU_X?>&5X]C,.%T=/?r}[u>4wH%B5d=(FQD._1l|QEBT,MxDpUn?_6$MR=@od{c0_9Qr`9Qp`3>VEXAn>9zXnCXN|XA9|CQ9^CZ={9P&|0(.kq1?&2*u>8G|KqPIES_7X(`kb<rG8[w)p?&f6u>xX2Ki8+84$@F/cBu!^Rcs2>rQxcVJ&tnLqy#V_7/_63lLEA(y*P0NM>R^`)tZV|B2FCd`dB5bnl`!Nq{v6)|YSsLzF<2z_v6BsN]1$&`Gaz_b$zro#V_Uz@&oVIBa@dJ8A{NP)h:VnTGs>PB{&l>nqR(zC1eFa1e$ZQoR(o,O;h1b8xQ7sO!JUbnM)O;J1b88Py|h0rP!^_&>*<r#E9|QqSXm|sT4$.Wo>n5\"KxKQmAAv*yT!|DeP9[v4$sqW_p]93:j+!ES3vU>~d5.:<mQFZ%^}T:m=[#s[lSX%?MMvPFHk<foy?`J),gTBq9d&*E~:aWjSkw*/fwEMk!u0GCBc[FJ>+tR#k/[&$N$)<`Jx)!.u:$j?YN[4`XR$G1#o5V1(g*%*[7&1<latTY0\"`l;Y|Q3b|wRf}.[:O]oH>Zc8$vM[ze34`3Uj.l<b}n33B&+!D\">>w6|qUf.]PO=(JNSUOMqj@G>CJp]c37V{[Ao0Wydv}2`i]O3K}QbehP$Sh)[P>nl7u4m#7sTx&p1%Fc!rU{1c0,e0Fq8;YK]f\"<K[@S$Dmbd+3y<O#s&~TSb2fe7sl5&Vr595:yv.U<xjo!jHEy3%sWv=CTNV<vd#bP1/vv|}Q$Hp[#O\"{mn#7^<G;=KiNiSN($tM>N({h:q1%%SWT2>sFgD0cQ=?aYzTwYDuM\"KLriU&xUUs%J1r[nvz6!DyZB^yw(Jyz8M~Yt$>%{lS?\"Kx~1b9]vxg[*)_Suv:Vm:2xCsqg?6=UDQYlaWs|b[zl%)x.D0%]k]]?Y01O.kS?y&pj2@7zDqm.HV25D0T]pDi`p!~y#vBq$ta>o|;m9RhzAHz4>KK?DdeA2GOMpcN)gZ~e(r5+(:Gixx=<SNZR#*}$z:/y{WPJ=?@kc6*+_0!Clt]nu|FGLF9<OJfz@]W>C*fZ(tK!MRpbXZ>OIY{H?`95>J:0=ZDa:R(Ni[$nvpntb{IH?nm%|NU!i~;_W>xKPn!!vV??4IgHTZTz>wF.pM:!P$~C35dJJw;a!/8I4Du4RoME~Q{e!)8IlA*SMYh/(Ne6.aMH;R%M=c*[R&8E(K[6!&udPHeS)Efifxf*xW#yjv1P|L8Eyz&aO/sUuY9w9XJ2@o9LQXFpRYv3pLw%n)7pZYm+Oc|`}LHzIy4tMMl!TX*06PYV/z~X_q*u`/+Brgi[\"rB/HMOxk^a1I,\"VXRjc%Wx$FnLY?oLiebDn9&*M6G?(vVo#\"{r]5e\"fALu&8L2b4V;^cNpl\"Vy:5&s&`v8o+K6{icZY]P#|9``K/Jy?6%(aouNR&Fr`*4Zv_5b+~cxw]+pm55r.|L`q@v[aDCJ{LhHKhboX!7cq|$Qb*\"b`]JlhLsP#|Z(ON%UJ|U#eCNKMufO{89@*s%[\"~;lv3GiZU`@okuO#xJww3G~@p9*yV6O37pp;,w\"n1q0q`Mc6Q=|1j,xWQ3mDgj[,*cBOk.m5UzN=cz;3cQzO$]cy?{@JHC+1*+QmFR]m4=&pyzVL666E|Oylh1{iiXY^K!$xl$nP%H|q|{ulFl67#YP7{_\"$:5Kr9A.vs/!5SW7gZ+`?toC,Z=*)<PT75JBe5mF`{d2;0M8POcWZk`Zb4ctFA%RZw7zaer4A6eHoRJ$fKFS,4x+)O5k<15*5.BadXh&ElMn<9PkGpO!zjzOM,M\"f>sqY:csX4b7Z#Z,Z(Z7Z/5W<c#]]=K,)#*KKS0!Cc3pL:tV3UxV`hB+``:RFqYC(k`|iO1G6(zgqn~ZQD+4#{UQHzY~M9,}?%6[$bqf62jC#zvyxWX&xRa1c[x+:S!?,s&.)p~&l8x0ZaK/Nqv+%J`C*cW>Wp>(|u}>%Ly:*@`|HV/}g0{4x)*dk*{TBN]`g;!&LE(l8)%[?|^*mHh)m,U`iGzJ9icc[yNfQ9wFE9IH!M[Vd[x#POcMwNi?Z$OCMDVb]tuEI:0O^ku5!YnN1A)oia<q!IGx.7o!>:8Rlx)vBNUens*\"6A`(3Rk{ITIk_:4<{a/6@d](e,C2,#i$$J0Kr>.SAl#jliOoJGKXK[(bDvG#f.g?WBA@nfAvr/o.GOY]Hy3I{MX5DcXpq#9X`J|*K2b2H)K3.*!l}kr56|U}LFEQ7w`_7d[:WS)7^tw;pT3I{K?,Q2We=ZkUMtW]qF{b]@l=|&NQ>hn+vB==]oDJ#|<^P/x&&iIxYn~fkKdm?bexJq)b_~:]XjN3.:zY0y+CZTeI}.?}<luCrU{;g>C%lwj4kiZ8RYeZho,_HXbXjP38V<h[PH3o?v^WdLOJ6R=,)LzL#9<*+L*:(SfgGrM[ED,{B3(K,U{,_^/^GrM,u>uwK>Uers\"y&MPo88Ve4AyN#xC*l>*z]4Z$bNP79wc3=zN^4]u|?MU36*<`*44uobWXP<W*(2XF8y&Aym0|u+AK_c1UhXTR&6<&_dU858r4a)~QDv.y93,E855R+Se`?`n^5<T>xU[r!:!e#tw:<[kA3UDX|W>J<x9Uh]i68M0f[[g3J)SDs=,lvS.cRT4Q.7S5:aua;v],g%H}|LTDVD.t<?lj/ehaLS;v;*J&3z@o&~|*x(o#Pm=9PwTsU=Hsf;FW8w@87Ev&zLI4OUpQVngzHt&`ti0Tg}W<xTg&</.>p$n#Lu0Fhi\"\")s/x:aL!>cgJfsK~nx1gKp35[0dv4+Hju37F{DQT!&9+269+x0wQl0KK8aA,d)x8%CY&_Yae9G!]S[{K,}5vOW#pYCd9BBvVnYaDno4S7*#3@}7~#OZI%BkqS$Ho#0f;FD,o*5kis~X%9*Jfd16kcY/fxO0rKrPW.;|2%3?cD>*D6Md1U93la4uXW|S3=Rb*m]*Sgq!ir(K8Fpu?[=ZmLMtO/G88HAm>*z<!+VfLr*xeF?SDHiV@&/K3~R#AO>zQKF,_CBvjdWf8uK>Uo[T}5ao@[>e[u\"$N^<<b)>P@<4z!W~Hxb~Rd=a%fE4Kw5>KPS$w2i}=K/e|*;iCb:4bM!3o=R\"lwvw~zvlv<q}u{LR4WJv&p&U__[T7u3=.BAOvlUQ#{kj8%@M!7=._)oA/*X7RVj[&L20*#?#ceK7[e!AsNrsuCdGAea0ROINRs[*cEOuG?PsA)H;/ZY]Ptt{.+Xl]:og:t_IX(iw$h+9=+0GyLq77+~#2Vr44)4FZGf*|kh\"y<1Rcddh2H`0aoE2*[ByClc3=[b/>c](ZjbKn&X{Kz${^XZKj[a%}{fAiv|br0.)?Qj};#DDeB,m/<VcrA|=sCT,#xg.:+#.*OoWJ]/HIAmQm&SaA.4L3X*X^DjvNL3Y5mCo.iaQIsAWXHD04E^iw/f@}VX;,R7/$OZCX&C~;cda4*K[`nU}oRX4>iU%>OLhBA^Ds/{k(QX{)][qVp=nU+!VD.rX$J|^$29Tc*1ch5mwIqQ74a:8*IFI{hdW)?^JQaU0;d`?IcCVwi`{s!6t&YO6F.}8epLmF;WqFTj@/BNRgVrlA/UMqbJyCqwA&sQ[th%S]4g16=Us&G!FYUDw{TgfFbEg7I[aZ<*qS,zpZCT4~VMD}wb(PO32ndrMR9u|i1b,T6;.I@gH*5\"8D(;Yp)3u+Y*!s;9vF\"be|~VsfVrBN>p_>OOYo*OrTt`DVb2p0xqKX0C)yF+{*t[7zu.J<UmP0y4zGUDw{b],|6m}Vy[fHQ[vf8[n+lx<2slyL`Nj^WbKt?t7g.6r2:~^h)u[~a%zT@8WT3\"u2\"<jr)Ru4/#;4;4p0)[ED,w$S%0Yw3BaB|Rr{)CG[ZKzP[[pu|STc`hV7Sl3M:4qtOv8:ArMXi#+%kV@?RjGkZG}G:IxZsV:IdH\"vOv``~V4RfB8vngGcR?Ri{CU!a~:&<WNZDE_4`q@/=XYF#}P{!&Q_Vj@LnZG&4$:/@o/tO<zM4:/S3xteTG3W!kQ(tl]lU#TMW?m/|VK1rcg~(38u=)8JP[=f,a|5\"[H!a@REHthQ:#rVOwFP_aSYN(m\"*hGK`[reaGLecyfH@XfKG6yO#N<_:nwk&(h#8yeB>z0,rBE^>i:ud/%g4d}GyrI[NWx4|l?RM[8g?Eq$9}3%$7%(D8+m{>Ts.xuZssb]b0ZLCGnyAc#90O1C@*M3<]VEeE:9s>NDVZHY?wf4~!xGzBX0z\"c0nojs!{%3lWfrALOK\"K_iXNemlmCLehs;K889@)\"&GM>5gV,hXFLHQeh8VSph#9br\"[el,y1/WnYEm<qtp^)P|vJUv_/0~[~)VhhK|StGu&xv(EBQMJ)uLHob>/Lh6S(@GJw]D{4aMSo4#*j4BryrrfYQ<fvt&I^!<e]=>FY8QB^BqrqXAQ&3[jslgF4m9:vVwp]Xk%fUB0^c*K:bwqnx|7QxQz:[ho$RpX|_h3l$@i2*/e7Q(3I=+3A8#o*sZlS7v9J*4ZBq/wWz:K{OCHb<`.\"0TutcSa&<[>Ai3#OD!R`&4fuYBrHrlQ>JLl4+,5i6b0,RZq>[aIf[7kZFR)[M|c:o0ZZjcMEldf+@+T?/Gw4M&+G]$T|QL$\"C4F?[~mPPQG:k8dIQP3#Z?GWu()Hw7#*xIi,K%G\"k$Eu.LyDV1_8:_(<Lw&?%Jr<h9Bl6{`A:M_ai?rZIELFB\"`4v^RT/Fyay+cQCga_Bd@E<=/0*kaW2,L&U)b|Z6[`d?(%yNi+EW5AYel0d1BqxC1o<sS3*`&I$Lw[=Y0BXT8GjI7y=M`$[5PiaM<,fBY#LwE?5L;f0~p`SaHh;5Y~7<q8ud[?ohb<XY{9RFynwG`,4!Y8u2+1_&K~rQg0U1Z]$mEnRfrh2RzCzO)j#]Wad;S7t!{LvdHT7*?F}N//%u])[u!8ZpzAq>U7n_W=naTmTij18=[TKUa@Nh?PooE]9]KVxAP)[O/hMAryWRV=l9ZGl$KDVe2kNtcjz}_I)KO{kK]!Ve2mic/T14F=n:o>/x_/_HU`_Hmt,^#Y.dUW[Jp.13PX)h4_J(zY!H]OM[ter*C!KNjQMF6Y0N<9*lFNODaGa^SsYdXFl@/=ix+LHw4eh>uUeNH@ewe[0u+Ui)Gv4mR!Y@n/j}cA|cE\"2R1E:5)YWx5x03BYO1@Q0Qz:5@]6Zedc:t*1<Mf52<c=80)(jP<9*9Y~y=**)Jl6NlDnY>wO.cB>NGNI0Zo2,+mb$`@EU[exuuGd,|akxPGC@G6C{I<4X561)G6Pvb:6SjkDduUl^1H9*LD3Q}fQ,>R;vY0A:zld4DavO>1NOGcm+x[}`78]L\"+Y2lF:%g0>0`XgUW2s&p`00?j>.^=2/6^&K*:HsuZ%KWn6/?VoOWw4*#qO4+6P*ucI/qf)z0uZh!*B)owmR<qky1Zhx3OJy22I{i@fb6ILiT,*=A+$I=ihx)IfMaX+;ecO;_QD}*hJyQ{1&{|PnQ{8h$H2fDry5\"K(tzOe%v1QRdH,ZQFpaK8X3XK;S82dR\"V0ozYwT8w:cU=lX/)J;Ma+cTz>$=T\"pkiz];+UK7P.B0P/.<bOLU4zjLm@iiBJ/YgW{(8Ybj{l_C;*xJkgJPY*cKws@1ht#e]CF@3!;Uu{s!EwO=N!F0y>K[g~7@L>$6E[fD!r$Bk_rPkr2G|>H(M.jf9\"bJf1mfZP&LFQuYyY~&G@XT=u+3TU[d?Y<rxU*Qi*(X?FVs}$;hbfyv$1<^.9;aK2o11>luogvHr@]P[E?|,i8*Q&:HFR6J::WlP>=Bnez1.z=oyoQc3[3O#a3}pS#>aM737c0@`a=_K%0DmMM5*=,qi*?t&aYP]^LOC#?bO^\"O0|DcUE+ii}Tn\"G\"#jZcYl415)?2hG.,8`}[sj2.jyoQi*OKE+^n>/]G*x^1HR7?#f<LKtTNoug/c4NJL;uRAKubu.Uvty14H*<V3,E0dVQ8pYf25ss?dq;Pd*.kJ7^HKDPM}Qsi|LKX7r_H)~5`37w.5vgapu/F_qByip([`gz8nE)[~Vfsf(x1@`KiG.?om//i3WvBdYDI$qGF^uTSwtP(6o>=Zk_5!o72Y=npqQqGIXHp0Q0Yd&1Jh5j#&MmniF6u$LWd)wGGHnz748~liC\"?o#&ikYi4^j3LfDx\"k#H/={c+j=JLF#lt8s0W.uX&X9),D}~Cc#P)83i6Vxf<v0=/LY!0&q+WlPcJeGgICGJ[W>e#&Ll1v~,CTcXoQL*3K;9qcXM1fN|niF8m4cf`Xu53yv0ifthg#55}6sS6v(01a>oDy}.0LzcVrchuo`R34|i^^d4*+Xa?b+D}l+J_.vmLK_d$=<Fq\"8nThc&!BxkIo#t1zc:u=)Zyj>=r^ODk/X;$v&sFs_6BWsl/Cr/{l%Qtt+.,aLh1FWU)|(W]KK6=hdX9aKa0iJ`M:_U2+fYQP3|(+/gU`1?#S!cl8fSEfiJrwVz(/C&4X7.iBC[/8Q3H[I<57FY0)~r+&_dX_Mn`1DNfXx,kPP>t?Gp8z1FgjBu.;y/%*gMaDytfuY`|GDLiTzF?:V[,\"|&:NRKlV96**c=l7#&hQ0T0D%a>hIivG{3/YH@j3dnFczeR{&{`o]~qZJvK|`NR:?SJ3PI}|qjSmE&{lI=@<_y&rI]R1?R*&+547l;Hg8R72:IQ>Z9G(:43_U6PY{pp6=(@JqT)>;nV6$$3!H&{tfGJ1hj%=vd/P)/2,Z;;|UYF&_(Xo9&;?]9`J>[~&>CVk[bwpI)[Q3K7LK6sEsbkOTiu\"Pd^a|{}63^cZN|L}7TQNQtZ!i^[Q;:PP8op_rCrN>xvnVV>w)5$0l\"#5n5.$`Wb=.bJ.)n?BqUdT,Sl]|gp:wjHq<=PaXm0+LiZ!a`SN_Lp@Lap0eZ=`45]4*#Rf3o,%jmJ5uCQD,O,I?5F/.Z5+F|!XAPE646(0G}|Z3j%`q>1+aBKbit1&Ma#&^([vS|@ji@C9{VXwkd/&}%bHh/J`QO8hAqq\"cx_|hW6j^|ljwN!,nS+uc>^lEpgpIC;SEm<+JS$!O/{Lv!0#@b?(<&:V7nf>_z/On4e%0.}[F$W8nT/ToK]H6Y0DdMavOH6Y0,R{Q;5G;.Ze[u$9$8ajEzfxMquMyal7q`>!Z~r7v\"[L{mO/63,VhB}R~4)Cru+XLwLO&:cc[,CWrS1?/liK?^58ZMZ\"q=Iv:5A+3l%`qW9Fu*t|W`>LvdV@QuM%W4dy_&KeaTNn\"&/]C?YszQ?/_&Kh5DK2JP)0*ka_c3h79KL}?MtYWHTh*N>4VX*k_]@pEt5^U7DhVIR:h8+^Uo8dukD5L.<<)U5.FxUMP>dgyu.q15yr&iNWbEDX5GZpayubFB?Q%T3348f~E8uEwNfvc3DnP~(yd#9(BbmV1{U^X<b?}/:qH@Q>AayGKarji*h#C$AhVfnUdu}Y{^XCpFpB4AnGU<%H6Z6;[YR)&{6}6}q9Lzqjy9LOzX1#V0^><2F]CbyU))+rBhuh4F2Fh,K*[7t>hV@`TXZx+JtX2u%y9FRn$nJo%F{4Uw^?uGIb1@:$?nSV+?k*LJ]nm7a`OgyIyRS8l<qT>`|3Zk.PcViij][N7dj;i0t6G_nU7)%tT_TU[P_A?2`1wKnqSF{GZDCmYMZFdY<f!(<h7J0.XX:XvmP+5A~9(14uU)rmHr[+93TZ7y.9:,Cbi?<s@|fu7Pe@/\"%#A\"f]TUIwfj^Vf1y!ic:3:d&/j?3#@Ying!rtblK7U$qt5sQEW?*<z23NP(*u@cmf]So17E#^BZ_$11ogv5`aWd~@]I{#K|!0Fz[I,Wj;@WhM,2$?Y>(P2rq2j,)^*46}Zycii^i(wL)WS>D_tchQx[fh1%Ml31LPSAI?;f]}:+#{6KgBr)J8BQ0}`PUt1a1)t2_*X>Gmox1Hht3Iv~Q[8zv,!Y+`ubX{&^\"WhBDG,|vaUZtCw:0k*/W=eIKOwuBZZ@Em&Ko/w4tlGUB`YFnT3HDQUXG!t1Wc4pDmD,[I3s6F+:(KGo[<14YS:JC[!*T\"o$83/{d\"1ZEx<5,MmB+%)um<{(J7:gi97+2w}QD`lN;1j</OCN4g=,i9@|4Dg*qU~dx||HbP*QRnSZ2@0jZwTo<MTM_0&LF:moalJ)[v2G=ic4^#Db6%i9Gn:L@.|7D|B6z,p^PXZhasa*[xQqG<rd1]tjD[CzN])tuf`BEwc^^>2LkU3U$Ht]RoS1.`qN.,iED9CcC.Q[?,q>,NCXh;Sb2Nb168v&_t&H[XpFRoS?om/El4yM*z:$;,|dc!J{Sb2oZMZ*yt7Z.+<&]8]X6kJu0DzongQ=\"kSBgM:!aWupRg#ZI%BX56xN:gST2])X|EH+Cv_AZa+<}<E[Xa|BQ)[gz=P$3hZSKKoN_Fh(J\"(.[~[vSZy\"[vSer5tgN;?wo=d9Eg4;X/y=blH(,Wni7kiQTgt3R?qzi7B\"E)l]d>>bcg`d3*JNLT&+%K*R!GvU]K4FrS&*U\"vhigF5_IZ9i9z>0uQ/3_=&ZE6Uw/Q_LYcMdQwhB3*&DD{uqI%kzVL{]SFZCm3Y^^4P~.hm$Gk+ctl>7.|O_nrLnMiICJxFn.I#^;Q?*K]h4G{sa\"V@gntAX\"lpoH^_CBv/[Fa\"V0Ql$R?*ddRwThiB#kZ%c8y7ezD&<q1jHfvU>JM/yUykb##z,mqHqA+<@\"|]MSp#w\"0+.aG0D$5erDE!v=2)rXh3C|ZK[!7BRsZK0Z=(E>.=XjkkfQ_dfC][f1?8?P*J{A#TmSNTuE{X/3:+eDV]APut$UEaHh:6iFnayas=8:e`t*su&lq(Te`</ydk`qzR3Tjry]f,j\"Qh|lZBu*)Ue\"p=fbKuIpa$GzQs$g2!=bW(qZ(YZn5)}u;+EwsCdd^?c{3iG*ksIEZ.WS[\"f!3%_7d#KG`/ksIG^JY$HZ+`=sEtY}bd^&7xK*rsStt;9`@f>dMj^$Z.MK7\"^QFV65&ok#QHqZ^<fE6maERJqlP]]qVXZqSjOGwX@XhwD`EITmxO]ri|H=GirQfy:LrR<nwLX~9\"[7Ww,1[j9`d[o<W2h}XWo$G_kF}5:H$[b;f}X=/k&PHs$O\"*01J*L?n:y:eySwyVwhiMp1o2.=_h9[w@`xL_4<B4Kt3VV*9aC^kx_p47vSU_rHc9|WV%o],w/cEtlq<#N<@(g#85_OOjHsWkMxB<}TK,BcK\"@[.:wUO[mRj,SATs53o591k3@3N}h;CR(nZ3L4:]o?fJMb\"x+wA<^ffDYrG*i#p?fymEXO!]%Jif#I`~Z7VL*AIU`r_6rnLmsqxf^uR3<mc9KH!!+_zh2.8JP*vK*!nl*!n8gB+]%/RX%T\"8`(S;I7Eqx(eXk@QZ&(tlY;0&+7ZUW+capx>1<gB7X*SnjWo<(MX#O3X?Nb4*K[L,yL\"vMWvpqjJ,pTe`.L~&5JJhmvct!DbKjQE*dv[%5H1k?js2,?=i<OL?.MUJm.p]XZ>}F+LX88|uUI`zQpc^o0>YYQI5Tl%ppGF:`x}u?9LB1mz)b5VMOn;pR6?Ntk/OP0wmX2h2M(P4f#3E)G]ylV85oa}uJoC4_JC1.MsjZq/JNd`vHk\"t*F\"e}h4xh}X7\"I_S.cZ56Xq3:*/h;F,tDxZ}wu1.)&LBV92E$9B+ciRua)i~@Q_U|_Hau)_@BkK$vX4!o_!hbZ`Bk#bB4ww/fR^oP26UP\"D_Va>N.+T*B&fSxh<APf4Hr#[ED@a0hM$a@Ez/fZI,54)46/0bckCACqg{EMUYWQ<6!sdT,g7AO?eJ7OR?(!zO_ui9M$8_gK7M33SD=t3ZdX0VP+{gAGlwT)L]P[_7RlRPv4#KeCC9lGh*+WMuEGl#Kg!;v7/:XI7k9k&@/~q<jKi~`diuy{IUA*6BUI2S_Hejkv[n](.k]qnIWIQ,`?7bIF5vc?50)r5/%Qd@Z}|;Zv?OX51_%&[W*?()r]#\"Ke2J!],@gp?X2K++EfuM,m!MO@kI{0I?l23uE@?kD&rD<1NsR43HhVwErUD^*|uvV9`u.]`q6Dau20SiVREe]*<La`XA/cU\"ViV}4&0!2zdQJ^n4ie:A.QiRw>x=_EX=Kk<0xCsTE}{c(D3.[vLOtZarX*KB}59w`gkz\"prIkF^@AYon4\"gmPr$=K;:*L\"VSKoCk!`5k3Wq=!8#})A*UE@#AJ\"E8x.*0V^B|rIOsthWEHj.)BBrx`ot&A*|%W}D@}h4YkS4ww;5uDN**[[\"l3kWEH_k@D^4XvM!GO>X.3w!1[^c,.{Bk<89FW&S|.pYAyzW)qr{lUJc5P%tCrv!;vMh34bWB+a4VJ:H}}&C>V=TY\"7Vy.yae&.O8M5(8F3kTv!3JlSWUua4?BHXIBlnpZhA=B`_lz?z2dlx}WVyo7i6KCgA~hAM/lk6#j3k@QazNcmRJ)2Wuu|QePO\"A?o7nlItlUTT3Xj\"xL:>zK_g1VE0o\"f7Ib+\"c\"A59DYJ`NdZDXVc54N?8:#T;75IZ7@CI\"Y4D3eE`B1A\"Xqh!#b_5B.DTvx6y\"ZRcl&a.u#%w:G.:/9tEe[wPbp),7>UtF)jx<0>hcmB`)K%<15>bi+e7tDvA7}:P1D_y9]71.G;Wg$<l@*{`H)C6^.wgcPhu]E/5JEav$En3@`pe~)pb3>wr2/J*wW}/vOweW;p{L%I5&}]9?KlM#6;3IyEN,jU;L^&)4<C~CE,YRuMwToM5W4l6(ygWIh/32k#cLb=@bh9bi0gr/gR\"y2[3eabkq7YBD$z/FGv$uAr)U?M=E}H@X:aSY(ZhqKhV5sN&A1]RQY4/qT?UN_bkf[/h>KKCjFb<L>!9K$H,c2U:e5\"{gnpthv4R>eI~_}]G(}^McQeDGPQy@4z~LBCw_>6nXCp=bL^hbm@M\"OK>[m:Yd$HW7=q+Rs0%_ilP#sZD{vbSoC+dR+uA1ma<\"ZLq7r,9&9+)L`QeFVx6+c4$?3z?N4z)eAS!v}yj~B+%1N,<1+YaGUCA!r!QQ/s%;CuN\"0UgHCk_^^@W>Z)=[.;wf^UQRU3@]fBQC?[Y0>%e#URF{owhYA</yN^9H8^y^m`)Eiz:y{ciJUJy~4.8K]WE@Osim?PM.q$2P`:$w5z~[*_FzkZ(S6amz^4&?M%K?:riW9Mi}g$9Ba[b?fj\"`zmv.{>}A5D_r{p+6?ERr=4uop46VxV:otb[6FehG8^#g*3253@(d1oT>6r`g+(ii|oLEjY2zn~w}*cS]v]2v,)I~{!4#evI)ZHdH6QVe>%C<NyKJ>%f1pPM.&b=499a6;e*RrN>w[OM?LE~JerJ`j]Y%`>/\"9?3vX5{HD@,?}EypNC~!BbU(oqevkXExT1%vkXDE)nK[C9s,=4Q>@=}%om^=emLGbuAPVc%.>k%a_r:[$h5j)(tFu0`t>r|7XH4@iVlNmwms/^.b&pc9//Cf46>)yBLmlHNj\"ugK9_1:qZ(qSWT!7t)I(>&n/Jw1m^WZ6X|IcUzt&`;4Z&U]Qfpn2I0mwwYRJy@ZVA2sr`/[uwN`j?RR=>`qr9<e=QY|~b5%crN]m8#nnF~Nn5<V}sZKlU45q/u?4o;33Esd;n+{S]R<Qt=(j]p,4c%05p1c%0N*@;eR;54p3.xvt}HrY(c5%SxYfO]RXdjC`J<r?`DLV#G*.75C!CaROb+%K/25l2!Q&/6?Dbo=o$S40=Vie=~4~|<,g~5%]9rM,dl2@V#*$I4VsN?S4KQ$t#8VPxWD4ek>V]etzAPx5qh4U+)%/KEMf,+3*`0K6o1*cV%!%yP7]Oh*lGl0RCn|w.Z@>_H]a?6T+<o:v@Cyer#t;iww&HG)UxGujyX3+deI$qU+P3)Gk<<PhEAZ)[yZOq1_6$TM0(70G{Wh$(a0HLH{nH2fkfqW`.5RCH]XY#Wt03#Yz_/Z9+Mwv5p?Cu,Pb+EvlP{10%Hrj<B8HT{T@`N?d=v.6=E+>:OVzT:O&nnqb[s}`~X%M=vgq:skqs_cJty@dUVSv@jcjk<l=|{&|i,\"u2+IJEJv]ye5sgBXy&H[:+8+}cqHO_VZn&GKgSq:Tp]k6lJ4/Ck>GpvhTaLpu[K2VVi8P[E((OrTibC;9`V>*M6@qGn3({.Gd2(2G5uUzG!97USmo48)e4jOJqnBYhh]jD``0N]]Nu51zEMi/P<3}_9qk!p*|V>_D\"(7EEbqDD.T!KY~Sq/[Kn>TqxoqP{h|a%x%32EvDV8WE7`6$K>_RRH.a%L5n4>:;q7WccV8u..X>RE,qB|ptB&F~m]6%%ke!,Yqrd_Z3U.X(i18&wr*A2UO2P//;gqlUSHp/P6,u_4UqYxU#P*]`5&f~X[ye2dZKT+4R?O5vlvX<RjOy,*[97I;?RoUH=hYo_@|g8D~ReecvHS)x_saPbak+e%eq2i_hG{IBK:MFs\"3wT}Dx<b4Q4LJiLs:m)v@@`2QB8cN;VTQ31j8f8#@x&.x^0FFoP|4TBJ9t|N9fJAF<9ImSe~Xr#yo{5zi<fb%zwelx@.gR?V%&QIJN)pqrW=1H)ZW6ZFrcSW}RHir!t7<)v(1>rXgLOpaNDwc=aKQGKQ~X~wb,!VX:90}sPT#ZD9s5s(%=5c1o%>;5xqY)j{2PWcb?.8&6C#w<6AG{sfCu^AP&3^9MEHqz5G,[7R;i//<VZeh(CoVlP$8CY(VDZH2=lOp_Bkd6vx^)i3{AgTKgeMF}VmS,1Q5vXci9f]ZesYa`o#+bDE;)c+L{5nedQ1P9`#|Pbol^4[%t,??OBJF/U}E|0fj:YS7qE4baZD7TAXMw:g`wuz[3&LW!9*_vs09(f`pD>\"]KnOUsAH7wM%StRjA6oEyx%s@F[?#DbRBD#_B8+V0Zc77|+wbY&s@vv96o,hAQG,N1{7yzaSq\"{x1d:_!(96U|.2o:.QXwVQ~E][CdUNK)FZ#TSerX%5s$H6rX7<VmPw2x&[nR<HlJnvwvkd^,`FEd2D.9mZmZSQ[3#;<zbB>v.A[U0wRY6sg<|E4F@p/Ovd)!b\"JoX~G{)~r3(q`0}qNWVL8)Mcdh2^HlpzF>0[/*FhookU/M5N!mk4F:v.Cb#DOgVLnc6Y3D`Tbk#yLZ/Kzyq:%oGD^fi}m.6Ug8[!*#3r+QU9!Y@MhG(v[5Z3o:MZ[sU`hevosP#XZ>R4Vj:zp#G39cEgQNZ8V$/bNx:r2rE</EC)hH|vUk;f{**LCM}_]vy@}G^Hj*W=V7o?b:cY37pw^`N56wU4QK$$`>)hkoaqDZ[Y0b`?BKeUUU^k\"TJx!7L~FK+d1ni#wm[q7XBIQ`V;;89eYH^?C5kddij)I/tGu;L!aX7`h8YhEla~CuI$FvnF~k0?(rDMLsI\"qrBK7)$3H4@FKq|Yab[{m\"KX]#DqVV!gVbfw407A0kNM3k`lcs=azZ5V7:[(UaW5`&@?$Wj`a+B{q{RJIJ^\"=6sWkP#SY>uH40nWcVov`~wVsM.80?}M_G^]/t<MndWi[Wh32k2)@r/~rhlA%A3\"?P3o52.z&vu3~YVs2&^Xz%bX=C*Xf13@`e/#_9k^Oa)ntqS7,+v=H!iI]R_J1?bRtZh2hS~v&r1C.sp=m8/n[U<c5v&)9IPH?5r?(R{J^>Kuk8E6}]s$,6xok{;o`C/w$\"QK<TKwao*k`3vv)g]*{9vn`_.Wii7?T9x7~Y>\"l@NM,E0?)be5_6Ieo<#6AJ]/L\")4I%B8CA,},Vy!`fpBHhq&U>;(\"q]ZVhVZVyqL,t#+uR5Q6La2c.|OLD%ANQE&49XV%KW*Kmh{q?(Hwh^Nf2%;qp~GHyQ%_y1=O?(@*3fl<a|0Qq/y1V2&HSX5qv>Cer9$d;/6<!FAx0pVs{l>^cf(Tacv`Ck(q>7h}NEO^;%pI[0&`6be${&$7VV}NM1X{0=kdBS|V~$ESqX_so{!@}0v!_C1dd9_#U!eUK+&d;,TZUvRd#~{&AZES\"jGi1;d(Njlx+,QlGp;J/,<3JnA1*U]@7g;@wHRGg}3GlSlE*D3H}CX~U/i%9u.94@EpB3Q^Qf<+5xZaE<TVg8su^@TKoW{58vi_[5?o8>[dAOZ7BXV{W:(qFt|@,1_/W%11Z:KlxdmEuRyoi00je,D,`OeQH6/6*bkWq{5BlQ=^b6}%[nS_q8Eede[]i@w&g\"pVhFNOyVWEigK,IrJi}Ee9Zup#D6nH>AryXBAb>2TwLoPD4oJNw#`tC+@z\"J0<RhQt)U.*^S}VOKBr{DbWt4\"zVbFqaIX:_gZ0,RW17\"vM:%31P4!K*RD]pU&x?L*vAol1mxz(K2p1ubowqOTCvIv2l:6%[Q%F4/bo(/gBmh)a8rDWc;(qjZ&q!t@KDV>KlP^/78yM3dK${4prn$CfyyK/gU/VWAI@l]$L:~L#1_vpDkFRV,}[69cUz_s:wpqiFsf9knjJ596qTii01fAWn?PB6s,XnYt:@QV7mv>w;V(bf7AN)35T^M79y&qfz=hkmRN#)3^]|+G%MeR$iX4V^W#yW>&pU>&`9=E7nxx:@:j{8:1:5]iz?4K8soXu)XChnYihj8jFT8jnV72^}`8:}B6hPyQeu90_PwHEHVU8]A~JO_SL+Po.OpN{vU{z9&{[[,?|EnVrFPM?dG}UL<,([4^[\"NahbCJVlp.8iYP(47qubsx]bO3UFr%<u`BH<jM3o[m|5b~+dj!O,0G:>PbkNolm;Zd6UY]%=TF,Q/Q7z>z:<ns&VsyV[s0VHq8>YV[s/5Up,Sqhe[Cf]mu&fsf[r&\"bg6:`W>L&`/m?4@/gC0v?c3[`m44%wc6vkdW5~T\"l;0#a9d@G!KGzFNfLrjT)0xtCB3%l0bZUresd<^a|~_8n6|jS%|if`;lq/*3q/|zbEojdFfXSe?p/%%yUG[fPQJ0FXlH~LruxQJn/.Uyl$Hw]P.r;8n#da3T;n{2K/FeHfr;z@Zk33jSvd3`U1X/U]GlfZvdeMSwKeh*)D6bS7bFGU9|AC~]K,665I+>JCpgSEe+3dU^kHPB%Zhjk*z0dW)BKAKZ%K?<**!9.:}ux?YC.K:~}~R#dLUuF@7z%a>3<RBr82H*!P,+7KrU65ojkgS2^p!j&#%Xr5j50J4??;rS+AS9qW;Ecd^6eMrc[K8%O(@R3Eeo3`]+xT$lf`]|Od6]=S`0%c++&5OZG_6118`x@gOV6,}A~V{>?2aKRs[iQ{~l8]@x@kYWf!+FW^lCeM3<JM$t1o,M_cEML5/O,{kT{m40_QWrupqmA7i5xLE}_XU&[Jp=RfR|@{|D]E:Z.}>?Bq/@`4vH9B~kL!Os&Rw1vSajYwewIQbuU~XA2tEDt1cAAGH6W$4bX2Bdy*fHcCtS/+0feMb}MCyF6lx4L#*3LAAAAAAiG{Q:CTDBX|+~K0lA&hw9J+EZL>L?Wr]g`nPgbD*T<,~n&FK19?f\"L###^T|{<VO7I5}\"|s.]/i;#Mw0wFax>MwS#JvMM;t~@bmd0@m+VZ+|GtSRv~%UxL!MLBj31@]kyIc8)IGe]:g<$2.icpg$/a.>LK#[u(G!<iuz`/f|(LTJA?IC_@6,i>be6AlGeI+*R)fIO![J:4y5})jhbHv[$EuIaxqE*LK6YJ1ykUGOU1Id!/fr?;Eoft[5yW]|h|k<*p94Wzp{ql7xxRa`j<Q;X8bB]v!{q%:4?,c^S#GnUw#BL?,Y])`n[cv*BIawC=MX;GZw@Ly&Z<9P7a7yWEErk[XGVzaY:&_eAe%fnVS;n7?@nvBPA;#_q0s+qdexWUM(&]j5KB?.ec$.eV9=WW`Xz1{y&<U&.K|yoEX4B`^?~<D[G4b/_<?Vr5D2KAor1o>MP[83Yiq)T>amdCNsS{s.v1Znl/Rl<,k*5*Lq^S+(dly]OqQ#4sMng)aK[3gn`6&BYc/SoFr/=Ewl3j:TV(4i(q+Ipq$ul(sK~C8B/u+]}C8*_>/$:Rf|T_&*YjA{]fPaJ/*Ey.zE>O$.O2Wq?I4xe3ukpJ~dtRWM<Hx<:OvK<zn?*S9P~gt=+<(;cP[:pz+$0j>SiSwdvjTqP~$Ug&.xV|lu*5Uk4Q[WED;{E?ffl`[Eums5%ShTnwhDh7(G7Q?U*?:m\".gY(TRFZB!t=(It4[OWaK2CduvKF/f4`^1|gq%R!)zmJA$]6eNw\"^Jt5LQ6EOUsN=w6.x\"mtEJ>%))^4&Q5]&t}rn^x}g,B,7y6bk2w4.Hv8Cr/w6&1ra7.w_=[guTBik)6<e$:`m#3b=02cY8t]v0_4O$19)pB&V$zri%1`IYioVQv#?dmv|DD5j7,MDY$|L4pg|tMWHZcB@)^p*I6g6muxzvDGLQ{BQMWRfwGy$bz7F#J2EE%5qIS;);pHdMo|E+aT,}s.O9]V;ZXz]9QV9!Fb@Viq<*%8$QxDi_x3!0+MC]}8jQ])!r9ciBbWwiakH!VtTQoHTWEg2kikuF8%:X8?`FCC#krh=%e;T{,4+p]IT}ri7\"yCxl$/I]DIo]~N:Ag^>etuXxkLR=7c1JQ+t&ZJL}|*kmP\"l@=j+wT=:nZ,P18T[X6.:&L:YuZfJXLRxq9vdxf8}C=k~<ntz$cYFOft:&wE64L`^G[T_(HlIpV8\"c^tf}r1T[J6:=RtbVu>tp7t<dZR%=@whrh<,EOm6zZ]e|`MqH[XDvxkru=u@w!Vp*oQdJ[jBa4pLgDXS.xq}LvGG[ArN*5r`j0!tO6#LeHh|U0cQPx(Zrlvw3}?DiL1UwgKJs5^?/F4GO[PI.HKk{RB#BiLudk%:><u?Wnc;^UKk__E$sioa2,OCHeTPsT#[7fQHjFl5om$+4/a8g?)2X~V?2/&|K59@3f>qm_;{OSI[@lUOps?S\"Llu;tb_QDhq2cp~E:K9&>=$l^OU,qsHs:R.`tM(t50uyiT6Ww6(h.vbiQpLsd;9ZUV<h;m>vlT?l6eX1q+o=ps%CM]i}L\"$>m+?SY_Tw\"aVw3vB1oO.$Nv`Gf?(N)#xxTY]U=f6o~xuWJ\"QH8foqgV[/?wVk<7n?ddrZy3C#X@]CM4^h+Hc_xn]wH9jpx:k4jnXQ6Ii&]>i>0*)k.I>P6$V=`BV]Iqd=kO:Z2mi=#?P66sVRd*!p/~zxNjC|<LKs0UVk]OD*Bb.^hvaY(|*WK{+((r|R%]ka<1$yi&Nzn7k]Phu8O>hs=P.Uw3f?t`(\"5+]z8`,zv|iSt/%j9F&\"Rmj2C<JJVVRM}#(o?Q5|RJ~~_$#C8oCmU[/vW?(VZbjFXYgH>GC@hl+MpgXUz_W%myP]H~9</=ipftSLO.<eQ4ybJ?+Ncxz$JHbT6k)Z.5J?!Xd&IuDy^QBsn`2X;IAT+T9WmlBD30#)5rv]Js5Tip\"^Y}|x)L&Vv&f%424QG}F23(eudDLJM@GrUtmZ5er&p`URNbB7Ycx&Bx@0Iw0ijA]$vK.8M7?Hy)VZV|~58k=HOd+wgEQxtk?Us~nTwD*9$q*&]uI02KTj5nx(x3&0~9p,j.[^B*N.!bEZS,Mx931#{D54</T.;i?G^7N{9l>YwzfZK^RZgD0h~|j3HZ3OJKu6LS|%,lHW2I5>R3jKp{AX:ph>&a^mBViblo~w;l4T}GP64%T=a_H5F]pDRz$9BL&HfdiNF{kW)C_r+MPe1md3cKh+FU|;\"tsIUPbaiX@%>`T$QavvpFa{5>L<aLSezTP#Lg={3]LfiMoK4H)IYpo#D`\"WWR%)iJl7Gj%n?<lK7>o[UXg5Koa4xUhnIhNa\"pJ[:vSZ1w|QClj(!Zbs6Ae)>ehp&i?J@;e,V:4*ONiK;RG)5^[geOWk|qwGXr^F{v@O8PXh%7b_gFc`d+k{JrnwSm^t;JBVL+8Yzs|HtVk3%7AH=V*v{OlZ]=[Fh4eV4WI|.TE5f;T0qS[wRoyLBN>+5`3MuxLyev~15Xc~6tJchab}NR&vjwXmx8YP^&9+~/RBOb61;|sqfmwmohV0>9n#LCYeWVIx_27(v;o$Y,w<s<7fZ06.?)08CMQrGuUB@&MP=,!qA<.Jb7~(j\"HEG^bw&%D&uHznWQa3B},P?E{VX]|~RjjBu1wn+`%Tr^??Y3Bnc}NF<4r[u8(:GXHsu/kl6XJYhdbZDs2[RKW,;G]/b`kz<tO,HQ`/%Od^rZ;tf}gRn4;Y~02k99Adq0aUW/Wt)uW.cn*:CDw\"MdE848|oeDkOc&V!RAb,wmoTg2)LWX57Tn_uusnmkJB*L6yG\"8//C^]+`*(^*+TV|1.9P~qId{;M@YZ^N/0qC9y]mG|D)xD|V/_yor3v/7*`j%#k9\"Q[WM3EvR=d5tDV1&r8`X>7Z=>DpEey}U|bNaj\"K}Lt,*o@OZzi>GapE,CD(^./G7|W:ghaX7p*MH&,|T&IUG4dd:Y&vq#N`u~_qxH(C#;%$GIOs:R$ax/=Rop.m$=q$ILd6@c?|9*c4Re,F`j;[rD;b=f[7UR:Mo`g5T=~Mh=jR.*,evYNL8?RBi37Cz~ys2G8^?4*vR%v*PU,=j|yw7^yyRQ(]Nh6**]Xq+f[}:=}%d0#Z,ii|gQH})n,h%;1Ji>mD]sFb{3n,z16?fe!xtv=nYf%!Bf$SJFINSD,Hf}nUmO8xQOpY(.#[`YeL8Jw+NauV;dQaSJ%~Kzm9!k5YrI#a4>Tqxra;f$IeHNcmQv~F>8L#j^F$MGcAY7u1}`)pnv}=Y8iLo6xRhIkwV@W9[xA|G[BsP*^5MTZdOFR2%w6ibaY:=z@KtoVO%RI/>U%vVs~X/oX!$IO:e!({7mDBqKGXHqP5n!E(bX{Mg6MyjYIdK;^Ca_fKX,n9tMc$XnNXK>O;:Q2vAnVU\"8544^:J|@_T&b6:G]_>NY__<Ry{IwJIXuNff6%58`)Y>:x~:BJvKCIM5o/|G1}F(#GE^RD.HDbY37?bu_X^0p(wX*<bP>ZIyL)G`^J!ooKg}>r.UlWxp4&0b9$nz9TkICa0_~Tn+T>k8B32=Aluf9^Np4whPnyWHD$R_u?^/znjOeg6V94x&]YeeMah$!6d+G`KY?XQ4^ybb)g7~Xu_bYZeu+8aY+LH*E@nw)2e7[oQ^E?PgS^kw38Fps&Yqb4KQw[}V>Gtm=!_6gI)]GN2au<u<R?PeCqKoe6Br)f<q[@/F,yKfO,sr;bb~_wSP$Tw.E2WjZ6{x1wL1M;qku42iUlBtRro8diRew/xjY+Irozt#djm>a5,(u(Jl9J=O#NkU%WGiBMt(::Rb1;(S5r42(7.?=WgAP|PY73%!!b7kAT*_[Qw,f_IoItR;(MkaPXb}m#@9h_J1fhMBvX,K0UX#W06]4<1HUgC~N9/|e$3z*.6B2&w]@KgEa4p?G_Rd@Xx2h9Kso]uVCHb1:c(6BwhbUg$~9y%~!E$ot.&08Kpt<4fn56RBY&K>49h[.s{5/]_2uFo@3_)y2e_ZH34nQV^7{,!r^8&QYg@jKl6%fn$twR?va5i2$:t@mgfkT<%^N(.&$G_}|.VAs?#<H=KTLJ<?N;.vD\"++i?kHPLc4vp*l&4d_Tnu{0&su];S:@A%e}:4f%JPRGEQATOdY3!l%HvEY{v=Kbsq?tG7cM!X0zOk:Yt5T?+PIL`G<4Hho:teKMF|>)L]Kn\"*8h6|Zg,v2[.w7>Xrf3/1I4k+#{lQvUo[V*KD7GYPu`WU5K0wnyDM1;BLh1Mo6uK/rL^r24fX4xm7*>rS`NgQ/Edr]#3R=Xzv5yF50M<l^rJm!0zeaK.0fdgBLns1IP;g@%$]mWhM${eP<<O)/j/9rqIVpJfuT$i<j(d6)2d05$]emL|GVF08T`.d<sx^ue%g4%l@~w9Va+j([,)D{aFRn1FmAv[;GVgU1u_>b+y[S&ofw!KUrU$8L{u0)V?GJ%|^AI%L_|&d^?M~Lj%`<\"Rw:\"OW)zJh@B3~cb!QP6Fd9>|:J5u9=vgQf#y7&,HE?7.8R%j^w2C<2>8eDXpOJGk@:!vdTjWWR*+*Jyb7hBG.sbV9U]:y}W}IZEv\"Q#29O_IGbysvgJeBCKE=2g]]a2$fgH:=1Pcux+3~lW@%CB>[#j/I`Jrx@j2&NKYhs*UZ~16Z\"=B+}W%J>]r!Sm7PmV^7+>&d|i[`dMOHu8HHUx>v^#\"|%nnNVFse&M>4Qsr.Y*g<gG^k>P0v[r)Vpn?TIzaj1~_0BWRPGmFz8tgfKV\"#[{<S{`Yep=mGjS.,upK(JFKH4:H\"@N)<5&/F36V*C,6RU}F(eKP.N{d9SwL`3!6`c9Q5tQ+QAD76!@e|*:giJ189CO~/a9HZVc?Fr&gDlZQ/]lZX|Kgu?.fhAw`!LYL,Q]OWsRFDN2D,@tF6WMBxOTo~>35*jxF.(QKWt5n~hZv$ajM<dd}7B0(F.0^Dv5H4w5/fi2{D2?%B[qjlUXR_goiM{oSDs2/bIQ#M\"[_.CrXFTH}Djx(tGZ$x|jef+zWe)8~I&0[k#b~QEiO7Mj<y)l6kl)Et8Y9.H@%t|T0YVqXTXBl027,+E=lo)f=k~w.hmLV*^Pq+n:EQ0#},=Sg)FV:b%(LY+^&081&s74gtrHmROsK4^X!>]muN&S^~2!atuH{fT1Q!&$_\"yxz?*tRqdOO,a!C/)9sENT*2|f>@I}HLAV{Sj!t@%oXw8,GIam0&^>7&|b4Wx}SnHKmL_tG7Y@bsfz[c8UNO_XHLa2P]P7K#EGdKPgBGkGc0<*DY1q0HgvS2Gha:/UbcW@<[Qaet{OX`^1hTbVwNV3\"Os<u1g,5sz$/d{Qj1qX_u[,}EWv@H|HN$T7bj>;jXWK7b@RTjnI@z55L\"$U=.#;}#p$5YwOcXLY;:O~T8dWfaDx>#BRLV}4e8Sbm(X)(n^Zq7Sw\"W|BT/(6T@95*~@0^Ovs!It8S>}Pk<DalR\"LPoUHQHijWW@?fcF&ho1fSWgIi/_8lLO`V)./LpN6lfJ!$>ryKnF&>?Y&r}+.;@JR0D$9]]Benp;W[W7aQ0naKFs|@+fV%=:YnIrGn}hyVa1LwUc1XG\"Ok]$T_2?b5kr8>z3B(?dJfMXoxO#^Cy,4\"9EvXU>x//VmXCtM3]}$8smT6^(Rcio7>d+ebg6~@cl?+?Zd9UdCBI@.,IR<;B!nw3BR5c:iEJ%>tR!m3u$enI}:B)G0@:p|72bePGn&B<KpfkYK%g#P\"9X;,KMW{\"{_W9Sxa]C]RzNOH+*)CSWX&.{4&XG{@Q>9IKwj]*{!+EkEnRZOV1v=ve]ctp,`S=%oYHo%GkR5CK6wNWSqs>l^984MBCxE~/j.T@qt?T[:,n35MA?{5)i]/R&~lX+R|>ptZ\"+OYi;oFI&uRGAL!1KYYR$;3eA%JI_}kQW<ab4e^ro9T:K9<PJGQPFU]sChDUZ=\"%V=2x(LV!9K2#71sNG5R1{.IpmV}&b5,kGS=[{Pt0gws]Ift[!g5:ZKWSH7}10<VU*4<TPS!2q,*<61`hK;*az&2H<Z`Ao$gz{W8g;nl|SwDY(E;V21Sh@!!E6n|B:K35WB.E_pl*H8^E@x}<D!I*K*1/I:A3ddH\"2*Ho2meo%T\"@pU&ssAbrrX9>0?g.{Uq4(YZQ:FD`.min5.x\"[1R=omut0$>*FiUghvc90HFT;n1Jf;<zKBig>[k+.`Z|9YaCU[CD]>R3A%yG;!qg!H~+0PX3Sq~R]w!if,\"8UDiN<u%t|F=(.P,JHZ)PYKD$PyH^VXUh/[,]|.*uha2;`i[B>6dk\"OXtxNm@3pLyb,^5:L6#Ut1bk<+Uelc\"O{,jfG`wAl+Gf;`%ke!Psx13NFXu_}+1m_*()5{9=o),MwtgtH?1`Csethr!]Qm<875uQN%UtfQB$aN#%yvW`qe)@SUa|0s3v4VUWUBRxhc4ojOH$NRnRMLgab2K`@KcQJ_B#Xnw0FFQrU6dug.;W|QLyd]GT?FWi]=(H=<3E<FQdqjn:l>Qc3?Sme@bT*yUGF,#1)x94~F=S`?s~~HPZ@p,ut94)w(GND)T%.{dY6b(D`OHgeo{#/ZY]%?|/HI_v,Ax7R!RdG3a3NkKCR=T.y!4(7iGDd2]ALjn7].\"aQ@`(\"7gA~+CIAM3cEMW>1l(xBRAMx>&=)4!Hb@0*FHwZ8_A;|=4K25dzSTcJR<Dz.\"]Bd(GyI(fb2Ol,lI*aU[{Cr\"&JaYG7f$m5He$95EvKD1C=/}*6a2HC){~(I}hWuJVyEvw>y>~6#SCqj2WfGl0x2/ctF{fk\"(#7l6GV22|IA^90lsyv;2HL)vSe_so4w/exxxs_\"w@P3:]2)|aXH]HIWeG#}MKc:`^zz,9%3*_gmGmYywB=9Vy%|~z7M[q1IeZgtzsGv%pVp:t.U*&*F[&Ery=T64~K{sXN}^+9NG>wKtxSy|$E3UQ#L?9/{sD|XFw~N]l,~!l}fz(=hYM`zEr2K7UA[B(IqJ7LDZ!P\"dXf^vyV=![9sdM:vb{FiT(fY}=L/1Auq46I582(\"^^z@)<z!dW{d?v,+l3R7Himt=B\"_(0JMCJL%(BJYw}tzU7)@<}!tzkWlOdd}Pj;X#:NVs.x&1>f!m`ko{UDXlFGjK)v_VrIA=N_9{QrUB~<Pzn,i_=t|U_*^ZGUNu&ax4ktv\"[_fZM$,wlCK~a3,R$1g<xKO$@K}]Zh#lk%g>h#yCR?cyo.Vew#?J?7x|>U[!4%PGK\"E2cH%=symK6unpE::z=d@I?}qCF.+{o%)Nb=2l1Uf2c_bMF/qz#?iFmCKubR+d~z(IJD)Q!f2*nFjEz.llD/|`naJiybBR/QPi9~|os[l_,lSH3mi~0WpAsq&]WRi336{W)uja2CZX~ntW,)B:W3Uo,a]~<fia>Ew9F4.8j]s_K53gaa:o{Q#cno;]P1*hKK0.S`7M</IXGsp1[@KFo&Ap#:nMJp$ka$OXRVzTE[Miet8BO%+=|px9=S<UN.~ke1`.Lmdw0L>wR_I958+ijX.{wm?B$/LqV7X<,sL[>g<w%!9C8o8.GJL[w!jNw9q(bdYhlo[2%sPw]\"dT[=Y6.V&,7c:?`X6Wyfc%S*|\"apW[C4LG#}HqU+:o/cI{`!Id4:,PPCBgy;tn^|P!fYK;B^\"OG./<uecXo4oy5!kTC8JFAJ32G%~1CR=d_6WWK3yU(CCnaV<aj=2ANi0}+}SJj:!.v5~S+djR(5?XX1R]Y76djKA]$s4c0!7J`R{V]\">pj@}>52Ba[G3}sSWCyJkX,&zR/VWm!zS]}M$Wg{NurlG00mRFU|if!k14?a6rYAMefS8Vwj6<2w25.TZ2g_W}8!IoyEZK,&I71k(W.qKgyGe<y.*0R/<1(=hkpf;):3{O_1!K2;j{9Cc|{0rZ7`kS39$1):YL)c.d@0s,9`_];%<~h;}v}$#A9@^/]f72<$yKBf$91BE2Y2_SF{P0IiNG\"%J7t2KRNoD%_?7.^IBp9$+^U25&+28uwnxe{0#mRf?KY{>_>H:(E[*UMxn7?[wOfjvgNL!0Kk5+z,qz?9A.Lm7tfta;qHf8c3E3N]vC%p8@$!hVlbek191,RwXF5{tWKE/\"@d|30c_X(4Wg+zemNiQE9493f/0},t4]&XqrlT)W,%}OD(H~>%@^~yaE2%b#(%Xgo~J_:}lHP7J$3FGmOi|>}z#?jg#Zjm{,B94^%zgqkY2:Z_0M\"Ke$J^OkL!n1cS)/JpFnB`M{q}J0Y]d4NM!pD[Vit,$UzrSLClJu=K@)c,*0o.}tj96W]Zw$nhXJvIt[cPIsD>XLKR*qQXo1_x;[l?F]rcM_~WGroShy#DzP4JrL#8b4?5QbZNr2`NYl7ZY#b/,RC1b`lcp~G||E}%:;N&@RBwZ#4DChqJ#()a.S8oe}cGmeVHhZn|=zj,&3vUnt;@@VX2oZ({pOFk$/ra>e`rJq1lDwSIejhD?*dLB_EsU)RH2MdioKCXO?%(zcD/Y|;^$TqWUO;5y4z|>0ku(?x}|C$NelxgWoe&,I8_xN7#)#>=.o.{NV5Z<*nQ]:gs>HwPC`ARCmzz@)XJMB[_,Wpg(Hi`va@h_h/v6D[QceJ6OB#Izs,QzV&>i!GX[Y]h`jGqi*DP[ZjOhrwL6!ZQ#*BhA#K5{V0Mn_9iEVQCC,RCRk`lJzpb>i+(WcDei4#Z/gHHmk/]KE%[MfQHA+P.NGe,a|Vc.yyTx,pGsO7dI|%8dC&~?=(vEe.~$958yOH:YgXGRI)iCt@3bHufG_4{&T#\"pEik59(P77(uc:QfPG)z3|ip&w#!zDgTMJo&tHjoa/R85?%%S%exy+UmD}I=+W/mC]wj65uHh*`U)+zJEC,DU&PkXtoW0{p>r3{9)Grb2{b:O7L@zLmh{&v;}:0VQI8+Yq2U]`fbK#4hI(+A%=?M5bY:>~khdeL\"}25Mw[C@3_JG>eg[n2]pJDH#B}}98s*HwT(8h@Tb/2#BGS.E@VQKf{J]CH`9V1CVc=_j&#n,GgkZndbbSo*!DUN>x,m@`NheIO,EMD%{,;}uU0R0QA\"~eRRZWjqB.P+pP)/~2Pqf7qSWB%AX_TP]>1,1D^kd{D(Q)%[1n5|_G,fUjO3p5^V8aq8nQhbVd?YF>j2!+jQ2RNM@/k;#;yoGR.ZL}6Fyt^:![c~H^6&+:Dw@VG\"j{pZBdY*X+D,0F2yI=LGBqH9t+bzX[f4=/Ry%3/VPl|!Uq(O9BV!^%c}`3Y{+v7x7L4GPIr}rP15UxpyhVIXN&35/`?s\"mp.XL4Y$#Y7R4h[E;(ZXW\"aT2[T=%@BDE6+vZB*Ap_udCzQoinsTSBNHs{XWt~$(v%}AU3=hbcsNk,Vl3h=$f,]V1Ulv#Ku_d4)P){l`Z./FWz5F`TU6RL54:Yt#tO3YCKB)C&r%]Ga`:.g)zi@e!+#=7$XQ;,!KM?T3)@c)yW6[h=!pc,~0k8O$WtVfu_j]w`]ThvO~Y_nuFQu+#@XEq>P5cUK`R[6g$XZtNA,rC[>N2}&e%&n%Ns^,w=$=3(~z=9,=.XULwHEWaI+sl}Dnqj~?{8$}E$P08|B$zyt+F0NvZ`}AUh*BPB~x)1QXNyPugD,ZfVKY)r5zQ2~0ToV~rKc!b8.z?8o|8:ur1FDs6D{S$\"*S4Y^/+Y%kld,u9p#F~%FJ|8?#R6IIwL,ik&j,D8jZ$OQ|#+QR,8Bh9RZ#F,y)GXIGI;T)>9PP@lAYN^@kOenN85z1MCTE8HmQTE{u/I+xXlkksYF5C,[]0BJ]L16&>!G6ECq$KU(HMURd6+WNU#ICE8>f;pqeHHz?K$EpWAHg:ztyF:%vgF.MLS(5@Wj#\"BO]TLa<EYG%\"Cg8Ug$+{ee9_|0S=HFK5|$.Tdtvi_<Rx(b,Y$(^h;H_Lbe>RvS+C1DlOqAR6WPcI[^PnRQ92Q02q*[I*R%+r9R`Uy<%>#!gSNoE}sT)P=;_C4YpVMI^}+9]f4>m{QxBwbS)io4Ho_yzSIEZ8Zx2ixam.o+~3iGZPZ!_iFx?pew1+rZtZ3w08m:IEDp!6y,C]Z8pMXI[2!(9pG1r$a[~;D`,$l2]>02&R%L9ZZ|m;An2vrj?#;+0ie!&5mKH@!|KeRA_jD>V|1?yL.~x4{7>r><4sZ_/xN4JB>5QuvFN_^gv#,Fs>0r8fn~)q+H=3BUGGp^hda@XEsjy7)B7\"}py7cf1S){},Dwc(fuG5QXOVYXdGA^a*>tP/MT8[#S6_BH2*yCB}OIV/dEp]WG(h~A)$,fZp}[0LSh%bS!~?;kz4T`4MRZKh0Cx!LzCJNf|XN0xm_9(Q~tnx^,VCf/F9$L`NE~A,(Kx$guh+:b.3<huJe2[>=TBy6<OwgF5u#mub:7O1V`Y:nh7cyuK0JDFc&ETkd8ab>Zc.mD2+3YjC@Je~=&;{hI0Q|`pZJfK5MIfOH95W)HdKlS,~j~v)z<Rtt|2Q~ydc^/,yznDccS{eHuUNypm,[f6KH%LIPjf1sa6J96m$KmU=+Q9*PhcJaU\"b*nerkxhf1AK3D2L]dMQ%)%TduNUNSQ{>?QoQKTPzmBD.m,C[!1oM6x@5FN6[fzCBl43)*t8<zSkq|$gia\"5{5]O>|]|4pR5lmqS#;[zXE<)c7bNz+O%]q{~*hlgPfjZ*@WStnTk=ln6ob&3O[ZB0QhFMPsy5N>6zw_x|E~$))ISg}_IzJW`T;*1@:O;+`$aGT;wu$(1aJGdcZ[_E:6q@I6#DZ%U))(6G1uE=?uaod/iyP/$728z&.x?hF~Xch:\"AQ2M4HHqri:`7u4H9#NYq<<`!F~}AJgN<p2k23rc,[pWM?z6LeuVWNbMBf}o!VBZnn]]nXK7!}oN&%aACk7[K1,lktk|?gg=zY_nt+NP,G1Un|HIMBthv@<^X=&[9XeJPTYHeuDh1H2jCQ^o*;+,!SLj`>K>x`:%dT>;$|F.Wso{@4#oj$xDo&Zp/#tm#y4Co!8<4FwK2ZJrg%6FtP&Sm$dD4b={W>coC)GCvioz[P>Iu1}PUt?Vr[XZnNK~Ei`^e9eQ!q3H4GWew9;:d[g1oo4H*!o0|@D7,oEmx!&Sxz=]N`=.tnhSRiGZaMN{Zq~r9zq}8/4~o~!JP`CV2j%KxA{RbDW_MbR`X59W_CI`P)y;qAP8nm(uc4/wNn@?9CJ|tUX`f#/c`i7pO/hcLbXtJZh5st8nf]lviO6w~&7~cKCSV*5xp4}qEs*0mvX_.,y9KD:nM}]lz_&i]AHP@jZ3hi{Cw~<d@D,.T;0_Ghmvo_HP/%OJ~{zl*ct*B_j#/%rg}3(]@pIx|C+/khR]NE?$DQYgnJgCDz%w#RV&D4a?>k6nuniNVS$iS.0z=K5HA*kQn==/s^qn4$xD~omCS=$9jSN;R[:Ol|%t$2q`:^J%HG/I0z&PD5/.?<9OB97fBF0sNY/WejCc2rO_rtH&>U;5gEB\"/_=dtOYaib=pQmR3i,uvhf];ODCj0h/fxG#X>ViGBoNi%D!TG_{$d#.#HY^v/kmU;43(nkUO(?v^K5.eW|xy:Hz25[VnUA%etI04%q0q@S%.8e^0?9fp,w;J|4F0OBWV9hPXHy,BIg9_/6IxSmQ|*Iny{E9dvX@kbgK]/_Tnt_6H8_Jo>lGYhk}84()}AZj9$}m#|*%sj@`9;s<Y)kiF|vY@kvGhgNcQ9QQQ3^gz&yag!moN}|I%i0?Y!MCa\"Ibt6j1u[wSk.g9L2H$}_@hs8sH|`!>`~UNjEX_TgD?WTz+zG|waUzoSYbqgjNv<&^Ts|Aa3_qyd?Z/izbYI2@GR0RHmY1B!6W.f@PXsUX?VL*|t6y3uD,!U2E9a\"ON;dZJ}s*uFln#=T87S1H}m,k*Wh[gl7f\"#W@~E!3T;*5aM<##Lnr}@_@BD_:J4(\"|{l]OrO8(=K_9Y#GWq>yk$VxQ0i>z:bX,xbO#\".+9c1iy;MY3n{M%%z=W5ml\"7C]R67R<w^7O(5hHmNz3>kQEdv<mz3U8(8g;4(93oOqvYk,Y[FxNe?Mk@laq54@MHrt302g9Rh;uiP\"^Vk^\"V&=]Vv*;~Uc_+$om}|H=wHa(.vc}0a`YcPbFE?/YC>A}(Q{1m.WJRs<*Y!!AbOOEl`(4Ec7$xs)]`b:jlKfwwu_/?rJ*=dp?qbo$&X^<hrKNKNh>S,Gk5[Fa/t>E?V^xo]Hm<jk*BlxUXE^/x[jk!Zy[Y6\"g}b~7U:~1>SMv&8.LMY,{%HCOWQcP%3xjh[ZACc7Co~FRTOc3)^szy)65J[J6UK,:zL{H$dZv3gyo&.{nSd^K\"7DB`HzykK[g>x=UAW]JIp8XfriX`*zRu=I@:rpw3=D56>`rJkc0VK5fzQ}0%X:fk1>U+X=wDp`D<)__PzW!{e1eO+6X6i{fQ[1Jr5Ilj%!e@WF}g3H#FtDJG:8uG@l..6A~qz>;l\"AD&s(jlLQ,sQ!F+1dB;+!#>9v8?Kq3sXjY>SV4oC+l0jOrN%Pdw=!rO=;POr#E?k/wUn\"[u)1a=G}*BactD0)XIoOx^7%e)0bN<EfEH~|aNe%Ue#Rp%E;mo8lw4OM:t]K~:0!7/{dFwc*VxJe!>*=w:FU|Y5qh)=[[0jr+`r@Vq1[b7+K:CjYg!Bb5oIA)LA$f%j^7Ydqwp[N|5ML@*khbm!/%q4r,DHwqU4CJ7R]l(u9H|Zn4LZGet3?4.UI!}Ia8Go#cCuW0,3w|*pv%kXxRhq/S@8k_A,$DP3nB>G+iV(o6Rz]2X*yA(yO+^P=1<0(8?UQU!\"``+q2]:XnW0~1eJF.g;)Sw<.b*:i)Ifk{:~O_c)M1wlqA0Oc+<]58aA{.d3?XY~Bn^l;{OT+26[}0X?lQ)9yAo!@b}vkKY~P:;P+dms18X0q|8O/^TRD]<\"+3I]EB6r|5|<lv:Pr:^0cPIbn:e^_b<At_2y)DcPqNzw>p^.Vg{Q4YI^Cmk*v#7,?!h]o1gumzXyMjS)G_osmXzTuwQuH;Z}}n~!+VJy^C6gL+dCx:#3sN9T5m4j3pg|tyd7l+$$LfyHD{#rxyq#f#lNtDng]oTFPa7FzHG>oKr?@6:WXa[Eu[:Q2]ejXXsR*76V[Wbpcx~#:<F:DAsy8?)KYhU|4;F(Y\"Zj+hL+LUvHUn/L4]^h^Eb/|{PT/x`Bz2aJCLGwVq:`*YDV}{5rYdLa?^3Q)S+b=7K&V0D)(I8OsNx[O}VLS+ZLINCgC[b$)=XwO@lV~=(R~=y=}_z<EJTy)Ta~zPH,tM:]m^+q*{UXh=+>pUxU!2X>0EJ%_{*IJ7i9|}9dD|+bu#]gPsv+7r<1bK?{rcQX*0i`!|37j0<mj$k/NtH2\"=<!uBjKLWMrz,p<$dZ.y`**R5Tf~G.~YrZa<+k1je[twXx9aY&}ts9J}+Sq#csI7rY8@yRkt&;r/dg`n=jJxj]n\"(dC;!C(KC0(!#hZUP:$B\"`_>X<2%w>JrT^=3HOOtY2/[2Te&*^Gx;Xg2I0OHQ5F,q%]kVT.g>xd,cotZ{G?yw~*oxHjfYL:Z|=1O4OqTn!sTKf_e!Gx,4!?{FBjZ;#:+;m5<H]\":pLQ$50q<g#b77XYXsmc3bVlzC>IOG9!)+BOxHo}cK8j{32OW~YLpf?lTAC)HIb%QMvp5LBbmUOPTLeaTVUp:Fo{&KMn$1,S{~D@r%IVgW>7,k]$,+9.2?{.Z(;=^SMGsTU{mY/Y3jZD~VhRTu]p>eS2RVuDv@GGpc)z{UalQi$,Ud9\"n?fq=i8~GEOeTb6AB\"K$RQDleBbdGglUji/S?(k`tg4o>CJN1!>Ku7(~s[LYZU4&&}29bZpL{wwL<+[8LIn?ch]tmU8Y:275o5PC%D[0L|>TI4s[I!gi\"8X~&>T%Apqo^NUV)#p{>.F9=K`GNoWGN0~k@b!>MK&`K0Ef,jN_?hnFnJgBLSP=4D?]bay\"QY\"ya)5t$+25P@$gmc!&=EUFBP?qD!ZT1=<wsK\"NH.V)n7bSRhqM~ytv!5BBp~P\"Dfh>2Jzrxk:;#{q6%]o|hK)~TL1vbdLWeFu.a]C&&KBz9/xj4>KQtPw<b<4noZ@r@66&nrVGyCD9[):U.%/@zS?mOA([io`oY!;+Ml0LT8T#E=RGrzUJrmXL))Fcor,mQ_t*{,YSe251qWrrV|h4}a==\"8d93_(*PTp`M>{%lVyj;uG~@7L`Nfdl0>q}cd,7|u]IN%(,^)~p:o`orM7I]5Z,{k`j[66PL63xbj?f<fqy^KzRmoLX}U2,^KCdI[0bK`3.@OLdUwimT|ri)&3n6fB[3<)Lu}fw^KYEbE<A_qZ\"hkB%jW(zti[K\"\"jT0GxOn>#s!xy(MZgwK^ifKU1mf^Fe.H|XQ{/hVl!FDD7;v}tgN=DQ1vH4KU{GL69K|MFEB9L}\"MfM.=Av_Q}00IRlW(`X:fM|vr)ZL@dYAcIPUzjlJK^lQ.6)*l2^28efl?dbogR8i59se(Uo%/EQ%k^Oj^|Dd.dsQZM_037qk(.aoO$Le)pQNC!N*)6PFy9+%|IoTu1N=R^e13_CnN(DqUi,%sM}6&Zp2xTzvxZ$Qv:(h~ugz8hn;DZbXGd)m(;x`?R/U=w{^2#Lo;!*q}Hv^A5+?lFQmRXSKro{#De!?hhVp@T<>g>=_f.PlB}5*c5YpIv[0I|]`EBEp,G+@>nM=or*kR}#/Y=A{HBAMEg96.D/~#gc.X?t8=T}M^|4>9eZ|,[A\":U!Mg@kiyq=:b;?~q@C(i3R6lvKoAK$b|~5C|N~1#/.Vzr)U+L|ahTY~{Y3GakD3gH^hCd;etda*M(+_5:,i>MY>XLkczh0oia;X1/HG;k]&^eG&~VLZml8JO5mM}9E`M&7s+zTLdl,%KEh(jhXtFF@U#4~eM2;M7DfK3$IFA#;(_q&i1^046{WeI@*3_^u{dX1~wE5Ci8=nyG5mE;RsB/(W%6woAzk&67uaT;~>w4ME*SD#ek(?c2G@XfMQwqk?21J!Y18]{@!h:/%z\"v$/>R>5=,+s(_3ba4Dtgywy`t)GlB_D//r+,`:mNG?nk`tY2RnuZDAZl+dz$:O5Ss?PPTbsEjIuu@D#U)JRx28T?q`p5C4|eV0R7J|xs.NG?PwA|^HIWA!3BKTbkU@$C|wj@&j\".`=(WlvwfTb3G&n,ISUm#(WBRR8Rg~\"CkquB,l..*Ujjdx?!#Bo3UEL4M$?~_82vuy=M;s^@5mP<}x(,6LCjz;9,4Ij1IfX;%gVdgey/`J4vsHmPJC5THPmVq7ZQdIksy)pyQCtcc:16kc9CxOI(oh=c/`*k\"*o3x8J3+/3uC1/Lk:s6%+h#1lKZ{_&Z8u[_zTnUkK%Ql;hLSY*$=_|5At!XR`_^b.[OJeM,#biTO&e?c:LT^?WG3k<g3`YFh_QInp,f<}|}+0.G@$pF>*IZUb>mCo&oEBnUBj+\"z?_^1>,FzJO5$FcxoK0~az=QocLp7Mx659m@8X_J^][lO}lvGZjRc6]]}JdxBcqm#pA{#5uEN7!T7I!jEiVpTf5*RW>mpWJ0nu+ZZ:[d$qJvOb}!)&z*w@=T$bIlV7Dbkd[#hR\"9$}2H]0Su:6mFYB2uIL~@@F$M^hTAUIUfl>lA&{oe3?h4FsI@WtA;dRD!7DKO(4D?ODw(BE48|8(u|~Dq||OFyI*|DS^$aIw2\"3O~Uhtb,)|#N=]\"]D+($mr2`\"#4Rg([\"oqXJ1nn23j[_.p/2nI>+h}9FEXn[Rx^vK`B%Y)cPscxk;YM+X#+&;[4?k~m#!ZM[GpQQ}sKxG\"MdLMcP]M(@ImYx~Il.XSo`>Gem2<K1^&+!.aAe=wi?7`rgmCE=DDTvfhR}7nwz/8PFcY;[O#[+xmi.>N2Ijp~?;0BBfiP3|,ZvsRB<>J0hl9RO=eqPqfNwYNtJy?B(r4s^E*D`W8C[tgoC|W,Za0/9$FkorEf`)Z&iX~I\"Y%FRsjRs4\"6s)[W8MeK0.orV>\"3_C5qsj`jR&HOalpc]oyxR$X`@/=z!RG#q+g`HW#Xh?|lCm%u90c{27;T#}1Bq=(RDo%`WK+x84J]=.NoEtwWMq9*,ob+iI5N.ZO+)pKB+q<xw,/+=Rd`yBG;z862m7_k^h>=a{#\"{egLTllyw4TZ?Z5c>aKFO]D(kUxLXCKXi@mt=dB&MKGLVE,,7X^tS++6zMh`ix3TuDY#,P`h@J%4JO)(46?hzgsP;iayU$2G>vWhe>8x~[HH*(UI!:.ZS(TEQn).H&?3z_^aq_`qXsNv!a49SJycDo<tkN,;,D<J_H\"h5}}(>VJsx@QjUAL`kS!ibehMm@dZ$80Lt_,vNRb{7RuFjBNBvMa^#JH!&idi<ydHlZ;$[f(C0dZEJ`I8~PmtlcK.WDhV.EW+n~`qtkM^>!1B!FYcI|)O?Cp>+HnOnFU0hBu>3:>#]cAj>Ecj>2Z7}1eOF##3NJAi56bSOtLPkpzV$!+,UZ3msM&,!41>bmrgh>B7:_K2~>gxhQ1jPDHBM0kc4l5,tLpY.a#6yMxi@oB4ZXdg\"?@uG>qH*_a0Ap&jN?E~vLzHkf3HC}cU5pmdnhTk~#xA}T)fqWD;dk<zo[&}d@KTOhHwq#sU6}da_8avqBJy1dft?SrjO!8F$NFN6YwtLi6z3TFF?ZAgLyN$/s]RH`,T=:9dVvEYF/uoiUkT6RXi5i\"3M3xTHdJrN3~/f}rjY)VW1lFYivk@L#w<1BQQD7$zkBcW2Zn;/h@\"Z;Nb}MA4@xIa.*gr<f>1H$sSA;_b<\"d`=QT6N]A@Lh,[uJF}\"JK`cO.LQN^qSM*L+2[(_uUN2RKq/yz??`V2V#fSygwa[bLvgq9$)@EW.=a2=kdI*tw*1S~,sr0l~s2monaD^]R_fT>#g/(Fwet.4IPv.Z_Q}:z+0[jXLm:tpvUt<T/8Ia%D/HLoIl3cjC!O/LMR\"e>?wSGp0Z)gIX3lt9D4uJhBx[3Zvar#wxDLys&@u.q.m6#j64bQcb8Xm9p7ePHK@9q22ui0R%&T&J?$]M_O@l;BiN#8s5LvpHT@863x]u)l}_?d~50c&+YUVILn5=,ewBd)co15`JXUPpH_kr\"(>a_X@X/IIeza*$}G_xQ{.d)Lp(|xzz82D/hB;1qf{|&%%f)Mp*:Yj^\"`})EMvEPv\"6?Xm4Vlf`hDeWUA$Krv#_,mHI^H/sbxP;b[iLPK1>|weXkH0B]j{>>O6<`GKtCd!YU.R|v0O>r05`v^.$`6mF/Y3`N/zwBAz(g^}u[[YIbHKN<(iR8j3Xeh(]ZyyZqVHd+B_L=%^4Es`N{9(|RUz!AJKkZ*T2g};ZJ{i9u$T2$DLXhTg~jv8a1jFCyWN9\"$Og\"xD1Dk2Il$DyuqvXj%WO~CaU=OKB+PT#l.fWO3heOBR)NUh/J|X38?64wM[?\"lH$L#9P9F8!|n[yXCn|kQ0^540jr1kHIunqet+Lpjro_($H;vF>HeEsE!OfMy+vr5*_1aUMZC$^eDYRL5j..::L0R#[Jc|,=efG)3~Fb258`.,::;YT{p&.Y.c9.32x}|5Xq0W1aEd~DX<]t@6H/K8Ku%,N&gd/pG1/,GoRJMXH6_kzY:WOr<{OXHn&)q6N~!aOziGw;0y[O_Yi&lxL*3+N87^LiN@fk3g^Ngv!7)9:#FY]=+::2J|AGeR;#H=n`L/(~YACR<}v<Bn?4qm*<!Nnt3x|7e5n+7s#a)y|LH2Xz[AtiG{e3)ix0$ab7{co$qni&RxSMHP}Fvc~&J<<zTNf,$gvF@|NUDps#{vjH80d{C=~{V<%DSSa=qs0[nky4C>6Yv\"@*jp)Ly+ei+Po0^zqgy@3$*|0|~H_:uEaNltCwTV[CHJi|lsIvG69~\";B$k$bNb&q2yD`}}YEx|dUV*(7r=WB9^&}~t<tD,Q[K{PfZ~{@U@qy(4H5L=8{3BS&`}uH>~x5w7wb4#OuI%].pDHU^z$QyUxhz1hn_M^O^b/:NgEiZ1:l*gzCSV/U$r6?(O]I^Xjl/wgeV1HPtRud$o$zBoeBbg2V}Lvh(S]<7%!L{tNCe$UKt1xrW0_V*fp^G4$3{N!XCkY}QW)ZZF2UB$_PCo>d7.J4YKS)c[0:.i_3T@N:!QeUoKFe<Q(DIo57>]$y$NO?:dw]{?Q%7IqZX<ep|5]97s@oTWJ6IRN~?1~z^}<x5]td|(*KG3_oT~:~Qj\"1j9NF~YbRG>{c8;O$C`*n4LfqJ=d>!F@EqP|`,S/7gGzi]O0r^603qMh~cV2y>LFQ#;U*kZ@Bou8.i&@<S]YP2BWWy7{KSg4T+i,K=S59@)}bR0`j<XH*9^|<BKR:(SrNtW^|zu|7=jJv,r7Cjt5n*6,=#,1`jm0HG?b:],M#(n*f)oo>=Qr5>y,k6ptY5B$=S$X}RPp%=Jdu<6H<8S}]QEsXd)a_>}th<=Y)d1X#o`2#^&~U&}XEBSWKw\"xgzmHIoOH0\"VsNYid.\"|UWN]=?FD<kFK4;um><,ZiB?cPg1w=ySN1$v=qt@~mM`6|#Yy5#X::dzF~0TKYIzDNu{>(/<?QIWU{1T1tZ56s6hMqdvz(e&&Iw,^`G<5<aj}fa?Uetc{+#fVm3#&9}<jA0vSFB.(R9HTUMZ);D`}t1BoBy99;Zb3mJ6;rEQ7%Lm#+M=^~[O|pn]&Gn!+I2/.WbAJ{.i;y2b9Pu0;_:LH?DLZ;7T|3F_kO!Zj.\"Du~+Z/_)fX8],rM88YkIB#&/pbV!CEI^K4eSS+]Yl_^N>W(UJaCHs.@x)>$<oLp(>_d\"9!mHKnyZNHychVwP/W,)Y@\";P4lm}}A`9CaCsY{/zxnEvE2.oP)A~ym3@K;U|GE?1)&z[2f]}Fi`ELwJB5wk{GI3<ecq|#Gj`el7({Z%_aslKH(QSQ=r1?*kkMcdDO,3lZted49SQ>1J\";0|cHrMPm;YL:p;z9{6Q2e5`[3Zp/&x7;Wv+hpG^[Y/Tb8Zb#(s\"|_PGk:SIzEe1MXfy6i^nggFy2!1TkJQmCD;}a{7xeoFk3$0:r#qi0*bmPY]21k+e\".xlb]8Q@wFnq;0N:t9VhG@4$r[(vdB#<sf4bP?^:%0<RS&B7Wjes!LF+^}=4Jm~mL1_NYH|+7Ij`yb9j^1$%6r0e0Yrm+<=Xx;o3Go~4(M@in`p{d,+`X;oc]?qQdJ5sFMq_fS>1jz>9A4,7}8XZcG?6F<1#;i*+2]QpCFnyxb$Ka+Oe#F9)N3]y#=zdu[tHE,<2xA#13R<uEr{qU(~L1}r!{w<W]Qv?/?Db[xeJ%ex4vA%aurL2q\"eL+28x+&ad,_kF*V!j)I]r}+;O2FLu5?whAFBXA,Wv.yW?(c<`]hos#Eul.Fp9Q$;fWVQ{070ZZCs7egaQ4.~*AsGdGER3Z`z9JzYxW6M>EQMKM&ceiQlWM(tNS_!b<HW^|fzar2=~SWK_~j)78a!@<9&JU|2Ef|bfkve;W2hh/*b[L@l,Yz`1`LNypO@Tl8:K&!zpADw.]GDW]m&<y)j+y(ii8F<Vj>:aIK5n3s1^@^JgvS&vP1(|~e17f1wc3[A^k9Ic+iZ\"a*IF:`%HxZxx,hy3MIP}En.3yUf{ne11lWqzc#HONVTAu+^@e46woBcfDjj_/UC1HA9?!9X3pD4V>%=(.ue,>^t`B26^.fDX[oZ^WHF2|b?Z=L,]/oJP$Qt}eVYutUEb0uDTQy;k8@c4_QZh:m8udFj^cu?J]M$A+L5BCZKvQbP)TWme9/262.Z6sV2V9SGJr.Jb9`YLeU9Xa4P3U16GLIzunL%Q96Gzo)+!]S<x&(?yAfXJI>X_1kO5uoiG\"WDud9dS63vO1=L^$vEl1tu;y`/,+D|Bes`NsjLD$l3{jxV,3pa?N7!g_5S>n69$~0=d?!~Q3=od&8/}.%#<N6[o|g*gNMfK[e~UCqo2{ZJmFaH(ouMJ||rJ~t3u\"=GC)jQ4]Q>#(x!{_l5d}Qd9y$4RI,=+>dlVj&l:8R$+t[xZ6~LgN#mtY8b^YJ{N<yE@:qOK=nT|?(Q6CIX.DrSjLum>f\",T9pa7,nCeu3mJ0Xt)|k1OysNN#GzD2#s)*Zc$Pm2Hy88Mf2Z^/OH>Cr]iuf/nxO0z#x!z%o]:oU$aH/Nx28gs8Eq~nmo@hfKoDFRDMuL,cyee[BEK9emlsb1p?@fFkm<WxtuxUH1m\"{JqLGW:6+1b)+l9T[nWM0%!|L*t3M%Ot~!Z&QTg_G&ZNfFHw,1lYlOOVTR[h^HX2E9<+ehLQ`Ue,y8Lf;_>ofxUXm5#CR(Y!#i7k/#qUec5OfkWNB.o+?kG1ie&95)87bpekDB=P:.FhmMBykoOBD,%=0<Wj/P0|{B:8+P#>Zq@Zb2Rp]r4WK{^oNkG}gu~3^H=sVJV[ddbi1e},AR.>y!##>xoMB(Q~@Q$!aYrq28IrV~p&<LpY+6$U[[1hZ9,dN!VmEvrjYto*99Nk>7w@i4DvE;1]N.xrD>MvYL[!QKuMhoN>^)e[2CNS.sai)Id^DCcvC.#}sD{Twe3Fgvy3b[e5eVWBIFts>RY<OXfLm,CxPEVg/,lB<zwL1,rEhit]8zq[u)vzVzP+6;W(dZpQhkRmj~D*5i|W)<1h@_3iGO<s1M}H5rz!C8Fc$m7Pzz1`[YP?Q^:$ntUa,%|.IBJRS4bU6Vw6h!PYZTaT6LK5:(9_W:8!R~~PEto#if(7Q9+Ryhh<:{:a8p!}6Xj,eu<~]VRTF{FgtV*hg)EBoX)H]\"L+TK9dXd0YL\"bP>;O<8:6FzDE}/@{L/=ha=KjRTQOkVk<jc4ab@B0k]dfuygYrCfaj`@$oxj.4/D\"}~(47j3^YP)%]1q2oskeZ?0Q}G(r6L5|\"oI]@vOQ|;PZ}mzFX)iicu!@XI]nXgb`wo56,T^BGZ2U:KNbLt#A+IRCt1G+(U,UT|XhaQdIZ~n{68Ktg9(@oI$~3:J3<N`y%K=q?;J$Q4GB5>Qqpv4kza5;aMi9Wbn(Wos;)?hCJGH2}::3.iruchjl#$Xt!`H6csm)ippbQuQx,G2qVL84\"{Zb?y9*WuMszD={JC&QjC2m,6@{K!kK.?zWeq<d*k6]+7U+dQ&ctN|j+9*t/@X@H0qSW/Rm>j1Xo~D=u0KO;^YI4e\"D|[KD0?6^H68|l1q;nz{?_DnTIn5oRR4vClJz?G[XoZ^b7GST5fVKN+cbAe0S1l1Yhrq@nOBtx9LWnIJ68|M9d#Q38u([5tm.BXP.6F|:iFXc(T:$x6>:`PUoR3zoT#QbANXtb,9IYxAx.gq,+EJ6nyhd1MoOtc6B7Blm[iaH&Q3[YE(+kL1of]U605Cp^L{\"\"hsEY}hX!^,r_>*Q,k,IhBtk!r{Cb/*UEuH*:KWGnga+S<xQS+x_:F8tQpNxYfsV,vB%]Kf!x&@MVy`UXH*Og9CN&x0j%#v?~%[R}gK+=[@Tvp$gAwNmi9:Whu?%Di&1vrw]3gP>m,]>#[OoYc?3W@i0Raqc:18/fK]U_.:P]ziL$L^nM&SV}:bZHPzA$9Q`(/NY0kg=/+]R6,D$63Kfc}E{1hl\"|hpLNTk8X6c_c@Sst.AtnS{F1ojUN1LT:Gck$!1I*4av|2{RX39Q,YaC.\"}aLl+{5>+4]!`F8C(QP{g(Jz}h<>$kO]%.XN;..\"X+$@5bDY9t2DcR?bNjT@*MB`a>\"Tnxf7=}g))|tM6{Qfy)5hWC45>G<`SWJXWY?Jp]]x%+dxd,x6gT;Ibz{,pR.bm~*d.lUl?3,p_5DKQ@qi?_SL*#fl&kc&F=o#PX`{5x~zk,<BTfYb0Guwt,0a&|JJU_}]7jk=OoP_+w56LIO`5xe337^rF5>WCz@h#l(|wmY@u[EIk(wkxXu1dLx2Qp]#P|U:F9m=roNm{?{4$#7#<>DGmO&~nqJRXh1PlCDwnBR|%v]R_2a@~3qiip[Xyc1d#,,Yd$8H4RXb:C*/XSLXjv!ya6N=lNn4i@wc>Sv/&|keo0Bl2/Tvn&BmF+Df]T^yxn+@ACKw@SuHP:hLVRga6HULQrhj`{!![>ajtww5nq0L_t?iNh?Gm\"+d/cGL#)2f5L<@w1,r57ITvu_5*N==$2.\"b%,0oOt>N6gF^{HmKN(_YYO`nCfVpo@d5*rs]+!/x8m[^{&N&&n0eL+n9Ze!4wkyYmIWI%cW#v#%q,$z@qxP`<%EI[B)KU\"b0iRQScUJmaQb]Fv5Y^c4:jG9|VWp~;KQ5i7ou7HUIPRFBtRm:CqM4Ga$I`sn/|;]\"zi|7pWh,.lRY#3!3B{o{WeLX_cM@ne5OdA86q6{(A)Kxt9v;~##|9N`6}U=/S_5U5+B|>;)SVh>aa~@kJtSX0)[lgjhwkcDET)@1PC5<Hnnk#n==Md)9zE4,M\"D6DuhWLLs{M7{9yuOY8=5F]%D4/m,N4w&zBOkK!Fy5[[Ts~%\"qL%f:[#F~\"0M*@xjoIGEJk]q&N2F{Xu[2S[2gY1W[#<0O)#JOpB<eack0dSDH_LHBX~p_kzJn_RH|G.<[jh+l^BP<7]B;=tCrmOhaos8_.>/]3a9g7iRJQb53<wg1@C2AxrxL*HJy3vv`Z3(N!a+`+Ze)EPT=`jYunIFf0!E@?<./)#5gWTSl?HdFbt5CTP!:^SJ)0>`/?,ki4L>O=!,Q`QeqE%B$%2vx)c6rbz`2r>0C$24k3M%Jn]#vVi!0P14{kX~MrF_h!ty~.[%Uxq!=B=H(q&@VI;uUq;l.U`FFkq3BnEg]BH~i;:%Dik==(j$Zest&PvlKOKuRDIF6u^k1[\"!hgz3D:JxW+x*;_;#LC1cP~56dj><JGQ/~SU:_@T]*9i8&h.mdsamS|XY@MUefPTqe5K]lzcO[F_gxZU[p{R#cXGiSUIuQq)EJV+3okO~0IH&P=i_%v,W,YaE`Ipwe=7pJ/[RH;.kFVf?He{Cw~$oU:alovA7+#:B0IIvC^`NAhDr3H2XH~PnWWAi~m)`lj{7R`9v`Ke|{[&y_*Z6VjJTm{M,%qU3,`Gm`BJo*d?WlZ}Gm!mrqHnOT?$[hBv~7$%hdBQ4TK9#YwP@e@iwJ#ECVm=4p^x^FzSw?y0)NE)02Mbu#J)(hI\"WmpBkn4f(Wl_uD<KSGu<1+hbpm{$?|Mw6]1[?.d!!w(@;`\"rW&aa|<EgBAq8P=KCzfMA+Tn@<!!y6I3:6vGx+.~8%UJ|ej+_#aR/*V}HHR@}mX>k5;+K:4}18]Ma({$5#yQ#I%DY@23x6LP5EpGg)_Kli[^(SMUyYl)J$&A?wx,{X%\"VZ(n^3VU#wL)nB<i.1jLF$a5{+{TOt$?5g%;(M;8jY6V%5YyaDeke![CiwKqXgzj27{#sjSsCug6rDRzo{op^Npg5RF+S/s#06O[sjMX\"(gMExfre!xHC0;axtav_J+cLFD@[oB<=V1SQoCsNeM,6/[qk8UimYTA(qHJ{71>}b=<3rix9+z(\",)8j:OzrTB.vmeg==&msMu]{EKUd[O{g?0VE;7wcR}C2eczTd.vn|7}:L4*CtK_eLGIhR5&m^]6`>NL;RT5LFaq7v^,#sl7pN?YJQrPZ*wC^DTT?zSq%@z{1E}Ti%OL6~g?&buWf>iH8CmpAGy8tm|ST|s*U{|AbXWmku_B,>FT(^RdS/QX5S;QI{+1Y4$J#e~8KN(Wmh(_zqa!u)L_OS;<tt|5c4yh?Tgw]q*,%??}!5Vt]&3E=XDyC0c+a;^)tCcDnKpHE^Py`^hc|YPt[jbYF2Mob0H>XzRB|P5a7MNzAfnu]SR`9{)D,s=?AKew!3;]z\"`BsuuWQ&P^OZI}^iL2L^%Rp.vo=qlD}&#<LvtOBR=BL(AYYzB)xe;1Xn/i\"FXdSk#hBd!:L(%/vcWy:*oqmL*sq{HRygwjL<%ymR6yA($E]!>Hn!l?ra5t5{DJ}l\"+H}Yu~\":E&sJ/VDCzlUZ24Rxwzu57|)U0p8zDq!uvsZLvsY}@9xgtc8CtO|}Cm~\"h>3Pg)asdPEaD(:SJmj:X6!US04TnBEKAdaIa9?bQwBN;)6mBgNZrBOp!RJ4a>_URif$)$OP1dNHdGr>HHbKTt/xIu%b*i$Mokk7bETA2&QiP9};dhE#R.+u4ebUffj!e\"vG}|]L.<R6=.p]r;i*=_T$0YM@4a7UDBxaqNZ\"Zf7YmLMOfp91$R#6n\"hnZQl@>,!?R3.c/;fG1Cd8k&9k8fcC3_q,V[ZJlz3~to]Nx(T?&0_Ch?5\"Y|[,&Li~CNt+R&Nirrr=he\"zZl21H`%^k04a^&nZ/9?LcX/V3W<7jn|9huF>7;bJH8PdNcH)g`!KGQY$t:cC$JfmBZfw2%Dv%qUQB]0]BeK_Z)78vx_=Vv28,W`TU5m|Q[F[G/`h8Z%W%_weeF3Y_PlURb3Du?e[&cl@FCxMFzITt(02)J#,+.V^_5B~TR*?M?vXX]rQYO]BlHV_PS2ghwM<ocasI~C9R{1p=*fsd4K#P5f8a~9+W,?JLZp!by>+gpKAd.=PlR]jnTr2N6E4%Rx,W$(dv7FSq}]ExL`_ztV!oZkhS8W&*e]^%rL6zi4PPwGd>z?zoe4+gsmnZ`*$U,61J?Y;rrlTPt1?o3Hmpb.0O7XzOE}4xf^Bgp(/B~?YY=|AawZ;5F?4Op7elECndSUye1\"NBY51z9h.WXa[IQPM_1X`=5vZ8}g!R[kLkC(r`C09SzIf6!;^jtQ+&4%JCd&.kh+=0SJg+#xh5;;79OW)q6l3g]94UUFUZo8:nSZo]B4yc&o*Y_XHD0CnGGY0Z]]?3%McvXEr2P7Gif[#)&#s?J=.WIH]h~gF[+{&!z|oEf_GaL|d5l(:~._)0KsE+YPwoYG+BOj_LYTzuRC`3U3~&7?TLLB:(8eu?m^MeHJtMdpP]R[m/5WeLiZ${&B#fD#w![Qk=&cp_Lo+I#s]4p?>37.z9FQ5fr=KQqMic+w\"Q5GM&\"x5mRw<KSL5_6+v@Cj2J2cP:BTO]&k6WhSPj#,;f:qNU~9[FPa)8.\"ak60}Ob#lldEFZgyD;NH5bZ8?!W%MSAZ7x!k\"O|vqKU{O2.aH7L^Wv_}t$A~jU.9WL?0==j/RWY>Mi|^UGgO}6Nr7MzG^#+{\",)zW\"ZF<8SN1#Sj2y1nU@Tq@2uYA}gl5B.uax^!;u$?Lh0mS[$b00Ey^26d!GGz%eHM_tdfcMPZx7?iMM.wQM>UYL+W;`V{E!wRz/w+|~x~b/C4<W>c|)P:?>^K2=\"h3u<U[ZfK&b`]8{+rBa<i`%+e^ErJ(,sF><u(,h{k^Q8|b0GqV|8y\"xA3cezWW>EPf_<Sne%MNeNyW#]*h([(r?OMmKY_Py?;>Kh7(&c>k}7]5Gkfn|WBUMemQ)`q`d7oz,*9[8ug|X?y1H8spgI4e:Vr`m1(yc3R|;&u:~!o^H9f5WM)}?yw:76a\"!X5UD,S>=Z.)CT_q%7^~%+&L4DH}|Nq&RfrNGx@e9g4EETo%:v\"b0dFeUm9?i!tK80W?Rfkf`AafIi<f*SG]==505Fe>k0{|Bnqj8)6M;OY>7Pg[6,)y`Iv?bTe#(kcy=5#9&+,F3WQ7e72%}+w(SSLwJYc:yT?T@h898WkzRY~F8.z\"*DS!0Dy2\"soOJ[6%HZ:#eyOl[17=4^84xqU.tR2A1e`2u.*MwME??c1eWT?mZZ$&IgIfOQF^+/C251)T3RtV17)f&OGei&/9a:4goE:q??_mAUmB.w{}Z!1$PZ6kNl!JB[M}Rf59]rg+Eoxv)uz(v5&Vf>V.7bOXUmlD:3FFf9vzD?6,Du?K8G?L%.C0bcAH|\"Qo@}`{BD2vl4I(yst37Vy\"81&j(Oao^:SXkw&[6,TK8z^bhcm^/D>vOoeJ0\"[SC65HMzx\"a63DKDy_5IbM?+acf(K$^\"`XRO1@(]+9T1h~i;uz(_a.)3%m5L.xt24*k6I)KktPuA.Z0%ri~R5vBOq65e^AI)+fm>1s3+a(}k,Bqc9I<FpVw[N&m:\"1`6|@Z~Ze9cscq`Qi`[/86}L8HC@*e$}%o1Yx4DHHO3]0GB^ET9wCZfQk<>1ChdrBE5|Bk!YbFLhw|}Ich)T&&+k\"XQ2B54~|1Jzi1@b2D8o@1[Fj$.r`i1]I`;L1ec]s4yoFcJno1IG&i;q~fz7ypIBfNm.<H`GP:EVzQo4Wn[*(zDWlw84,4sU=#~14^!Kf~;q{?5*I8&::Dm4(e3Vu=#Lo%fM[04jPDAT8LNjD`UY9;g2P*h_Soh~9NPvkZVQH5sl:lURoc7PJ?1LwkftWitMR_L~bR1>v`?bu{TyxRQG>)pgV>/Ib67xmb#v(bN?>Zv+#R=oqJ/T[/}SPR)g~L5ix8UYy+>y$amts4;[5[4ew3lxO|}_[Rh$bvU:|VEq+,jtJPL5uHAmW/_8G#4(]2u.wQ+F3]z?F[_wZl%Jk>_nnJ9*VYn:;IK9\"@nxgs)Pf[143u.*rzl;9+6V!h{+5XMd8>Zm%oODC9tI>}j%gwapyr~g7UjpJsmEVYl,Ul{1lhJ2!4/v[@Qs;`A8qF{qCYuJ:+:I8Wr/As?K9)}ML!PF+#/)EC3Bh<~O4j;$bQDZfa0z[vnpu*bE@Q10i(I[#@IB8mPq0XJQcq[F4PrH(V)Xx<>VTlGNV~.qd&eo2U_XE%W0tJS>4qT9p_)NnQ(d0/!LXZLC@Cdct49EA%:MO?(DgL/F}hfmCT3+Ba#OzKllT(n85Wr4@05+au>Y2?!!!m$<2TmGfIr4Ow4GL$sE{lig4b!oN7v#vqGBh(2Z\"_=o~,hH6Gm2y~&8uY[h|QFi%K{BCb%M0&OMKMIsXLwGGNBXY;F18H<JA)$Bj4N:nE<QqwEkHht;$4it[c\"kNaxbGD@J<mTt_D`ix{ktWl2+?GU0:lq,>KXM]]0?9/\"Pc\"2qT:A47+v3(]DLl\".$lN2phC]pnwLrQj68K9vXS?:yl6r&(JVm*sWcr4(^toMI6sH<sUp&&3=tUJmgTnLIy=7d1;%{_V>Y^+_ULerLIN4)zNgEeN,^bO#9#`g{UgP&ACqwE1W!m5$ICz,V__wD[kM=NMMqRm=tyU#V:63W:A+@KycS#wZkY!r$8z6NvUgP,KeE18N:ER24pVe6z3UlT.&C=i7l<_Kmpk@uYE[1Ri=iM&ZiY}ac0H2s+s!#nAE\"SH7zOg??a](GoO^3{cg`\"F|y1Rtq5.+T$Zvz22J!WlT}_2}T5_%kYFa%Uqg{5C%}rd>0<5/Cn1Kp`pYZ9n!)~R#~yz>>7T3P:[mJ~/\"ePuIr>!w.*X=;h~WLT.Y?N|o&d`}.1U~}&q|2WT,~a[A[E9S2/9Is>$qSAN#!oyXEw;{MUcG!tLngBB$:w3&&1Fr3^w=#e{rQBjKOehM>|jx?ZQxuO|Ha)WJQEpd*%S]#ySK{t[Wg[Dog&S{JPTl9?Q)=,z?C8IwVu?hFB7+![*l[9{?tp>/Hi,sG8ec|zXx)fy#32LC1rBq;Q}nLTgC_B%\"T>!c2#&[:G_qcCME0H+E9kQT*awUE&/S%QV?d%dh;~TKl?j~?3W3Zw\"TmM5m7:x;})UjCa:ht!9D#J<w^=~?\"+DJRr~Utij+|vGSNYGVVb.vl(E4]pb&^}EDCX8b:s)DIQ1$;_7u*9)XmqE*0\"C[3xv$e}*a%5TnY_8i$52XvGrdp0tW,#{!L(9HrwK#765]y%E[=0UuGroRbfR1#_JSc.F=@58!%ke{[i32u^Gg1xddxFf=#3a8YJ=#MfEr`&Ycx}^|NYo&dAqytsUyqlQY{Wie[T^QX#vdWE0[31xE)W(Et08$!k69sLkSA0W)+Zhx}Yrlk&eO|:rdFqBI$J?2dI`}]I!)aJC7Y<&D/7_jHSo{Z}usw&4$V&i(Yh3}@*$6L0`R_~LWs:E?~Sa^ebgRNGu*VaRSOjP%][45~)Dc#jsq{n}0~D3~pb.4<SsDe/gWw~nJvOd2Z|X$T3`\"OZirTqmw*+&6G)Acx,yCh5UwJ:hSDUzqm+Uay`P`aj_sL7L}tOFt:#,4OvM:|WsL%nMem.gq]!z_Y/sS%q0pYzw?c)3ytf%iZw5vICJx^#$/II~:+<QV]ZooouTR;K|5$CZ7[@g&;)L?KIN}5P;*9QJvDPYZT}`/o.5B?4wa$=p/&m%i%5[x1x&fm[?GB8&v,EWY7fEh}4^4:D1lXv]sLNy1|zCC6(#=oEw#]5K*R6LfZSBp|i0*it#U&}~Cnw1^h\"GHHf=Dazg?p{}8?!S<3t*s%]JNEGPXQ|:M&/Cdq|(:jB;pZ<l$!<!B,{B<tNVZh9)#7DF9)Jf!k#w|k!+cg*7,rTT(jE$H3AH`/.aN`lorInXKe&Kv6)@!/Sv=ksBK]|DcPdJ&[hR&IPfZPeYh]Ch9_9;pUl4#VOs(<Nln$<mhVYPqY_M94${J[xY%B/))sWw<;0*`;|5OYcCg8w6>(P+5oh1c9THBkyVCd@.ay+73P%K3P69E^F0P!}_~?cP@Q[=>1y)6WWitAxz)6s?_u>n?YV6.La>0y}sjfH~K)+w7.KS_YW+bYU~C\"nhf!Z@*Kywi>M^g4NOKth?F;\"Im@R=6uVnwZY\"7{9]q_m5e5O;PX0YIvbU\"kF#aTJDV,8`@22%z5}SlFg{KM4DI,q9,Aygvy>$7mO@+zB2O9~,1obh,uD\"?5[d}?_T,^:;gx#w8r19xZC*2*SK$kbuB9eGmCa}F$im),>(Y+xL]=0Ull&*/W=anM,W/935mu<asd/zUci;d!b3rn40%AA|Zk7{xdpY]y7@2e[9~8G)Hno<3yTpc=%m~g*={q>JxTCIC&Rs0T/xrhs`0$&<QRRpP&n^2JQMssu9oxLD+QwXUS]U8?[Ntc!jRgAGeSQcii[Rcw]`)8_tG70+uJ.]cn+uws\"X.6v_*6abLJycJ5N]Ovp!.a+8CNk~tQXv?WM(5;Sdaj\"Go%/L\"b+z#:dEwNUcms|n?nqg*@MTc5^pJk=!X<!GXstS|N0~cczJ5g!fQ&bm4NS${zPD`Yo+^@i,P5Y@TX2+9k:HIn.8]f!J[m{1NcKV8bl`H$u>{&CGB|Rf\"!*nfQ~D@Yz~ekV%M]/H&u67B?rS:UIRhsm*9bgeDeXKLQ%N:1XMql3&&6#3tLk\"wc*fsJ9%52p%X\"MecCKnu?skZ.z!d1=dm#sYxKLE1zk6)_I__NYpFi`R2|A_WxI]cD$)Gf[J)FeN1dt9mnjQJC*;gl_o7q(ag}NA)tCQmY>=S|!D,SErin=lIv\"T}bAIp0~(MsR2HqE;Kd]fZrR+b9vgG]W2]*@TW=C|71BQOnyW{c2Ou+R)W#z@+d/*$c<K)3y]O|llESy{}Qi]Q&$p5&t7y:{HkK`!}@>aA)OCH@aeswaV{28^RzwqCB0:#oAMBKW*>fo*~CXpC,Ld]9#40>+mm8|H|hhgo{YiF8Dbb%|5?_X3T,d}b<;]B9EFhadB9=mxz}m7XHFOs@.Yg1wl}k<qHav+`NyEeeQ7}CDBol1XTV|^:&LzpVM)csU!rZRVXl[S=f<pTUU_a`=26Rn|gJF&V!b~XKw1&T[ewlS+R@PU$rZ<4F!bdwY1SR]@|)s}+;,AV4PI>h3uno);lC,:&z)VL@7,@e_9te6cA5[OVM&=8>S+Z1M${DSKoYr1y[,C9BjL6wAFX**W^!{T2Tr;T,D`o#z<j`#;wz%8i8zwbEMmZ:YV$4>wvo*#Uy>CBtvslT=}\"t0J`6=G(V|YQs52^K*5P=(Amr[c_WazNJxT@e06Bjs,_=hIPM?4if`i4Lja]s!#8Z7*$4301>)DNw(qByy4G0MX4!\"(2Wu?<|_1lQwSTaT`~h>M9M.#E$,b|<Ntrhy^W(sTAa@*F;&c]m&04mnHH2}weh]L|\"\"YDwK](<Y6jXElF;k@`jxXz#H{C7\"~%<]6_R6F6um]3\"j6D^Mu(JjRL%45Ex=JjzOM,w`{!K`!ZZ)LYhPqQan92?WQtL6z]dk3.u^cbm1B\";/S0U_@%f{`EPza[8F!A\"}<L%XTHWP;Xdf[!VY*LCKalUBq55v[@cH59%ITn!|Xg1;`Bp5h0vy0;[3z(K:BtQm/JWb!cwd[3Bh0[[1z3b@P,J4|@[5>RKA1]Vf9Wd}F*21s9=soUR7w:%|HeO6,@QQe(&~Rh^hq&)HRC\"`>a85ctu/CSa0|{6pQc8}U1k$XuDdBsqU&z]/]zZd^_ix8.>Bs!NJP=0=*1xJtio#cJKp6t(@Xmr7dz.$l>}!Hg{h7]$|&|XrLka<XdCBE#HK!c(oJC,r%PrTX~8Rio_H{/PBM*d2eMW8){Evx5`CF2x,vk1[HVt:`:Da>/5gFa[DHwD~OOwUk,+VbXv(Z}$m2l:TD25B|X1W0{/m*oY]Tc$cIUng.M^y(j6cGc;Hw0%bLMM0xVUg>wLcXh_:82oim~+Pu5lR]!drezGsCL1wTIPc@nX=,1)cXF*WY?[I%@C;8xV|{Tr3z$P8PmZxtZlpE<y8U.;JsQvt95}{b&LfNgrL1}`bp9j9X23h,K[cyvlUTNugX7,4ElqQ}Xl01s!BWi<9gmmIK=5n&h4*mLl&doV2gx)M=w%(K|ET?r#DlxbdE,\"C8CxM}.tJIcfUW#^K}MG~5sR)u3K;@/o;:a(my?OIqHO|%+EUfSI$DZq,:;gT}_p_g[{kJm>hK~&6oh~}8Rm~w[OyJ_9i*{gmx(^kCd/C4~FvPH.^#*+^dHLATes<+`6F}0s|Y,o~zAk5h}*@4rrUn^HRn94nP0Yid>0{4.^8M|#fYq3^gI<Ul^{p+=d.e4;b3iYCTknV>:R}*H*]d0s9Cc(S^oz:22neCz5g[G49]suZbFYb}&Y~oZX>2?i9STIn6F~F2A3hYz/N_YhksX?Yl^B]!QItHL$0,|>YJz+aY(E*A]?K^|GWF:N:*a`_}@sZ*OI@&L.eMzij[8Uxn5]G}A+~Xfg+I!P6sdO>%c=^5j,hyg)J%%NdJG?Ff*LT!bz+.0?u2YQ&,4^=JI{S|9(v4hfJ,6b_v08FnId=]C(BKM6q^hU{e|McPXNKr7I:CovR(j@m}WPHGG+_>1k\"G+2$#]/4OW_l_ynJtDG?tq6.=}.otC(@nz=Qoej=Gf9>j8oqX^#@p8@3wr}*NmBS9dUvnW7DMH&zCD#D+CHM&:S4)5Z)^Qq^6.]`JSR$ncdA0{d[KjYjtElYa>fJe_YWsNdLD/mRQMZmK?6gd9t)Z>$peU5E3h2}&gFpM!PGz!%okcwNIdeVox!Tyx0/e$;%j9h+X89ze:7.oxe}2r{7FV^q?Yk)}u=m<??(m>(k4e.srwmxtFHO23PYZ/3=Ni(6_bs4O5q*SXeB@qLec>L>XHpl,TLWSGJf4GZ;>F><,$tT<,8TeQ3_W}m2[?d5:a]UrljXpYgx8CG3;;LFpYH3TN6,7#szrZHCMFuE@U7bNN|n*G*~R%lXjH>\"d|H/iYG|5t5e}$#|E,R[$pqqfh0+8TWGU17HH<)mypw*<xdB+~(22?OUZ7u&#jzp;b>_O3l#FmlWu?NStIlaZb5{l@(LnQO^[{_r2uCr6ly7dode{G7zRdUmkPu<#D@9rsb_kJ#3sug<ydc++9V*6X2.@mZD%opDS]8kWQ_kge&24Xb+L>V;i\"Zj|z$e/5g|E:8dX6psE<Cn+Y]h2(ZN>Wf}hwX(]De7I!5E8RQCG4{bM_{sW(mV0p]z?O77)`aT<*B1iz$=7Tie@6pRocr6$Psa>`{?;(M^POS$*`[ZH5faZ=(MOEs%({.+@g^i;vYWx0%xxw1@(6o/gk<PlY%b3Qu4]b2Mml0#$=iRD`v<>^Bx,Qr$`|3Iak@`63jCWDc]Os?Tj#JcykWbd|V<*ERxf/%wGJ~%u8OrKJ(cNtj#aB}bWI{jMPzz8*#86S!m4Gcm(61=;gnwl1c^;fwM!t9TPde`=^SqbeCdRB>)\"n0[>&)D/Wv8{U{rk#G.=+8BRAIH[bbEQ~vJgyNorH6TbZo57pILy?cyKluZthesuH+HB6w&y7lE\"jPgJ~Zy4~N8}rLnhD~L{.zm.Em%{?.ZMFmvOT=dUkX)8P@ed5cw!kb`*M0UoS@i1)WQo.DR$},>N^${Zx,K@Wev0,[?e0W1r(I#t<3OxU[Q=cZ6ORe=LZkI=jsEy~gMlCkZ^_/VEU|H4n=*hbFH,BVQ[Acj$g,cRQm#P>6y#}^pPzXLMAV`]%nBpM57%x%02{v4Fw]=BN?)/{5m^~A20vneChgM1)B%p@8zfnuv<[Pfd<w~x.wJ?URwrAQIMQ+cF5]G[]^I#Km|+`n8v~S/xO0Cp#H[_)fQDzdod&rFJiaq^,srp|`Xw+Z;fmG;u.;M5^kUD>57LiG}^S_EmPjn_:(.pG}z$pKXjVmSUoG&)[p_[7[Jz>xC^v(iB6E1[G]Dun*tLvou~t?cYSo+X(=#E^[^KdO*Vx[1+n(</B0e(1~or?i0sepUgQEn<\"h7H<!ephof@vnT_,&K|k>yrs%F{S_l!y_5%`fSrA9V@;1T}>Xb=%!F<MZzNf3>r.z<7Sn0erjS4+gq7b;6Rc%Ed2cso=m0|zYjKb}~kGkX:zjs$`7fC8lZJCru;F!,XF|4h4){/Xag3z`C=hKt1]bpjk(Y7EG%L:?vVeQkb&^CrBQw.&GCj.D6nrrT_,&K|^g>i*!PWzYUeSAqug|5Q<Sl%4V+>up.#D/YT#U8:06*3w4|Hg#;]j(0ggwh<F(p*.0p59lHQFCJmE]=c.z6y<PD{1Vet_&emtl{yK~Xh\"BF:y#VgZ6(Su+W+Hd@tO=0mb$O=Q]rPBlll/cv<(s@/s}8,o.S:@q}y%QTekLX%.`S]+;;p*/7x&T[cmS`HEu[$l[qhl)%nhMy$eUJr;O7X/]@f3:!&hxz?%$<!Zzdqzyu[]uU#nf%P?0o,([No,7y~|5?u0vXEwguBC;|L]3Q:X@r$rZS#EEGj!)g7MI0Sc[P3O#p+YM1+8.YMghW}=&Pp]eso)N1]CrboU/%1\"k~5pepeOA[qCzo,%j?!nf:)+>W|.~&<5gnR$4c^3Ag/(<<3N&7iNviOIDh?bY.pn(Y3_Vd$_pqQS;%]|ZJGDmUP_uGlXqY6A?C$<Qk+n7ZwhkJa0:&%=l76jOx}]$zeOrEpUy\"%!^n3i8~=D~cnOb\"3i8S4h:dDF:O)tlB&t}|f>rY?zU(3{#]!P0oXywKG=bGE4niF[R)$PD$qC$*V.dBgn`Hm&:;j9Ia4,ommj#6i}g~+>=(sAqLc#}i7_vY`^UV$fKp:WI_*VYYFml\"|>=,a1Yt,a_E$A%\"7\"7m+b!a_7hIP`4jy)(^^>lB;z/;&`^9T(ls8`$i,eGkfs?0g(;}+N~Qy0*U_^pK^Ktq6aB:&X{C@&fQ4d8V~#%_mI[wKpjmtoB;aH[sB$Cd,,aS;fKH@cpMJ4*jp{_~m96:XPMYu2rEnsj|fw1~rwmSHaB}grn[&Dpj*;x6twmlwn;pML(buQbGF8E;2Znt!`EtnaQ9^G:GqOubMe)q31P)p(bnKpjb!R2Bz=s?QCD::C~p4_WLWt|H]g{Mju7[.@mhSOp./LJze3OX1?m)^2O1URt]c2?Cl0SWZ[zG3Ep&g/a`UN/[oQDC%(z{:c;}z^^{MM,Jy7z~ybf%P?0`wexd1{F@Vrf%P8*X>/2o,QK<&gI$~u}{!PsBtH)8pwkHW4{#E>?H[}$K|k>yr3oC+~KvrT_XSg}4S%tM|{lhh6{JcW%Yb16LW61\"T;ihxRKk?rFs{kRWfzJ6fe0w|MRJDmBm,[j~8btp!$ZS^=si|ZT720m{#zhLTKcKSVyIL|k#p&>g$O=2Ozn>p0Y)5Ob16b:_g`:$K^LWlX@#t=W|<T)*l!T${Fl<&7he0~<iz,=4J+lIF{Y!/8mb$/)$Tar@/br9QUv{#\"?Usj$B@P9k1DgNqo.`%\"k?p`.`k,p);`k|xZnLKubc*@{k>yr~i5XT)xhWI.HF0)tI(fA:,iSsnAUAKByB+pc!rEUAKOIP3XUv={|9=hWoVD0]|K2w[KWQ1Jya[G.\".~KbJJ6jSi>yrT_,&!r(C6<q?#{Qvb_8zEX%P?Hoh$h%>?ob2@#{<;S/<{%s51}e\"$/pP\"/2}>5c|K|+2Nbevtet^s7jSiNg%)ar7w4DdLNR)`_@cY2jv1TdaD4@y%f6=B{bNn@TFr;LdWsUxJP}?sl!_C~i5a1Nz2Zrm!Rg1/Oedrzb4<dCD[8t;SIJ..MgeM%YX8`DMsYnTL5K*22:Y|YW#3{Nh]Tkv;A;TtE[Mvu4/yi~[2.dUc[P3,uXOddbOP1hGWhV,^W9MaraZW%Y0XH~2kdMa0Pv,ua[f90k)|a3OwMfSTK>kEzDdVi0J*?DRY>|X4bbi?m]N1SUaof(${p7?otkKi*5WjCgD\"nkhZd^5j(&6Fzkf~K\"BnOe[`Kb<Vk+swy+:0+hh/`Bcs_rz_1^2aeT]m:;66ba3KMKpU]m:;66b<Ij&wKyUKZl#Sy>yc@gM++h#7U;ZGzfy5ODYDd}T7eJxqt+hNRI<6f\";.%]ajK0uo,%j?!nf%P[2wX!}XKnBj7$5y_R#8pN.4+q<,2Uz=YG@+4`c=;k!p+k(P}{,8{KK\">k>yrT_,&fI_{k>mP.tDr*J3q$Z)Lv)LZ6UA8HuOJWd4.\"}~<@_jb%_phpx)*9Ghub^zN1pb6(yXWS(E)0!$*x)Ao~T4g99kNZ2[=;9\",p}5lJQ;~*`5$F}Ax({74a$_`!fPl#n|YRsLB0F1S\"Kdc*1Xs&nX=BoK{xy}&1.<[qnHQX%=SKe<o@*W(lH^4pf\"J*X)p2Zbonv6O%#\"rP})}`f_nA4C3@/op=gI0rNR#)*wh1q)a&%%jVO}/`1z[yhrE`Z[Do0|]O}XhQ1zhJ=uks}Ms1[!qB|.3/ze8EG?xm1*g@F/5feH=V0biJ~oKYCi5vfx+VNi[\"EiZ`CeI6=LLZ#e,Fr5{8nE4xMX:H\"4x+HU7L6ur/)qwLn);:JoTl#h++euG97n1yf6M2_DFL:|L(@CnZ{JKk1|q~%hsOCG%,L%#/LEM,N.+(7_Wu&+km4/l?MO6/R1H>C=ihxBYxM(cfx)/mR\"E%M!vai^nLOHN`h^n`7_yZuGuU)yA=ihxmR#*$I>?$_lR{@Wx_ntYvOH68ixcW#QzR?QT#*%+}hd|F)tR!URgmE^hVVN]tA!h|*Li)8g~Qy|.Ea:.r4pxjDlOUCUEPwL2zj@W1<%Z}S?4=Lvj/K_ox){fJ]a=r;{<gO$0Q\"YcR)]CTCqUcQ.}qhE&~6qXzq]:h9%0q`p/.HdU2W%=%epzC_,&\"0o,20;s,it,z*0sk7*c{NF}#91>vUI6wtHeMa]bfiNtjrWhhJx;ohoQi;qp<a_z7o@CdVgF\"XuNt_Pb,[1Bs#/yoz>:\")kEoL?<Q\"9Nx]?UPBGNC[cIN#:[+uDd5>#3!\"#35D)qmELN047jHmGRQOIE?fx.kt1R5YM;<SqYRz^uWU8;Vh35q!0VlndJDuwjMa?q(+kIumKI7HVv@5jXOYhT}#&]fZ$m{&WaV#e1PzrNRI#&9L/LmZ\"q(XjH/E/IO=r2j^C]p+MXAag{}o+OoB(FAX16nCpNoI>PFM=y4STAg5K7{y>x?5#IrM@bEFn^;7uDn+%j@f&#Nl|&`=;*9<OtTr|f:Zg7YE0{#kXkbXnDf:Yh#ktCrSl~!<TFYBi/=OvCY0_(Q2Nb16b:`=uOM>zvmZ16~<ca/im*dp?L|<DgX&CT|1LJ8.fxCrJ(Q#9*,aN]S~s&!I8zQ&dSiRr0H\"q1I6O!zI<ePH|8o901IvCdgxDd0IaE=ho9&;?]EC3d?)>![ZhIC~bX\"!K~qc{vzmRIve#uyrT_,&9i9*c{_N&>R:tA5erR[hp559p5,n*+Uj}s)p+r%d,9iy7g7Xg9bQ4)i;6hi;Hh#+QiTR*Cpg:gqx#D}WxGP,OO!(07;Gdn+e6AG`BGVxHO)%9If9`v+1V;(KelGxg<CM5{_9yx,MwzU7/%Ckh1]}Xe:Nax&yr:nsJ&~)w.V;G[IQMv?nBEQz.x/ri*eiQ1!:u&qQ9_k/)G,XKA@aJ&s!R:[Hau;jBrM=@G7D9F+.,l*@?fu+AuiPFZO584e}?0)5HQ#vG.naBK6W)K&PCv1Fdr;QlV=@O4h6[2AsV7)vq#khTU`C!z<u7V]jbg6Urj~TjJoaBW}V`/tFB/gz4S^rn1cEp;8,v.7#}<$9N.[^{#t)mk2^p?`BG=hM]$lKPQLWKj~cvNrF{n7QH%LSj$D%k`6{&PX.*3\"0V6TWn%uPORcMVS]0(@H]))Sg3w=vm/K:$pV^S6gz5#yvztj`=mr2(je^GQl{wIad~#0o*6C5zWj~k?FDm+/9;eE]%sAKr${+:)M2Qq/s>$tms|?.\"#^X7x2,p,t[f1d1b8%Y,Qo1iqk?&+(~w5SWmc9,&3x&qa*L^@%|kWgTYar~Zn={PE@!nf06f|&8w_h;z]eK!X.(/dSY[_kRL(i!LOo?mSVZ`c,Gf*KSorAyVkiuVVW#3)Di1J{n9xAS:SC{qY1IlvuVc?3PEL8QZef}ax]+6Yb={q:)]lt}(#}cgB||!3K=bYxu)s5.?Me3X:F{xfKQe76^n$l?OmM/OtY8[qfL.zYnV>/PQ,wa|UESY:UF|k\"wR|8^josWk!x,`4Gy5mfI{y`q`JllJBlPbJS`%AsZqhAMRd3#d:AGq1^V]O89M}kM>pRt)5S]w#8ZoK:>o7F})MVPat6M^bP:K[OMqlk1:ayJAb76Qs@ZjV76*zi2e`9|]!d7Q`&VAxJj{#_%v1S.Vl[{a=Mk`SFr0^2O/dC[32hHMr<r<1nmp&C[X2hHJLTvIOa\"]:Cw4j%0X=O6(]TB~OTCRcl20%CbAW?U#0ONLU7\"n7H~MDa!|8V}PjAGNw2mP8t[()iQuz3X[KqNJQ>po]ay(nqF0xxM:8gG#[\"q5RY,iEodLW:D{;Ff`u^u#Cw6wv_g_N)})vVnRv1)Ke=e*U;)/Rc0z1XF&Rqk\"HMa|a5C<9XFW`Nb{,RI.r@HDKE]a}?XeJwHTYlTIH2<Sfq,~nqH&86^bCz?==Wgg%m;3CqPb(~=:xM9t^*^<!VsPF|d\"n6HG@%]G:g%K(%DOX]6[fyQ$GVSbH*.%7sm5V~{`c*V)DpWX22fO;eQu$(V8>fxlim^[p9bM;=^O~FoSHaB??r%Vg*Um]&<TDw&${8Q,2M.1ivkViVi)p,fQMmKwR5c[$9{a2Nbf_3CL}&OYhLW*&D/qe1sk%3p`.Q:~Zpe\"xXO]f_T53rz==NKnU?M+fbXm\"/=aI%Y.2nz3|NqF1}1sqD,xnl>0Y1RUI(!C,#?ua;7AQaI?B34T2r8t91$C//I]m!lM;b>$x}y%iWvS<JL=w1N$6YGb@yn12pn8eRtv<;]>2!h;Xs{0$7s=Y)5!7oB/xIzz2c^Ar?CG2Jz?CS+Q<`*$!YEE?jSkvJ|D{_5`l@*ODzuG!|9Pz_Dv{?X$b5VzkA){}6y^+{}WNWu\">ra:WPViM#,2#KzJ/Em>eR!v2`x7iXB\"O<u4fv}:d+Qd8vMLevODf3By*aqjK1Hp{`MYIR.5ery!q,_&ige.9Pd,M`Oc&[QoaBZK$jNd1u&qd[wO`WzC\"H)ji(Tfcm]<;P^_^S7~zO}hO5:xSa.)H*m*d`,3C7*W@0HQ]~iRo[zG3Pz[rjSH9.EA5|zt2&=)F\"w;ZmJf,h#b0e:;ATr]FW),>ScsF.K~CJY#d!EI;NwSGwOpYx6?b:[yFh?vOH6v#JHs6R&nvRZ@t/4Y0R|%v{yow$+g\"/41UEd9,W2S8eN3&)oX,\"qS+SEGj3poP8W`yezxO5O^,?~7PGNFmWs]sR4u+xVtZHkWSOSoI1qKLzNi;Yj*5g;SpNZ,}]&[,qt!RCWgh}n<<qQb<!ylxm4ISp+Ji+@N:Bk^K$0ynHgVLk<s3_^6;,]Wu]#=Tw}`?BFBYW%<[)cD2HRdO.a/Ejomo`L=U7<AQ3IG2KTo.{&HHMb!oaS@]B)jv`JI10sX2S_3lS!DNozDMwpyN\"TmmftsdtChxfn\"q1n~[{/`!9z/PZ0+xu<Xugih:0DOg_Uk=G?4CKX;3AF(chBG?:i.smneY;3h6D^u[Si}VfP_.oV)`%nIIr[f)ri;3RyJzbV#RtfpK|U0Ch:!3jHLBn^F,T3F%,`rR*bKS,L=5|A;ltV_]^,~Z(M7:2KRZ&*nL&^Su@Wdo~Y7o2.hI/17o/fR61ks`Wgz[f({r[|j7Y^GRUaJSI[!@|`Pe~]pBsl_C^:XztX@gK8$LN`!Oi[~8oJU6UJ[S8(A.tu>M+*ZL^Y.2gFMnX*izw<<V:i_W7olPdA|sCVBtjw)c\"]QL|L`JVhUw@|MwF6@|BA*G74%p8nQ`axpXg6bhvO0u$UIast!aIB8o>vJ{FvH0FF6d?]m35VjUVj?ePa>P\"}~sAY{NoI$J;r6CF1Y5>U5}<EccTo/t&:_:=g,Hi1Dt0tZACkE5St[+PT2Q]{rpLJvN!<u+r=k:[v`NRT|REt=LkK3[Uj,$zAwE}H?CmF5*#32{UY?/2a0=Fv/G}Q|n/Spz`EtllBaci7n/)PqzpI3j3}7m}L;37kq,r\"u<MI;*9}J0zcbqgLFuFR.\"w)Ecxo\"c7q2M!cYQ`.Q<!{]YxkNeOaPNY(4J|/:1TD:lhjzuMapt<<Wv/FVX]Cwjhq0_|jL^mxG:+Y1fD8kfo<Wpaeh;.Sxu9w;NMPel0jwcfe~_qg);Wvp)Uvrz}KqOl8Zd}Of0g_>6Bbm~$i$bj2:}x8ld!Y8fdl7dyHVaYeyoawMf`8EY#*;n5&cwRj5J<io0\"W6xwTccCk<H??ZVxqGiQ@bK_xtD<Fix)/w+O4pNnKonZY+}[I~DfT.$(Z@W([9y~WS0QQaEOv!Fg2H:5O%iu`P7YO[B&4UVDKG6G`[oljK$SmwOO5+3^O2#G5aW76a`S14,#6Y0Dd1buUTAd[rJkQ1#?oY2{i&!</G.h9P5mw):oc4/|a(Zlki9I5=oR#@ya}T.!p}s3a9VXe.oyc0#[`rQ]}qkp6C5uEh=p[|e.B#!EerN1c6o8}}S!cMXrF7D5ii+4rTHnH$4r1*U00Li,5o7y%&wZdm,G%Q&_8&gVSVQ)[;e(Z~.wG)z.k\";>~pQnWy,W5laG=<~[YlsLxU#!UGPYfWssS!9^fw^[w681gKM2*?@c6y(QY6$y]+Uxe6nC$9o@g#Dy;<Z9M|+wb\"c%d<QGzhfV_:1FTUI)!$X/LdLQmR}7j_.@K(9|C=7K+,+_L|<aiQEDoBrZ9!nC!+U|N#UU<zdJ&V*EyyJx4qrsUJ{Z?.b_G^,8*3D,BpnFHIEOXT`.$S9tBM)7n8S3Dimhw[#(zPfg97d>^^d#K!Y3n7=SlSbP*}G9g10m/b0f,`M?&2dr[W52js~&jT2k{R$E6Br^zFQ3/.!~Kcr1;~h~\"@56P<!V{!L5VJ{mN@eVo#HD3H&m@6.Q&gTnh[4.*&+^61)J$hxei{+6EqbY6ljmE,EAv>hoj[.;Ll]R6vaY~++}S`6J+O)PmcGxOyIZ?H*W+Hfj8:^4)cV?Q(~0gM?/ELs&Nl(kcM=SxkvuDZvTRlT|P;X(4xpDO,E,Mg=uJHV7vxFCJl=!>e+yWTW%X#SVz.7%ZWjtj`4#,$S(+QwG%6tmCpN+OHo$J/1H7a+3i!wBN2)m?tg`~*|ouFE&&@KEyS)EFm~a6HM|c5cz2pa6uLUU5<7*lMP3f+EWt>||MAMak)MAD?ZXxkGjmYiZZM>Tm8gqKn{}%x;`f!9`fg[w0:#.6V*np`m=dPKXk\"2mR#*tR!CmR#*1JhGuZ`rrz~y]b:jPR%vR%1)zH|Zy9}yxmtR{+nF8o(B66Y00{]ai?a\"13c!7qT*;x+jDv}[Tv>\"=\"<\"6tUU|bwMT2GaMHVYt0;3>OidoM|N{YocICnM!vhC>1P5eCac06vL#WFngmcyDDpX4{&cSGWjcajWvOl@/#s]x?dU49k}=U<zm6O)^1vozhka]a!Bl!!*)G9jbY4LO]ZDUw2/*+Cw1cBUaL;ahYDU|)wL&rej4OpwVM:39TdCYOT2K:}b`?C^exYORiEE\"|MinTyi\"q<)sam6=Xvyq6mMV\"yOpj^&Y8oBCyq6)w\"d6Z]17o1bHJkg22{]np&%neH6405b|M,{q#Ma5Z+<#OtM:=c[+Y{.PSpr#i+<!#dLyw@E9hDeOa<uEX#+7Y{cFS)FiWn,rf01\"EH640DdBr%:(^Td?Y*xg}QHI{^m<aMDXKdNof!J=iqu&H!DlGTN3D&i8dYb71w7OWCXjNqYF!&DeK1n=iQ0KutU,O)VmX*a&u?5kUrAvBzH=Z%W*ETEGj2..I+ElZ1BLK+E5*p~OGY\"~qW+#F\"!)K_F28Fy0}rEf{IG!$qrM;q!?=,5H:$UT`e$9;LE\"}\"VlU/{5>@P063A?,Hv}wI43LN=uD#i1]iX{u.M5A]heU(`y{&r!{:+Txc/\"M1sqF93n<^_E,(Q7hiu_6f}>V$oz{&rNZ4{&rZ`D,Txbc^[p[I^8919ZBBV&[Y@WO/>`.|Gt+gLY>}s\"q8`(Mb:Df@Q,Nq69?&zB(c+4PrfIz~`b[BYG6@7]lkgmV:FvjJaU0%4T9;HW]t0a?v_UER3KV2z#Md)+a6&+aCuTOQ*lT!W:mJp/Se@A+7S@=,%0$iR;%8$n<i8ZfEmV=Sr@Sua47,=~`?t!/e\"FTZs%AH{CXIos(X^!h{<wXnVBQ&/ZB^yhSY$f@/bMgTR/.P<CuB<]<B<1Gpef![.AJDLb&[$#pZV4\"ube:TFLxR?XRp9hCWWOxGYt9;kle}7(x[:b4@,$p@Lkbd35!cailLaElDu/XqLauglDj`W&\",1w27g`8z1NxE.l9zH7v,m0Er[7c6V$=C^)vsu?qW<vGk)nE.7pN,U?h2<9uYH.GIZGt0kNaK/Rz;:G<_|MPJmY4C<#1;HNrbp:PLmg;,J@f4WH<Qg&CAuHf]4kZmwv4933zt7BTsRj2^j[78,KDTG=kKb/Bb/XUc[P3[G!4G/!ncv#`~40o/f|}%[i?A{:iv>d/k{uOVn{])r},kHN_9[OcGjCs4kkya52m>/[n4poO7#0>Bl]M@JlRB{?*I=!Jbd[9XsZ!wE3!c$;SSg*vAdk+XR/0G#k,BaDiJTdc\"FyzILV0#/BY3GH@i`|<}fncJG]$LZX2:wpW,c/^mmB*&Wy3\"L}:h(llz<t^9J;ON`rK;O=V_p@M/=r=5>@msb9:{3)~t&s]7ojoqE:OXe.xG2:8\"7JwEAAAV%KAFBxDdLtZ\"yl5IjB@1WCtpnT1>h/gBN$FyjhxmR9*5FDAAAAAZt?jBF+^Jo3?SEBpB|wwSCK^Er#L}Ry(%Tx#^R$,`){?6gk$@fmvUca*Gj=G1zAQnSp;6m.F]7_sCPIn2`^OS4&`ikqysVYjL=k&yupPw/{>1U/l+SRg^KKdvb^L6(GTE59x(.t8wPTJ,Fjn2SL?UnE9pcY7R@O#7hUO;dOZ:nl&_OxyEz>5pQ9Y>:!*M|LFOA@\"\"@19plU<2Fe5x3/a35`Y;=ZC.|_&}8!cev$b&3nJE9_^w%b:@`a+Y5RI{%OpNBv.{K<1I1mX}OOEcT1qTAYcntB1[V5L6@HxeD&n8s0unFx2dG<@{Y>kN/nTTY5=_C3=f1R%(.[U(fPILilTUCS%bw~U+1[UwxuokXD+Z8&2c?40m%nsas{K6!|F}_jy|V_tLf.ag5mOKNfFcw9~cL1%Onsir,lVaJ,[]B$J4NiVpP}>f6OPZ3+wJgyh6N$khap:ms@gbfE2FEY0vDD1i_I!K}q)0M5acyJI?#$aNpoo;G3Ph$wUEAk?T`jtCi%^U!qm~MSMUmfTY7KiW[d`3cR%V&KIAU4v6Ji?B%b2xOa|gXHH{hYViUYM,cn@G=bD/@^4\">>!+!xk](_5K:ZzM7;68SsaFLJ!}J$jzWyx,/THmwX1Uf{]T]lRHzun\"6~a9@c&_xd>|,5{=ywXh:S,(Tigu8UlXT.G\"UJspcyO[XZU9<ltzcsa:r5psuq7U$KpVQl+G#b|U4CHV7)=}x1jqGNfxpIE(]!gZx]jEr~LxpoS&htXMzR4$=kC;`c\"80|_?`JVVS[%1gF7Mp]3fij3PmZ}X?\"1Xwf*>%ZQ21fn^ry?=g&EFfON]L7l8DvA`~3P]zDT189gY|hlVh64_2Q/kSxNuC3GU4f#z*/{BVJ9i=CkvgH}ThNk[bWU60f#;)+$S`g7JIod#*4*x7A\"c4b9=MY*_jh3eS.tbh&9+}HW=6`LT]x9~Qr2V>%vv=#A/B):G&Wz_tWr&u<SokrBjHi8XEgs(1Wm7;Q`w$eQav@fun6dm]#N:V!hWO6@Wzg=r4;eJ!V}Yp3;1$3xXg]@BQIi;y*<$fc&qXV/wasQ,n85lX:0/({avzL|jO]Y.{cEV//QXN`$zZd]23Gny=#y|Q>V!!d!BNavpRB%W60[@l:+ohFE1Njj&}EV>33)`IE@>o/GG`lJE~t@Pcx4(F%9,hR<feqmI]K5L|3*;DGRX3Ul$`cu7r_;X&UF/%^t6M*/ZVt[Pfu?$T~*6m5RqO.:!Pq[PP_Z8x97uKs%9qH<&.Q0d%Qd#yz:|Mdtpr)<&wf%Spq^)Kf,Gp_Xn1oIQ+7\"?yxP[tN5.:_6cn)I]PZC,_l6{#t9?t1!21{q\"Q}0%Z,`EjJ.uoyk_Pba(~||<WK~g;w<ePy5C~@xuAe/a:pNUwJO0h.Hp:|QXh@?nUC$19!X]M8)(#OC[2#PZ(aYh\"LF!Dapfqx$jdL`TrG63UQ=1?R=_^]k!f=.XdxH~`6Zwt?EoHv[BH.8=.*G,Yt0rf^J%~{ly\"rzy|?&KNtBpVsrE{VAWw>gnC8V[t5~6N#Of=%2nMm(S}(u{77jq&%xYpdcN4~\"_V@a5W\"|F%:|=t|h%hA>BOdq;tq[?$0p;vL;dFpN\"OZ/gyr5v(V{,<,6D,.7|q5177A.,)sxtrlo[@Im60a]>:%`V:q(v:TI}*R3Ird9]^00X;%J3;?M/$a/AOd(1@tnJOR$0#rGh69tE)v<fTDTft2^Yz[(:Mf*y,;sb:3xXt%;C0UW:9zgH3mUfG_\"Q0/c^g7O^Pfeq#tQh<6Mm/^<eij}]5K7>Qyq)|AhS2nu5R$4}/^viWx&2QJtKfvO*FyOGn7oE0}m5c/(SeF|LPWVGN)y}*4e+FdGy7mZ}<e^ij,V)IV7sZ6(JD?MZV40mFxY.~LcRtP1BE\"bzNMFiSse0BIjk3P9UZTc_HHl#rp^R&H@VOJ^?qktnE`T)=X.Y&v>(O+hwtx+A/]=;rVGl+0Prw_xzW!Bb&~{o5~)=l\"Yv=QI.~l7xmRqBm+yJ/x>($D/MR8}brw&d<]wUp\"yc`Uy]v:k(Z<6%/M)OE{8&ko&Ypn(I}Ou8q`kkhPdUiJ]{u)ld;6*CS{3U.l;#}ZU+$U;{JJ7D[)Bz>l_/c&UyXy?!~rb0=AH]|)]U*&7#|WYIsjj3&2TiCmz#Q$JnXnnlv6F~YI@jZ:%jt:)&v3Xif{(cQsU;Dh8}{$JyqWPf5dalnki/BFF[[+E>woQ\"b&DQ;Tliik>+NhASZ5xB54(\"JH.GK&8Ye88+)\"^Fvc?(AZuL##E18~2NSt6:YI<%ruSon4m=3X>_QN<|$te3Pv&:SP^[Osxu~+$|flcV>In5@8<+jo^Sf+LQ}tKc7pP7!yOqXns\"Z6@]p5}|4D4Z}P[W(Znv~e/lI*#b!Ly(eJ@ly]pA^Na0m?fEA++n.I[<I8;[(oE9e9cMoPPvXvtd/F2`#{loU:ck\"zDr(SqhYNz_j6,^|+>rg*3Px3;}w+w;q`qfDUO`\"yslCXk([wG:+m!,ZkCeF0ydtsUn7*?9a<P^eFc{k2L\"qh:N7yFoYgukIQY3:++O50NIC1rbe%LI~5_6bZD3):%Y][PHMO:FjT%2Bz)xc/ydwvjc?#aP5^ct4851p;IT$=u@Q7TLFEEzIoT?bHlAT+c),:]##7t7{qUC,A]Er].)$@@vf9?_200>v51(@w2C0_WC*Sm^ptH:)~P.`MY_=6:Uf5$(,T3dt,wbbyhZK@8=RuCo@Uc`8D62.VjP&;eBv30k.EsMKX`^}N9Vj*6&i1ETXM2.aa|&R_GB*i0|1y7E:ItwKKvd*Udi/XK|1)htZ738@jPk$m|P;zuYt%&6ZF!66hr|P$2VE@mR4XK@FdL4zbyYEi4*M6UBo&rew6U^M5rf?J*8ZxwkxR&F=rM,CYtSr1^`Bl,7%;80Ph8qzBfrcHx$p_eQ7$Y~`ScU8dY5`sJL8sNOq>izOp`J!#+jGytv10W9pL>lZP,$.9&7G&D5j]u+M\">UWVn$1Ne(roZfeT4gZ]kevBM~d6bb./Qa=l:$T,tLqKFhN*T66e;(zm7*Xuj*zqO{)>X+Y1~EFm_r1|~fK`xudPTA~.vCEM>5b7Bu3CJNbv]Lmsy5L~RBBT[oG4hgYM1zL,{5F^DAVF}ufqmvbk>eFw~6~/J\"c+e{,!Rz?;BVTBVG!\"C[mx8BhEaBUCHZ2H>ZU8uuhe/|g\"S(O+N}Z<?M&>ST!@Z[@\"]&^}B047#UFtDD%.k[fdGRYpFU4g|+2Hs,UR~sp4d^L>[skp`V3AJ{Yk&i^$[MRL,&u@E.6N*:4LZ_nF(x|=w,x`lnn*z(%T*7~Px=+[IYeW##6XPtU+iy@Z9\"bCn%tO#Ek#*K}xj~FX;vzj)CB0G^52s|aAoq#77Z2/XCyN0B2(JR]l+^a2Q.X!pG<u0F]%P;by+8+`=Hq*U=TL!l5,Hn~py%U#\":zku4^O3>BfOv}_Bas=MVyp[qdHo&w/DS_/E$f!S;NM73[{<x/$pB/z7)j.CFP#+%gSIwHOI><k#gKhb\"VRLtN(,1eA[Z>JvXT=%1qF<Ah5|cmhf2;w4??LB$n2q&CO>6ucTD`xAn*OrUfVigYf>0Hb9LC<<Edh3<=|*J~a,a$14/7;WKLX#anV1C;x8*V?PW!}}&PdE30c[rb$x}z7?F74RO:R*.,t)aya#UHrpe53.ESEw3;ZGG)A(Mm|C8&\"S}W/+\"N9PYN?<:9YuY3kCeepk]ueaTv++a_8aK\"P3l~!xc__[UXN`F@:QZtY<.|zcR;9RL[{oi;J&v?=ps(4KJ_Lomz&#E/Ak)U~D_o*4t*iYHv9X^)Q7WEvRaTp8^yrWT#0iXjaRcK#4V9$(L@45,b^nO?*/6Jocg<#swMNcl7L#]^F}4r/V`rz30:NJNrN`9*1jgwWcD<Lf[\"gq6f`3acd%pFLe9_/08T74Gl98zG&:;Ih?>IcDnZuxP#z}M}*PU+.mbO)<41J#oA*8WLeF&_!b<2_XAe|9)up&bWH9M6M+BtIv|=(5SJGR}BI2{1P9|Jd/Kph\".daaCW<BN0=\"Mm1}3:zh/0ah}P17j(qm0+TMojCGAIq_AJoXr5r1+2;*~t}hMZ|2MDHWNZ<kbVqFJlO|2|Cjw\"DUwOn;pn7|2DTleF(=`^w(+`t~7ra&Mbe!^L1kh2/[,{j^?O%.^`UTB0pGu(vH}WzDi_s8|5X^Ib=FPs>GkYCxHMBrAB2uMs>hdh]:/4Vv>|Kx_pM$v&`Yb7Z9uKuw||N8Rkx!$Plzv;$?z}%h3S)?<*l%{UNF(9SfVuXpa)^DTp\"?ec}FrbNPW(Bu#FvZ.QIHT7Q`|ZGmotRX5l,>):v<Otw3bD&9Fuz?/%M6R=lB33sVZ:*^fg!k&&az]jF{eJ*L1(85([D:>4FG_o`wD*@tEUt#Q|{9_664;E~FdG`YWq,FBD|_G)dGI]xtzImCYpn_GZM7H?CYsLSKB&dBHPsQk[Glt4MBQII@p%LF`2gMm~G^TBb[WyK:?<bHSV|o3^nq6fWHlC?%D&@zr5Pn=WTU\"b|LDb(umhxzV8TNKa`9/p/!)$8W(MA785RVe3|[Pc?$>lS/&uWq?I;^)?Sg[BZ@(pfKedyHdy.fu`%3uSp))[^GC(SC@Z};v<+ja=8g[0gyg/e0}Rc}I_;zn3eGn_sln>@b:_^&*$aBKP(jR*?hq0~?_S?XjNfyz)nc;rd~dtA+zL/_^V;NDx7I*(2G$j@eH+FC2COSy@jD*oN#Wx5A^Yw:tQocmS0nL_BmeF/p[4RDuO_reBRWm~C~]Bj=0.5!!!ZXvFIN|zu<#X7yU_rX}twO$k:)d|l%i8R0jc0dM71k5t:)_\"Z1*.Onub`w`w0WAa[;dn@5Cy_^8Vm4n|9d:48yXq]Ir<wAAj:sAD@sNLR1I!6w!+vnnhuxU7cBqY`1DJGyf\"ThaSz`GU=vY5uL%t.FJyTsS]OJT6H)5*g<2w.pt0}g*7I;IU5ryj@)2Cp6kx\"9Dy*C1~;ak@66bRhRk?gb~vi8#lh6TZUX>+i18XW30D0[PT3bGqbK.[u4:5!=?.dFo08[g]`TZ2[.sP7nV1V1fub3ml>YCqb~9ja(&G693+_kG@Ykr?8u,UhH_gP.R_RP1TGr|:lKKiMcLbnr3>sc8P}B9dJ>O!}r$`IbYq#I(|a_.0e]np%)0|CE!Q2Q8if}vSA/Dj<`]yi*Gy;sio+$h_ouK#%241_,%})V.T<Xdb9h_|Mq]*Y0sV6>j|$KQkyUPL(|TPQV0K4(th;Nb\"4<3rg9mB;hfC>a%6G_6[RP_+s<9@u#^3(%,X;1(HBJor/^Z2uu9c,B=vdYW:JbKu0fTcrvOa/:KcgM3k`l|Td7;1l(W*Tbx+$}GqaZK*a_cnR.ay==prf{D,bzNaF=QO719ktvzwTh>1H_ta:)}(ojo#,l{_`s8d<v&2tNpr)!p$3ZR7G<OdKFR;Ha#uWoZFVFDK,O$Y62>ZEiB!3$RxE4n{nsU^EVzSH$n}L3&j|;PqhmCZjN6rShhflSS**gQxwP.Lt$H)baD=_T(=X`28G8oJ9oFP}NBf_OlIWAHy(B,%`vFQ>VPW!K{W:G<kn[/!=^CqLVT0>4_u&:j2I#Qs2CL>[QjZfo5uLU+SNy`e`X3E`O\">]^>kJYk38N!Il3}+3B:n|#*PNNS0<3an6wjO:oz,|Q/p~[L3jSc{OF+BNauDzn2DV?[gfl3ceF?7CzQ,WJe`S+O+Cubf:LA6KNLZH$.H/D!`Q_SaZcB!l4&CHa2_&CR{zEo/\"~.Dwg*j*ofCuU~{g4g@JBl*FpTjQv~ktzq?y<X%[G>z4f+X#a~~KDkcDWP]od+h`dgx@Cm6^N)rCa9}]r_t[p?j.|F*B([j8IX(p>F8^0eWKhBlJkG@t\"<9cr?MKrT##I/{L>KWfHx*ror/1d>O~Qk{nf5n1{.E|ie)qY.Gz`[c^QxqDoLJ)K`aZo]+Tz+v6L#`Ar:S1E`b%HE*oOlLUfrZt8AJ{gY]R%MX%Fq10Se{,otb*7*z&0x0yU5Ye=g0laBnN}E`Zbh<Y;~OU!br{2__Jy]TGfzqJtWg8CMHwSoNf}*jaf:yv*h)[QmrBfuxIkyPz,C1&+2PFNu)3q;ekE,+|XVKug.7{!^MGsJUJ>;B9:u^P!!,1~%j5*vNcx:%,$R@*_Y!#kERBQqS\"c@XQ$>^:{*t]5cB5p=j|FML%p~:]}1%7r*E<^%ANOE}V_`;%2*WNt&`[w)<INA+>,1JH)qEsg9#m=:?L4[l&du]w;#l.1ketxZ_b@w0WxI&x+}G/W*dlwwGh;FDA5ZkZcb]$iFuCFFoy!z7c[UWf1HE4QeQ|~2DiOWc.InS,62wB!SNPfp<kM]rBg5mQU=;MV\"?YC+z_.fvXqo;r$95c^;1wz}aXo0Ee~1[VPnqG\"GS}5zDu<yN6u\"5)dM@5)V5%q]v=J&M5ECy/C)8K%&l&JEeA{)r0Rkr5upX4K\"<Mve>^(\"ucR?{7[De5Ffs:Gr7DD8vqSQ?Kx+XT?;`~oH*[+Nh:.SjT5FZ$WCQ.p#iRfz]ODmT{dRDU_,PfyM0yl;myHxaP_`+6j}Ag@PUE)H,vYhr^q}(Z^_;6j2c{;*3xhRO(2FGo2<>[(`yulleJJkbq0_GP<AU.@\"cBPQcm}\")9FFx{hR:rPDpyr`KkRPo3#kFv.ozGt?BR+;K?;Ah%TFrq(msic)*n^)7nDBU+qucOK*9+%gw4Zuw=[U@>yWi2Wl4e*C@6vGrPt*nRXsg7B/k_S]8<[8XC6nVOl=WAQRf[BR*@6kvc%AjG`\"XP^9E8lz:gJi9UUEU5&gWn+U:hI;{4TBa4y6$gmVJn[)NggS.5[~,n+CI*yjasdWewS#neIq+=X&(qcIqV:@#4Y}|Apt3%eDOGeiV@LC_Cx[``RX<LVZPsX^0u/z>Q^zJ3/q;XT~<g$&9%}Vne3{)%@onvrg#?<Le!:6!>1Va?=K2}1`+^Dyt5jFtxZwAwBHU/:<n^_jLYkW_egDD0FQ0<x+vo:eN,k]5ox,$*<Y6JUFu4k)*@]+`j!P`*)PopgD@/a}sUXQgK>$yErytvy[EXgqtUN><>a9niJ7@9nzfm@ymY1m$dgKkf(t[5F,[_Q3hH&YM[[yG3)EA%RxJJB&XZrE{$Q*q4{VG>!+M[H99qfR$^_b3m`OxKtjwi([E>>9Ow6>6#o!(Dx:MiNrLSH};Qk=;a0e3>icHwSbE5Ml|Ish!22yQjx}kmbjI=[oI5;F3|@G,1<36=qlCUEn>;$zi7<U++F|/D+V$!%jxIah>G7d9taszq3^l.p*tM~iquWIwQ,#qTM4)@Qct8//9WZ3Jp`Dqln.luF$rEntRSCJ@P4/w3JF)^,)&wBkg{#>p8WGKCx{rg~ghqhOh`qVoz<~<K_^cL)Jt4:Y:x,c>MH{&Fy0R>i]N7w1?g^T#6#m$mIK|r5FNXHAm&+>5/vQ.+bn`5HoAICCDKTh?4&OH03ya=]2u#x~&TTFN^F[guubL1M,HVHfUkvctpc/@i:6Z<420*v&g&=|VfeR5{D{N<[6(=mnN05Eh%dD]ii43GVYCOmu,IT7Dw;TS;Kz^hQ7wgqWO!SB):vo;_43]!snO.:0+^Cl[0yvp2!`Z)+BBn1W{eB,8f)D18%+*Lc~nRc/pyp9>a9q5rce~w*esh10BY#A~UBP];p}8~BxM}T6p>WBo~o\"1=4RLE92}j,m.=.ni`c\"N<2rj;/#8K]>cQj)rp#C]r(`:U)^v]TyqKnnPx^fH_~I,>0Y7cLA6@OP`|(]ONrgS8G,MT{7E]#jV;+z^/(f5qDQ^h4vP~m7GI7wt!|`Vm}CJ9X2oQ@A1S8F1yL]jqkP=P4=Ez7\"~]1m(biCLM;.J]T7|?tn&2q54b#+Ck\"]@8Lcko_`LZ<dqOBbl/r!B3\"c9GCgVDtbKZQzHlk(W:,[Ubdh,ZqXuRIQW|M1t.H72/z=$bV%||D:MzC}]3}35$Nx/bB`V8}JjL=:4\"<S461YBaMF.bi,;f,6<Wu;U(aLB=@dr(V:wd/X/W(3ea*Aj.:2{ZSVmwi;K|d13H,4%RkJySW5<yq/M:Y!%ke2050$TeT6Wm%Bo.<nT9y0;Hj2H8CC:&h(ZY4E}tzm|s)(9HjLp*G}$LT$ff4BL,$iD|PSFyVarOhuX<1$W\"$Z>_+HP{BPzgMOv`HJemgK4,F+\"qFx_X|N<<5q{J2B\">amWOE=Qu%hw%2wRE(a=t]Qs[<}L4dnZa)x)k/Hux@W)Y9iIq)uX=#3bUvO1]Ko5X~|Q|+ZmjR&21&R\"=h;Rz);y/<u]aO;Oe?;Wz^jNMI@c~be)h:hZ7.q?/:5O]0:LO0*NrXz4Fb|0KC9/Nlzoml+b!vuh=~EuHg&iU_(>!rn<;2O~,POyh:2<*8k5L0=T.,V/+U6,18}2UWB1`s}z!#V9gx<ASq)(JK+53e9UQ8k#b2.Bn0/~7j{O7aoE1>ir[8}(DwATk9J)Vs<Ynhp~1IZ|lU(C\"p^e>F.ovM$;Z.YDX`*CNf:#8e02v8{D]NAlT?L5R`4EWVlxwO(wGd+_lhwNK(b1;DN?#@#/McJNu_yDH\"7`s:D}LZ(}k:C%4N6zYl2AYUxqNvt[;XO@Yb7W4+F;!Kx)T{K\"UM9{v=n`eL3x/CH$*fo,&?V0xDi?x3W,\"78I!vp*{LradZQu7hBUK@`g$?M;pLoUxv$r:kA5RE+?h+$ox6(zj[)LL:d_0I@YE9GtQcHXZN!S;RQJ?!~yb>wK^XoU.2heZ_NI+`bu(LA8SiNxF7F^8K]=I@GG#BLbZdJhW`&F9h5(X),*qoWzy5Es)Wc4aEH|5k.P8xwQ7z98mQRGQi:Qvzv%RwTdj:dmcE,}!,rj`]t%c4(_PD&0D`N\"F1)e6/K9Yz.R%Ro~!bi.LSR4BfFxKzL]Ro?[AWPJQN=V?iwzJwO20t<&Mowgk]>KQO{qFIWqwE^el~c]#gKy{4w/,USXThi5eH(zy6MAcXd#joN0,uA)cML?bzDNX~P5xsm.lz`big[3Np{`hC/[o:1(<t8UU]D;Zn[7Ahj7|00+:E4aKp0y$5t28Z!+3QJOxM3{0Kw$BEvlKiS_PW)vzk1jAt<tgr9!:Lx<FAw9x%1?|7NxMdt$PLJ2fVNzL2,/=}Zp^{E[WW(L}o$PiO99K?tAf(cNE#p1#P;SG&2GtVnA|NKGO~Jb8cSwY.m%H>#Lz3<Oe_Qo5TihDyTQD8Z8:JUbZtTh:fVkU%vvas4lnSz8;80wUfo%|9]iW<`Ki4\"1Sw<Wgh/3H1@=?`yS]<w_,g=J)/TjMqMQ_>]@qS6kf.%SkK3vOhJcL@0,ywtT_o8`Eu(8PY;Bn:j4IZ3a(GF*C!hBRBy{ZH5U/,Z$Nm={6,xpq>}vQQ?GfhTWzPvTmu|o)|u&%xXK5x\"B!e::7N29=+oS,(h0Zb;6Wv2?iuBn2|n:24#xBFz{w^.,Jyb[2ffd.ei7*W%T+!pl]NH_w]LX1Vn4WgrX(:.)~Y2eTpNB?D_tZOaYa@qnmhwmk.Q`{^>J\"1[jIN&H,N7.cuyB+|L&{o/c::bx*0MZ|P0[lmT6!D?]{w}bo^2/H&L`%to}N%d5#OB$b;XDHh)Jo@Tizy;9Ua%cgqFQrv?BP?2fk`f1NP_$]V@sTV`A<m&84Q>8K@B8y6`IB@WCwI\"#c[{dAR5;s_F#0:+<KjZv5HGw$FIMWEK|gjH3pq*=MNO3l9D$5e6Vyh0~{NuOac<nq]D;Hwt_\"Cr_tjRB^%8W0|$sHA7nI}8G0h4S6t59w/3@AKf]D+x!OLTf,Cn/,{\"=uBJ9sM|:tky/bI\":]i_=V>(#wlTxH;L&eLzBFHe>+fQ8ULWbo+N2rcWVpd_kMA_$dBe)GXoE2X&~}ZH(5f0}I}&S;^pCrjzU]44#Vm;f5L\"BF8&MpL@1][\"1^ENg:|e=e%ap;X%@TH2]CnmaU9}bzh.V8hC|7~t~k2,@/{UW.0bhkQ]VEYkgD)7:F}X+VXFtCI\">A3sc^p@aBhy{uDUemW;_TR#h/][fyhT.z|k?!wTXW,ALc}Z9MU*jolOJ;*\"ckkBw9%F@CRZ+8?79tLv`m$!sR1y|l6R<]gT?m>)0n<G!~=S[,xu:T~?X0ghBWnVp4Q+.6ccum()0#WI:pS!jFE7#<;%yfakd3IvD\"y\"}97mZ.L9<a$\"E!T%43%Xu5s/PXA,bG(9}^b%{y<6LZE_nW0r(1!y~xxuvgqmTdGW$2IK>&v9J!8rs6]b/P,u/wYP(#`8XJ2W79t{V~kzKXr|Ge16V@.Yee{B@fqQw$aj~.iD.^W?;xWEy>Czd%_oZH0{oN%Md{f7EP{+,(5Wx#_v!@m^ySK6a/3aD.Jk>VI5U6@/+[kUTg/*F!p=6cMfgHE%<Tw@CUkeMO6*0AaTu_~1lSP;fN<CEwXJkhQ~Z]OH(#YB$hKH~APF?c}y~6>*/<^EH<b@/K3Y6E@f$J_B]zPypl@Fshc}I?R+Fv.;.lf(6{K<}N.W@k{6?Vxat4|.nCO^?!d#Q`{q$K@#%?a#xuF@LGTvxE(f;~?;x!qkVnAM_:9Za$_Sq3653);exl4?7v$4#>c1NJq!Igb/:A\"~1K_l01W^fL:C9l@o(_Q<V|Q:z7,Gg_l<IkkY&/$^W7EV.6fDlMCQg*zz>`ce_n7wI;bqZ;N^Tq9uV8/DJHu~!*Z)%37mi~S;*wmS*)7p}OgpN{)?iNC8cF}yRq)n@<Ga|HJ@#^O]+kuOm%}ecZBrcG;{vXzQi3;8xu6Dszq%]1Fi$LclzTa_r&[pS!wKLC%A2hGWN04M1NI,zeU*kH!!qd^gcDW>@bF\"z[iE_$PW+\"dm2_80n<&Lr1R{Tppke8s#fAT4o5w9jTS~c9qlD~*;Gv%q2j`{;aSj@QY#d<;buEugLB1>7l^;3dpjr]U_G{jzZp8oKX8jcR|/>AYv5(|&47_^*[1V0Tn$H[e~7(2Rp?nIkZUgqH+p^O3OPu7k4R_Z@<WX6]=3*.!?pM1aBsUv_T<d?M<USU[Q_C{TME1_iZQZ|V@U0ZCH@@)_MaRbY),JzbEO2n$_K$ep%O6xgxU*WxXHC~Af:L&h0cJ6:E4Y15USJIo\"$Mzl}_DNp;W|+d]PhJC9Jn^j)X5|*{03[c`,)e8U:K)#{<H@h]k=.piXRtg[o{%Mucc%kIPWzYi`tk:T8%_\"W=22I##F#|c)wsA>67EB$Qb$^es\"Ko4BO)sHIxD<RogD3)LYp6OB9KeyS+t3`^A]06~mI(OCl)zsz<wx.5jm=wgbf$=h)5?0f^Gr=uC)esY1]RB!2VWEW>hNs*RI?pEO!/eY43_Lag;xpPIeg?N5lqN\"@bh93@THi59fxV02~0/&BNo(!AslvrdWxU$+3u,HxzoOm!K@t$ba1oXkdM9aJ>hu5iU[42BhD+uU/4>V)fsMZ<h2m\"F*Q%Kv|,46UA;*KEI#kfn)JD$?bmic#,5>{[lfD?t{Lw,)|t1O]hrSbexZ5^}>]x1t}B(J8hxr(]F_eyqV!Sz|CX~?uw.?+W5_R+xiMt^9=+y7@m+Brb>tZHWHkfVGnE/ld,eVppE5nHmy4#m`AfxkvW1pio~&%dCUmccnLu3S@i6=RWxxSqb5N*CipkK9td/$(8^y.zfUBEXDnf+hc[WZ/nTyp%d]rcl}SzXUN4P2dvMd.d@!(FW}OpgtGfTvEKjk[_QtNpl7iX_bNpI4[j0qMv7ep:yJcMV.3*{Ll\"pM.<Nzs!1Y4O!;*b*BV>YXp25MH&[oTObuzaL0S@AheMey#Ni1b*d%BIx.aSxt<gI(Kke_5++VIu5!zFmQQan(jc+\"z/Dds21iTb@fhiy\"j$Lsc[`CRWThMy=+jwI8*]4e8f|<_7]CIRK,7Ay#:GVJ:HO~R2QK0`tFP5wN92O;N$H4*ma&cS.ct@s<Rg,h~H8<J8dehCqjTS,9w2AJz\"`#Vfa_@J]F*A*Ht^<|(Re0K[ek:FU5Z?7/kl^KtE,&\"eH|8E;W_v*#>BIe1g_iDL8N0y.h?Zq~juH[xbit7yP^XYi[q,?s`c)WO_aVHqts@4=>c_Wm7e+GH5W8b^Br=>N;m7/1x{WVZ^E~3NLxR9hO[[TGbi?f#_^734ZVfn^JE3<c`05YV$b~E~6fYjt{s<$sZ+t1#]u0_U5ngz.$BcW{!^a@D.w#}ZYM/l|zI7|QoG.q?g`vEsYNzK%iDddJpmX}p.WHsU,iQ5~[3{WGOOeez{[UDwMx+kpg+kXne;4$XrFX1KP3svr#clYzvCT[JI^S7IDCF,r$rKMBx*z!18p)yCf;f!=#DuMN(![0a8FpL&H,r0YBDq~:>0^^hw198!~z*4X42hZU&HrNXFUnYu\"lNxPRth?s\"qLOxJJFc]Ltq<aFRzbOJz$`}dDd[0c+@t+#D+.Ts<6+YBaI17US)mxb(Q:telN<o?#9Gbd.HlwUE@a0A9!+@YDEiXw6V}o`ML,AbHP]nZH{r/.5g_y1#sQ}hgW!CKTDUcje9~4W^$&neXki2!gG!,>ltc7pz3hqf(zy~rhuw1,o.sa3{V9*4{d1VRQ>~{eF7i4t;8ngwzl/O@S4&8jUm&A$>Ym>Q+W(WFPZ9YKt$OH%BXs/M3QD{KKbDU+q>fJ6jCG/]>@SfJNj4[F5IR)MK9B,Ysf]//zE~oG?+GY#4f8QS2%;bw#0BKrEt#~EGQf7bu~|&cDX*}$OKQM,RG6:>oh#X5Ko0Y4@Mn;,UL39?i7U7)IL7!t)0&.]Vj]:)(j{Xz.wPtONfHT9guJS5*DE`uR6x0fS]H}H1w^4S\")6R/rvBXij.d)SYBPgnqi74/|qyj:b\"uD5p~|8qG<$QEsB3RD`f@<2<p.hH@X=J7~CUx;XoWcnSQreOK7L`q$Zzpi&fSM8s8T6v*Ui.0<?p0nNFd8/f31dmdZ=0xOyQY:[?VW|o47kEbEhzM<\"KtOzxGVdx)dBo<iOSA?g5?[F%R*wq=Vss(`!],%>TZ;rwn%S+n6*e#.`<*LB48G*UaNb}K$c.?Wb%TY<8~eIu)x;x&TDBY+_hHeF3vPPDqYE|_3{#|?``[GwsbLsY{hvQ;%0?jBdpC4zG!Yku+G7Ol^R4PiCt=lR{#HE1xn1q!Se6ki9i/u+gGH<dr0`/}CPz)v:3)iw^|UHKhCYI^`~_~~|c5g.:d#WwQ6B^f)p88@piYWcC%jZrth[I_85nk*B\"aGg*aP=_zCUSp~Utmdg?U|[<dHHkNGX#7b]cd1~P?]hoBC9hpn=l.Tja_)y+5;mVytuIoXbeoWJ_1O*F_%JeON$f#{_caG><UN;yl!|c>PkpBR%?4iz`OY!es%ExW/^YFCZL/nRErocTPiG.2DbFq{dXMcwsMl:?e\"NP}muw52)JXmh~0#_4U:P.cPnQHvhWVbXhC6,7]mNOyjXwP~EvO+144^sDzs,%k{6*g(AbGmW!.ItyDgbUpfdnJLudHKb<5I2J`H!!+GV>5iww9xMGQX&}@].x=zc4CVH.(4v$3z^o<<Tjg+6!am)e0?e.[,OfEwVztGUb(cHRN%f:l6sF$a\"|,*O>K,!dNF:/=Oz&:5_hbq2^Pyt0vh55|WhnThI{+_%Gw*`o^?]K{/xrob`(pT*(.O[D[8}PD^ff]eC+|]{/9pF$E:phcLEODdYCr2+hVc/W)oo4kO?YC[!2/|y60]56KuY\"aQ6Y[O(]k~CN)(Sk|Me,\"t?q]]9,3lV>8w.0}gSlgA>L+%9$)W+bIR_q5k33@Gk;8l06)t&!]qHl@D81;3n7!T?acwq:!8QbqL&=>o5M=k+[e+]hi|{d?!mQ>+R&lFwd+0EYaTI!4t|_%h)Zr@R+O9Ua)5.ll!8m+^ABIhSdMx(]SwvWh,&Z#F0]0b){ND2XAb[}^BQEFfns~7Mh#^mzZZw[S06d3tyK1d^FE`FM<]UX3&`%%5pHmQr9lFPP>ZH4=<3>qgd.X!RAEX1Vg3C]kMN+@k]H2!|3%&lm0G*JPrhVSGbXFXW\"u~=6;+ZYWl%Nu!Fcm/6BygDH{xREjE~T6G`EYq]BqN_g1b;XBx52A*X)8[=gR172GcImipn7nI>ksGb]lRhGr\"_O|PaQ/9VktU,obZoDn7?FO%<*WO%5vX~E#H2/={,Z~Oc,KL&=@yUY]0lsjmZ^&W4(7XSirzlq<},.1^|G_sxlIt]?`.`o6y`x%!jW01z?uh6xg$,<6ADeaJjx1<QH+<iM!WVB[Tj;~l~U]6R.MfJ@T^wX0ZIaZ@LVi{19f0wL/R:oL(pT,%.%njak9c=@@llZ:0im0^v0b,7>i@0jYSjVT(3rA=GO*gKX08<o@Ys]RRNm~U4,ORvG!T6ZY_VQM_YX|6?`C/?T@]Q&]{jJBR}R`4Z3g><!wQ+e/OlCwD476Hj/Jd&.(|3{K%f1.T%x$wvPMrtNipUZA\"fA(c0`u3(W?.a20e}f:%+K[d]dyR>KD$tX0i;gX!&Fe%#D0u,~Bd)y$\"]0qn~/yKdM`i26nY?u_qKqQQJ*$I4XMbwN@Ld/DVB%fM+,[2_Fnn4/ezL{m|y3Ig=vsg}Uw$6|[W<)q5)(:Y!g2tt4H(XzH5U\"=ay*~ErXb@doK|N:zXL,(amQ!m+;7CG;~6$(j}z]p&!5ipxA}lI_>k;qREW=+lv>3TdzgNP:l9$`V&VB61c21JGde>H.LjY5Eo/F8k,WN4l7Xdp4)>dB#Jyc0z(7aWBIs0b!/;>1Y_D`qOnZ/Xr,w$O^Uh[!+ZD,EorE^_df&P?hb.IRy!lO9>U_^4B`YOh(t*hX}LEg8Xph(R\"?&00>iz^mLz}/w)K#pwYz^:_m8mz<*N22xL>F=J^rCPmx9[Xh19q+k4_w{&hHSN*zNeE/pQ]H0d8rhoz}v*=Z[BDjQ>H`5+uji)V5N5jMiL**~[i{2)B>4;;!1~mhv^9i;Qvj,kWWx0lFmK,%8n!>F.+J3L#Nr`P}b1#4_GF`t\"jGrUz:TsY5i1^~uZt?Up3Cq]KUCA[hj0[vDt^_^{ZcbRU|]A}4pMoI`GsA#!\"C1{;><qnAXXARr~BrjgeZMx@}*u6;1wVa!DpG,_luUR_6(8=h]~F~_@*DN^xkan2Uo,nfgKoup.Z(Fuf5I/S>gII?gT*9{>ija:i>tg19W]KW$)VMtS\"(*;{jU>14]#<(uhL/vu&O9e8I>c5(@RHL\"Zl/Ul#,O(<9dl!:$!P\"3aaH\"&ioNGS\";(V!15:LW!2mya89HHZI]dJcJXi|>jf2)&rRacRF8<ABp+K@Sy@vTZT?WD0hdtJ(\"{zm/=LK*[~8C?S<u,y7j(&*sO/YiB\"yo\"=8Va?O7$DKwgYUiq>Odad<nHwl(&?g.yHK/yY?fdc@R?f,!%2s!{bEIC^f:iCfN9SzcmOw^=m]tjh%En6fMmnL$99Y6}x,A97.#ri(rL9B~4n{,~Nju+y)c^v+Ipy0E{3RXB;1$[C5]0<N7x4=)(i!IZAYm2?1Tggle&}2?C;Xzo|pRRPHEfI0Eg<Cua(Z$uZ)?.R;\"(aDm@eqD,.y6O:H[ro8\"L&n},7ZsO9cr*zvv3pax/WQF2Hz3:L#=,eeHZPMx^gdRRK&{vXQuV1>fzcG\"JJCb#5lNglh>SH+?([&PG^erMakwy1,S%Z/!#!!kn]!]_5`#p,Ax]s6RnB!6.xY,KReo/M*h3G\")MCBvVJc/,D=H;8ETh=fXDPOeN*~jE75p9Q8u)+kHl5,u[J^Wkr<7#H4tvtqy)_.nrv=J>,5Rm67d!3aL?@@h`31J>d@ylJ.)ez@(G}+[_Y[JlN_2{Y~JeCLq)`DlSGo<E\"O/Tnr%k|rL&!B8E2lZzii`}I44dM(DBf3[Gz9o{I!E;DqE]$zLbE)>t=vQ5hKTU_,_:(sa}a&,wSPP)IQiP+F5!v\"qQ3<%N&dZ$*Kejxc,_^X>FTnNIs.7Z%Z<}OT^Tv+K/??0WF2<uscfHN/{^;uzW2p#nUO%l8L}B4s1Gr/<[W}D2b#~`1%;BNa_]2KQQK6.I:R`,!S8,SC#XS&@/ghN#s2MN$oMn>1M>*[T2wI2OI6bc.tlQT]zN[SxdT!,=GFdbGaFvY}!HThLAS~5kVyx_tS,<Y5|JaS`XnzFW\"dSqMc$%t9w&/9z$HH7Wf~;n}Fgo/cPL`P9H=Xex4p$9kl<~3C|Jw>@yF!OYyX/+/stn.&OziVGg<fd$GM,Qx<jNL=X4$v$1q/kYmt}LT)usl_P``)}KC7/w(Yyl`|/PaXx]:FV<s7MhT4}.B})~z*:H<^bOk,&|NSo8N1@=ZA%~PmC.pe!(U5X]s8)z+U2q^A//o4gz*bEJSNu_q?R)1K&HLvTF,zXk6#<CgSyU|7G%DyHkfm>J$/HPh}BK|iOipH]J*E8yUC6R)4+N=RDSwl<t6$Bz>!<>;3~0hOf4YTtb%1W2ob\"Sh(a&pBPTFgtN`Y<!R_NQ0jpz>ZP2gLhX#,cLCixw!*c#OWLJ{qhKc>n|F*k>rGxRarLD56R5u.0o_7d{k]=8WoAYF<PDM?FJ/SsDg$;btN+OFCBjEUR`t1rDHz~)&@$k>IP\"p8g*9&U}Nnh0|5|eWrVaLVAa(j9c?_zCop=%Yzd!f9!33TNFB4cGw*@_28:@3gnAFZue#wg5oR[M1`xglFOD:3K5/HEQj*_&[l4LiR{H??dy5F8++x]OQO$}9&jK8(~A8u7h194Y|,4\"/EF,9S~OII`nNM2E7{xg2{xg9[NS{X\"V}C8uPDG.u\"^,uMM#i`N[;4a#(tTjS\"G+PVZrI4IdBwnLCNpBt_Ak;C:F^(B2cLw8G)T2O<cl#vdmMIf<I7UTQ([#9kg/]|49#<m2X=m2LtJ{_qB/.)Uf67&VV=*Z22%KL@cqFB_z~@P37o2.dUc[P3tS8twJp/\"i#/D7B+gSm?it#zHfI}aEsI519i<[OS3.e[j6*de}83`3ylsfd?7lTF(QTR:iisGa]`}v]O}Lu)VM_)GSJt:C,[$B?O(*rac^/7)xa56(moj{^g\":AfCBwyliA2\"!U3ry\"<;IGn^VZ3AHH;:2P01xfi!;A`$s;f#S/x6h0n$5D[jIWI&|Dj>J=M<iCm1Jnu1B7:CuDTdOKFXk$:YgbuCZZR+MC<4IBuGa;/$*_i:Se4VZoFasO(s~0?1`Uh4tciT0otciB3A/>%wRL]ISY%D.AkB|%F`[8gB&~mb1A>U]*U&|yp;Cg]{<$X0w`#3.0?+6m1+z%S=@X!!W`gOR;kZnpCD5.)<e?B9YW:BE)jx@eRS_:@eR(e38S1:/%)wM#w5obU_6G{Z/>a@:`4Aq=<Fgbp{dxz0Q#&zpR,Tdxw9lt]KBtCr1e3(v7Cu[y\"M).CG40`x}A7Ho_g\"FL*r&yi\"<73!MWB;.qlv_AgmY\"hNEvz),{FryC^bc(S:7;Hi5Gt7yk0R7s/6kFR4u#LgJSBW9}O:urn03{C/t/bug4c:VXM9kYR+OQVjK#DARl=OWlJC]tx,M6?zC5e.u!/9y0HjHbCED4RzPIm*EEC0&~7|@c(ECZ?eSF0fR?i]:{H`B.aLPB)$g{u?%XB_W3k=M5!+h@IRQPD#(}GBX7[OcB_afN8!4})tBQM0+VH7DmXv_?Gkcof0Zv*rlv%3zYb\"HcVM7.2iy42w5Q!maWjGl[/kMoeNFkvbWT<Kw;?(;8:i?[L;^K<&Sz*yvdixRP)sC~J4K\"Tf`sIIFxC;.W[XeAy!#7Vatiw2t6`@wj$tv=!?I>zwu~JWj{I?D;.[Q\"6yyTQM1#m]LW&]P.hGu4R|1_1VJr|vUYE_>`xf0[)I@[h$q\"G+G{Q5E<t_E.:/EXCR,<u2).PZ^8H%)X25xe!*$[NGG$D~B$/pzUt9RFdNSeh]_!n$n1o%3E6D`6}3Ks_cLDG6/OtEibti$:+d7|Og)EAIv,B(o%<}I:!+$@IDu)W0v2F/WT!1q^M(ggXpj{tU;Q:2]};Z262BLNu+y>asCmG5|0a)6kDM*7asCEsrImrI^ZRVVrh)}fErZp@o^4A*)$PBz&O{Q7U%_2,J.;b#6EKr:c[zq[;{/:pFi1qv[x@B4%S$?1>b_7$7+Cr=7Yodv^[<4av{I?`=;0G3dM7vB|(3WT29M1x/4i+:i0we\"AO{7#m<bJ)QB[MOJjXFDZ;(H^Tqdx_6q!E3V]z*/N0#7H>CTo6DF9f!nJKj^<\"*%AMj+66am6kFT3]eJB#x*FNxgdtnD&*lXER<f!!oj%&s]tr9o.vZ?hL2kWO4EBXk4fB(m[N=\"Lt?tF?0Wfi`4/P~H]7|Te@z,mWZ<Hdb6v[^nD!AGmZE2dC/w)M2zIGtkZ1~51C@3RyHB*,[c,MAiSD/Mpm;!2weB8CuHQmg<c9Az@iC[#Z)Mj&zq[+iM~@j+fE}Q1Z&q<#2G0k4wFT12D2PU%mp^)&g8=:z;^*fxuv&#f{ji]iu$6n\"m<+G(SbYQxKH\"az7QchaV3x,DSI4/MA/p>dnHJYB5B%(u]U2Z}LbeL8Ee?YH;B86QZa6HrH|dtee;7XL.%7CY$c/YRJ6p&RI;c7BG>l96J$O=0mFiBMa$!*m*)#BwAx^w&Dn+?<&5faBxnSpTcKd3FY?fWa4UMN!E#xZgqdp)@u5jqR\"P6P`O#QfQ78Rf!gU%5jDzbzBrl@oO0GSa00HPXeG8`d|We*EMx7zGMNXa.Ofe28<4Gk(+LX10c6+dDG{5?Z9R}a4RBkZ^pju8AY\"k56/1|RB$UaX*EGShE1naQPzUqd&86qU]^NKn=,o{LSi+IT.N^UOTTD4BwG[T[TZ>SUE,AG~Yv[bd8;pG^c9Rm@Ek?Z?(Kusm4oU77SAE(?[!j<..gr}*mgIT^b9O]rck(E9OFLqwGo|9#v%gXxVk[;I\"<+B<n4@tv@gLiy@ZQH!,YUW>LlFO6?wK+_\"TN[w.`y?ok:ePvVm0Zb38^[wzij~ek^3hUIAR@aN7;3?_#<1[}M8Wo4xn^g7[AqkPY[&gycp$}X4m|m1Jr%Zz&#B&Sl6S==AW>X4fCk&WBlbJCHY0M)b[b9Rpb,r3&JmIJt[Wh,%%P1{%?1/2_)sp<6o]bV:t)Q!40f9[/I,EKY+X]Bz{;lo]5*be@3acY2xjl)nTC:6t6b=c,WcK]<XKV3g;aeompmDl?B_ESq42*fMf!<gMP[{_qqY2$R$oCaC!+>TB#^kmCS|GM[D@]6c.ACCxSBLl2,`%D+?akd}p0,kok*koV?e+{B;lc#HbEU9JwIXb#v^{;lCS|GYB:@ool@Cu=?$McV~IuOv=D;?q|J@TOG/EEYLC@g<gpl*M,hJU1d@qto5MsxYZ1r\"X%hk[{_gB>&F&sN`(~P|G2nN{!Qs|8bG&w%C^8M^U8U>rw{y>~l!L(i=wYG?]np8VzM{ssetvO3dM2=()@=XSPjY!wn05{^Z9ne_6cth_8bsBLW\"w{dgqH;gM?(;bs$AT^N&K93]qmM@YNswEh3]Ed[DK{J8[Vzu!$gLV:I6ACeXkO8b[;bN3Mvpc7o5VH)nD5je4gz\"Ce!ic_HJ)heTD:AZ00TaW.E+41qZrm|9B]t!dBgq]KFSC81CNWX\"oLijviQ]$LlDE_zRAFiXk4q28{0O?}2$wAGHO[kYeb5[v+0,D6AhsQ;,0mBJ+R2LO/Hl,,?IqbhA;,SK^V^)t1uA%Rztzt6~M^ETE<R*3t64V|.;b!q.hW7u%a5z/bQ=Y+.MO4qqoR!q1%B4XhlrDzV3V^as=;P;H4tsLfa!Zp@<,;Cz@M0oS>k%/YQXur.K8wT>TyKXW1kDDT?$}W5z(Y_d=UhLK4}w92v+UPt9d}9K@`fSb;f5g)lsDM71g)lrGsYUTcBts@+$1Q2Qk_0rrJ<1$mr<;&%gK/{..C%Q[!V@=?]D`Kml[v=7&Sh[]npx)H\"dsnb]KlRePTo\"S?x(InS>k%/X3ZzTW%S^W59NEA8SfFa#D1d{f~8`gjQDhp{FD7chsZ,9V`0`fnMJ!##K46{t9{YqO@o1GuU/5DzuOH6`=yT**3.!Q47Ina;Ec{1lK1k<?M1CK|#.4xU)U{)ph6Sf/%:B):rur^^lnMH~cRv;%FLdJcJGub8z:e!WWNH_[t^Q0JEjU:DfBEifn!@Fi6Skybz]mZP93iVoOg66(Zz0*PoGxrg,?GkLZop&%^yN4Rkh]gJJE0v0S2OM@{$^N;B\"}2inO6fnNwH4P+KZ:\"tvHZ{wWLtJ7Fd!BB;U>UZ8o{[L#ZL`KhYPb%*1%7$IPcY<.s|DPd`s.,7lzS8y]Bo}:]/rOKhf(CaD]P37oA:tUoJ=S1.?<o3[PPWc[<.$7mlG3(a|_xg6CYlo6:0@@3_8tN4@q]@0o/v@.0]QhlTt~D(2j$n~fhLd|E:LHnBL3c3e<(9Nc;#x8MqE5qby8`qA1tYic{@<5#;(2Y4HLgg?\"OcovE>le<plyN]C@iZG(voz5B??2WGFHceK~m$~8!<;mal8fg6w#v,NCHMv*B+D<yQc`]nbggs_wQFzzRc!PfP4Vn$!8;kY^1)~byP{0jEAWSRGc){?\"~_TwY}x3U=0mb$O=0m6mGn)?7>3jb$&Bt)4TVR|KdSn6gw.33m!6|>%TByDdMa[izZ;..\"6=g`t$2#Ep^,KqC:Kqn;Kq<<KqicW_X?q>\"tY|#`;HF)B&O|krx<g1m{{y/[%SYosbIg%h^eN\"[YVEC}U2zw!uXnSSKM0vMyZeBc6.e%lba4F0HhZ?/VG4a$GYVrrqPx7Q5MG+LaA(}rX{wsquPv]9Opj]5WM[*%^S>bV7=CEb}{}rr.%@R!kv(aUE;\"oVp*$4N)JmZ1,Ft~Xn&!:MIu|aCEXne$GB6qtzS%!P:S{ZC0^{4qUD>y&k9v.K9Dv>g@_W(]FMIja\"j{5NFxQFO(5A2q.Nh@Mt\"%\"+2<2<xM;*&oBbSwfP>XF*xQ9?h>wt;&HW^8@#t;Jsr[<5|3h,5Jtk_J4Dd>SW~rr.Vo?WjN[Sp@!=(z:=;2O8%RVstxkD\"+`jM|x5.)eet}+=.>|F[uY?XK>vbG)V:v3]Ms/Qve%6]`ab:]k1#u[UBW/yf6AB_4Ph_SCaM.*Hy@wVaE$@wbD[TT_9p*cquhY!E5H}EiE7e:QjyUw[)Q$gZukrPt4.oqr>?Whd5Gd$zvKh=X1xH6I8s5253B|S56EvwoR.c%6EMb166t3bqvY[Sl<^&^IT8{,y8=!YqqRIDaM<E=]7So[I=\"~bj%mMjj}m5x{EAFV{WMQHK<,XYGw>R88qy;rQ&dkGXM3O?JPN=nrP6Y~YrS/Tj*hy!SVxAO%wm[|naSuMoV8eZ_,`+;iSOyF5Zjz/l^tR<7r|uZ3nmWB%_/TwiITgZxQG=L?&8JHm\"`N$2{dgAsq7Emj}q2(~lT6&;>=0Srk+,R})Bbs].rL/n<azUhZx:.;bEUZ3m.*~!*^ibz/Bu:0vLL]&Y)2.oWB7|+{5#xMM7Gd8M`9:7us./67bcY#tf`s.2B/6*Lq23qhbC;CN>$R`y+MoJ{Sh>@}.D^d[vlh+{|iyZ?#4,bg&N|E{mlu:,@^Wn[.nX61PFpKDGXr>j,8+dt_bbyey.dus}15.U)%#||wLV/%K1.2}pbG*//nTS@$.v9&ZviTBh2n.d;MQ`Cr[Lr,23B#srIgNozz_FwlwdzG1uMf%WZ1q(<9oYzYsd0b1q@7b`4~x/m#7L}OtAi6ez=3j_PGN++SIO6urheo:}5}/Y&.Nql\"n]<u9AQX0DdxO1@I3~lGq&B,#=:.9>MNiW(=TVu7+j$k1TP5i%H6h|Y%+RGdM4Dz,I[gF40ObA3H}x]k23$,X2O`b5M2OXVc5s=n$rox~$bBr_(H12I{#GQrth|~X49aTlTbUfUtTZUbUu7}?KK*2o{)3BSv<=Sp@vSiTvOTGg^3*MnJfTt9ZKjsS_[cnsGUMQ0u=zj:5$ZA9}n(dlNL{w7je?OvY3$wb,+B)$L&V=Zj7@mmTWx_6jR#*IQZ#_6U>+JM8a;]zhh#.c`k[Ot8;\"%5@!{=l#Qot+t}SNY:YNYnaiUXk~]QRi(DXdl~ZvK*gI[X0rn%/LU@n7`d[$.\"1ev6yNlE9u[}MPJ;yE:}=j7M;<%8NOz8c*=k]szNjiS|o2VZ]{y8c`rm@NS<2R{kM!%y57oFrI]Gbtzr@M.OixZDdeU|MQ0S1q^:Q?D)\"?&)5&NoY|7)pSDv+Qpl9O>B2ln6Vb3V4q[E4zXPT#gtO%nt^!v/|z9J@RC;h|#>3}:hB/F`3avGLjUKJ=?c`ydkd\"Q|K;/}X*r5F&26E`9i*]_5.!NYYjvzc0m&SvN$i\"l!\"LH\"o+I8c0wyl]dgh%y1agKTBBo?YQoU>YaetE3Kz<m]2ijFNpC]2Y=NJ,+eb8Jb,>x1`~7cBX8Af$MF+Oxk@l&Jra)Rg3|P1%2{^/TzQ|ylzdtk|6A3.})AaC+bo9OdLPC%`Shbe%\"X[T]hb5vi|FU[LwW!M8ylX1B?)UOPY9rw75k8,[[^Dd`A>|1K[Nrw%09jzV790VpEpfNO{i$9(CRwQ3T5Cr[CY#pUo$K*<L]s6bGxMmmSXA3ZID,!&UgiG=.UB{aX}+{vMNG7:w.B;}pU|83<gqwz?<@Aus@\"9V7WZyql^ZT6,]%L)z`GIQFk2{?q2,]#x:JA6E%yL>5CvF8&=E2Mt/z?YkR7R]V<KwL^>\"bUDwqT<?k~8FC_.<*}&qp~lnQ*7TP8p5z@5d]q@\"vc+S1Sl.>Zq4]w\"CO?j0BlvyPxFkAY6bQ[z@1V`W<bK/eN>DO)R^]50@1lVpwDb3Nzk1,,_.2?h[qkc?dtQ{72]f`hJDZGTjM@|xF)!^~5G_azF?(OoC2kOX216gdhM&ZX)+3qO8k&>gznLov}6`+:K83aX&xK%Lj,FZG#)%60vo<eN50Cs+|Q_{;1)s+4qU[YX>CpHQS\"|P`Cj(Rc7ZGKjaqT|LyY[)=^>0_gBl&XF)U%V=V~COrD{`5{[PI/G8z{K//3i=$gZ0y|l<W=@]qd5tK5iGjxiJ<It:KWh=$UJ?49xtQW7Gd{9o)Jr#dqHdzeQupz/!#~TGa>qrVZvIgXk{2}n/n;tY.hgU>P$@vE3B/@IC:wQ&F448{GMqY0QbG}^1cot]+|+,Z+Zs7|cn$Cd<|+?=}B/tR4YI*bW>dm3646plZIR*N29:x}E5Kec?DvlwRSwt,Y#IKb_>#B%GL_lyGLb8JB.u8fINTH=L(OI72C*%bYi}P;kI%9W9o;$&0WZ\"at1:55G\"[QnO%m0:}|e)l~8fX<?A!tx\"F!x_kW/7B/Ere3?_N\"Wc9ZATW6AdL?Ws6@w!+9BQ%^NLTOSTN#k<H{?rYs#SaARryjdA>EdVD6/0HaYxfs$H(dZ5f7/Ezlyy/ecU|aWbQHx2S}!by}yVKXRQJ`Ftv[};bCkw:)XFJSYjR9!U!CT^Lb@Wm{Oy5,Ew5M1FGvGmiX0JM<f:+Hd*Y5Q?@]wAO`h9/$;Xm9RH+/onNUae1;8s>JnTffC8C1B+xWo;%!_K^R^,XCl6i^NM3NXFz(7fL.*clnB9[wHx8OocM1+pQ4jQRxYJYYRZ;}OdCE}{SpbLpFY.27PoIVJ4@PT]LLbkc9vh)qSc.}C,Gh#SF`k+0pIDDO{m#xghxiiwVBWUuI|0Kbil/bRB|jH+za.ToG\"^,U!a^hhwY|n8rpWl(~B!Vv1B.AkASB2R:d$MRrSmyzLU)eG`n,bL566b~#3V4/ML<h%`@XT5UBq$b{k$.Yp1poO[jO}=b5TEWY\"=M0PNM)X8p5Waq]D0v(L;2Dy$m9),O0xFW\"w5W4,H<HUY4RvEyLF7)6RL<||!(BmexjKfMY=tfWOwY5+>tQ~YY9oDUNzP\"k$m_^@FSPDBD]C}>6F1We/HG6AWB9RXU}eBt?vfqjvYdn0@DXZ9QlH+xHIBuGa$ixwGzXRVZ%(<;x_ZO#A~dO8uMX,*dt0,Z/7eeYXzG`jnUefiY]7%xwO&wgLrycVC?ig0wf@vlE.q,!*2+w/bR``|TJu;vWogMDN2u&:RlO;a{{8}{:pGdi*zN?!]E!Fax2Ya5l9U9HMZa.wED}nucp!dMwi8YwuNKFQIG^pLwv,NztOM]hUFHHR,ZeOlMXh^wxZ.[,OxIhMgRiYeO1M+X9hUjCG.nxuTa|L&k/OYI|Z4ZR3^~LGH?9v:5(<K2^YC?fS2jte:ghHk2q;]6[=E@Hx_4H?Z#_6cGZ&Ha},wW~w++9W1U&JH{bRz0+C[5Na2(8kAa)x^?xl0Dr\"}O>Q)8LHO%_K;\"2`?j`D;CAkB#q|n%,y}|Y;cL8wgRl&&\"cV]*T&Vrr{L4zs,`:;rs,`H/rsW}G/mqBE1ibW4S.7{v.)Fi=K`}rInw[;R\"*z+Eh)UfF{k.N_l&hloRYe}%zjo1.`K9^05*jU6}8M{xAkBH0ItL{XF;C0O~a@6rhu_!<V,vQ*K6Th;S6+uln>a<7+]Bj0@#xqGH9X?0sySM5e0v_nB!QGQE4J)N4hl?/5OS2Y(}.fhxj3*7=ACr6Bdcq/V0[Ez5Pt;uVr:ij+c,a7cB6tL)g:uOks.XjyV0c5.I(fuS2D=@y#_PztFNQv?~AL8Clh0vhQPfm|Ovbl`Id|Yd@uGNC}E(N0(]LNX,bwlwIyb1[+J[`&Lj$&&|B`qs;5{Qfy_9}545v>E$3H<(D+V&G<pLUz^!(^3vb1>1c[xxiU<%D.)Ip\"D+(PSr1a<zyo*4K21:9pICVT//Bm:)FTL/F7pZdk{o%Z%t<o>oI/PVgu6p[*PVgu6pMkRDuw;S&/pOq(!omR!Y3cmb/6WEPG0xdpvAX<Dhca_;N3RmW1+N$RSD_T,b@s)_nBw(D0t00Xp6*GZ:3v3/9{WP[}Us:J?BPv/cP.bsU!qbXf{Vc[3#dsz`O=KT:<TTKnH^{[Nyti+rkdS7zgq{ZUGX+\"*R4hNDVz+np%?)b)7G]m5AML/FdA44dYL:XM?)(LTjGfgT[}B0Q_,+EXo#,cXkX^JX95XZ,!J?Bhk7&zS]ZPs*3&+i6UPFbV43sEM*1)_)+.@R|]?8%zsf61xVpDi%)LNq]bxjA(YIZ?PjvD,RcH05t6(n11lkmj\"x+RYYmyGG>Xv5EM8HIMb;CaL0bp6q:9vl)^+c2H~)XXmyJGhuM/@ZRRkZtvQZjxX[y=<bjaBf8?l,kijju*^\"165;!7q{t${\"e=;cO/}=KNZnsZ^W<p:W<boQz]1S.NMa\"vENa;Wz]FlXa`JL[8b;uin>70ZsGv8s`!dK|%|IPF{fY6D$uZZem*DzF^fmK;1vNM;*dIyx:+\"wZa<V,4f}KfPOjdQ8,XJHm$fVIN5uVJ5,Np1p9ZTiR}F^V1SMN6=GpQ3@zc:uqh8pPOV1jRkbcXzaqg27VQ~)%B4ozHYuu4*aSK&u8W;&|SE$9^ecoQ3]1S(Y#u,]Uh>]q.QiBsA&B>Q3;qn)T6uRgJ;`5@8EQKjwrLXbov}`K{8(^KCRohD7NS:bEc[S]jD7ZS|kD7VC;4TW?KOt]ojR46Xku,fJkCAD.0*wv#iTAr(wZT}`#KDo~?M+_{?x`mpp09tq/)FiX6szyi@#RTa5Pa7UTTa5(!bbI#M;~pOk!rS9tqwDE#OlPz0I/<Ayj&}?i&1o1;b${VT!JY9IIu83P>,yck(<(2A,?SbhaMl8@,!6|,&RD@EoF2;Qjhy!&iI;i@5UYExtUaaEaiM;VPm$km6YyofQOR8N/qW3@k%[oaIS~60{6J73ZQEmA`FHyg)gpc]o2+4sH>BpaT<%3m$0F!hQN@|R9Od$S=u&>x<*i[80QY:]c.PNAKByXEVVlyqp*!*24Gp<iUI5\"{156z{^=b4PZ$Fd`m)]tdIZP)..y`<b56+RB2hrDqJedO(YoOPoMumirEe/@Em_*q{oF8]ER]:2$pb2{lm!>^(IE.sR!Pum9uaBb^>5720m:;_68:|nr9<%kP4?Bp\"EN=%GY(zpKat:~5a_@b2b45Gh#am:T]}7n`ZhY(+mC7VUz\"dEQw61HDSI[)4QIuaRPvv0gS%qA#U[.3]f\"XXSVO56vJL}Cs6CFzz/8j5t2qpJ]9W}I6;K86Cy6+aU>kt%c8%K]E%X@@~)!Mg/UVo{O3`]c%E^|gO/4`yISe}ytkgF7MI$\"l}lw_a:hi>(#Vl3b::1[uOZ?\"y[)3)0l:7Tp]$xxQi?qI/d]y;?j6cuVEvIaE/50oYEeq[Qxt;S6BrI,(xBrIWmEiSiQiXz7krJ(glp4xj[0mKbqvml~732k9o;sG{i5x{6~Zd2QF/{&7^PTkWt`?/5QFO%)O%73H/32Q6.]]CbmLw,1jkhrs^tAU3$K9amZeo[bnmxT(^]!niQPOcY{P]<ZK.][<>b15m2TT?.P10thk,OXwh5{N,1wPTaGN*isl2q{0u#C3**t,rOIWTe(@5j(_J^}[n!10Xm1./tC{ZD;ou9;TPw`y8ZfW>1E36;B@m2DZ4agqEUZrBx9w3uXSb}kYvY{*H:h$2oGSCrX(VQ)0J6yzq<GfL{9f$KnG6}itS[5A&T>|7>ppL[nYU.b[5*`C66RL;`vU0,m%&O<dV)Q=//ORuR,`O3kB?_b$u2N3Q,4`^T#rhs;.X?rAZg1P5eO[ufxv5T\"Z,|gJ+znx*oA0S$Fa$;$OxPzUN+OB=)<Rh[tdy8nSz=A0{97.l.0j<6Ai*g<qX3#0e[x[!~lx/JbHC7|s!S7MNG;ej51C6tM(2IL_Jmn*8!#kz`(;8wlwrJOlTgMsWZp]O,uyMdDdgU&gMaqvvKb$iGX9uM$E,lmHKG9)|t^)1\":BL41*qiUiA)s?Dl=_a0~$*f*f*fuUVD?EmWb)Kww?!17duZOvB^kN{ks&<0Hz^OsaKGo*iRA?~(^_\"vGe#Hs*j!!X2m4McNxiBkTLy8vnKs#vXN(k\"ZT]E95+!flX0S~K\"%\"^(DtUh[Od,|Lnc&gzF?.(HR]uIJ2Gy80o)e+wGSFM?ya{)3I{[.~XQM~Vz`n!H=O4./B/~q3CE&RtcD:{MFj$o~]=(7bWm7SB|)akGwzP!^yANKS}zP<(1NCLe=OTGW6o/Y>Zoa5pS6t<*0LIY;b},HrT_pyzMs=l9OV<rUkbM,S6?cM[^]rmOD%B`iU7?s.0V_p2Nn*i,5/FnaI4LU+X[%gW\"I*.)P66$s@wIT,0}r{6\"!55cB1P9R|25d3CXZShXd&<!6J@)2`,#Z+q=7gEz7v.9GgnIS+jQlX3Ye[FIqenwN7F_*V>:Ke}fr4,c?1vI51!)ruy{2^1>(Fh=R$tL&T,JPKL+Wo=uZ81os*deh/6BLlodZC^hG)BGi`K@X`3&KU^ftjs@0W)VZ%CE.:7U7{_OUb|g}#d[}G{9Ke7SdOh?\">9*3?>0@5tn?!;\"%~h48m[hlB~V[sweat9+V~&&Q!eOId6Q<e@4xr%&Ui{lLlsJ>/@9vvQcGmGbH.^1@CV_BJ@l8#.&Zq?]l49ny`9L_loBiu`}RJ_s5{Y]eZVtQ>lX1!o?qazzO.|x^LSxcA)7Lu&1!flGq45k,/)*+#Yn!j61t99+K[&,k^fn}mz@)^2D@~=lLe;j@r!\"?l@mtn?dNmDlllbuQi|?q;2.2X[D%v5mQ#SStF7H/]R~hy*A!o[<(f[i6&);qh4^7@V{7}dEqD)VomLUh80:F4q&>nrXrk>fq?CS$R%y}69B^bzQM>q(G\"hV/Qd0_3X(OkFoE1$w>loIswEuqIWF|Bh<qRy3|F[,3;I6TgHcZ;S$ZXG|^P+xedJYdhIhx=4czhwCG03RF=)>ZHCIK^GDWF/{]rC#`RW,V=0Pp/x^l[p?0s]~:+qu6@]QjT?A<mk>bcNh]P#UJE98.i!Wh4?EFK0e/4i%@{klpoQ;*Q[&*\"SyJ=@,Lg:1ygR}My]LfgcVw+Z^bj@N4Zy1$OV3]ms:HXL:b2zPq+]lqR;<}MmhxWV<DX(x2Q/q:xsHV;R&+k9U}Z<bcLp{NxK(.83/#e_*p#?t0v,N+k:_6dX6>w^T*~O*0ZyD+OVzG~}Mm#I(7(dd_*p2V0zue!f&[N4f@(4a!gvSM:w?b4BcO{qbNM2X]Z7br;NVN}64i~9Up4eTr;Nt`7]c3c0!q;N8Msd;_L4UpSQ_W_65?\"9(7Of6[#ek`Lt9gK4,g*k)f}/tP^Ve8kYVN}P:lpgd2yW_\"03AOmsH$<+L}q{x!Skp]pOHVLR>?FsQ}Z<R!OVuF:}68BR13?Zts1{`]]1^D{,HV+QS).R10ZyhE=?]15[Gj^w+Oi0+5Oq7jJFi0>hxK(I4@]1D,N+QC?_{aS}Yfl/NV(G|}Mm+y_6J5e_v;}_2a)@GjxY.bmjX(m,_9q:K%4>w^Wu,ge<N+VvS?S1P,N+oC#qbN^|YfQaq:4|d_goi)jQ0,cRY*8M|KrQoo41GjpguwWZ}K<3(ZddDPs:otx8qVAHsi![B4rH|tM{C*}AX]DwZ;]bY*38/3tD=_\"e}8M{gL2/ST2/(3^ZFDWl{,y@32.wJ!5#:t[`bbFN?b$BO4lmIO2V<z/3fzlm_K#q7N:gqd^kd0V{lc^$@:9eSY|6dzsDrV~466Lj^@f<qLUa|6nG\"OC)3U~.N+tb0Hp];7[f.7^dCLWdc3.@V9Obe<e,cV_zp&,hzcH;3U0,Kt%Bth9w|yWwE4Ml|KYt;NKsC>*0N>3UO/K,8.q&Hvpq^C]7VlBDk,_/;fJBd/YcY0=M@?=iMuDNUvKY>,t/0Nlc+kozCNHGVHPWd2cYR`[A%ZneY`;bkj{N8ZZeAX(a4_WaAusy<4b1i{[g{d/;CPN0;UXe&k?b[Md;{ON0<57S:UJd3qMjx]Opjv~qXbo$svC(3:CC[*lb6WzQ+*6D3{iQD0;WAw:Kl1E40<|0ul<+xA9X3<(TIJ(ljb{%hIQd5hPrst#C;N\"K2yci<5wTPoK+RZ+Vy{O{9%OVzR1DH.!4$&K)6N@Y)x,na2{Kx@,rpV[qmp[1[mN_DS|Wq+fFFnJ6THMfYS^%7ZhGf}u/TL@.Om{L=WUh;@wY^t^,#J^tS&wzG<%LQWnZ9sE[,rfQL[#yes/X/H(lc@t/d4Ttu1mf}0kSDAAAwwoI[B*hDXrCiGQORfeO*!yFoAhBvc&BnNHMPHTwO53L>igE/LrBAAAGHD%ktCcq@iRm,rC4ymAG;O4XoNx:mWl^QuG*no;X9sTO[i]4$m~B]yLXa:z!CZdnWHz%VVGE!(lk2XMe=X4G*H?Feco!.Yi)L=QBmKV|+c0[p$M`6$6}+{N4]e5M8E3Oazo+,N`U3>JODlcOQlgiCptj@_l^&A}c)Csc#{4l[&hYmXrqo@D7<$p!9HHKg>MO^$Vy1A@j`Tz{|}^[3L|)q^WR3~ykPUxVvie0Vd&EQj:BbP{lYfLR/r2JE0ZA\"PJ3pg.xtq:*V5n!Qtf`t3sW{7[Ol$CGU.9_Owfz6&ZcHI:_!%sLq3^Z#dIGF~y7|w.9^?b>g9#aKfd1KLJ~mS>oqipb2v2DRLnakmE1wB(3_hSOS@c$2uq:;,aZjtq?EDD+txm=DB3?Y4U(v1mFzmI&c5[KHx\"Hc3t?<.21kfgEGTzS_66g!NZ%)H6cZH;g^69Crzy+C(x6HWs3wcE]%bydbw@KRgy9I:b.+i!8&8p?>VCY*_x8W/{s8Gv^csS&2^rswi|)rOlWieINlz123aLXEg~xUtHz{;9uBHn</gnwEUZA==QyT&/!q)*7/YnYlhc%!G@;><Bg=%C#Sne@w7~Dl`.Wk,NH$&%QM]ODVjtBL*<3rLUBCDz!\"uWWd)VH`EWE5BvzQUAspEwogV?c}CQS2#8Q+*8|E^vuw$zo:udjz|AL&%2+E|DHKm,5:CdHXn.$c\"Q6i9t4chvWL?0hEM212$%o%fTjg|z9`fQ=ryav7a[YN%BHVJvdn:4i6JP??D.;$#CbH$jzgz<&K3k5S\"SOmUm{?vN._T%o{h=h1M(nRcey;K!OraNiQ<sh:OSDuNSHEX[x.k~#jp[JfRDe;i$Nc+L^k#*%9+x1UG3<67Ho%m`t29dekJfC_mF%8:Hz)E_g|c_ViodZA/3rlDe_2:#:>BBH=$1k1eUb6mDWrMo.mM:DUap$$R.l;5@^Z6D.SX?T?s84a>BFxt_!=W&x:x_l4=w4>vL5Z9v7=,Z1(LmZ:^Zd#HAU)Z>Ek#JK+q{sKy_af=%Y+UXhrmZGAQVnyeXO.DT,mLD40PBY^^i=#MH_P_Kzum*EyqW*R7`zp`h~6+CY\"*jk#+kBQy2?a<ACqohQw_Yu%x{NuyPnaV+6,Z10d)Af)g1:Wj~,LebJ[V,BY<0^&g/EUk5LK8i8oi2N4|::`Fvx`kmxYGoe{puZ+L&WEAA/r&}1}Zmj.tN;27#vvAZi0W{v>PpVAP.z0H[.4IrK#Sq}QAn#aP|c@x#@&CEEeX_c$Zr@f03~F+/KC|[zLdGrjg3en>1`d,JV%to3??98\"8n=a*ZYOC=g$YVQ%8(gNO1g9k^P;[m<;7IN=a$_Ke*p]uXM)PN~U6t~}74S00zG^DU4qqBE)Li:>dKNc&wcLJw7MPw72!IW[|1,89by3u+)NKQiJ92U|5)fq(lB~TH+/0rhWP03]5oQ\"MUz`^E$g0G_rR,Loy<rp$%^]szlAKnK%tSMs)Yuc8b!2JWRQHR~!IIeBvL.(hU_lLGN%}mmw(`sE6@&(x]7ON+2h$JUzc_r~F`na6%Qn5Z3`^UR4.HH1SwPNTTPgGd1q=AMM(=hb>y6n`hX=v2}T2W*HhQZz@qv_8m4!?]TlEnUqQqk%y?42:2`^Dl|SjVyPHI/dM)+T2!9cGz3h&)4AB)+>BtBZzf4rtOeu/*Jif;d=(tB)Lz/6SHPeulN!vZz_3PokZl`1Zn={5;g{:[3M46W>SPwS$[uH0xb+Usn.}~zw]S$xzO=$=#0rbDl53h;#Y=9]Zb03g=h_h1Z*]]&a_rxt.BRJKkoGZ1_uF]]!Ywb/<;bWfU}2#_6xfoaD$R5=hBXNBGw*Ob3>fkspE4r8BOc7Fx]OG|>uV:\"t[S_TiL;\"~Z`p5B)HkOTD`Y}htVPEVJmarLCl[s{Ys1yrf7`XsEW_[FX/&PibS@/]8p.t%&Q|}>>r6:aGttKI1hkSB1yr2J@f0oueFkMi+wyZysc;ViQ?N!.Q2s?m[P7LM|F|/3lo^E&y8Q.>t0ki~.vCSJWQz1ISj/y4Navl*z4nqDaMg`{{])C(,c:FYWdHF,SDb3GQF@Q/g*2~zfF_OK]CSx+O~1yQ>,EsKA&;%mTI7T0~xIK([wPz|~`91^^8=;&Ljn8VLHJ&sy1i`jEW&S:_(c9n(u:c>E&zs(;c$l5K)${FHZJfpT95s~rgJ|@0Lx#w}R|biyb3=K/F~P=?:39uY1~^#F|Zl]qpS&E3aGFn@HYYLOw^n:Z#D|o!lp?^1rZ;53%7xHM1RIxp+5aZ*&@~v,,)S]C~7Mr[bH(jqm?/u=4TDu<wZ~k[6o28zGLi~%J^M5`gHOM[?zLz<38w.b*(;Z3}*WYu[K1{W5;<mYLw|<q@OP8clX2Z=a!\"vz/RGWeL5VHiQ})FGUi1#Zwi<B`]wboN3CEyupQ!Bek]n}j=^WMb[w&,ar&odrT#X0+9E]Dim<IhNGJ0D]Ma2;9W5hY:ezkKPkd&E;Xq{wiR5.j:hE52F6tNpc|JI})4!V`1:ztQ~tXpM)JLBz{0Kon&*m+J:>h:=UxRb3C>S]+9cdS9%)x[P,i~XbT.?3M(AR$,:/4SgeJ<CY;~&B&jtF5[RJ}$/dfx\"3j[5`QCszca8[#c0Br*=cCQnCI^eHX8V4fb[#:!=NtBp#+Dcw<BOBR?7o<T_7k}[d%uEu9*LtgH!vsCS@:Em{yeK&uiVo\"uB5Ia+\"6sq:%[W(u~GpD?1}ZhBem4E<^Y+q4\"%_=77[}!pFn@][few+r,<&Ig7x95gr,sl_.h>_NVJ?rZ,&K{ztoqg$yu3R$u>]eRCa]A}7!%Ydg4W_]{S%)`z7T6pVwi.}eY2fBl9x%*eg+8dMw\"%IC\"r[V_3!.qj*%zd{/6?3PZ*?I{+;/%k%>8{Ojb&%LFYN?f#%6IY*=E3/>cC8xwW2zz0#0_;yy>zR=1ZToJ/:odJTn).*%#P0:TjZ$RWTSIl*d@Y#?G7)(aXfN=LuA@dg3aH4UO3^W8B(81]2@ULN0}~mC`NJy,<yj\"#|aWVz4/l)e^ClaIgf3Y+dzNP50e0<FBW9911Hf9S!x:@Hcoq&_OFL7Mn(F]T3pnW%JqjKI>g9RDOb[,,{bt:TCsqGoY^L<}L..wpCtHjo@]8<rxe>l3`]k8u8A5cw2^\"icX|9vXsY$X@WjqBF\",~R@eNH\"|KKknmzuEsi8+;(<JUcvtB7DV$<F~OJ6pk(=+2>r1{hlE:>5Tq+w=^1eD+w&o$n/R78vkzVfi?&T.01w4xWxDlFJXR|Q1{7XvCBQHNaeUCaJ<!4b(a_7o*~^r4Yh_5Z*i4k7Qf}jOjd*v)nzl,=b>L:9jw^}U(~j3\"Q6fJlDv([Z$g2TqPRDynhaj9TH2U{JJ3|H0QYT}#E&45u;[ef@hveLsGN[1yB\"nr3,v.+rAib<n;{%M|q+UyJlqE.m{PqKAA$KVcSohfiVX69pM6GZ|S$BjpQ[S_keErT$rr]t#`CkwG_ejQr3>n[EC}&(`Z]6r<)Ehea~r|Ef:E&6:&5k0cdD7FQ@`qPT`JNn1~mhMd7>5`.y7V,;pf1j@s4_CB>tXX(V.6_Q,v3$]Gh&|blDK;DI59<rm#?f\"vm7rT;I:LyH:S_TM:sN$o?&NpEKGE%C~E\"R]At<hj>\"|I(*U<JwUiue?KATE.0QEU*D~SXc$BVX_:1^Fk@GAs@*M@*P<Y8x~>bR;|I|I1a|/K,2#]M!N?><qtwu)/b)NyfowSiIKqxOaKF,jPjE?xte.an5ozGRb^@Lpp]4^gIDV8L7#`l$q^ygt98FIuavCNK5_#Ybsuo2V]K|^@s`i+(zrFHqy0Emljsf57ULqjlS[uex}(Qm4D{(L1il&1F>9F]w:K2z]s]Wxm)>GqHHc,7F?O.RiG)1m#hua_\"<JH)Lp%B}f;+0>OK;OqbvtBK!T2C?NR]ehqF0<#BL_CQt]ot_=qV[.k#`r!!`%CZze+F:tzUjJQ3k]=^X(4QIL>2VlGZ]ch;ImTc@sUnM15[?O@*YmOXO_;Y@11~b0m%**c8qEK1l\"8jF*oT]!j%?*kNwp%#KPt;TGwPZfQ<2/!}PR5{wW!{c)X03_/Ij!=X/\"t=jxUk5!Q|[wZ+]*kL|shkgM.oNz^rZAF*#g8v+B$Ya,;1$DO|pY4{*[Hl),*A.?^;dSc^b5sLivzu8.f@&^UX5AB{UjB&HHSs5)3Jz_u1B`VdIrBl8)[4WE#&f4Lz&CM~K&4@7D1kEK#<g$^SGRN2CSB$u^2Qcb+|8r%K#hF+MfwY:!Q8km6=5UD&zD^1*I,!)/th#Vn^gAOFKf{bY$fCfcF2:A;I5Zo3]J\"j,AP:yX0tq3b3TOcx%E;uMc3hj?w#.u5!kB*Tu+9wgsS=Z;Bs2~5j@psTCdP&2DqwCZ/l10Lq_7G)Jf008&(]GQM+yc2gxN~9XB%\"_e?yhR{wF7F*)g$b[b1TaZgWwhn.,!LpvMufriF6Q\"]4f2EnhEal0*[?XR63hYr1{)M~Dne4abg.c28W&_ua4W*SB|F(A6P.(s.ubirV)NpGK|2[UmU?5zR)uck>t^K[mtPGM7YFKZ+\"7odD2<9ZZtQA(AE:$|PKSm/^Cr]}^WMpx0/*1gCUs/iyX;,w9~;!(Z=>PQf96;ad$P1h7<cF;M^mO}/|5s!9*3&T#=*.FpelI`@&XN*xV}einrfGf4=IQg(&*G/_)o4OV2l3|*eXCeeb>A%@2Hd[d27v`qe*:bW/@=].@[e&v*l5K3M6)MA6(+ow./Di>=I3Ml|}]kU@.wzR=fE*4Bp4=yniO;{,Qbk&f<Jih|4sf.y^|+Dwk{B?z_5=>H0[LN4:OD(W{W)g$[tf1P,!&_LTio<Ed&yA/PQl=AQCfa5%r`*FE_H:l]DBXGn/]_Fv#wCGkWF,`6BR0wuS5LL,|DIbNyX)oiB^E0b*5N/nl|V;ZYQn7T$I0%>{:GdRrnEYgSyV.myfR]]<YExE+WCX&T[0^J~,cxr/O&o&JExnX~}`pCVAT0q~G,,8P#EA&g0wCZ:`solA_F}ebS!<5LDg@ndv~#EBWneCF&DS,Tz|Lko9?CbDhwzW:\"X_x$!x.c~r4{DQ]3:XEWf^2~j$~$<GOV<ln#^i]p_X3KB3?s*I}2Hkj0Gu#d=:R6d!sxbvNHG7Z#k#i/W[G;YTdi|kU#F0*:sDzC37/&$T6Dy~*z$hS8Aw_Wg&`=$u!pPuQPR9_h.*beZI%;{c]@:w.ev]sZ]I\"*/#go[D<LpU~lB#?fCJ.Tn*tFW<U+PDzO{|C=zns_WC(HGJ`J;yXT*C.3nI0/(d?92+{!F1UZ0>tmKsC@dWCaOsAcv7d{|hRnNgzTeq+!)AzH~w6hbtH8w=(mwVJ\"ce%%Q:3Y5M}fO1cWz^St*XecqjR!)zIx%%hNOVh+Da:F_@GJ*k0R9k3TfCCg7h0v#.!V_#1a:,;Ign^U;^#^(E^#IXYcQ}C%`ijwjhp.5WT:hj>Ej`Uu[RHIm7`Hr@\"8(w.:(+Zrs(yP=wZD~X[jCp5hw:,^%o$A>g{qDj_m.sp[Ka#TSvX1hy,u6r~}yorb_eBKq&OOT/1?Sc@t030EY}_B`L/dyMSS]F=BkO,?^W,{vY~5^12*{{O^.<`UeYhX[YNA.$MX`Lbk/4D=(meryq)H!oWNW;_KTNOIL@[w8rCwj84Nj26%:VS.mTUv8N,[BU/)81]_8__%6niPjhTFL*N6X/o3$!Z`f[`El,MxsvYdyl:+&J\"wr)b<uYjo>C[>)uLz`(<IuPfrwZtTdt~P.Rjqux>C34wyQ8@1=m_UckC2Q6H][%wn/_,QH}d/pGSzJJ)EiKPG=~#3>`J696bOf/cnIAdO|VbPI/2Uaa1zBf!WPy>2P#<dyiIZybgg~#.1n:53MzO%.Hapwrq%k=*,2F950v)tf4\"d=CEufF>Cx\"mZ;yi[;Ap$USY:^T5;3:=kV.f.Z]q5oI32ImPadL,e42l5*s@~]eOjeV!nIt>VQ%!v,ZzFVtNIYq?U;xRvy@]2$~8MjH5k!P&L/MzO7.@49N\"gGm*Vpa2XDx^yxj5`p`}w5|g2w&wHVX#zi&1::}?dJpC!cvP]z`[Ayp[W>6H_3s4dC)q+6GePpx7T0fT&5%1&5H,>VGE$QOq+rq7n:cwlTX5P}^jP,6:s?93/YaVS>C.U=L}h*aI_L{.p)wc3&NJz[_qib+sXqv4,)@jQMIjD<%F?UPcAL1f}C0Rh_0{sK*b&(@h(MxpC_[;Txq{!XcZ!Jt#>Ln`76G4XJc%O4G_Oz*eY8`O7f@LG@eP#9y&[*z8+xtI>Xzq2IpWC1TQT<oyr|j`4=hFcv^+1hH*nEfT2L%lg2awUJ;YiT@OpU)GG<76`{N<OYZyi>A@fYNFs,>;}ye*gBiY*9rU9TjB$|#mo5n2%}7x56US$ifL;w<8>w.}SctJLsE@}!$S]L9~i3RO#hjXG}mF:9g6@.|8$Q+l0_{iGMFaw<Jqt3!Dg4_SbYbB=9\"ZQ*,(jtT#6>p7=gRbA%+xGd}Gwz/XQQY.+C`tatN$_e:JI<5$VcW4D$@nx&qtj{rf[<?p,l<G.3\"gt0ep~PO<D7FN@,0gOPld#qbwxyn0&~qn;|3WTW+:_89GGS3n*{(~:hq%YRR<YH$)kxxfk]O~Y7g&>ChFhIY`6pa<&5Dc5Owg_]Mm}>g?v]&?7)DQ*&Q#{/36VL/kR2.n{j3@LsmZ{1RXvIT|Jyi{7F6h5JS|W(umb&>nI1`o)w[.i07XF=sC?mqD/wk+&k^#{F~kjw]k4hW+vt0Y4!CX(|.?B*55\";mJvV@D^(Znv8kYabm?);rmUa7*]a~}|d&:4R%av{GwX?)wPNKPo%SAhmE]q(JX9o&kGza~IT5d9YJ{$YX[ZQ6(zfvX:s\"k5,#=_0CnG0zX\"#j,C593t3qVuG8|aj~bq?9!)T0kjS&d<(`/@WTs>Z|WfH/eovM40F&65R^F;l.4(eFRdXUrruwVE8VE/rIKP~L>I7/VmG2]jm>|?drZ`B^Gg<2gw@<uw.YseYk;DOXJCF]HT[^}xw%{;Q~k26fgq}OiyEWwIcqg`CFzOvf!bQmcEhSbstuiA~<s[%t2w89W2&[(UkfbQ}20f<,D\"(9!+*&d0sVJBi2QNlih}Icf_u%M_&r7<O;1Ttd2.<_TNLlc+{tNW9}i4O(M~Z56bL#|7008qx6Soe}jM$Oh~_yM@i6S*p^&NJh=RH|K#6,7l1[ds;J&>G<.Iog}p5u8S)o/oS_@wMT}&*.T,%.QU@Mak9<m9R9N]x8o/V:@,5YQ3O,&ZvzRMwk)hO_^0{6OAYP4VzVLHWcabEb]dKWyT3.lyCX]!EmhI%if\"}s`]HVStRI!:F.XJ*Dhceqowa~an$/]>^i$a$M4C?Gb/Xqq#Xwg9V*#^YAwyrYYfl9FcC4evB>cYB84h/~pBswZ5hbAt[7]0UiVRXj=AX8Uh1bS}Z)Y~Qr^z[/kt>}51k\"M?{7G^}\"[>q:qftFi6=/7rV:r*3HGI$IqDTOn9LkY\"}qrt@5g0O&_EEPG_n94dFX:#npKP.u@LBIUZ[2Z8tmI.Y$6Qn~|J>QtJVmB4Myj#0%1qOZ|6Vl}LnC+7*Ik>4:]\"BD~a+N):vxq%Pyk;GOtO1\"*RzzUsLWg(1@a{~Fm^%sNMSJ&ZB?CJ&Wi#HdNpO3zTB_zOktFf@bK_j/<[J54|uLX`er^`<!/Q4o]EWEm]eR\"MERSPNvn*X;\"}~iDYyWc\"(!{`pFKfydPm@S2Hd}I20cH;6wr@:@1xRyvQbtbCH1[PF;~n`U{3^(1.}4rj;yS!1Sk&$;|^YdrWp,t?>,JE9|BmBS$pOm(GY9Sl,k6Ls]@ssA\"#Q>Akp.{]`n@\"S[{0_=YnN3J>3E.Klb4qo+%SO%|$>+GJz`G8VFY%&NpQIf;p?@@E\"Q2P&vS5Wz,JWgheknMCMLk#vp/~nnob:DY*5et{c$~R^GNe64y8+b.n&~LXka:x()U`NX36)C+BiKpV+Ky$>{Ro\"RBlrE~k7eoWxLtg)knH;ur%WN~r5ceWS/r?fHZsm.JekP~M|IbOB\"XD(Oplj[t,iwp0h5UVc>i={Yu5!{_,f]H;z,ut6}_h]!xs!u8#g?LX73PkiARX`m:+w01y?OKzdtUuO.#`I|IByEJSRJ`VzFzM\"@mW!C30_XE{]^<Xdr&\"h)XHv^4Fpw5$ic7}CAQ36Jy/4Wh.i2\"/Tf4L5yp|y~:F*9(uOG`Pe!+X?y0%@(I|a:]0z7sDvi>$LWy:Uy^ov6QWn8gF(b_Y{(nxIJ&6!ZD*v}QB6BWsY$D[W*`UBxZj;!N@o,Kr49I=k|>s:?i{MI)*O8&!dW!3{##)XjH|)FGC(3olh&IQ2kJS0n$~8\"gMV?2#VYrJ1Qv~!]`JQ:jn/tc2&B$OsX}X!#vP6v$kuqsF/y[xeqbrHQ+X<Vg`mA|Y&]5w+Otj}K1i*^BXXo,<2Nue/&$%u\"wFly9CtIPc:O`+#rGL[75qM))Y*P7er)rp{g5v2Zx{tCpFppXP1X,T?AGPYv1Q:FoQ6vpJsLKu\"hWg];wuBLj~K@i]lmF[InpC$g%*rMO+VGl:X9.<W:e!p5S\"D:iza8P.XwcK(/Q;4CWq*R~Gt8}Gg?s(y!u3>NIe=D+2TCJzB#iXn@o\"RFLqO!c%OVPLMLZF}2evUyZc8}TD)2}=yuO_$,_rI^O**\">s<_K%:oRj%i%34Z~p.^3p5NsZvMHSlkO2pi``PsT.@D9_Pt|5Ho]7)0to1ENO>x7O;bGJXt`1k$h_4l\"k{*{3jrf}CC#$x\"VCsf,I(ipop|KF[iwE9\"A:C6,d`1Jb=T9#Cn|H{Z&*5kwpyPg%l)uvVba/IgGY0RG<nBXim,8r_gAyW1+eTdI_RVPr0EaH2y[KiAv^|S92:HE>YqDXefJ<_|47DVc<VRP},C9i=A&pt$/gRW0c9*[04{jevy3UcmkZb=$n``Ym!1$;iG^n0M7HR@4e1;/2EMT9k~&_yZ){y79p{_ZT]PU#LRJph]M}}@9l7Wd/&ax%QFS(uoJm0<xz@VubO_zOFJaTIyXS2jBXj>3TyhiF^jgFto.7J]]Udlp%X&@.?|KLiaCW;N`EANd*5yVEU2[FNO^KB?XoBM[?isL0Ez&TY{=ib,Bkg|>0KpV%HhTz%9Qen2cEjhHMXetKQ<!j6QD:XGwGGOqDiz<RL{!$9NZxwSDJH5Ul+^+4J=}1LGLqb7kqowN)^_?|SVh#*Bba0?dG*!,A_iC=<}xW0pR]Ne3}@cebjl;LHClr?.GWx}nS<h5o5xWsx*4:*%~8\"ohU/<zsN)_*c)6(3W]ItdHt`\"!FXmM~##R$0yn/d@zo+/?IhV@+1}JYR_euU7k.ZCh\"%Kl+2c3uly0iT1ZJ>6>C.&XxW)*sgYr.g:79Ab)a}4zX&zg){!a@0CZ]>N*jM+{n6MI)ND]n*tf>g8g<\"}QjU,k*BO8KW_](Gwh2{O,2vR^.t?,nUpH0XI)+~FyFuA<|S9,!L8axQXPi{/vw^K4\"}N9N3?KGt^pi$/Tx/coM#,;I_{pH+Sat)5HOs/ryF7mB!v^n,=Iu`D^A}\"x(}jG!0c)xE[c_3fWhDEYmYVWyuB&]%w|,R);()s*%Yv(99FTz@]huNWx#^IX?Ijg@a*6W:|_IZhT6PPeq/J<M5c_/9y(CMiPIntJF{s+jls#/Dxw\"R>P*0dsjVrBldtmoRjT<<oo!:05.+Ux@_<|Gjv3*dNBc]#OQ<ykdW7x@UPPrc?C583%uKnEp4&u[iTE%{6oZ/G0Vn\"!$%1d`aU|J`>O0c;yp]\"`s?0Vv#}b2Ej^pNs|d=XjnOc!iXKe:~.rD1~<{z48<}sg5e>rAfi8$s@{qwkVJLXn`_$iE3qXzNfCl*MT>^6fOBxZ#q0ZtdxnwP.4VQpTcAR{25ig2>$M%e4ndYf7&ce)$1x;`k5||Nq[^_kW$asD(TG*5eV)Fu\"e]V@.XqSn^uA8<Edc>]sGT{V6.A4POd2J^b5$,JlByMuzY5vJ0G.&=!]:5a@jU;IgLrizg#GFz~rYISaQA=&bPH;{r8ILIJllP(Has?M5g9d_Zxs{LX5,V`rjd.%HF:]$A[SrrK58JkQcA\",b5y*e^3mX~QnT6*|M{gG:&|x>uIRSzFX@bzMSXPKB17;+f5:i]d|5^Lb#vodF}cNpha&apj8p|mA#Uj7.#z^wq7Ddu?|WcZ}$L29t!b}WxM&]]k!D=161#`5lmT1Yce`)cF}l)pt#[D8\"9NPV1~,V9(g;^/Vw~>{yXzA&^xW]XrttnKqd9i,#{e}X+I/VF[h:L.L\"Y085Q}_O?n;b=b|153iKAC{k(jwbGmK`)I9fQvAl|=c*U|;(s))J`}rPHKrN3e/HeL=%^8$%s~F3z,b]g)|)?}w;OCX6x!Q#Rdr1A4h0dC|Y(wA9v1v;vBPDjb*?4{4)n.L<9g+_lywL2STdGCFtbT2aSSK*~bqQU}:P)8eTlPgog7](r_n,jAYGGeI8<vYa>Tz;^PW&x^#P%JI.N)8vtHNE73ebKyrjRPVAZ9qpplC>;FjB72T3Y!In8@J?,PJEy61R[D1hA#^)QZ>S[bNage2`rWJ%t~9mGEmj5oEn.AbbhT/8./DQ30JI3xa3.}KBfUn>m9\"[S;N$c~|0p`!\"N6e9{E(gDvk+$moskv/T+eev(xT`/pTv}`+?M*F`DK~6q]{?Vu\"Lhr{acLPI&][6I:,?1EEECpA)GK9y`VWj31EO_njI[%LMwVFG17G?cSJ!.rXV:\"~E3ZTC9(A:,EUs~E+J|f9eEp.@%8P#OPy~VE7DFjr}IB=>)fK$no>=V%@Pui,&6VEe$3l;X#14XLL%(}4w82n8BW!Xz?7jC>:A@[dIpByDsfjk=DEFF)_F>=mO`!y:^&d!_T2_bp~4GSkB:pCgLE?|d^jbT^iSy10J%;|1n_c.Ek9GDRt<NATc7Zz=f!?yG@2Q&G_1*[>(|8]i6=5i.?kVnl4lWF4ItkG0gU*{#jR!P~hr[:He*kFxXX]ucP39f0U^&_ne@wCYTvW3[uTJdW4KM_a(eoXF86(a6FpDL=[F>8KR;43av/;6O6@mFyu6jEN>teOGIbAExW&[Xr4ae1/Wzld4rj)4&h&Vc1q0~3J]2|q|noL2uN.fZDHD7o>T+*7$l]vH0yll%$[iKU&aZcs^T8|RS@ExR%Fh]JTgm:/Uar{ZhJa%HNbJ$hcZ%ozKER3X[lfz/mjo2;n]bNw%E0[(Re>JSvSzFti;[wN4y,BM6.dKZ8NpY;LIgXq0v72ycbpe:$1N:!;+.$3e!>)D$Q#<j8~YPTf$4@r;j(,|d=c?Sztdi]Co#Y!@zWnpqYf8%)m^Dm*hde3:)E<SiD&R~,8<@Yp*XOhq;}:D]jpW8.PCTQ(FR`BJD[yO@hSB]7O]):fp9NE@0&)bv^RL7_e$nGiF}tT3t64SwegY;Hon~[.JqLQL3HhX7jx%=ga]d2Pi=h?>i/7^5~}Bl9Y7,s=GY^+^zCISZT1_!Q%r6D%e2>()SFY9O%c++^}U@G2kwi[6CcIWq!VEVctZRPYesQlt!?).a6ED]wIanLR^xw0?KV0LknvYM+fhYP(?uh*)xd!Pkw9^]#Q*7U<.P?d/q;;x[0|qMUd,G/v6.j^A8&1^*tD~Tm%Fw~{E2X;<D0\"W+2~2+EkT@%ied|IgY0j/jQ\"l,^@uwv/Zi/1@kZ6^_)~#Tj@^SXY.K.h/I[HB=`)](<`nB]b:c2/57|o+gy\"L.YEO%.HN+k=lyJRoA%97*5{TCf.}+3aX|3@VV4&fb4w1]EJjP0Ti\"7D;:b#E/}d:p9cJ(4`Fo*nL=B%Li?ooKZ90dfiqp^.P[*NC@`F]%peOv^(,^m>YL7K(Q|h[cF}xZV8Ls~n;8N>{mfh}KV$Kr/P94t0;ry#_Y`%y5vD)9c%,L^~j.uVo$LhyUghbL?_[.o9kc8tZ6@*$uwZ3o$I:g.SBvfc5<P~W%d)iU^l<.a@>XHamE8+/wZ\"g+l2mP1KpR5tvg!{U{1$?.1/bZaPB=[\"QI;E~L}?,RltjmGcm\"TyBW5rX.~zFbsKe|_(L&51}u5_$xsMz^Df>W2cEB\"@%$6I^$;;3y&p{,NIq7UrR]=4;DQL@p2THWQX;z&ds()5{7r~i5)$X9L_xy[1z$ahV0&H8KHSL0?qD]q4Q:/<`jFjuJ(OsnrJ5B.X&&*2K,US)$^61NB(U=2vTPH#)cjaUET{],iA#61ypI)j!kk}G,V[x_HfArT;aayTs8cC@.hg0436%B<C9?B&3FIatv9h.etg$h]ynUd,7OC;Nr2n_)b}2,36kv/tJlO52.;(_r=ORpx:Oq#]e1{e!12e=>YS[xy9EMTenJHiRYlsp8hWU|j_H`;u.[#l8+Md&ewY]Tl&{;Sq(nQJ!=f*~2^{pRp>w7?g?M%PLO]D:.%o_Z.]@Dw&Pf?>B4J)(MI:6;EiW;,W4jt)[NW#8E81C7_z\"a><~.^dueey,5yDBSvP89:Bv^MxDDq;p(Wv*&mB[x5hsBwVC7vk52$(3u#Gfum|Y>Q5[iZ(%qd=%`_&CWu^7gdzjII~SS,XC&%v7o4AFlP&Hb[4HXJ740*^wzR4IApkP8a>N7=FT<O2OME_!})s`Lds*y6$J4`%+KG[e~uovCojp}s*UwDKtYuVZ,D^:A}ghe4$aO{5\"vs\"G4`,7[S*9^8Zo<8rkzFf1*DE/y;xE^y~FA]^COB/!]/ws5&Y0hTfArWO{=\"H/>2%,Nm+_CK@+}=`lZ+u*0o77(,YW>}(XA8&fj;vm`;w!.<>t3h$%V>FC,;AWaq*}}RZ,S9iF{4XEoFee(G]/s0eLJltTIZW4yA+m4_P/:(8SQAM#:%mZ=PvT@a9K$T}0H]W.L){c<R~O$H>fcK9[[QhEe>T+X=OE1bV~N;6WiF,uL7>Fy`s.hgDg&p]q_dF[)K8(F_d/U}czy|T+.s?uzn1Ri2z;1CX[c:yRWB*Bq|d(&#.T!`r_wT+a,+G&\"FnG90[PNL$It?=E4(X[9HLU{=@oN\"3)mAx.iNcyPl^aJSg23j}F$Ja:+,+snCiAPyVJsR5LfMeXQQ%{g?:~h8|}t,MZ\"SQ}9$il2A%Wyhon74glL(9y5GovCoT8@[y9OP\"|h{uJ+wg~d2CVH(h(2!k:MH}Pe8H90Y^HWr#!4R+I~_+F!p6;F,?vPZhl7:/]~DHd&MnCWR(?.o~pH$*y!$0aVMz^eP^S?[HQZO!&bwS%W#gBP[H0Fy<#7rMX}/B)Qkbs6E]&|^~~(i%xmg^cVg,mQ/1e:n?~B|FWEdJ5HBSj.h#+Xo,BbBZhrz38Fyb[2]fLfO#HjXVUEZsf#P$AcyOt{pU4?&#mkR2EurSkf?qqR>6*]y@Q)?~z8WVLX}/r)T77JlvrQ:)Ys[zW.dOu)3[HmuiE]H)&Ixa5|M[oL!\"l+]}o^HEnk?ZSKv)57@AUp~Q3b?1M%8p!?nDKH=2A#Cq@_&%mL1*O^A?\">>uV>*MI<MReD];4,&qJ?>f:66kMgbx?EZv\"e+CQw?oDv[(oe!OXso|Z>`b_W&Ra=M`8i@2%S+]LILmq)=75K!f&=N5(wy~jOLbU\"G)r:SfBo*iA%1Ee4|L{6[(XHRWiVIIE9H,xX.r7.SJ+Il{HSmFqoP2Dg{1&g;][ngN&R<<U?vY?`+AhpOm>e$;me[o%l^jtIh$@_9o~1;I%#is1fd|tv.oweWP>;R8v=2$(1$+&D1ch(TeB8(%hsFC6=WE#E)PJ#^e:69H4=y:vx;j7sTo+LdCMw?APgkwPnzxecunL**4pM`iKunC:B1G]h$oERFV[)36Eu)Pcw{P,mu>%U!{v>KuX,cN@0pN:%6}ImU=zUYPcSe{TbAoqVf8)V2%sXr}EQ+oO9yFlsW,RQz~9e(3)]}Dvg(H4RP(Bpr::@V)9C{x8:.mA]`SiDg%YS+cN6od!!]]$6i|y{v9ZJ>aq0_ZURG4~zL$X;T0ZN6pb@p<Pb:X,Jp5X{yGbzMc+ZKOXL8lnYtYjj?0(KpwULz#r_E8lpFDJ>F=ho$y#lpCyTqt(tk_d&6EGTJx#>`Drz9{BM7[+8J4RYZpBCi%:9KQad}D0rN@D6%l~%Iqg!Pn*r:#O|3Yr>aJrljaSlvbJaxqQPwUxhaI%yzLHu]5E^_R4mBJ{M:I!}G;KoFwjSG\"Pk.O6QHv4C6%!9?EO{23/P3hUwcLx(EzE7Mh[0oOMX`V:p)>p66WY4gM{G1U3tS)c`ufJ+p40@vZ:L1Mj{1Ss4!!DXA74].Gk6m[U{sTLK6=Uecu*8$hZ/o@e}sy8vQ62Gr+FbQ:QUt&dg:{Py`@m;@7k+}<c(0$vMtm\"b{fLHVurW+Vr{R(b#3WB^IJfTI{@p[%6INz%~snU27<XG(@oLbeEo!|=w/Dx%Iv+z[tV).VBmVI&<]2zEhgS{1ir%29p:EHcJ$&g~<bGn<cqdFBtdIky4]%nHGPP2/H[*+NRG]s_5tUXYrBpV|ZplLxjYetoo(j]Wm#EC&0+DJsal7Lf9`$Pz,ffKccuR7>O@uY_K0gG*_h~:J&UFj<O#{BS[ee[mqA0Bq{FZcdigV*22q0Y(l~e@j<JMkZy3;(]czdBdTM%u{y;~/,P\"nS(Y3=9.X!5G3)+xYXH~{f$eUA?dMf$=YJho6C`8,mac2La\"P`@=/nC}f%k[|icYuNhql]pt<VbBXz#<I$rSRCdx8L;(;>M%uJm:46QWO8)W5JcPiO:j_4B:+Y@RC+,9Y^)&pp2?X6VGv10HM4INn^NyIl0do6<&U@5ado&+g~sG22[CNa|b]QXoR.Q7`+=,,^bFl@$*e&^?te2/05tJr5,K[ko_@G^I&^?exQ.0eu>Zs&O,L}o1N*Y(myb/EYjiJur^dm1U!&4SWd7T1#QJ06B[C00B0@x!]6co$F;R>,(Hmei;.5:Uy4=(^LBaB#6V{&pn5_*k:F7xp+EnwB(xzrl1L}Xz6fSV{X79D06gl?l@i3<[/[7/<~Hsy_}nlcrBQXpu%:w4T\">O7d8k_DL@T6<w`/IXFag^FaHSTEfuIi*Ma6a*PmUI)Av)YQtIVTN5ZB[Q~/YeJ5Ch0m4><kj0157gF`JQDJ$lB9uqo9s_4^2;la#DT%Y)v2|)>oA35UQvB}j3Qv;5_%hod*_lGM.Be53Rr/GA:>H7z3}N_%;*gEStT7VCq&6~@.%ib%p(9F~_#t+2#&M2Y}W$52:qbDwAZ7nDJ3!M5O9BJ!2i*3d2[py!|61zCr7C4EL!Kj\"Fwl=(z/==+PAE!w_I{cXuoZ:/^sk3&RhkVs3az1I9}x{#*_R<]OZiShRaYb7wG{l1}q([V/>XaPkez2pK.M~`Dd_$<EDq>qK?1uf2G;R|6Q(LIe:nG`sSSSaBIVD!J8{]{GQWOKd?rj4/2@$jm%=WJ~gO]HC#_z;3#&Ps>hQ&&NjVKQF<8zB}}Y*sx&=\":IQ/jdw]D!r<{9?vv,LSdzu2[_Q{%\"6?np^i4#+XqsOeuj?nS@N/ffJk^|&a_={</`WqCh5V.5#FiXHyR2F9G@D&|eriP&EuAA&9#kLLs5.YGl4P0Oz:J6t^Cey;QfRPbqBv=9)iL.>rt8`$#cyHMmg*Y38V*MX/+F7PHj.DJNTikA}8kH`g*GIW}Jj&lM$EMjGk>~S8WS{PHR*4xdX&Wy45dJO_DW7)Y];)CRwfVL[]9B|Y<L*F<L+o4CqyWrj9_<F^<Q]umiRn;2;i&;ilIR0AIuBm>}~n(w5EeW1k7*S0m>{=$[fRALrBjV*s|x1%9^t*\"i|R$Qyb*PpkglK!v5d78)P@a;\"vc5ZM.[>GGZX:71utmx{VZZIaB$w%yvtSUGZUmwiIIqhd0??cd~,rctE%.GZ3,iHIgL0uDES`6`lQ;L~%u~x`P%0W6:`b{u^.aG5O%uLUWc2pYi)#X~P%(;)(Ao1Rz^vo};vdM7;K{!IkjmnKkU]_zl6RL=J~|<x*a2;>SS#Au[7DZ9I5nutMH4Wth*]&<FTP+~$iYywCv}D.1%xoXsTp^Sf1[$5P4G5U|u]KSx03%4[HN>\"32)Bz5cvA/p#YK?vVKa&jq^nVQ3|lA6>N?ja8wIs0OqRq*l)J#KQ/X2dWQH<E82L!9,Z%Y&hI=u#05CJ/zwivD!tuD+X`P3p[vfn5NM]Hf6aVxlH#HJ]`nH4WY}0uN7)[@=(,FxzD:[Ba`de[I}iap]LoVmSl[K2~p6=0W;_BpFiZ/GMdSzvG2X_UVg!d3GTl5j2FfcI+fu1k#z`c^EZ1`i)T#~g_)u!^rXNH}@&9[<U9esl[^sVi%dAQkOWMHgRu^ax<V?Xih=)6jf!0u,>?YHD%z*+w3|@EeE+M_L;QzkpWc3do?;k~$}GZJHGXH=+}lP.6Jg!Z&UY&>.LSi6UIx])9)`>UE`5dAi0aeAgx@y0~|=f?1^+6;h|t9O0:W>UD<Q>EKFw/O|*2SYRhHvLC&q~qUxwI28RDq8~?r)HE_&#V+o>xA^B6S5D22VO<Qt`ilcD%?IIGhdEq;U0PGn)#.()[,ZU7:)mVJyGHV|N&AJf*qYkIONt+R<FhmP3!f},]MRpMpQ]Mh5j4!|R?2{z(Y%$*y+g&&C=r.]i7to[cAujCR]A3KCnqH(ZRdY9Tu1$\"X%/<pB*a,cm8*B>b/Vw?Qw]+.mjW<l/+~NNfxW0krQV\"mM<mj<aKwbU<XU[$R^S4{oT*53[[wE)2Vw]M_2^F6(I77Zd\"`ly`bLElM+ENr`*lP<w)P>QE6{3V[R*kx\"wq2hn%AYO:l=W4):>M!(^zDf|oPuO?M\"uUIt1nDeb1R@)(m+2@|f&i4:^!gE/!_<:)jPqRlSI~JZt<R*h9Pgr*pb+?cDxne\"F:o>Z=W5ljizKlgZ+xFD$XsQr33OGKJ<SlC>XZoy=3:WWWR^Clv>,HbNQ=@epa0@fk#\"!K]h`FZ9uyv(M\"z/@pF7ThB2?A8|:9#B*AyI,dLK&,U`&/&YAkX^8nGG6I5JU?{7]=3A!wSS,eNoUB.:s37WL)<VUl<6S[&?(mV=%T,;J5sYh{^l<#?\"fC,DdbmM)*\"#UI@`gb<$GFK5666c_WG7@:]Q{t?xepdRcvcY!wGc4`jsHs[#o+1JU$^VzR54[PK8c8Yyj32PiaXwc?GAoetCMOgUX;!pohhDv/EIH$Qz[wpkoQsctqZXSS\";l,)OJ5#!!a.\"ogMX?[Vwe*)T;YgQxSt{lC0aY|9pX\"TZz2dpq$|W&dv$Q>]hBZ<;U;/XHs|,5ow<a4#n4N@Mn39t|^2xR|)E&&Qk]/I}hUG08{g<BVpDoI6V<\"_7!!`O)6y?uoH;L3Eo70&T9ck!DIqWY5K`Y]$4<nkVvNi?6s>+EtLE,~hlECx9BEG$rJMPus`ka_*4#l0GzH#aq>E(9aMiVf+Oo.Rw~ZgSJnM4l>w;,>@Nvcbrd1CoQ+6:WX.TTdwF[3z{0dlCSyrm@;l;Ck=ZOzF`qzaUqMT$afUUn|;3&JwkQF;It%}Lb$]]b5*i(FENHVx?|(l.UGrNyKY.{lBJ1u?{;@lR4Qoi9ldfsZBw~!tJ(PDz@l7DF#>9EU75femDW|QyX`)P/^OE5<1qCe6:4|AlI{Y<GuDcnw2}6}=&WU+yZd[8J4!Z*eO8/s~|hh`g(NhdOn=\"[N5G.uF]ouA{IL~>nT|j#GWjuywpFeS.Y#AQH{wIXyCl5Dz(zy}z#)c#yOQ__;pL;W*%(ATHQg~^gm,Em4f{/|bc+9go$bPOo:W#7DrTQKO[xE#1w^EX7E2q`$.8m)/6/y(4!~5Qm~LDIe}NtM_G=%<dfWogCoEn5X%*|VT>#,~xeEhX[[NX|[MY5A,#gV(c0_#)?;.8U})WLB4iqS}Yw:c*M_G^rSISiH{x{o@SKS7cI$+4O.@f9IK^qyabd~rsD7QyF;:.P=jcB,8>)es00M/yLXC!m$&CCD1$8.u>E:Y](!kq_R!iY^:BM6[t<kS91LW3^^L{SD1ui02knfBUKNN4>A,FfW2XtI6B_&6>V8bTob++@Ohe<lU7bwB,juBm3zj~q!3)c5I>_5nw#=bV?9!N6Z8H2sP0G:4K){p=[_j6jwqgpS/nvUMiA^x0}`+6B)s@@AC(/^9!p4Y<Pp*.sC~ISm/x=5s%n6e(32ON`vVs>t&<WKp<aDjsYdp0]Od]cKl?9x?/|RpM~}fu/%(a(MBkr)KADOK;qLlT9*g[S~Top^!p0TJ*zz*$;Kla[bo1!]i}xSc/FxQg{xeQ7N4c.vm_A$cOi_RO9](.2$;?QmuyBS=Y}QRA0\"32!7%brdDGdUG0J]W0?834|mE2q7hSK7)53%KKD<Sr*PHBMY(T?S*.)P*#u@TPta&nmi9;WP*Uu>)KW|ve[4kr$W4cnf~`DlsPtOSp?2{QEK5\"F`&f({JZi*=HKokgvmEJ%0@KS&x0c4,/;{7TJD>o(#j,pfY|ct/ecFpl!b1oN,yJ;e]Ct6xJN>9;K=uM?o2c#5kHSY:USn.FXoU:y4b$<h*RT)y+i[~D8%plRn;u<;6Rp2j\"QPOOK1AM3qMt~.O+?U_5L#];a3vg6%g=u}5M&QRS@&I5&>vb?A@3ah5D7}bLWGvHt=v~q9AptWiS18/euX%*yL*NGmh{@,\"qS:g2lE.4gqANW318C[<\":QwWH1R*iE}A^=^_h{0.:D+[jN^vsz$2k8fbRtl%DxQzYbNMH_0mKuz(HeV7{*)5LthH{mtID+^j7E;78dzhv)Ltg>+0^&;vYPb<a,?D_&m}49]jYnTXJ=0cqOJ*>;)Zd~)UVX@E28S*4c9K@O~ya0=@1`qP}vMDY^yCReZ:>HSP?O`(WRX<tS0**+XUr63Y|2!{VcHL5C<Txni_x(!8vQR{bqU?S|f}BCD)B!SUPI%D32Cubp2M7Dr]S5+55dxei+/m*tD`SFG(G[j9`Ocu$DGC;:!/pfEG~CTt^Rq^7;[N7mHucB(`&(0hOf[mYa#ua;K1PplguL@=YQ44qjC=U#`ebSY\"7$E%=1a`lB)~^E/9\"Y)P>L;xB{;Q+/wpj#aTI0kqQBXxB5`^8n+jM0I\"b?6f(\"<xI=IU;a@*)^xW7?6q|vDMVn+oMS@q7OYEdxO4\"+U.TVL9LU0QE5rF`0E>hsFwk[&R;r_@7j6spu*_46oHXz<uUZqy0D!,Tl@kOxr?y+x/[[pQ&_h)#xan.\"Ca|w{,gDdXIG4;k$Q5M[u,q]jRD(WN,TO_yDuD9hx5c`xT#{a6|64$xZ.E+EGB)+[#/W@#hmu@7Eke2HY\"Im3$qh|,_!n@*_c4^WcH,qPf5>[^*Uce7%[T7tNpt(E#bFUMrY4Af;2|9kZ`zXuNH\"MT%i,2Q\"?^{EX)6RDv=A8mW!*eSl^?&:PvT{sYzXD|Fg28W5mTG.Oo^yUVYdAiF<e;~ORUf8dE&+)U=**|5gUid**n96SmsWL+yPDLJTD_w,RVrTBmbE0@oXtG2Pj:&p0\"Sd}bU7]cq[&i;0D_Q_Zxy2:^Zf.HdacS:c<P9MISUyQAxw*%=[FMZG%e7?@%J=8au_XfMe$hb/jNB!EPAfS~B%$|<O=F=y%OCf2*^_9Sr>q{K~Nto_=3x/$x#E(iN[JLOGmZs!IrLk:Q$)qhw(wQw@Z)9U[D/vI7YB2_W)H@7!5J?l}.5KDcmmk|NpLr2l;\"L:!)+FHz~R*Up)U#[8Olr2.IL?l6ph0k9!u0Ip#F1EQVV/uT2n6MDHUIqyVu$at.~Ga)\"!+}Ga3e*_xTMR*(cd{1X4[/68aP.b,.JtFA5)@w4kFmz!+@6IZz$MH.\"|lOc+SNi7v{eJ9{]O=1k61Hz&,)4+~o_cF{E(.FLPoj}e)1@`3yfZtW&Xp7X>DH`U6@S~Ob=%+E8ojRpRu9WMi4bVBs0}1)6aLN4!5pq6%QHQa9V.Fp&`I/w02*bltJC`B7:1EXr37,Y:IbcYu>qyh9&_k_@,nHa^[KYj*KnArU(Eq/~yU&$XPrE}jZLl#6U^bn6j0dr|Jn7bH?M.)+:CwMF!5.`R6Zq6J3Pafm}ijk~*!YCdZcLByBBB?j8iWs8%sn_c<!NW`\"xkl@h`I)d_2_l)],Jnzi@0in#@SZ{Ae9*gc6F1[Q}3$f!D$Dv#:O_*aM@j>={C(^{Yxi:S<[e;t{b=`q2e.d+R*h:nfJcTcfI$fA6j:`J(j0~QYIu&Ge%\"88Dy`Szt>v96r*@]SZ{QrU[ki%R9r)+8n$whm;+>#_^<:~#a?}7XEt/w1]dMVxz$dW!O_p(?0n8[eG&>T0WsC8l#C@K#m}L6cqF[&<pxl|zx/_Y?$<!q[4l{&[g7I+Vj]IxdnvF.~1xuTK6{w~x[J{a<!PhNcY)N=l$i)f0K^<{bjBe[r=Ie|BWCBV]_xkMhS*JW{~:sYVo*{x3$oNx\"!CZY#PU!4#(g!_`pi\"lKD(6BFV1y]h/o7:_?6;_Iy4m=]JmCyW7k?8a8C_.,e)JqDuZcFwRyx@7[P,^`P?(M~x=&3AXzzygE^d_}38wn.3ur$f4UjzP|/b4tKJ?dTTl.%7c@Zl6BBX6H*shtI;BX40_7GvXk5/Ez~hDm.tBg+l/PrHcjDw@i;d@3*?:~LOz}aGZ7vi2q42=#V+a9QBf/M\"S,pufQvnP;KVP>:;,Evi.Ae%Pjf`6qU}\"n&{DP2avXQ;8A|s[P9tl^jOJ^T`G$%#Cr7POp%BxaN2X(k6tn/1)D=%6q2\"o)i5/E|w}.=a;XB*0/lS+38iE^{co=kEe/5MLdpn7B9c#JUaBveVOXNTnV@`qW!:X<L.do^hb|X~h74SL8JH~rzN4~WlwRVSKy)L5d!X6J^0~O/O/pLgHUbY)ayk*Q5OoHda*I>%qIa0:n{fHy=65S^nm&Lx4RN];f|Vf]rJ/pm8vakt}<\"daQU7&K*)y90$i~8mzbLReNy)!Q^0gM[IjhJod,ZF]fC7<@w+6wU{v&@Q&EWCb+k*1%1kn[%yK/Ie*B[$#dbuhf5p+\"[^XJwf/,eexFwlfMcirb4i7dYW.we{#@sqFtWqt7C<wzN3g2l|g:n~vAf:f1!`YZA{{iu@PPg+\"0SYi``R}^PVvGl23?V?5Mukf(W#pU3NU\"S{D!`7xI3%@bdRx[$CoTOswC=l2)B6D)mt*gXG){{W<{*?5**LuvLb|H^0!y^@jy\"QwdkB1}=~2/u(s9wJ/`d#4@7{!Nh$nAY9G16mZW$(K._y1EXy`L}f;*5s/O`.s[%}XA7sE<>/*fQ0;6OXR(WPM1b<}W(!(IC&N1:&?()K`cqDD6}~ub[TvnW;V\"/#Tvy_=@<mFyceujq2Vz%5%}P@t``J8V]^CdJ7_Pu\"vaOv8QVs~F]cg?PwP|?i;+V,}2+R5^Fba>..aD=$/uK}G5{Ncq]\"H]!T&kze^6%[]<@CRDEaU$FIAnUst3SXtM6}CVTx=K&y><fjQqn&yQ%PT8VK9mL#Px8JX.)Yi~kohhBPr|JE:3Q](0/+}+dyhJGMB#zz@JkQsv<mVqb^fYz!<ypM!EUzb_TB@{m:^YH`E>x;`}L\"C{@y+F+mvokx.F[X35E3]Ot?=d9^~ciB$AGj0rR[=G`}#p?U$fO)Q:uI5.L|@z>L5BvQu`w60xpGc<l=MM.42!VH%>o1aEEO]IQGM`6l4,F?c{&Oe:zkMQpTktEx@&^SA<meO=^N!E#/vF{E]~}WWk1{MmPTrpH}y~l>@V6V7%9|;@qR>A1tuU+=0)u1f=Y%g3I07&SQj(,oOV[\"]Io]9b~8(P+#t<6Ow1%ZmB(,L5y[J!_%5LSPcbIew*=zWZNf/,Q)6NfG6\"BkF/W;9d(78`)70yMS6y0^EgB[C>.B!,?z&CHJjH{H,iW7QH]<~31&Hmx~\"5_Uqo@8:@>uv9EKvZD#V_?BVR2y61Sb4pWaL1xxAYqF%xO@r}p=~{JVtI;y5f8wwfzlQBmr8[sqOZO/rP\"z0ivj=8Vwt<C+WHy;;1Z^_j0qky#Hp!m^xAk^6>Y&I:=[=A[]9|{H4]9Lt)O<m^!9ZJZw=%7[5ds!*H9H%sdE9iP&WM*~3PGl29eQi(@)&6]YLdlhGP^O:tGf)$2>:.d+L0TTkG??uxYPW`HY..2~Y}CB3tPq*RJshz*|6=)5*|mBKdC!a}wtqrwkr%RH)R2u6YVG`i6MAX`vM}PcCJ(<q&0F[K#5Cv9{mbjOFnA^vnJk1*%D%`XE|\"D;yd=&[#5b9kq~x}KtG=6^m.JeNbhX$?89d(@#z}65ff6Jh]!kcoBawpVCjp?|WGQ%>Y?b3hDR/0o5}PyXf5xF1pLL,u|=LoKTJhFlrPyB~:Sv~{J$wH5@uQB))o|s*^q!jeBKtgv5lVL{s%3]bt::IFv8:Y+sKlB@:o=BY.4Nl}:rRm/HCNqIED76y13&6fd#x@\"Q3t|OpfidZs8`hAP/|bH>YZ0GlUr,^$B)+[c4GluMWEHAd4/vVlzGl9kN6(JI!xN/J0(BR>.v4{[:iRrACLJs:uXyC\"o\",2l6@$BVzx%0HA=wxpiHU5=Sh@xdY&+FF16KLzwRt1`unKV&f1^Q/Y7#dH04p~2)?,aDJ;gSsii0QddeKDXt+@w)jxAJMRiKB4)ds[,R@QS[X;!#SNTd9cz)C9HfFzH`tm^}KnepYY~R|6fWX3fOC3#t)Dm_=&Y}=`O4Pa&n3%un|eo;$*h?QPs+S2JJ=2o4a_%oT>{C(\"w9sCD^O?<}}$UXV;N%oxwNw=sGCDjS]rwjKNKs)3`%71vtMnN4ZM}q@2NL[qe@i3mhBYmS:A:Bb![uKtr(e|ufu5pHNo9vwXqlviE5}s*Wr7BaT,Lk#h6pTrl&ri7h{arW>G2#y;woQ^sNnx&Mf%Qfoy1w3hin?x+;)V`2VX|1lr4V<RG@}\"uV_E!Sd>ev{qw[:)QCjh9,X6Ck]Y!$%,F8TgxB/6JCllWv#/?d#X$1wr;Xb/2.#!b.]gJZ5g_a&Qv`$6f+!9ML<a}})rJiK.mJEf]J6[BQ_i//Q[dPT8dUv=T1Sj+my6E#&aZ12RUmG)2a$X{BDd:+|OxgL2D8jBb}J=j`<buR:iwvSw@6W&Fu*^qhY7Vk`X25_hw{kE9e6S^}1Y2.9)V&mI5#*y6aD<wJ]}[HtrZ5zq<OB,tWzK~xu$:&sCMGN7FNbrKZu!aHR`CtX]R#+,<P0;Sr7OY\"//zm;_&awa3B53gyYS1D#dk.W7.riGtbK2]lh#y^9APh9$$~vRHGx/]J&|Wc0x5E=Y4$<LZpL@3}[X0<^NCB^fd+.Hr_DVk&No([lyT]BElPaEVVm+RaEw=X1Vi1+H(~<QD@lgd;6/No~sMQTR:V:*IJ=#7XIF*^m4V6{5cm0>^xHda2V\"=\"E7<r\"E}24n{d[L^YO(1Lt7,`8PzJ4M/oHPERr/.7byM31Xy,2(HD&x7^^;zsL}_a@>onri@Vs/.Esz9OP8X:wh~m_\"BGlE)K8aplfT]\"&@6\"&([=GRX+J?wvYNiVhQ_L5u$\"UIrv*1^80!HY[d_yBN]Ybd:Kt6IFAv$b$&oJ5M>,q[oY^X_b|k`LUuKR3wu9)9(3Hw*KGR>acz=EJ6\"BVk]PD2hLdo4zK4ijX_D)&e=a(Jt#!^K\"$J<|8GZj`q)ZR[]lhn6T<RU\"_{pRj}$y!!?t3IN2fkS{e=Fz*&pxB*6uRo_OLATk,U,_,Ex;U))S(iiON#RJJW`>qJ4(NzfD$:qEG8nAV29E=,gN!3+aOW;G*KRC;f0%a^9r8NaP@puDXGIV=nMA/w1PVQb/:}M/gGE8_vlNjb9/<;zIK#$Qjwlz8Bpk746y^#a5=pP:+?S0.1tJa4|xChYe2A{GttfT@gUnom>l/\"d(7A&s2(T;2U<EaBYpsLtY=4bgz#@_38Incq(=eQ.dXRpI$@O\"UrAD~Jy~,hvK%&;B7zC]D{8^UK^_/h]5yY8gqJSSDDDU<Vkrd6C8+W2VFuawEAZMJ_9R\"_+wlc&/\"4mXz+|hb(R_7]404bd~zzc6.Mj(k&v{iA@tdOq16lY=X&mIwwpidRp%ST?`0>uo@I`^1}a#KdFm29rKYByFzG;fQ_#88+`>@^SvQVs#VSI\"\"_Z{orbpm@I{RG$AYf/fiEn@LpE9_&!a#NP8.laL59R5X3vnj)ggOKxqz^I?rijw./W=JBxC)/M31&Tc}x]kI0qk}I(XnF_O2_[O^TBgus!\"Q*Q1,w{7AM_/1sJP5Z7`Om?b^dgfsw,O&rv=U3NF?9aLYne`lbd|@1\"gseWe1/f<:xxsQN;#Ou.%$pBAEd&oc[@`13Oo$SU]on_=>I[>jy_T4ac5CXiKc?K>GO)#lU/5@/x:5(!xYFXX%~KGf}QXt%lG@q9Iy%5jU4eH&:b;.YIW~AGZ8F:QtXN,hV34YJb3_c4Nd;T=.[$Pl#K[Cq(\"yE94dikbq<^K;+2Ja\"2XVvjy56vvi3$IjP++7<m2S5]5*1U=7k3@dKcBX`nLgr>0eCv!Of0cu\"fKC5x{+KDzyTfX9Z.SvRrr!.TF+k#p9ky,?#=pb=w@2}BK>jOQoth_FEyUBsQ;nA#V:t(n:V!0ykK]FV/[Zu]SiOq/)W}<X?U5K:WudVhH$\"^ZgYvw!:$UJxjai>Jx)wa}a2Zs31.VR#;W7&C%>i5qSo@?#}!RP|?N{D;b=UR+>u#ax1dTR.#sp_H,lsCt53?/r/K|R,WZlpRcwqT$(DS!qj3s*IF|J?Kf~rI#m/?O\"7:O.@e:.2c{O={&IfLX=g47XH37:I0JeH0!#YSOInQsj~yBD<#pZ/2o*AE*GmW.6e%H6]UFYc\"\"w,`Zr%Kfp}9mFAQMJZH=akVY8eg2@fbhZH7F&Q0v;}k!)B8K|bpjf/]gFVm#>m{m5QXCa}rt08#+C8S[68),@wdGZv$b.iOZ(W8jMp=]{F<F<<d}JPh&6/1,H&:EVI@{Kk!IfU++I&=#&Zi<ZFi=DF^4_TBUp2J&IoHf??N{)ZPW8zP@z\"pm;&bwP*gu|J>pO5$yD#AiL:2~`nY|2Q.?N>7\"F[$4g.H$D%mQ7[uUsY/y_%$4%mW=FnB([D[2OWOMTP0@5XfV|)v]]CNrFYt{\"LO5@Lin7S$\"3,!R.K{\"GgGT6n=,n2?Vh!b`/LYoJS%7mQdMacHqHfu}whsk_;)IF85[X(>1hg~E~11_sk&c{nRi5|7pWU4xQ:bH[x8sx5qlchOM}9Txk9,\"\"c?vn$jQ+qRPm~a<qv,EaXKnzHQRmO;\"!O[e7u0Da=D&qMf[x34%Q%qex&<k4#x%&*%X!gw)v$B^%L!UUmVlfr.F=:k_He;a$62W[ya9;)mkpo6Q+k{x`fysh0//*MoM|JNj9fk\"IlVcCb.QF!&FI&QROvgWweIsN96t<1`Ij\"bP.P[EIC9q+lx~m1E:ZF=2$da^Z+@t$t;bRey[Uoe,mO;r*t$ljA]V`PnRm6/WmKp57WCBiz}P#M|ojM9WgeRnK]iwR%mw*J|TGaf6)t$^r$p1`jGH=ZaXN@d0mR_R+)zHTojG.{5=33/pvs)^%{Ng>@krpUd)#VN65i1LmZ8Vk\"I^%;ecjt$U&0;7.n0NgsYb$Yv~m&Z(1aQy;_+F13kh>+Ym#J=;p`j)Yc=%I[e?r`lsgQnH8#Dnq?#=_XMLT,{{]z;\"0G51Y{g2Y57r[{#91KQ(1U?<79&r?1Q7c#CZbs>Gg=WW./+)+njs`a=?1=%!`I#l}~R}P:TM(`j,k|<+E2LR@N6Q+m3p<h#Z,E=cmWwj^PktqqG>OqjL9_Dq0_&i}8YR$M|U#x2>7bmp@~.>11/(Z(1#R]*X#P:@,6x#|:b)|(zKm)lKz5)?r_O{9s)om{,Mei372/zk#y+DK{L97Aer+=_E2N=b&0bu*_ymX4jE14%yp`0Kh(sz|?xL6PZ((xD)WMP.k~A<7N5rGO1./ECJ^FnE1]VdmKP6pl`0pATP1H$$RXM(URmUxHmQ;=|Y+wm<a;q62i+p>q0H$Srlb$x*M4i?G?uwPWiN8D**#]i9^]SO8|BPNM<=|.qK*2PaMlQ>Y?aw?\"O_O:gQPQ%ee89(|=x#_42^jMzH4GTvQl>ueTMOfY$b1V$.eW$.e!8~8r+lYC8;SffXiSjq?8SGI2,)z&!{=sy%_^K\"f:0lkt*SzXNW,gy>U_d.3sNPkh8Q1J$J8t[@+60#].j1,Ykz,QnvZ>0Lb9;v9+l4JoVbg^jM$9KJW_*m:25mknyf:}ap^_.;.u}r!@gLI`iQhb5jF`uwviL[DghD=TK&)q{fonv5=(|c<R:3eLT>@b!(_j15=H?%Q&n85$*:EPRM=Y$OJN$Lm5+?G^Y&ky*HmHUZVJI<>rb5J[DaT55AeE8eJj!sove`.*=86/dq4\"[l`NoLg$R|0Ga4qA8AeB8IG02bz;zQ_PZEz_I&MWvW~VfY$^Ky!FQ*=p5?e4jZmDDabD%!J=Dc=B!+qRsbmAx:!?aZU&X:m#d7]\")]@SjOPef{m,,RuY,Quylai8,8dbGM!&I=]HKk?&8OoeK*;mB*rIp$(7.u&*d,V#U15Ff@/|k(%?,q,#1h!F$iTmChIi&0Y,Kq`2RY<^KF`*r{**r`Y&1^0L+`m>KsJcF+jVX4KD`4,?rY+foC+L<ueVrRh{\"o,ZWIK~_F`uR(zv6&Rb<OJUu6a`V%H|9#M{iP)]D};k#73%l_Gny:nYT_lx2zmE4r{C.q,?r$p=P(p=PU@8Ylbx9gZ2<f*A8`?9Q3zqad^z2x+a,ey%ld@>aG=%&P$rmq>z2kr8mdbDNW_nkr<<{q<W$?eZ@PZ501Y8masq<{@C1OzL$t<a2b>gyO=2c+lz.I=rm_,N,>4ip_+*`N[KTH=;k0lF8n:geF4cQ}1@Z(zIM3+y2t!VTjKCVVz*fy*}2ow_TQz@O{t{G3Y57BmGT&(`,LD;Q`,DQO(=UU]o8la*z*!+Vc=:3h:<2+@Z.K~Dlz5@+Cz[[1Q?BhI@rQE$YQq25QmEh:Ez8a{.qN=@TJW9{>8i1s^3Oq0;zCeB8Aek1:Ztjq<CTM@Uz6;[#qRr0E5H2ZB?O[aM2[RzSM~;xb(+l6<I2`1[+5,wl,lj@J$qR3gwq<!(U=5Wnw5D+exIKp%owR$V`4T%ke9t<RJB8EeN=4z$KN$`j,k?iY]H9)LMp5#)z%K~a\"8M|r:lj^1VTj8/825Y&$KjeAPIe*wHfWX(pxO%#FQFzg3M$(Rdmxga<Dhx!2J`imwVja.<4x<f*U$60C+yWaR#_y9Eb\"8u`hI`imw$SI=v;2<,Vk`O=b&f9qkD1z0toF&nfEKZmZfW@Fkf`lH@+Jnn,p+,qN.X8A,vf8NDQRONm)?/@b$Y:lj:82`[<[+2^G#CcI=t;db47rm@,9rE.{5J:pp`,a3j</xRm!8x1(!pM;U+8llO$Z.W2x%@|q<I2@<y^0a*zx6c0@+i<t9d`4fehhyXd@+w<K$\"*)lOfa.sh52B1y?7,M192>O)d3<_avq}j5bP1t$9zojb@Fk\"nIhE;8{Eo9Qx+zZ)gshb<x;Z/+e>H%/}ubQm7tHhv(|jrt;Z@O|PnQ=EQzgs`v,F=>1]V96W:5$.j!n;j_*v`.f&1^0.P5@qlP$7+$<ci}&H`:2E2|&m4uaP1cr2<qGLm0/N^E$E@E$vp}!vKZm0hNiSU)1]OK(FMWp1dxa#ZxM|<?x#_yIX<D[)aEQ:rC1<.8&%K=M6Ngh.8e[,M6pd=(.@0d`.,(d3*g>a30?Rxr>j<QmG._#,QxBe[g>q|O>n!~gs`dk0lR[1U3`(#m3r{~zR_dhOiJ^rhE9zmve5@W#,9QZhy(l={Sw#,]M/%@;?,?.G@t>?#eRQ#rmqp7ZKb02|&F4h:>0I_`,o3]MX&Y2:x69EQB.#2h:DB%oP!qj@qeI,ma.l.F+6@!miUxP|QMFR[7.ZmX<0/CE|GjoX*6jD1oN|M\"z.jh!Ae+lBeB8Ye7$Z$12r<H*z1e7gu#!y2&lmjl^4$wl]&fQw9Tewm;+^Z0gu<ZPn6?r/,8dcz39VYq<o6KdllLgb5+E=W2Yq<nN:5]lI=)zF4er3g)qakw+8O%#FQt>y2N+H[o3@O2;go12N$Kl%#VNvQ5{:2FjN6wmL$eRI|v,{3vNy=x;eq)jK1KT4MSh_OeVUmK+O~y!JZq0g}U#w|4TbW(Ur<WnQ!?r|0J/r>gyXPNy}Fly)xy[@+?1youYDh[Pe[2hKtL+,=>}J4}&s~P#Gl1oPmOwl`\"6xm`a?#z06347Bx0};zIT[#e%N=P$vmp@,M]V[aF&[%YHKrh@>eO[w[ciwN|0MoLgJgi<)oPnFM}`rS@=$S,x+aO~wi6T4e[xAIUX5J})EDsi(}wi/Fb$(esYB8{uV@@+EW>@|KwR?P?Zfy!!&!ze<aRwbzS.a3|<+E^k2Yb%2Xr;3x,{YTH=1m8K>51o}jfqOx4W?r9,8dy`dnH4|&R`f093bn@OFe._rb@GwtswSfrwj@aKITTubK*+v+G=Ym)`u!Ez=GZ=8!j@*5b.97Q^IUy<=lh8hy]O}?wc0m1MB3M.E=0S_l)NTS.j+ksNcBS`lT}kt:O[H!W%q2:Y+M)#<41YG.JZ8j7]\"QCe<7Sw/+n42FBZ+}M<i3_/i:5$*M@mk&Ae=9bJ2d+1Ln/Nd%lmh{c@^JM{+s)efc+Td%Sb#Dj8_v!Hn%Sb$ggLQpI00Uh%ta.I/7]W`,}g%$]Q?^4WNo|AyZ&5oA%+X]I3V*<D,(:A^9Qt|l=SWBcEdZ1W}naXiZTK}gaXsxlR.]rjnQk%k*qI$gMwRz.t<.Afpx?6v[\"YqT2%CG9gco+@/y\"Y%G\"4g/LnfZ_|.AQHtcL53P^zSw#J(Ny4~Gsz~Gi/8^[\"@JH?Fvd;S2@{:e/GVQyNJNdXcI1t7_PG58LH{{Vt>gVNlZSnK~^$+?eo_67lUL)c;=dXnd<#zF^:rLI;[\"|XF{W8fA[MyY.pX{G3W]uFr]WO~vxv.gAwS0+C+Wc]>97p[zm(+4iWV~)^3oz:D4h\"6o.g~v5vek:XFE7LXK@2v@;bLs3d6XLSYUd]1Xx5SWKCecLM8.Wo^Nn%vzJtCD?Gpoz:D4h\"C@nQ754h`}KIbXT):9q]Yw~`B7gV[4U18H|JGB2[7U~+54//dcK?&eJt2,KL{[XXK?gkJt2,]L?/>9ynXjVW>2R>}Fwy$q_XsUb]yLx*3y_}>h<[+9Ls5B1WlBJtIOF[*N]\"a5`W*d<%K`yL5*0bX`VX%=<Ld/94dD84rcRLV~S1|4T4X~]=_[Jc8~c_R\"]XFs:]rgU[@eFWp{wbo`v[h&!AjI|(cGOcH?0kPtyYRtyCQoyC6q95`Wa]b4@@6Fj\"*ZxtII.giI@oyd{(2!iLHCvhz|!FFBwz?(Vc%B0bq]i+?tBZZ`i+@tGOpt`XLX#2TI}++hM{N7Vu%TKX[JGa:]+UR;$bGr54+L.QEA*\"b`V[aX4o,wYXRg9kWo#[{j]iMLzQQnN4+|7FCCyWFEtPYL_wOXKK*_}gV)Ut?DRDw=<r5Bu8_Q$W>Gc)@p|Kz|t7I}|bF[x>u/?25O]W)e9^^K|F64#0BqHH.^^Ve%CDt9/J[{<rs}cVuo\"xaON,^,t/b,[SG&)NiP:?|bu=,FLI,]EQ|nR$=<UCrXOPs/<ru)yPPN0D?^g!~Lh9CY87Wd5[}%1P6|PeY7$A<,}%28a{)3<9?pr>9=`W{%&Q=^Xo?pr>^$Ds$^IWl@oSPVo.g,NO)e=j.zwZYYV@t^X)@q#mx+vzsN/LUg|XK|+BJ0+^IWLdwot9XSBsa6~<>bL(vFv|yG8Z#JMc3Yz!/d`3D=+J;k96z0bB;k=6Vy!Gs+>^PM(&_zLb2x<rY+!rA0Xw?t#0z_DzI%!|eyH}iu2\"_3Glg`{J#t$p|K@n\"3C`bKx|Rx<>NSLjwD@3JPN4opT05~i/[T[pj>GfXet9\"zjDt9QxyGAwi|owPDlnz=sr=5Mht9z}qrzV&??=yL7R[p@3{Yc8W[}DRn<3Q1>ud;=@>=tKqnUJ8l/${%nFQaD7oK}n{^$b{Vb3Fo{^^a%_{%S_F*j,[3Bdtn{^5.Iv8+&%nQFL?$}g2TQV)??=f0i%p}v)=pj>}$PQL%~{Dv9{rv[@DDx=Mrt#tO#M$^}G]{q*J8kZIj)^0&(H)C)e9Aih;nt9y}r}0&IoL8FWm(M;J8qXm(2Nj8?d`%rJ~g6v_Y1RYL!klE^yXDX7JtwD$v6_4DVkvuDx,#)QvS\"qkXs9ru%26QImS;BDEl!{m$,Q*;XJ9Vg%WP>9:}awm)9#Vbk9ZDV.sanua7~0h[<G`PS/2d<q4oLEjdSQ`xt:|8utt=dfw7>^Ma:lG(JVC][^1wvK~$(Lq$7!Dd8gfb{%Dd8gf%xO;mqg*f[{HK3#,F%=b$Y?s=y;7:Maa@Bv]nwzDPHziA($nL(GI6hs^y1IgilHD{jl_F>gm9);HR=#R0Rey%Cs7daV@PbFEeWN:!*ZfD;d|XR07K?j1c~d:Fg#UcLw9vldX4[/NfUrMvxijg;6Q$[(dbO5aAcd\"9wc8YU$4J[F#K7b^^MUH,%mim,!M)_Qq0)<PN`yO18Ed)a=}:zZW)@f\"Yo@ZghfRY~M5,KOr9X]x(Qw<&]1B(QJD(RJ|!c0+ZSG5T.nYBmhyC.Qm`Gt=53j#Dxnp|iQ/iyc+ttnRtR:=okS9Oyz9DJbd0XtxGbU_E}7HZX3+E%#X{zD(G>fyM[r1,<o$4zwQqtv_8P%AEzWJu~0.Zs*=^Qt#,T48~^frK=6fY)7?uMq1WwV1wrsJ&Udw~*;5q65h&S)|Uc~47{pB0h&W]d_Qt0}KL/1cYi`<T@)Tw<sSx((VJ~oImNYrma`Y3`v[$(fIdvYjA6b%E7tATw)%<V7bp&JpjK7C;GmDv+#KNbjlgiJBj~aPi4kP0cJS$RufR|OG0oYX5WxBphLi>Gw1=S*##[/z?CrRML=M`:7Me=\"r/)_6xMIK><qi>k]#[P{a*sc+t{Qz=H8lMv&7lNvd4%qz7e]}a]B{eRe$W4HhMK=ym0g/[P:uH9<39}`P5kPd#z_t9/<5q;YdHcD5|zu_gB[y_tlbd/!1,H9u0L$<z(w=l8rZquI;3MhX6Eno1owd<7|y_C!oFJ?^6cSBqvvV3:os6T3zdb/[4_tHFT>7+ZY4vW.y4RuTFqJ%pF~_Yj\"T:hP\"9+Z&OgH/{H9oIw,eYi,6lZG%X,j96kfFjPr.5]%P56=rN$Srm;:i{+lop}fFn|G36DJs@*96ETY&Ae05YY$b3#7&%O$<zI[cwo,]0KN:8Q:f!x6$We1*bH3TFZ$m3oAl/5X<N;)r)/c9JdC7(eGiz7n+kgm4;u.U=%pqJc)*MB1OG6uOar)r+u.]2X*iEll?:}0<7AVl)9po,KY67OH>m#{!NT1CxZnZfxGgae)ntvC#EWoZDq0,;C(o,*NwVNYmxObof+kCg]{21CN+MD>Yfj!x%2,=bJmh4_Gn6K6wli}72dHwcN_H[^+p_SdMHWJ{{PlRd/7>JD*!6y@|HUDhp}0o]Z,WR_gYhrmZD*NM0h#NocM(&O=fPZ/&6}aP?yGhG|6T1/gB4:\"waG::)YOA{;saRp%ycU~[GuB7:*[g/lwRzvt3aLo37+Fqc<#oKRCz,yGn^;7nmlPIu:O&h4W3$_G4Hp]2mPp<daY=*i*pD(1%G#4MN7nEr`$*S@*&V<Cy)pnC19%*n.uOYJY.j%z^$~X)NiYdND\"?A]G4Y\"Z:mfX^bz`*NGr_C!4WopL@_9&TXAZePQJmlA*V%ztxU(m?<v]U[3dnIi=%#~cnI$VtGzY~5zqfsUVR.*:~Z$3J[JADDD}Xb44jCgdgS>:^9Acg<P2uR/R<4=bRa`utb)wW]83^(V\"#wlvEJ<GIgGKzDcDbR>ZTv{{9JrGAm/h`|58hnSM1\",R*hoeib>Ywj_z$4`#9saD/a;A?^)f2*{+gq_afx.Rpd?Z?E>k#?t#U1j^_{/X\"kuL^U%zQSDqVau%M?ib9zTBL_=b\"oyT>LOMWbsxywrmJ5E<^*0wv^_*$<NZ>M32;Z>M|igm)Moz.E,MuJMaBT7rK)?MoM?.uod)=bcm)WI!by12^Z[*fsQH(+t|Ub@:})n:gJ27,e/,21:Qg9$uk8a1jVfG(S]Xp7Lhn5iZ{:vv1#EM16sZW:M_dCrZW:?|8XiGzS:_NB)M+k7[yNrZx/:+3EuZx/QYMDUJ.H\",8.7^S>D[hkZ[dm1>yYZsE[hkH|,V($b_]FO(BS0Ty(.9tE.26=];#3k.>]{lce_R4rI1#>\",i>+jA6eq+u`H*F(cBl/I3IJ0fVrq/1W.&M.xcj@{??$zby,QuxeOu]nNTnX\"0R(X==jE_Y^:y?hWKUo{%GHqj;RC<`dI4[GB@x2wkz\"`ANX<XTR7vtd<gxP<B1RxI;ua.uT1QVOR3Kg%.xLmR`=?<og~cmjr(q6<fj=1Lm2Wf|TJ_Twqn!)itj$cd8Vfb,|JOfJw%G7IewMH6~kSFyyH[0Kb~3SPyr[RjSq,>0$?jVm;L[7.0Z{Pr#x2`V/8e<]^C*@x/7HYXseO5u@,RG)v7CK.Bj0#X3$K5{RD<lQP^Id77*iF^phaaEa9JTc!2Oej{wUuYKV<),nx2wkz,DHf<QHL|hseb`)M`ARHXp+((ktrs=Kw[1RMuL.+/Vo[UIr!MDR#zH,McO^~RTojYuK{k:ybo*QHXpm}SgL3wNNm5fL[qlSPRfrRW%axj*AXu;j(&g]fvLn}@eg7/H3NW,!#JTc!/Sw9^+S22,x2PPGw&!0#;LQNM!rk=OZ$2$U.j<Vvd=.c1.20uZ<720v]uR+xQu$rp_c6wl69I:Hsy9Fv_B_fz6gkd,nH(O8dxUP<7O2<|am<0#^d+3%j3%xjU]ukZ:tHX]Sb,!C;/[Dro,;/=!cdPSv:u]MUGuSda/&m4b)zP$Yb(eFPas]rZb(e[<g!IQ]wdwF$^HBQdpwP97Tahk#K(UxSXE~(`R?e`MUyc2r,2$:#`O.p5Jb.1mGw[!J;<!ImHuAI\"Ov**w@cX6{0OHXM[wY%h`yJ,k5X|=3RsgGqs[SQX5&obyPIdfk8W?Xam8V?36+el)MNo86r{td{O&3ZyHXh65x]59q_UTm8``SITe|q2NT;2_,Zk83rxMT;XXj(Or59n/rx\"CG;`u,jOgA$lgPQPM:eX)(ngDK~S/@B:eO|s4SH?^UhMLi429APKA.BTr(Ff5q]|0qEg!79|q\"PJBHhr>q^/eu[_^Te,&(VFeUh$3,w49+.+#/eg[K[Te+&uUcpThD>I~x9gu^<GhI3kJ49Yu8%,>OuP}39Mu#|,%x]km{W*w\"tifZ[V6Mm4]h7`0C)=Hai_DFW+fWiNMWi3>m,P:Se+qipd{RhD2]f39`,dK/eF)uH/e|{!)Se&qdIT;%q}HT;u_0&T;$q1g4]g&5DK8g&*PyHc9;^@fl8:R+TcOu]11jxB%N6.efY$!dBcENy_HwF_J=T:G?Rl6HBQIzo/)7=?}!6H,v0}JS<6lSUw@XaV%Yi<^Oh_z^<SWi#()ei[t2Pnfs3R<O9|DM!NN~9#jJU0edxx9|x0?GekzGemtKPmux9#tb!$GT`cKk8S`w>K8ghkz^<<e{r9.^<o8Q`m<JP)9%|%;K8(94+{P.e:rul/S!9h^E(yH?eDkG@MN.eheLuICLX`O:!_QW{o)}64!q_]Ik8[>AP+eX@)Dl8K`.Gk8J`+sSe8&w!x]09U+7@,eH@*wTevqZUJPUq_T3ldhB<1&,e}?Qh:#Lh6xr\"Vs`g#x:!XdXTj+iHa.k8G);Ou2^N3&+8fYUCz&m8,L|qC,gh?hKaGP0&mqVZCN1&FP,ZbynIO.,}yyC!QR:BC@?9NeqZk&3Hxc@{^\"?_zGbMGMy*pm,e)?m9k8>_bdT;z&NHd{K&}GG;Jh3\"]fz9L*pm4lTq6BT;l_HZSel_PBk8+_9XSez&(FYWW{+ew(q^WOS,_,$4j1;OR&h73gQ*Qb3:<=+eg?DWbKV;f|IQ$QxDl78_d33lYh)zge<DNoS6<7)Sp8thLV:r%|:IwSIl:t.I2d>DZ]&ZPD$SR7c6L:\"#Xw\"z4|zcI:Ds_3Fv;<;VH6zUB4}u0%;V]5{7;V8DiH8re)zUEcY|@b\"6\"`$Lv:\"|OyXlOWq5S,A47/}d&Ge)IN_3m__vwE4iUCvnbdN73iD81c=BPR6BT@JP#7/z{IRw|5~v`;VdT*!yJ#yN*_rG:`[(LW0:q/%SCG++H4?FZY$Q:w>WW)ZKuyEUdx,b1}@s*7{r(F)ONWF4S,\"3S_t]v:@|rn`j9(w^K1wV5S}V43Gr\"3&.^8\"bG|=_)O_reU>TcU}R=>dTR7L9&L21q.Xom)9.wvSdM){9ss;~%zUs|b#\"=0au`OA*ojiYWm8CoxSSWhw=_LgI~9K&W{Rt5K7FWrNQQ0|[>(q&!tW~Vq];h+r`(C(?gtA*A7Gi&TylZ@Omg;l1|D^r!ESk0?8u;0]]Q*]ItdXspT6#{Vz20%~3S.Ob\"bG[q;v:+|IkXl@r#RMp`VPC@d`V+=7E\"b[@Yh|b?@>f|b\"(V{iQl`p$tdA!Vde)HN]&3B`0d2}3l,x&~b`{`8u:9|*dY];rwO5S^V2=8xC7~>mXA7}>BWA7X`32u:s_U?)O:r_CY]W|2a}Oj]/VszH}HNk?Cc>5x0{}8.b[e@/!gD(a#|$;+:Sz:f&+f4`F%Xzz%*H\"tc:tmEku,OBxxG7Ou1SdLtVCnivD7ov@aXf%g/?(PzB=wYDqbq9u1X`N`B;k$=,!#4s=i9.o>7]c!=z6URzDvuJ*_p{ahfK(n^16udQsiIFc9{72bg?az.#RC7jsGM6#E4a84rUC+.Wwb2PL#>V|(DpZNWTNb)kW4O0|HX%(mxmW.}rf_>E3w`cjMp`V/dLl*,j|&~K@c`Syd}RNR<b:x@y;VNHyu*7a^&DDtdoc2Q:a$0M5d=y7i8m0pJ2d`!D^_t%0[>\";|v<y{$]j@wpI9r@otRGe3S;N7OEd77sE$DS4,c,X`tn[q87;u&(:?V_;)Z2T*@;fch5cz&Xl:5<4@SVo1DE(F9A7:Z}{$p#S7x?6+*r0wT`CKs&IMpy7EWk;m7|jm`A#7q}BsfY&AbPHGs`DwT[Gz~aa7M~Y^:05\"}Xu8igH?VM;^8B7M}t*RaD7^_/gu:p|#PY]%rtH5S>V?:fY}b!(wV}b4?gJ|b2?yz\"6bWv\"Ra/Vf\"zU`3LtcJ/VFwcJ`3k]_t\"6(_yVtdk_=Utdh|$ciHC4&)~:|bN{0v5S<VQvp]AcJ{]1)OHczsY{16iH$fVZJ]<f35D{th15Z?R$NZD]4b35X?i9NZ\"[}7NZn)bYby2_KF:c:V}G]ktVnZ}`(Ky5UJVZ@[+R35.5pN//2_*Z154}R{?5~GI;lZ|X}`{bVdtlfz([eJ35N?J}i/ENXnht#iJV7[$D35:`q\"]k[KUL%\"KC0Y\"B>\"W_#{25*`{{l7@K?KA,}Bt?]XXD43~qhy&.?8QZG|<_ckZvjzg@bu=OaX}Yz?1DDW#_<##V}`r`[EcfaI|B$)%y!Rsj|c5@9uO+oZ&?.cy_nT155`&S154`CS15tr]m]kkVJT|o#Kj2V2gyK.?845w`Q.//)qjj^[hVeEl7hVv%UJMOhVOE^[gV~D]kzW=@!p25YMaeh?cl5Js`[EX!)C}zkXC/3(OA5b#8Vwgg)8GL6\"zd>+oH@+v&?CU,p_fGCgkOXq?f]kfV1P}`8K!=!#PZ7@Cd25c`K6//6qcopSoy?t2Dfy;t\"|ey}+hmPZ](/u45V`#L15`>hQ25T`aK15S`u>l7=Kkz(<TZ{r8.(<55Q`k<kOty%|#;l7sy4+>PPZ:rtlpSnyh^A(SHWZ9{Q.^[ryw+>P45P\"ztp_rH15M`>uiuW]6fr?uLpSKVhL}`/\"2{G+<Wg{ZeEsf^zK0RqRcXH@%w4P1hhM68zhNje:OZYBWx0|QPMmoMGe2yf]@X0n//xt/Q<g1DDW.1F|3!tqTT>@.h;/n0,Vp[SZRu}qVFW=UT8X*}:wn,rfql%y:L,US@`IAjwRG_?Z<4Vss]zM6QIaTrpRXNzZo*9vsavnDT0JH`1`lJAdo|ZraIVSly8]Wh/cqqqeq#kys]_HlOry3*QpOZ+?,!15?_~d//mqldSH3K#\"~qcyT*9SayP*ENOZY5;>vGNZ2(VKOZFAP\"=Ocysu::x5*y_IwSIlH+e&Ptj]]t&CI?aghR[CgVH9_/ppS5GWKH*olxQVKA<UBZh&scrZ9:ZcXJ+Kgvs%byPB}$ICx?BmjOM}i{KX*sfs/uw>{mU_\"?}ihim(%QA4^[qy6)c*NZL{22kO*Kd}#;>7;/uys&=~C~E{J:nII&f(9}C{B:]H?91hus5_=ulOCOqW9h=~c|}[)55yHVRLn(ts~|<[U5$N<QPWc|U|1uvw6M|~_~ss{|Z)e(KvBHRLf~_|6[n4gtR|\"~5>rs0_X_H4{ri__;q(W({}&`;.IV!^=9hWdW6s=|c[F>4F1rJFZ[C3RK&>8sroN8hQ?Q;t4h7}TMZEV>J/Io}SypF>QERny`J;<t^~sLR}#@_sq*$4XZ@_W;t(Q{j{eNnmZ#o(V(]}y`L.)%zk<2!hUW[}s`Ju/iw:2FKLp~v_&,DE_e2>o~%|/@I1iH^;gWns#|#@$=aPr8D7>sms8|z@4=E%CH,v3h6}Y`~+$N7MxFP4lss_$t%apPd_d~3|={6^mz9mX4y3=25ywkI/r(r(J|@>_x8u5F}v>AG%?kAL@8/M{GiU7I;_AE$&x.b8R(7[tjgcmd9Th(]&:03?g[rSEe^;aykX8bGl</PBmSN|0TViy`=H^>r:T3e7$)>7)@_?Oh%~Q~e};M.!Lci,PhW|ZAr~+fG4tt>DTLEqHIuIhsOtD>Ks<j.&rSNGDY_+\"!2wQvkvSH&rte+;m5q]%eBsTMGB;Ndb_1Ik4we5Fr9b`et7</MJG}Q~V@/yuD+C?~jsP~b}N@pyoVi_.Q7hk~v|$(BK^)kus(3>j~M~W}{?8xD_w9}*s|@?!;,IA9XIM8L^9P<gMvid*5,J3@6X98Y{t]^_;_lg.Qk*8xU~*F+?|wqPq8Q4#~wsn|!(CHmb7T8s%}._U~6(?A/CmWR(T|y(NG]Xl1zF#~#}qctSj0kn~J{CA]:LGRAVwL@DE\"SVBizL%$LPVtAMhg&R*M$E1:.k04exeGq)VM~=0+vGdy#7pI,$nhxa2Gv?j=58R1P/uO|TV5e^*JoR;lcS/FU?\"9<hGiIK>!Bk)?D1g!&G$e]P\"E&IhP`>PgCCxC_<2/)C~J/xIwv<=F4eJRUrB.pc_n0U15:OvuknSP#:AsBNTI|T!!Vc?fkZU9(F.z@i7QB*LXFAA0JEZ/d$uuCX{E}oVxMV^AyiCcA%cYfdxB:iSSE!(ff;gc252fpAf~EM.+^nXbk?fB`4[p>G]Kl7&!(,LXU/|qWduVCC`W`(_HxFsRE!?O1JNlw(Ah<32[3LmGwIvIto_6LzBq!\"G?Ew:/3Iw15k(UptD%.Br?/O.iNT|T|DF[P1hZh=FwVPh.RU|n\"iSw;t:CmnXC7+B=&rYLtChChe+q&zOeyJEARfEi=I,$&tk<S@Z*VQ)(0I>Ggf{n}oMu}`=BS?7=eO_\"ZDaItCs[&LOk:`wY(zxpgMvK\"JE4>5|L@y`p9?qne42dFE\"EvBqD)Ct_7;5BrF1Z]Dv(LX3_it$R2B*2QBlL.G0ElxYx(D6)wnN>MDRAgIc~z\"Xu\"WT/Hv~(J1@vjKYLgqYJF<3e3dHks=*}kXb#qiSrf5d&f22!zKWS(x@Ti/?MSBA~Dn9D$B[a2+YQ^?ygn;_kM_3(>J:YCs,R~,,}PL`87Hs`a+,}xF`n}TxDGfrXZ2XUd2(D4CbRBv(MBXM1w)?Y`^+<o=C&JbHl(RT7pbt`L/[FW)xx3LY)3X/keO_BY.&FJBqJpRKO{5L]Bc9XipxBQI.)FDx=6LRvuGf:#P|ZU7`^eoZL7}%*LXgBsIHG#S?f*{RcxF(5dcwx;o1dh[[`!S?fnQtOQeM.l_qIkZ:>Zt/Fv7^::L:I\"FSjdtxoXt]tK+o=iY+:q]Y^\"=@Y?z`E<t)U\">vV.B2Z_y3b[53dZCu=Lmp%}>lB2Bn@eO6K]\">CAG9E.3E3@xR0,Qw\"MVYanR*[znm~,N=4ESyBsEqLaV)Ez_%*J`%9zmCK9Ej2&l,NS+@,{Jl\"l[ZkA5t7]d67XL}cattB+A3+3[=S@M=4ES9MgG!n;R[JdM9ZXar4g4fvt,Xz@xnu`Cr\"3;HUo!hqWMKZBzmc{1i%(IsUC}*X(n{)n*H(%+AGMDp7^:FX@pIB_N(AAOl|Vl9F*}zQ74eC`zmc`Ih.(Mp?,Cp)5Y6f\"lDD#WT7`,!#]!MF{WV9CG{`p!TOp5qphY]d~/D<MvoLJBP!z4{ZU7mE^FrK`vIkcm/w1RsyhI#v8cfJLNHU`#$AaG4!_>5*Y]$B/w~YtT+cIi$wv;2upRCcts3W:`ilVp6{\"mwMnbwfMVmujzP`=0&(bOE0mc*I|nA`?m5D&Dn%3Ru=`y0||M4IcKZOtT:cl2KuFlMwH\"!:VK4t?P4Ij*ayXjR/b*hPJ)\"$PoQML&HjBK3jA(1B~QjF*UKaX<xNLMbZFfz,L>!:4B8YYdDN=4eEZ[~?jA9W|\"P0hBKj!KPfcYHB`8?M:1.nvT,_<w;Tt0\"53d_j>^ZXSIF{0YxE&\"2@W&z$R^RXZ/~=lZhdwtOsiAH*<kIt*rFH`ZU7fx9=zuoU`T~Oh,aI^I<Nje&\"YL+:{OPK\"=lZ=J:26#Zd\"QQyA8jDKArkYX]L>I:+S&Fh_Hq/g8O`J[bxICkMc^`0ijTP=4uUXG5AbA*3cf[WM>VQV/zY(=cAKKyerzCIs|xwiyG<Awfv!)@ctjYAyPB9e%0Xzp|71(mu2a9Xfi8eCG+Owoobk0_nu4eqJR6oA`<o(+UQ{Q:C^n&T^FI?mU9E{ttM)J[\"[`.WLKNf/IJ).8KSlBv7]ds<}%]N$wD\"NBTf:i<>6IPj{X!S(D6k\"mrD>2,ERR,UeIFaKmQZ`@gDc@\"m~hfUvWzOnv%6pjq2GonBp%`x\"m~hPYTD6[`yn_Vxn:sS|FOI_.`YV)nuxmCjadlz8fvEGE4I0&_k\"m~hqcs+AB$4/*/52,Q@h7|c:7*W=^\"EyU9W<L*!o!f)4ihrVRM}fy\"mGirEQ4,hZDWH%*_#eGff%N=4:Q(o\"nznKjJhC)vBJDe7(kFKcExsWJ)Jw1UpW{bQ`%3u0v`Pa6tkGY5B9SkcaHbyL\"Uiwcb:AuN%KD/hEfnL+|LV/+e3IP`)plXq[pSDp{Db$D?!CC$/0KEpgA8DknfJ{8Xrjzpnr\"9\"mtoIDDZiT*Am*JcEreWO4oV9?yu./TJ1cC~i?j:oya45R2jiTagiYH8Yiqw`*F)WeV9EMrxgQKFY]ToY})IKpdQJ@oAMr[qMj\"a:VX5*a96@u_9N>vJ@gQT=,00ANf%I7(VC$9(Tpn$:oySJ,L~#AAl\"7EEICIBAS2[nxg?B$:dCSA8JJt>I;:jlVp}J\"=LHuuB!<e,6M?WBMCO0BM7V@4D\"&ZTKvA8S\"+s3NGJz\"c:7XMrU_/Xx+OqS>)9C>!GQcAjls0B^\"=LHF|wE]69Fzj.)O&`S1R3cyqfJM60k\"mzD95sc3Xx8rX?CPI^[YY|0rA/4`Pf@}i:$cj@h^7]Ahq~oe*(A#9SJ3+g@P*RceZHh=D&t\"[O3fv*#Z9FyBBdj(t8*AE4]~xwuYI6!DMCjzdM0YGEo13pc]K*d:CbCugT?ZcZBj+BvAV^c_Pq1*:pl0+5.gji]Wp0uwTZ?by68+!`>f1WT>5d94D,Dn`dt6Rri3v*^o6uWLzjA37GR8?<P<@$LPmBSEZ2bXHz+i&YD8)*K(tmM+[ghlShSM[7n>C<{9xO:oA#SLrNoZuoNX@]Q,b[a{{1^vMucvWMig32RTq)`.LbMSV$ChS7oTd.}.x<qNVzR=pd4A<ilVpWoE@8C+URG,,1E+ro)X*J1EZ|GWR!HGN68x9O^D,DQm$_p_dXLy4nzpc01d!0K;8~/?dkU9E@fy=FX0Kf,=>9SCt$FY\"ZxJZQKo3q7T<2R]D/uVW1/W6(F#9WP8W^rEHsRKV{Ly2[|BG;L:I_yxd9x6n=A7~auLfQB8zmcwHN)+/MDQN<hr7u1x9?g#4on6$s%?IoL!yRpn_5TnN;t7o,zbUf4gqcw{Ff?6FxO*48(!SWaNotToGvjVta4}d~caX8AjmI7f2eUECg.?:KwXPg\";;SpR^8&!oqi:allXv1Bwtm)RE.`gSr2H%`>cFH?O^F*iL=ED\"0wvMGUCaJtQ*.Dq?Rcia6C84?K(b^viE8Kii03%=}4X/on7X?IHS&KC]<P*t`W*zRW3B*:|7y+fy,s<4pb,zh$vTTPdcC6Iy\"m;DE0BA1r]9uq;V@E+cJ^xBQ^hU@B9R|cWC)_[vR,pth>y6vKsVNMm!+f3(`CCtuN|DpzmcQHmpb\"3+pB9(8lMEeZ9N+9(nAMNSxjs@2(ilZIE\"wCCX}M=4P%i%5+.>.@.>R*K!lBgq})JblXU/*:|7p/~=;HFZ>eL,[QXFPdx1^9*hnoXH??Vxe@Kh0Yks;,2WR?LG|>l_?QTQnXg+7VlM4+YQ^?ygf;Pz(D/>`e!4La#^^0&TR$a(FDGt&(3ywTs{\"y#gjj(g>{.*Yh[_~iiLZIFvV,pl]!qKLZ$$}C_|sZM6:p|ru8=D+uX&H7bjTz0N7A/k}#g/+ixtFKGg$olPj|AY@R2xxNSbH<>{AwtfeLoo`$tJ=N&WhT7F?$geG2A;Z44\"mt^3kDQ[jQ,%1I(E.N0)c`!#|W8:LGLd5YiG:}|v7?t{/1ngWUNuLz,e?,E`oY}xt#B}=Methkdq1z!f3H.bG16;>39\"~=Tq}n*h%$[M4drDjx`f4u\"xHOa!yl/tCN=mbTLo*~7Kb3Up5[4n8fRH#++|ZlxpbLP&7QD^(\"W53+i+>N?4=4=BI^W6.}1K~=_)m*Zt9}RF%xw1~/k@+EPB1uunb:95!&{Nc|*mg_Kv$;._,gAyyc<S(Hl|Ltu)7z+nGb*1g)/qvIr@nc8kYCe`@+7XNmOJ~.9UHbc2d~_s4z4aXbF(ZD\"=(Z;[0i8yCBT^:qJB}%6\".$%d:yTuiZhRM?iMKw!IJZ*[Q.2>K@tVDhZLBgnLXQ^cyrGe>!M7t#+5YL[rjLEE+.q$r3ah}rDlK<fzJH|Q\"toiUYW@Vx/BZQFm,>LGc?%55qj_4d{&pLsd0YaW?2w^VG]n|>ME6XdYe{*t|;,Mg{<f^_Iix*8MM)bC_ODOT@D#E02_)iX,CXvZ|Th#,|(*9s%w}TaJPzOXeX$BI`&@muF$:AJnG%gqW|z[Zc+TgZ`}Ue]kLqOYe5.g,eKIh%VqmOF\"^v*9htaq1h1RYfU6K*nuwL_\"~POuOW}Xt1>V8)8?s[N`(H;GJ?^Sjb/$By8Ve>Yq(T9i,|@ZGD8[baN3%Q2G8}Emc@?I3zJ+kf.K%!cNy+jd%413ItbJX9UU:PZw|\"dJKZa0/bJVub}Rx?~>/E1\"38Qr#j?eL3l%qm1!zu*x_#eFGA\"L>qfXrF(FTsng}@|[uu.v~BFG0ai8)\"ly~CVIlX1`REbPQLevi9uK*as`3S}(#_<CCi</[{J_Sh.%l<W24.y9Y&=vDn.yfryDUK=k`&|WB?YC}q,jKtLTE9ndKF21B^>5:j3DGVjl8v..ugqHB`RH=<GuQFfN)(ZP#OLK&u98+0%[B5iDpHXgOohFFawZ!u=(%~eO.:?$MEEwNyoI}.vM#S#.cfo}d[i=Svii>kknYCq_[DMCEi1O$p7tiKvYe7;TBcM9WOT5@8qG4BbFUCpSS*j:U571k[XC<kvXu8AYpnC1*hPX]dubfL:i,Ckx*vrEfLOoSyk}<HyCTcw1:JrzFpiSPPxz*I%R6zkqyb}FOL1^1I63]S)iZCPG`J]utjGt&?ca.BU%RPib|kHLHyiE8L#?M6vqHkm]pbia^)wGLTg.80bvUPJYR$oUq}LF,m+fMIDx;|GP6A]w:F3q@/!+Z:3X(A`F7nWMKhV\"[2?i0oon5>qw\"1@J&w6(G.}#e]Nq6(jP)M||?CLk:t+3H+hN$XGu^=N[f9zQboj4kEg\"VtW4SX7V7fMKSvl[?(@D}yYqEf*|A.@.Pa.^Gdjj}kLC*F$6Lv`n7,7b$gJqAF_kb|{Q[dnEdASy7X{i:C^<vB:\"%Yh+dBHzx1KNw)s/%]WiX/EGnlND>RLeT3|=8fHzNe*JcFmGR*9OAK|NmS;W%Xa?~w32^_7Yxlm6+*]4+<)5n^obgz.[IMjJkL`foY|&PJTJ/hF.5)xijA@[rq#jx8#^c_(kMp~>%l1Ot^D]:w~AWR=N=7HEg@=Qm4c;*U@%|E\"\"Q[)$+p`j>2GgFoN/+ECP{Q.M?t<QPt(bcF9_NO)X}BQ\"$cEQ99$L(3k9/=R@r[c/F+|4?,lz/F:4P1TGT?g^pn/^*W9x]JPp*(r+auAB_BEW)I](oT|JyVDm[`S/+0x+[_qt2E6z.:4g~Jm3~F&PEt6K:U=%LZ]kb7okvcx8Mb82s+f3V2i!UYp=[c]@?1}9]l\"6/6Qo5{GO1(!(c),d01V[gz\"|6io.y!ztCXfc`FF[&N}tqgvI9r#!4VFZxpjopt>B=7z@]#!vb;U?RW)G{ZGeT/4,LBne3<vE6F,DD8,<mX!}&VQCD#bPL#=kt0[CMi<Gv,C[(a7N8k1b@[u[H[\"E@WRf0b=hAc!_~9V9q[AsaY]I+HAn<|FR(wNczSjV20(zh?_Ae>iaK?v0TmHU)n1aWhBH<Opo`0QQVG~[<y(^4A=MxaiHx\"7Rn[w6@;O@Y(k0QmCf~?s<QQ1zvln1~vGP`l]SKCpqAy8.u)p,Q59V+b|kb?jXu&[jBt6[Fm\"b`C80d[mHtP1Yjat<=*<8#5_e{Y1{8K]xaXkk@hVK%v_9u$qp/dp#YB^mvhuB[|&rO@L;7\"vII7KW|zB/u643mX`VVdR[bUz@AoC%P<&1S*BEfHXv9)ZIP2u6cijU0+$cVT0FD:\"W~w_SVB>6}Y/hc!x2(W%88cUUNkI?EgD\"38C\"*_tEjHgy~ZLWPALX9BOb>VV#zBYD$Fs6?duBVf\"WV3dRS@Ea9F/ylEgEId,Fkk>GzK>P*WcKKnI^oN{>tq6lzRTqxYIAVI!IgyOWY!e+DH4C;>P\"#XWg=FWsNt|2{NC#fL8IgZh`r5/ypD$.(araO$dHD==n7y1G,[?L8SB#}I=ob|t8/@]>dNmBKnC8stZfQgMwF<4KE0.(;<OFS<y_Y.*W(^1VU!S95IV!{f@$GfsuQ*0wqGTg8C9BSiAa(a0eCt!JC6&q.Y3(zMtC^7r_obmKlon7gk6L\":Dm+UIJ\"RBN~FCztqNQNi[?fGkf^2m+TEPv@NkL/J0MX[9w^aFN++l;R_PA_3ajU:l?0w$[,$s;;O\",4[}]jG)Yx(uhv!KVN/!ust)grW@lVG<LbT,ZTCm0#7y\"jQVC;>8RaIRH>($2>Sm5BN{_<WX5mv0K]!gl+xNBD@3vix~rb?~WeWA9s8zOizaFIC:,KEJ[m)oU1DC6/6,aDO)z=#~[i;[zC9gP<owL_UUF>2Y*A(UI>(qTWx5_B.>>Cz=c!aDAOB+0N<3K1)PjG<<4ktmwl$%3>?+S]`;&+K<%{@(bL&:]uKu<\"(`v2wEAiWcYv&91@*;P{+/S9DA6=/64!9qIyIaLT|kCW9BlXH+/V.c2#b@^}A}YlZc|\"L]DIlCwNS`A^&fO,7<v!2!I=+qa(5Fm|L+>{u@I^qOMI>OkfHd/pomA\"2)P<3/#K?;y/Hka};Fh0A`NM,Pa7Zl0#M`y#!Fw8.11;Fh9t4B1LvYDW[Ksc^ad0^K]?D&Vk7!0J8V3kbWoUCQiS:(XcOVj7n80^GaE4dWTSliiu0Qb|Ez6at1X!}h;xI4]7NDsu0QbpSXCvVuHy%9jYhCmXPC$(6he[ccYB1I0%8=Lf/g|yDsL$4B16.K]y1|Uw+(z<HnW;wum&)>y9[NTs!8#diXZDjC;37jA!NJY$+W@~X@2(xF,=n{iE=EBy3c^vnLv.O5K5?YCMSR7=xqG2djcKR.<JtLZ*^2NeS+e8k2OEM2NeS.IfJpBfJe]|Y;y\"?^s,Uq>^,n.pLqv:~+gSCK]#Tw3!APF{^O5QU$XbE{^E3_LWHyu>PQ+qauGbE{^|2VSK!{uUjng#C}``x];Ja,6?wW(!.aEx]hI.9{z>$].^$UNWEU9<X`p7EM[mJ~6zv0`Rx./oO^e>|ip^JW._Nzhc1>$/bJ%Q~}aFfs)U\"!*bP,1N81)nqX[V;UEd>rC6QTye^hFB;`7NF^:q1xRPh&_}ALseumU[XHgxvK]eUASqnH@]KO:U/sFR1c{mu9t%Ud5b/Oo~tK{*gvC1?jn8I(xDQQUEM.9NU}IHK_Es8ctBmUU05PR;DItt5qn:6;COB&q7Y>z7EU9JSrErX7[VC6iVW#e5m!Jbl7n(2h%~I4t4J9(P1t9p5Fm:61)>l.$su?*nl1Z/<4)0S(LF}ei]S&[cCG<3ImYxWw<3%Gau;[g1Cl{p~Wy8Gzx^MLv^.VBOLmgDk=^/HYK.S1aT.iyRe<Y^Q1l|d!6UR|fntM+Vil??R%5~P^Q(xIHia0nqFy+?`Mc0(f^Tfh9N8?Tfzl:])unL7`>/UA)}n?uf#c?#RL@p#o%J,6Rx:sv/+$.vKsigcVgH9F8@OQJ&jP$)|kJ1}\"dUJo`l`}fN:jVV^j*F+J,Xez@II}jb.+jpa7x4jpY([%;[+>eAlGK[?`MS(;Y6t>O]x2wkk]Ow#?keCU;&op5wzkN3V9iGaR$3H&l_c<!f5!M^.w8Z:\"h:Omz]0qxLHu0a{^7US}7OOpbWS2*[+43_PrXl6+uiIgc+XP{KOa>dTQOxcGGwD6RgczXa*IHCYgcnt.OQcxVbme#%=9Z)=;PrJ%YKX/YKXP0@V>r)p6!tnz#:.nHx6mqNbL26i%Jek[#@l?irlG,&Y{:gSI1|a}p`:Cae:hOM}gexPIfd5n/,aEQ!P!,]M^0}P(Sq,3p#iuZgewi7ii^X7ql<<$4ukC+`mM:xdv8fx7V;h1glhF\":W[2@;(IM0pCCa?h!.z0hL.IKJlHy@@Qqum2>J/R^\"!Z!+3dxp#yU_CQ9JkS_SQO%JS/!{2Ek#;4tEKZNl<P#krX!HEiI.!koXmH:wkM2ER_jIM|99f>oh3&Qrf{4]axteb8PdNQfN2YM`jGZ@^y5XOw|Htfyizq%MjL^uvH(d;H=MSwR#rk73c^Ak;UFbfk9Ua;q9YCXk6UC;g7keJJlkCS_l(5%.AkB#L.(j%PdiY^~jaiRPJeux~jT2*kh#p>Cz63[kG@OZfKgpb;,eb)*/I+cKWp@_z?*kRrAvr;0#u6y5j/g{`D*8&j)PJ+)47].HNf7)\"IQyK:YeM!9pI|o+e3g,&eMh(]lfqXYxMR2uLSNRYxNi|D8!FBjeA9r#I2},Zp40&8%jg#0&oXw]CeS8w!*fY,tHh7Pd!ZPS^1r]>O5c`w!k?&BMUV4/l*^wFPS8iSnhBz33*kx?JYLGrYi!&ipYSw.H0PNfLzEMpYSwelUP+fK:!0Air,*fH:m0+wWMsamfc,Yen9|BefZ,Aed7Ie?Hsfu)=HM!dpwP,(1HC8oYx8Y!B*p;;!_uh8;g6*%8EegP:gnqw?w#cMAR`B5ey\"pI|t|Ow4XxMi\"C!fZ,1H&89jtI<!Ie%83jS5FwI:AeC8Geh8~(s0B8Ae<7tHjYw0d7qYwP:g$DN7kYAP2c}7>Op7KeieMfKhEDbYuHBe`dq*Swel61BMGwTMMCneaeuZviJYSw9cU|MA9J4&3R?=Z%K$87H_j&IY?,Q~t^@;zGL0k}wUAkL.oKPgCj*<ZdbW^y4(#!F@.@5=Prow+zSVnEXD@7A>$4f[:2z57.@l_fVklIkq%#x6wWX;.n|<kTc%V.N?Sq7xS\"*7a51bAfSqWw]CmdqM&28=r15b].9F~y$m6Oz#++23JAO)nYCoSSf]!Bpklv+zPV+3Fb<V.RK2xtwbR=TOARP]S*oka},fGbC4D]iDIv9ucO;0cmuVjI:8dqGQ3fBr`z/PdqhP_crE&c\":(+cN<l,H:j.O4<4_4cT#7rcule}.)u0J[.?/74j.;m8r\"Y4r;xJvO>G$[DDe;H5QHG>PV#^`9u*maHmTc%7GsQo,NV5G/PbqXt8pNVTY]Hu~P5R|lF4f`qSM3f.VuX^0jXT#<`aH]~7jQPCz:g1D5Uof5z@l]VGl]0?ddwqB5<]qXtcm]3V4%]?.ouZ6$P]3F4q,?.S_z]5<?qNrn[)?Zg`f/gWmDg_(zG?Yc*u8mV#U@_/PmVfU9{FLG:j#w^p_HC>q6lWmE=Y/aI<)MVUF:8lV\"T^0MV?E/PlV#ET[!Fj_OIy+;m2o4r*L{I3f)VqTP$$3z2<%>.S.abnkG[w;5<oRLI&{eo.bQPHE)L*3=0=8BkRrlbn<{<IK|H8e>.`,lKnkF)2Hnk|{$)3f&qeI4<%q~H`t*(2QP$!3O1#qZH&O^a!3[0|w7ed^?3z=nV[!Lm)l@Run1DE(0twz{$v+$4N|@qFd~@P!_SR70!}P?!!cKwkXC/MzTJ.Hwbd3eVGP^093h0SP=.J,30s=d*JUfe~>sXU#}>HWU#X`624<K\"|M(k/e,13fs_DLT#U`w03fr_;z[xd(Yh(Lo=/PbVb$f}X#|VQ[8VBT*(zd^`m:*lQPh!T#~utwYkOz#37]Xo?r5,<%qk<r>YcmaV}5#%Lf;Dr<i@TSTf+ht#&s9Hl*l^W55<E/1|_.:8<3G`3GU#cr:E3fq_UI]\"A?/.rkE56*xsWJmkV@~kZcK:|7\"r`U|<fD~ww<>ZxXk#2rRmZV$B/PZVSL^0{im;63l|K@i`T#E`l*:8e@T#>>w7=Tcm;3B<9&lk}?1s4fG;T#}_M*F{YE:R:I.9&R[7>I)DuS~7cdi8sa:7BY_p`^y^V#?VIJle538;.xlkZ6pkh{C{b;9&V#__XH&/3dv+=^6A)10uG%9L:tRx%W](q]_[sQ*j3zQ)~HJGHn~E,Ka4J2:^:2~RW!oHNB1\"<M^\"q_KvUY%!,k5]ay/)Sx+an!vK/!<Ti@aKh]h``J%Ke;$S8&pMM=K:NJtHknAqydqs_oFrKbvM@4}fjnK6?(AR]>[3PtFia{Qo39`qnraw3;1XxsI@0!@=_Us!eDqFmj9GUFw|;1NKv!9SwMbjTG}KR:IL=?4LQ8,!4+h$2R..7BpGF4tAi%fG^Y^:;0JV7A8p\"el_RB8M%~I=(PhzOfjq=Laa`)Q~Sa>jw+a3QP,_MfhqWAcm}9$_p5l79:QJcKiWlWo2V7ac!gDM(LAf]L/Y7W?}noA2@02|I;kk5S>f|`&cW{XGV&6LZyI@jO33%_NkBVxzQv%]Gqzj}\"SSR7Y]L!{u9,D=okH{bjB^geY#B4^a$cP(|OiBD@gZ{K=%`>>r;?#trs{!^x7[W59{#HM!&q\"#f(Q:Tc9DGfKa{P_;C}z3jmoj,r9Sr18==[oTsR?Jc%Qz*wQaUx!$(f2+=aWJQH38w|/|OSF8*Hpz#h&{s%%ln;B#nKz)UM*nA2}0R{lIJsRQ~BC}_zs)?gn>LnA{Be3TXR9}NH^x)M=96r1D\">4V/.pt\"`&L_;\"|Py|l8sq5i,X(7/Fe5hh)\"PQ(4u>D9hb)$/{M;9[`_`r)*HHd@DGfY(i_/K:Q$>9XVe8}{kTi@Dw7{u&55hQ|\"DlIs,dX~S8}NXVessl4>DX(a_0~:9,`~W/90}RspP|})&bM^|0kNNW/)7,E02c?oOWoxJkP.U%X;hl*dEAA9n?b5&`6b>r:N_VlLLrD|p;J5[g?r~{p])>|<$R+_U[6>|,=TS*.9&4hk[b>.7wDO>UtZ~e+1yO>MtYse+QxO>\"Xjh8q.Fx}t+yrO>EtYsX@hUI_n0&vQ>&XjhM`Kcx}q`LJF|]yJqQ>9O|.e&128hc1?Zf:dHnC5Bk#GtUEOGZL;v]Cqt&CPAJF`FM7a/]6{RGuh2!kohK8OJ/#|BZLb?#AUEU739($oB]4jV~n&v%C!(Z1*v]d#HA>Q/]d(7=pI<.4TVDoR\"5Fd~N/TKb?6tUE$?5wEVSKM6mXUZ65.uNc,sEskcXKIoSH]4uUJ@F7CHPVT|.4uU,?EO,XCpd*:J;J4\"(6(Exu^vbvgTJ*q]cA~g|XB*NGDrPLhD<VPvNR.2FXED:FlEP!$}Q~GD:F8vE*B\"GfRVyOX?v_n)*H4+7Mpi1Fup#yU_CQ9JkS_SQOrrEwm85}/}1\"|RFfOOJi[2=,DC>h&q7FlP:7S#|U4GuS4GN`B\"Z~*>^X5t^TthDbDK[[.I8\"%Kf,$F{UmnL)[4nU,)/2Y98\"aK#!GX`GZqBXFbpV>^=cCX2$6rt5!((vaL#vlOeW3{YDKigLUG9F@C!FM\")\"FcBYaCsuf~]uhFwcfA6zqCe)iH>*s&lMDD*1aXeZF?l=o4gL%B}(@O//nZ@ZO$9Ja?vP$XSdlpp.KM>eA</G]kQWLU|ZtVnG?>TDGCgeCa#N6ygL|T|+(u$_zDDd{M!l<uddew|/)wLfTC(4Y%{gGx9qvP,z9Y\"u^PMYl_ua5na=FgDBK&G!CA\"tx_NICuq\"wzai(gBweJ{QnRtzhgDi\"1YUt&NXXJbcgJ:zCmLX2#)U!jAQ&X,TG`AttC{t/800[Whg=iJ+DGB,}T@Y^Gw(0.vg=zfEC%7FvtXuWjHmJvXVt9A!9tb*fD{(M)`L^\"U(z*bOF5HG<Mo4XuU#}ex?%$:]fer,149M]I8[mB{>)X[tBej[<m1#(Rb/8(X5|/k)k7bbb0FB`r5*gz!J6Wuo>oSP*:Xe5[_C\"J[BG`w{vv2n{ZWYkyY/aGtCc[3xd*;Hm{uCbwXP?t~JHH#_zHlN)^+6UK9*%k;3Xuf){d0iE,*;7LIY~>)Y[Qb/nGs\"{E0nA,8u$EmM3(M)<IyV:O4(APX)6LNF&8_nIY<Ay{~5:^q@5(z^ZD@IvI7LR|g+<A:3fM),$Y7.|TqK&(WJN1%^.6fmJ;gS{Ry_%f}Yj@m@kejvpI$[r1\"E~T1FpnXQVF6cW)c|JX.I]v({Vu1adP*YrX0P64[?lhTb01>kmnxE)$=0}AM.LX&WRQSA/F3;TA]BFRm+&ID<Rb.Dw[$$j*Qcutm!?P\"EwuzWTDM@;$8g:E?mA6WxC^)Ui4\"CLvAhM3C?^93,&Ia|)A+XNp=v^.*HVv/L<C\"E=#vc11A@)e\"eXxhZ((8c{unzHhNB\"n%Shz#P_+NP.BuX)dzZI$tT8RyL]jrXsxzdpIw.*rMEv}`UiA$s}?WxFHddWcrC=%O3Nf`EeGRQeO,(__/L{)mgxGh=S6{7nt]t`(s_hZ)T`%>IYLya1g#T1DFz/}mGf)6;?Muje[)kd5YYoIuWeCV)ZU%H3Yp*1R\"QL7JS)N,(u9hBeG~%z_5Yv{\"tc)_H$?W0St$GdX.LeO[V6OGB_`BnS@_f[j.nj5O{vNjNa\",>`f?(PDE?+C1D:.vS%Iq.;]p=G:qgILJR\"QVO*xd2Q)~M]K_D=8(F8c4o{MqGex+^S6fl6u##qS1DfBd{)39W)bOBu)`,aBWR\"QE!2CL`5/*INJYzDNeZe5L?pty9gc>^|ByDFJZLqbPHWC}?|K/pVQPiob|XJ08,{W?4=v^>7Our7\"]&;bmHgO]SDY/O`pogyG3Q1vqy~*|(w<BG,BSh]SGTadtJxj.B<NtPYIJ3_U`I2K|lnt6xLVTAgiu{Y.I?/(RmBYQD8c#jZ[JU+Ch=naEK+u,(20]tKuRjRGkUsQ4in[fSPLPR(FK7c8dGAJchEMallZQL1D=,3W18/OHl*MHM+fzxeOdRJ?$M]G(bQ7`;/o|,@Q)y<+6ZOCc@7=F{OBNR/tPH0I.A2xz^WFCY$w4}d5dR\"Q]O{eRYl[14%FQ`0@};fONRBE/57VC|{AbX,L|_#YMveB*4i#\"+I?EOSjVxkF.B^@=$oCYIAV,<w@$EyBQH)gi#%kaqiPLFGSt8NX7IiZ|Q]i6IL?pfI))_.W;afOdR0RMU/*a99FvSWu|LqS(FSj^+T0ow:jIL{q9yPDf5~*jvo|@6D>oxkbZPj7ix!M=Cs$ML}>fdu0cRN7Qp1DqE![dZ/v>pQ5,T|`!M;i\">OR$tqZVx+fh*TP^,XE.BG[^X:FLwTQq^2B^L_q8+{WOl~LPz:BM[+YEaHDci8cOmki@$my.n+ZQ*Oxe!s8]t2o5ed\"Nv80`QjvS6/7f5`R.Ioi{eNpNOHiCzjj]9d5L?[BwgiKVo3$[/XUT,^1]t;(FRPL%/~=hZ>&>j&1}IB<H>!+:hLSS#=PO}%*)w]turzQ8uVJ80KBFFDzO/*Ys?lc.$%D\">hz<|(C9(M^PHuKsL(LDaV9yOvH747tl5O{GuZcngN@5z;M]yf7zirLE%Ri>2$$AC1IIun+OJ6[ubMo0gun>*$b~F2f|E1DP/(FKVI+]pf)*H?PvHK\"]tI09M)+2dsQw.,D`5+6VxcS*9>lfT?pL:_X;(zz7i~h;1DyE!ZD;ZFR)UmHv!j5Hb}w7A1%q%bI:F1EZZ3r8c*xs+\"w[j[^zB]\";47eQj~h##mJZW`=7aZOKt]k|O1D.uH)CII{rKB?nD?XJVIkrLp+.RbDGH4C?iII_d((n5LPT],yscYQ~W?PdLM0))LXSmZ0fsNowDl4Pi$3jizLjQ4X_n#tybx5xU>6^J|T~NKXAJvAT9uV@w_}uy9ID<fGtxp7Lo4D{A1QSa_dlMXJ\"7NC\"IF6+yucrGMO:iWAwD~Q]k!q~TjeX5$cY4Xe@)bLSO_T|hrfRHax{)HuhxkXOC4I`X7XfJ5\"6{E&7oc&e;,=!.]o@z\"0TMiVxnpGt!J#AlC{TBnRA5hTS~{O=(G4GXAC6D+`yekZ+||;LK/4^$@eM2v\"=i$GwIh%`o1?z~n}1y!qx)*a.xoS8Dj2q_oKO}VZFf)}&md3,KWn{Q`3(9&48>aKyMk$}hxTf#ILjYkw9f3IUm>+tH?{Fj<U/H8DH<OS{Ds%~QqoYCw?u$H8l}(O=pe+ZI[ZvMz}wYvE1D!h/0pg:HodU@lE2Y|_*/Z|^e@3TW5XB|4v|OgB~KjUQ?+I+pY5/D(kh5(QPap6V40i,{&2:L`6:Iqr[kxa>=7*H{3nlRgs;9)Ns|F3{oZyJZ2w`3c=e5{(.YKjcH7n^w&K?4KQsC~*ijBC0p_#v*BB<%8@[3TCmP`X3OU8oT`|^X:^H?S:&DkjY3DCtM`n`duSPp)kf%(DJtPDFCt<S5F.EE&+i#%5dw,CuCEL<_ffMXN((NmuBcUM_|CGy$)u,7#B(t/w8(4}PVLNME[;77X<Jj~Nd5[@q|4b}5)m|@nK&ED=%CuH&odmFiWDi_15(PL@M*uP|U;>JCs__8On5sB+Sm}oh,gMNWVT$N2FL/oGN/0Oo.O;N3hai+\"1+A7J&65W)v_?rca%IM]S.$o_h:[z#Nk~B9j4d)aq?=|jk^l&!OX7~V9G;CLfqz$s1u`YDwyLXc@EVF34~}HL%qN;/)m%7$CQv@cDYC?*dc[k29~([W1O*FF?mdOadg@1_2JybKToO%<JSnBH[5q4\"U.w@JPo3_ky4OM6?t$#o5\"/j;f98WK,h,&obIK|k<2KDDPmr(ZF]0cngbj4?zsL>hq4k_q$im>HATpz_Sq]eg|V21v(vHVOlQB9qNp}}^[m^Wvz01O3/|Atmp2`R<vo7&\"nvE77U{9_O^+*LBR0L}~/cFJ[|s4{//7<1tG}$^MEP[?o@GH@(PL3q[0XwZ@oX,^3b]sGUHWZb.$/).tnmS:rvT8b`JSLEnAT.]$v5CF~ITgB`?z/yQh:,>**z*4q~{IKh~7E%yfw06v+C[z+qt_sq&2|y_^Zt,?_=LzzQ`;=bQ/eQ&njN31^X*#Q_]coHh;AC^mZ$6)V9B0XRLL9.#fO`@uQFO~U66)Rqb[:W~>c9{Ag6hzrW*B:c{tMVBx><,#9k163+eT^o9)u!m:Y6CoSlrD9)%Hu)(RE>wYRf7.1Oax{7dL<44.]xqj0e)G`Z>.U8LeWb2&N./N:ilUX2tU`o~a@`Th7^6i9.Uf8KzqzF6.,hX*AQ;G7msUPAvKh>6$@$7l4Rk_3DPcMBoi~+Z:cs6eEEz/&xa;H>J]>AhlgZB`D$V(bivRECy1s9)45k39@FK}A/da=|]r{L?.1#1a^>[W~(CZ8*+YK~8c?\"Vx3f,D74{E6fg,i)m`%TVbm%`VTXstT{E+}B1z<A+Cq%CWaH.)5R&Li;>W^:~Yj3srGnygbPD<`?c;*ykfU|N1ssu/pQn=tQF`.zFy,{8iVDx=[xsOU|q}(b)aly6oe$`lMdq\"Ly;0yGR.n9T3?RrbmdR}R\"Qg.|LdIKtR~r89}QD$U>DRnRV(z?mmM61)x=)DJA7w7z~IB#Lm!L~89#LMKKJ(3EI<$(p,1qRDIlnbHdi$OtcZD/5Nm3hNxGT[#V\"do>Im_t{{MaB}tdmyZv48of@qYNK~YDN$Rn6+,ESS)}4X;oWvn`i#=sMM9dFC(@i/ppI:&eK@r6r}5*L\"QA@$?z&lK^LYbMuU~\"`eL[|7Pap%;1lxr~m[55b_Q*<H5Jcg^aw|Ge)JKG]O3/=O?@zP*tTi6xX?|cgs,DonDdAH*XB1h>z7z\"x6us9rq+}gwV8U|aKgTsQAcQWhiQ*@VT{,*uxT^,$}sTzi6e(no5Nk2%(\"~N>ZgNW(o.bG:gF^LQPcynF#>QOf{}cG}ZH1!Ue?]L#4\"+M+$!aD?1es{*z>rMg8Cc}.Dkt[;.n?<uTrN/[HtS1fT2:Da,Kq9$g7<55}ubXsOgC|Bogq|99)V%=9@X;yp(w3$p+\"ByM+8bU5d[E:1fLYQYMPwK|hq41o/8:kgKGI>BUgy;!G+@YB`.:CohwC+FJlm*VSN*j_%Z!rf3PJ{)+oyWaR2r`c(^/m||.wiE_)ER^e:asPlB`D@N,.ukJ\"6TE&Kyq6|j:PxP8QQ)O=|hR4LmXu*c6(5L_!WXJsxLKzkc`/su85RlBv1&Ml,e\"vFgkV8+x45j$Bt7!231yCqi$(0&~Rs`o<FW2]:\"B_E2)CU.GS*5#gWRuBy9G3@$dmg`e}XE4#%1Y6||ou}|~L[_c<:QDpH))fc}9X/_4inKdh@16xQF][vM(,{*SN[qX1sKCj7QT2(ATok#ZfziCzM*8n1lwKk>Cf,)kNc<SfQIjHmzheuT_Dqz2C_Hk=&C\"!NdS=5hWQm(kW`$.(,M3n^|4yJrAaf\"amjc1Ll44eKesaZ7=mZ2;.uXd!BG{5EwCCD/ut~VRs.i2JJ).H.`Lz6GYF?wHM>bgHUL(XWjq8W6K/09vJ%qdy%JixCPTEC/R:nGYFFwg&AOtz!}6{yq(h@W1ggn>peB_YMPI^5Y4tCvfwrbU5NC$p34TlkrqDq9jnq4K/p|,fcF`)GsIb({Hby`BX?@6CUw]#@x1_|<BNFCK1r0Y_b9(^?ow9?1Pc^S;FRZWTE23\"s)K&EB)vWp9P%Hu(Mhf;mp:\"#=x.0c09{E04rS$IhNabqSPv)jKH(?7Ak:+iu{cFa/np#[BrMAoLcmrq1;2Bq9!rcF]Tnd?f5;]xfS!@&Mndv;,.XB<NJ$1|MU9rPS=%LMUhfdmm0FStn\"<|KrqcVXyY$:#%8x!dTO@(Z\"=wVc`@i.!FmpRPZle}Ffwm,*F_q82!D#gx+FS7X{A]R6`(H!GG+lV2N}kT);.OBl?1CMq4ct#A9igtph5U0bo^yvV6_Wd+TT@YVJ|^K(AmR.*z7xP,8};b{*_`\"+/kjhIKqRQFD74/wgV&`!BWmjzXP0T9(oAs|/t~D/>YrdMEX1KivENCThH.$@wNj0ke7pJ9t%8Scox8@0w$b3M;t[wbDxWZyt\"q1zuEQPviLoB],CQ~tKN71VQq\"Urs6)@/hwx^i\"e?G((by@thzlXSgx}kyaT=J,4634c%.L^\"L+eWkORX*ir]>+[X#f!PAlw\"MoU_a)2i#&9N{DQ7.6]]#*zdVH>Qc$}HP7AQeDnd?d&7JtrkIo*4sF!bYiA2j]/T.t.;~s@Kw(iXP28J7<{o#[KU<2$dDZ%U]`?PasqsuoL:ZGas+N6+q>;0I:2z_nT++7<tuC0?&~``ce=LGx^}`9R09yUP#>eHqR){LIc@HxPb{l[$3aX;\"2v4Ec=l6oy>(!,wkn(@iu?%0T9/<\"$GVA41]W]Z9cPnqc24uM3:n7d&B9YeL)U_EFFk4#7qn=K}s;UL.F])5_o5>OrPrGoDDka~*rh;C~bRXJ?w6LD.G\"rr[kbBe~WUfuIZtCCZutxywT}fmHoNWK`*4[4WVuu!=c|*h*+ChtHizhTWLL8Y0TSjKFz6`GS_Oi+H<Q@bctA*zC4I*tkfQ$[^.2s7`\"fqK{#Sb0uf+L`U%R>B=<K1}S!8@B[l9;ff~$DLSyHjx88dBesMGQCN<abP,zj;p(F!f(<q`um:\"JfKpoqr)TH,}U@yRI}U(mS%#6.Z<2G(eY[_]o!lfaF?}0b&T:uzfHNUN/y1Pq`)qEviK=h7Ks_qo8,<(ARu6S5MDVSf%$`)BON4l/Y<(5Ux_5,Zl$:`;Qb4ux)w0Yr<a$|r@Z$~Ws5*?Zsq<Op{9UX&47N/0lR8U?9:&z{|:W.R;*dzUa+kLBn&^$HtRT)nDH&?S|!2>i_>.MRT_{Pk{CB\"&S?KX9goBzkEM:4($>97*uL%3o^@dO^7rNbLxQ^7eSPs/+1(u]pKuR#5=`v(ei}Um+Glvl#oSrMN8gxG{tOed#5N}V?b<e!)u;L_CWVux]|X7VDSP{J0#Je6?kL}{U<;Y&i*PeU=z%XiRFm[xaHE>%)M1\"1lppkgZc2,?F+Zd8M*4p~X>vkvh#/#S\":VXBPzfSuQ3S??y(Qs6D//SDy%:K(ls@sNWT1uJ{xExPG=>,8\"R1tJ*,!fRlSI1\"=h{s@VJoED~Si>pR;_;i_cMeZh~wS6Q(bOBP$q?Ols>6X`NY)HA?]#CQgy1hP?o$Yl/mhSy,6<b$o$(S4YR;FxT`z.G4CP*jXsthN{{&qHza|{D:Fh`Rv#Ies^h{+qx*%s1lzp/#)?N5sAj7%%en.yf2_tYfs.k!f.UB>$fSB}xm!RG\"L1JGWeMg^.m|^uHb}52sm}r@x/*zFx>HYwvQi*=9Tn(a*HI4(FD8@%WKU#aZ2k;CzXuOOHn{6S|]q$/hw=LQ8>{EY6(gL5e:SYW9{<^zB|xwIt5@=jOR6Z(8hOFpuJlmt9toY)L)jwxXHF{p;8^Fq!`VMWWITrvB1vM)QAWP9$4,|,V=[B*_}NXuzcW=(;ojl,Z)RTf*LoU2|7+>vpD:Y~Qf{aMz)]^Ff}j3kb6GMo@AG*D$zW{&NlUDwyq~?m[I@kIVTZpvD)7~!&Kjn\"Ng5XLS(qw/M#hnN+4*r7YS)UFdP4q^l<iu[kJQ;Y1&_U)y:Y~|Bq0,<lK?2niW9fx{=iV,bXSM&Ka>k(%n+f=y0V:8F^>zn^&+`^!E@|NQrB@|xX*Td/oCq%Fbm3(!U?94G/%2}:h:~7aF}Xse+&HoGYrt}YD@06nYnU,_HQ+q{JRlz4{qVvBmfaW?{3ZC5P<S6?/by|IR1Up#to3?&ZGJ?WEiW(;OtE9N%/Wb;Nc*+29DXug@?q&qLrsrn(ubbhL($urKb]Wg=3|fP4;/K/3|]^;E{|jB#Qln(}~.q20as9g`]&mp^#Yz*E5Hd77:#PlTOR@[*~?RB<4fmgLds]nV%wfO)Y=/l4>bfl{X[UFqz,tfz<):q@]K}@)QY2#vMIcwsKcL_^Z.R{qoB4m+dl6nR!<P5@QrZdQn:#VtUIo1TYq+2Qno_P=p@y#)dxZ{C_F^8{nZ5Ro>wMI}&_D[?7?=r!*8iabwphn6KBvP,%B,(+EM||`i?x8qB6}q?J6+i@<93f~m:FcU&KJsQ)v&Z`!.+a#|&p5TFh|KvkR6Hft[\"Z:RY*qb,I9=0<u_9wiQwHAq=t{$OsKbB{#fS1fK(mgX8/xP2&$>{h({G;=.dYcqoE&e8U|u8Stc?>[s5z?&4<#Igs_7o%ImfYGwE;e(hKY46Up<;~CbWs;DrK.l;sW(KTaA#5Qhd*t@=Ms+5()/_Oa5/env)%5bSGv@\"~e:wo,kC6kP3&8JC}UL?Q#,R>h.}p~o*qYNe!tQ_Yr!6![8Di:UW4Qan5xs>;/Sc#(q.c.M(7D&u>GjCD~EJS/l0^kdd),z&tERG[<eV3XR8[,(Pj)81@KeR}yri\"DA\"F[HZbH^qUdW2il1uVtR?:&:!^kD/cGPe*~4TW#t{GC=x$h^2I(j.tMd+[4L::<VO6z[3P/y1$p!9Rfdv)?`o,EYT/ZP08U*b`1XBKDrWu}8V|WCr<V{>~6p~$u0]z};R|H3.QBxF*Zi{R]/!LJi}x33V,g0Cl#Cde*S0T5N:PEM+eLZg+$A*am5^/q7v6j~XT8BFXkIqccYNuxk]#8`h(#BneLY?|e3]EA&ja@o3(oK/R(CU<HTelO!NR?(6QV.L+H!ihyoqR#9SjJ^zGpX?!~O2tRk<_+T*Ro\"uExC%@|DH_5.`2.^Jf=Z$f)K4@U@Z;)3$el06Ov(QSqgr(bo\"rDGtDfsWhaRba_[Kl{_#iI;5{U8Bg|$!{5jB=xn4;X!t4eh:{mD}nD1Ho3[IU&V6k_\")tRL/cZ_F:xiZ)?cO&[)c(s7|[&&V!C23exA;4F=xO{(*D.&k4vjPR!jSVmSE?LCbBY$Bo4E[dDi<J)5wH4#Fp;mOI3HjE=>CRq?ob\"mgUsdhx%N6{5e%O`M6{?7*bT04K0JaZ$.Q~%9B.7sOu(N^#2<YJ*S_<WC&7>~ha>J`@n&rYT<xRzF<tIT4{p?KNWo2VM72nz/y@t&Tt~Z%dv7_fKzv5F,o,(Al8F!vKu>bkC8B,3J%_It^5m3/qJ+zhZ/Ow=L8T\"w{P%LtLsX+sN/6CW:]Jq.p$T\"S:]3C$4s[%;&XHs1CCvD|a1av^MJEGTGSrR4QBVwMu!Iov.aj]]Br^hOk9hjPtp5|tCex@^s3m[O6T#n=l=weQ#eG?;aBTNuw}6!n<7$l8lG,ez_FkOWY8b\"MFXnho/VC:KIf21j)C?IL.>Tb;XGIRKBjBcn%U8RK;^]!AmcIPGx!>xf<p)J0;L;|o9DfNTDSqnY!nqoyASacQZPjo{7:^+D3~E[~kxwDB~a`f*VnbE5/@(:lEs3PY9nYhc_[w=]Vt|osx~AsvBqZx~OcI`$Fs(B*@@gH0F3!@kl(6KJ^J%w3+.;,Ed|#./Ib$>eiEG(AIfch%sWe@{d|7%d(=K39f+v(+&`LVP;&/mN1(Q|Ccx[eD8\"Q*f2u5dw<}{wwMQ{|q~]{=|garX+vKKwy7n#hOTdfTxR544_QG]sA(9L`MW)7%t.<EiL{%+uK.v];H{.#,y\"uBD>\"DxPcM&_%JYN,OIJ79es#vNtoi@s2t58\"8(sDe7tgjx_=qMTf5h{n~UE;h3fa=fYuxR5%N6}%n`DeJa{0EVOmC);x^(C]AuxM*d=.U8A:$9%7&sF@a=#={uD9K5/^)}&5HP\"z>=%_J%r7W0N>KdLR~uEgggu_)OgN/4{O4n?r^#fD(]vp[FE=tR;Ow,!tdR5fw9o6jQZR5g,SJZTVY&S^(x!z^>uFq,t8nO4FV;XPR6M1}+Q|m>L7|8i6p$\"9/v5#8^_j.>,<W?YgaE{G<TNjzjpko1SL<}[>/KzG`t?L@?{NeBEQ{},jIY\",cb:.qF:6]R2r=^]sL!9BluUc|V84vY;M}y&~=Q[G~}UpWr4tA`^&qXGLYQ0|P^V~AvzuSz0\"+x2)W7JnDHCa)[=r)p)0}b&TYKq!9=4FP7#}%,nYIDe*,t:d<{k$~ve*{WK];JHt,7^DPoW*fcB.?OlJsM<G!n9V3)p3hCmCv}RFl7{}&/fRkvW0812JT)7C^vBCKiTv9Y]J:71^Smd}|H<BXauS_KWHh@n3i(S]KzQbP4k}:).:#<.sQMFX/#Rbxf+H2uC5wn.vd#llX`48SGw*:R%TU}?FHZ|f^^Tb:i<+0y)0%#v@I0T#2snj*?M?sG<N?m^6)@wDz|>G^r*Xulw+IFkd+woN`NDKw*IgQn[1|Kf%Jv#fP@BmTDsZlj<KH2!7Xl>!bPRdCqR;2B$spQ1n?s6\":%~>UE+6OO&ij8GW9oGH5m&3$;U%opfc,XS#s,FhVIK{6{e^!&c7TWX~n@ZH*q\"QSGTrN!qRH&NhNrn&La_@M0nlXm{pkD&>*dt_ANkr$Xv?LP<P4YIvFOOtRut=sX9<q3I$KrFu:{[ZF)7NgNrt,zHgxiZnk<Zg[@Y3:%L+Rik9g.S^wo?c~3Lh;f1~vBU.dE|e!as}?W^JrV.E0;@cBG3D&X,rnB/mvzG46Edilz=1F03N<F=|FUyP<f4[Pw[f.GGheJVzqJ0@9<kCfZz#b^4k2D\"4_1G,};b3alzz~CB{uh`n1_TJH3;H)n_U3Y{t\"+69EG<0Rh:<xIEyl1ts$R*NF9\")j}+5~F~.oS(J\"c;_HemBg3126bUeuBv#Tu|7Em~H%M@U;&91`4ZaN6X;.QzHbB@xFSgscj\"`CL1|PnHQML7Knk~Th.@C4b8`JU!|1GI6aEj|d/7u;R?fzQAMGWzF?qxC9mImyFMvlYZwnK{A(&Za=#?4sXsduSa/@?;8QE2![5g#$x{_xthIaY%E.9|XQMRl:ZRy,/kXU6w6]+jLRxhmDD=Ww)HU[DSGI}kdY|%L/iDT\"*ou*=kJ0/PF#ov8vZeTS{e!UT&aJk)=v#sY&ORaI](`x/QXXeiQ/n)c|%1(*h5.r=wCBld!hk=6ZnX_cgLS&B8nT*:jrQHDpCUif/rQgQT3UU+u(]vnr}<pUb}?qk^C{>;;lU9CKzl/|1my|q!FM%C{kJoJo.wJ3ZYv$khp_hz[FP=qGi8%N>vKAx9O?uKvnm5\"JDke$P{M1UWRda2BOe0st~=X=b18$knLnL|ZajHPHUMXnNz7qi%ZGq)t%a4D/TK9}xCM&5BxRA.+G(5i[]\"dLE|K!!]7|n|*hR`g~[lxx/%zz4RAs@l~jLwOdE#n%UGx){_[8I1V7iL\"J@n<SbxE,/[3uuGm$4EKMR<UYw_`{aaFKIQWwhO}9:/ePhK<W/zD4|N.7P]g5=D4bLO0bQBI,#RwC@.*IaqY4kJK[5keu;%/VX?J.f=H!E\".KhDXR3EoAw#f6,x}A;pM@EX?)E=H&^,@F.<m2m0|Y`mw[p\"/NEdWHam`0,wMhp*5%%w4#uxm&%|jBXL7.Q7c_bKDCvfF}&x`y}uQK[@FnRI=n{3q&k37Wh[5St8|#a!>8abbI<TwkV+SM!P!CMVm(d:7/15:foeEeZ,[vdh@LbtqNI:(vRdY3Jp#87K_|2BbO8Adt1hdM4J>(qJo9i)f9@#bKV#g1mQJ<:p$FXDL7fx@u2u^=F`Qi|ltT@\"JID<[=g)w=.>wrrMD;5LYxtB@toKVv*)|]i>CJe\"z&CL4jmCh$x9rO{h)L=S+eS;|:\"uY+YCioT5T6EVt8!]7(0UciVkM%(f@xzofkPfw.%_w(fy>jW>I/1Wc_Kmu7k59PGDE(IC&vP!\"0JDv)EPDuo$k}#$gh.)9dQJ]>.zlcu5Ic~)<%jTX6bqE|d,WPs,D6;B@_2<>&h5qE/$F/Y0;WDCI]\"eOC=hEN/5LdUYD[}3VfLqyWDme)+r5~,gjS4e_MPyRh{,viesr5tO:3lVW.%J1{IBH4m}(#Z~d~\"5!\"&>0euFCkOlm_Ll@e7<^_;D?+VxO(E;FA#YWEue+LI^$*n108`h>+Id#&Yo5Fg:AN{L}r<yHBE|mE[40`0@VGk!yTqjjTd6mbK#I0F36>Ux$bRM1FZM)9^JDZx3c!O]3<oAm/B2zeN&#)JykFbzEBfSF{/Kd)O(*9YUR^mlS(/JBy)Ii6Em6UGzcmn;t<,ON~rT:?_$^<B`\"yM;KMSd1U<B?+P~mz1OU*B,eV~m5K6P6~C`{q!6Frc()$zFMX0#!b1Ja\"5HQ<h=EJCK0TG=_G1qZU,kTB{%etPJA<P,s1wUCQ!)TbGpH8ib}w8jS!e79$w5d<QTs@O^6()}|z5]|h)qNKf*;haepJV@8OjE+hqeb*26/m8ceu`?N<gt2C*v{u<MIa[C9N`%qrVLs*si4mX*~RVW#*];dQNM1+^vl,]f3ZIxn|gj!LKg_@i@AH~&%[h$pJ[>vFO_waxj6Pm26f/T)lfmI042gvU&>|oDx=8wqn+!?]d.(GFy52o8]>$(5_&*/6:CW*rC5UV?~;]:Dtp8Z_wf#}F7+LzC*`N@y<16VmW0*@9fk#Gjc@J?[)Ubmww4O`>f$#&!7yq*_^{(n>$gaBNv*mhDv)5_5K#<a_$jr1^4|dFNTR!PuDEUO;g){w^q);/iJ)?z4Hz9XU=jog(9cVPexQ.x#7j>>}}FBr|bOW._GocCYWTG0|8U!Go(8.M.</;C+3F`nhIoccu5Ii[8opF.tjK$jz,reS@(bLIyW|]]Dal?n1{DstLq<*W7y`FR=@c84i:WB.nAs`l@jVik8y)7V?JSV%ZhpbLYY(BgEuBLlpZ^Ls&QQSr7?7f[Ons$J85|xt8!%LPU?VMQ)zRy^ICp/TAKf$nqe/1dNjJVriK674BG0ktBbrkwGz3L^x+VJ!C!p]JFudtO,,UjL]v4zU/:acYpb!+]<[m$x@{N0{h+BSPaRJ[@}N#JujrJc7CJ/=*KKIDagYe<T.T*h?CUwJ8H7RBDfJ!K\"x4[joIzdQp+Oj,iM&^0>$ssBxa\"ZSvh0pEAJpglyOvTY/huV0uFCn!cgP=Cjk@mB8U|RbqCVn^34OB%d/lr0607hkx=^.CUgh9#\"g|i2u7?:s.kkA,wy3,bx>q^f}Z01~A+!khKNAAW}LH3phKF>8[<h|2nxV{qJn~Hq5#J\"6paj)Vw78U+m){q|e?5o?pcD`jhlDFQfXFut[eCo36(Qfxw(&E@.evNU}RN*{_BRdNAY399(LHhCxVra9dsidz|UeUDMMz0>J/E{H1H;+>K00B8%}`[BKc6Y`ZB{/+oxVXREht5=e}%VW.P5fXudn7INRpbLq)q=0HO#V3i?lm+HixNa.67c6vhQ`NP6^tlR1Z.=qq3`<A.1/t@ynU;Br>0?qcO+Yb]BdEP<e[LGC[FV9q3LgS|R;oel}%F>947&lo)F26+q.?FrT{k+4PmiO1j%.5(o+XB_lCv2MlAG$q0&jwXnB|6.TP^HXuyJk&&Lr}Xwu9rM^yHR?YO<BzhI{5GC\");dZ3VPu>sL$Q.`eVk7ddU<f6t{(J.(ZEMUK2o%>`fG/I&5)vR,A3xviXgSx4>nQ%0$^B#KM!Z=04lkSak<Y5dU]O!(Dbn}p(aO20gBbXdB+7S~.>F5_zY`hwQVf{,_eY7o>CTk<KH?]r~aamWWar`oUCx#LQl^556uz%]=#.r+vhUrn($];lW^Luy*|yNyldt$E0u6d{1On00L_.Mf\"bWno(bqL%P&c;7b02,z)(l#\"&05xyVX|^I.PKm;:EyUZ29Mu\"Z|LQG![qxL4=Si3DYI:?h4H$bV!x_.?zqY!K_~MZGNqGhr|MTPJQp/!=V}`ne8|gkwq}MYGVDaEhXc6`2|9BpYX!7p^z,I<e{F^CPSy329r5VqLIn583%015i<`uSxhL!nBVI=}Uddf3*2w}p}gZz2}Y}M!T,@6ud$8W0OFTh`r~$`W*%Q30Lbi_)6jDG+<##n]?yTo(RkV=[i+@[X3SR]zy\"4EwFw%~W}?MRm=kp9\"YO6EV#v4@kS&Wh}s,0[^S_f79~/VJ|gTdfv*g8Wo>uRO$V=Ewv/a%pk8Lp&vvF{20hrqKH/!UCO)Ym5$QPDq5BQE<=D?]osePTu^|,>p4iVQcht%yYIT3v:C&eOj,X7|eSm/BeWOZ8{?6.aK<#MYg$uIX_g]=J!kdgxS&JJ=zeuJrH8}};wI=VI?[`9irAGg@vWN}t^Q.]UDV8;lZe;HQ0DR{t*$Ozh:Dg1%|}S`YxakQKuBVP2pF:9.%:Pq`%R*/|&K`3y!9P<&/JS}#~>b\"j%.L&P^m,<PrDZ,$Ai9{BDOtGoS=0e,;$[Lw4Ve^{a1nE9zr(f9VYrpS;*_BvDwnGg!i$sY%1s`yqnr~r{g<Y,=lL~Ow},})y*ejN;BEF<F1a+cBqk062#ui>>[BXg`NavIkUck\">`}_F)WKmoYee#6*pNw%g*}z:,,(&+^Lb|My$Ta&=GG93{serzuEpDpPT_f`ClbWR16qpL##ENkfM:X{at2k?KnFu2+0L9`kXiNPW=[TyOx$hI`.fFK^wFxGqq!J{y$4j8m7~s_)LF5k]D{:t^c^B.J6BoemN3k7tJqJ9pjfIs%x>f07h;lqkXpl7~/T{j=W9Tc5[5[,F4o?MhZ6g:9)/fEU%UBQvmqK$,&K{s|B%sZE;`q84>@BnHmYh:mXx2#ccZ}h)aE!rp>GIQ|`?>Rg<NGYG_[znB#ll8,C_3;CkZ.tV.DNr1*wG@RBU1OJF0FWY=B1gI,>4QOC(XHEJX8`q\"1oqYo/tj%fU0<3,h{w?%ZN&N6gsa;islnQu*7l!G3=x2=y#hxC_E\"UQ0FR*w_W(7#EA0l1|O21mW%4Bpgs1P=#SKqbG4El/%q2z_ZHiKxu&Z^G(eZB]}%Jf6:;GDvWp^G>c7w#{v!<>x+g;/m;uMnBPAM/m`\"t>SRh2.+_Pag0CNo08zD0+R5N+z%m{_n[EkF{(O!9{zHt8OU=j%Z,t?WbHhG]1t1eWiEWVfe#zo+yYVMo_ZYLxM0cVLFTx#$xC]0r2jQ|(j5>X)0]OV8?pk0m}=b3(tZ)lPpQ&ko`HRD:Lq,,?sBz\"E\"EljjZN#5pp,oGSG2ERV%.Xg6Osj_BZ.JhlnzSGW6MqH1y>xSm[N!,)5^0D9[fD`y2Ts4jZk#*+1Q55vnu=2A5uC,b1T&aj6Zof/BC;w|NUFlofV\"b1&o5J(__<V\"#XU|^2Mo>dTF5NKZu$1.m]F_p#b&E@06NVD<N;Gx^{+@f64v\"JpFCf;x|(J9+xrT!H_8Z+o#!K<ImG0<g;bCG#8v6uUH{sz#P@%]~p.D.j|h`g,G0xP_*gOOe)jISeKX%KTbWa1f6958)8F&jIPdiF2tu8P&\"J!AWSvps?PYiGpoNqje$~LX0]>y4)I[=!.!&F.<V;/8SKu.>_yo2)GOvO7N20E[Zm7]|T&^]_1~`)#rA]47)+jlB%>WbM!9Z:Bwo(c,1**gs@(Dz9,|+4E!BGw?iZ^a].GkVQ_;fFwk26:j>Tzzo;${h8z|{1bqu\"yDv9UuiNMWM?kG<9.3fY*]9yxfsU9R|qo%awZaKVmYqZ/|`8GM,<X+:XCQXlOF:H`<^RX2hPcAb8~CppCEGYYid{=WN6b(J&i1(pvQc$35.MH2#|<{XLu7na<7v^5`DXF.u|;B^NqBKr]<];hx9TTe|h^C>rhgp&S*|ZC[Ja6Fw%8Sr/@(6n9Q1c6~QFtSH%cSB!!jphOAk|\"[65Fe+Qi?;_9c/#M5XMaA6dlI]t{<L{D9=+MNij&wMEHtIZVXvo}<MB5yb]MRj7B2]5R?MQks_*B,#76$Q=v@9F[/#IStu,.(pBrs%a)S%fE,/^ooLVEi}z$[vrf@XZ!,y2Pn51iU4@lu]k9%B&/_{78DGe3#=xjI!yCowpW1zc,C4;QB`.)pZKbPYo[d[*??71+s5+Me]Erx=l/fgg`qZyC8f_y@:a:l;.3}r9CCRP2p&}J!w$f+ET!3nMmo$[qQ]j<4b&dz6gpidi{Ta@0+0EFkZ!:n\"$F==(b>,qnsSW)jC|W.5=tX5@PON@Qw1SqsR54)C!=(|:nlB{ppC.lqFp`mwhQU<),%:(q!G5CL89;7=g*/JKnqBXvO0RTa6d1]X6VX]Q5d]liC41>ub!xmM9M??C:|gis[N.RszM(L*4B1RQiIS_&$/x7_4i/~GVSNMl)Yyr2t|AB~r`8Fy[:C)vL4X$X/Lv~LW\"b7a_=;72@iyuPr/mXK]948DM<{la~dMZtuB#+p2PT@rXxwdocqP[oH{iqX*&@XG$@ts.d=4MjaABs}BWT>Os\"T*b_~#ll0j|a+jD].TB`oCjK$3r5Alx/rqZlM=mO,;G>5.^(O,.93{H0vymokj&9Rx!qoWOpz40f5<GI7gIE/Qs\"|L{%+{.t])P;WY/o$xxd2Ovn#sgl]@eP;dlydaOzK(^e8$9h}!KhETFDHf|HNOdQ;G<XcbA`b<yz77oe,;frUl.Ou<4?SGI3vs:R_GGNQ9&/NS*!~*?<jpCRw)^ze4#458D>.i/0`q;Te@LO,g!2i4PM<n|UEh2%hS;qPhng7YBcFGfPl&Kb,)sl8[EJk7l.a~Y3~]xA*&)7`=nO6k]*F7f`H`0}=}kpsNXiD\"l/}JV`D!ckWRdE=jVB<|,.4w<%Su1/6307;OzMLGTD/7Rq~_DU+`0%aRuxl#X)`&nhZ(TA';\n\nlet g_module;\nlet g_wasmBinary;\nexport function loadWasm() {\n if (!g_wasmBinary) {\n g_wasmBinary = extract(blobStr);\n }\n if (!g_module) {\n g_module = wrapper({\n wasmBinary: g_wasmBinary,\n });\n }\n return g_module;\n}\n\nexport function unloadWasm() {\n if (g_module) {\n g_module = undefined;\n }\n}\n","// @ts-ignore\nimport { loadWasm, unloadWasm } from './libdggrid.wasm.js';\nimport { Feature, FeatureCollection, GeoJSON, GeoJsonProperties, Polygon, Position } from 'geojson';\n\n/**\n * The shape of each cell in the Discrete Global Grid System.\n *\n * DGGRID supports four cell topologies. The most common choice for geospatial\n * analysis is `HEXAGON` because hexagonal cells have equal adjacency (every\n * neighbour shares an edge), uniform area, and minimal boundary-to-area ratio.\n *\n * @export\n * @enum {string}\n *\n * @example\n * ```ts\n * import { Topology } from 'webdggrid';\n *\n * dggs.setDggs({ topology: Topology.HEXAGON, ... }, 4);\n * ```\n */\nexport enum Topology {\n /** Six-sided cells — the default and most widely used topology. */\n 'HEXAGON' = 'HEXAGON',\n /** Three-sided cells. */\n 'TRIANGLE' = 'TRIANGLE',\n /** Four-sided diamond cells (squares rotated 45°). */\n 'DIAMOND' = 'DIAMOND',\n}\n\n/**\n * The map projection used to place the polyhedron faces onto the sphere.\n *\n * - **ISEA** (Icosahedral Snyder Equal Area) — preserves cell area at the cost\n * of shape distortion. Recommended for most analytical use-cases.\n * - **FULLER** (Fuller/Dymaxion) — minimises shape distortion but does not\n * preserve equal area.\n *\n * @export\n * @enum {string}\n *\n * @example\n * ```ts\n * import { Projection } from 'webdggrid';\n *\n * dggs.setDggs({ projection: Projection.ISEA, ... }, 4);\n * ```\n */\nexport enum Projection {\n /** Icosahedral Snyder Equal Area projection — equal-area cells. */\n 'ISEA' = 'ISEA',\n /** Fuller/Dymaxion projection — shape-preserving cells. */\n 'FULLER' = 'FULLER',\n}\n\n/**\n * A simple geographic coordinate expressed as latitude and longitude in\n * decimal degrees (WGS-84).\n *\n * @example\n * ```ts\n * const coord: Coordinate = { lat: 51.5, lng: -0.1 };\n * ```\n */\nexport interface Coordinate {\n /** Latitude in decimal degrees. Range: −90 to 90. */\n lat: number;\n /** Longitude in decimal degrees. Range: −180 to 180. */\n lng: number;\n}\n\n/**\n * VERTEX2DD coordinate representation.\n * \n * Represents a position relative to the icosahedron vertices and triangular\n * faces in DGGRID's coordinate system.\n */\nexport interface Vertex2DDCoordinate {\n /** Whether to keep this vertex. */\n keep: boolean;\n /** Vertex number (0-11 for icosahedron). */\n vertNum: number;\n /** Triangle number on the icosahedron. */\n triNum: number;\n /** X coordinate within the triangle. */\n x: number;\n /** Y coordinate within the triangle. */\n y: number;\n}\n\n/**\n * GeoJSON `properties` object attached to every cell feature returned by\n * {@link Webdggrid.sequenceNumToGridFeatureCollection}.\n *\n * All numeric identifiers are `BigInt` because DGGRID cell sequence numbers\n * can exceed the safe integer range of IEEE-754 doubles at high resolutions.\n *\n * > **Note for MapLibre / Mapbox users:** structured-clone (used internally\n * > by these libraries' Web Workers) cannot serialise `BigInt`. Convert `id`\n * > to a string before calling `source.setData()`.\n */\nexport type DGGSGeoJsonProperty = GeoJsonProperties & {\n /**\n * The DGGS sequence number (cell ID) of this feature.\n * Unique within a given DGGS configuration and resolution.\n */\n id?: BigInt;\n /** Column index in an (i, j) address scheme, if available. */\n i?: BigInt;\n /** Row index in an (i, j) address scheme, if available. */\n j?: BigInt;\n}\n\n/**\n * Full configuration of a Discrete Global Grid System.\n *\n * A DGGS is fully defined by its polyhedron orientation (`poleCoordinates`,\n * `azimuth`), the subdivision scheme (`aperture`), the cell shape\n * (`topology`), and the map projection (`projection`).\n *\n * Pass this object to {@link Webdggrid.setDggs} to switch between grid\n * configurations at runtime.\n *\n * @example\n * ```ts\n * const myDggs: IDGGSProps = {\n * poleCoordinates: { lat: 58.28, lng: 11.25 }, // Snyder orientation\n * azimuth: 0,\n * aperture: 4,\n * topology: Topology.HEXAGON,\n * projection: Projection.ISEA,\n * };\n * dggs.setDggs(myDggs, 5);\n * ```\n */\nexport interface IDGGSProps {\n /**\n * Geographic location of the icosahedron pole used to orient the grid.\n * Changing this rotates the entire grid on the globe, which can be used\n * to minimise cell distortion over a region of interest.\n * Defaults to `{ lat: 0, lng: 0 }`.\n */\n poleCoordinates: Coordinate;\n /**\n * Azimuth of the icosahedron pole in decimal degrees.\n * Rotates the grid around the pole axis. Defaults to `0`.\n */\n azimuth: number;\n /**\n * Subdivision aperture — the number of child cells each parent cell is\n * divided into when moving to the next finer resolution.\n *\n * | Aperture | Cells at res *r* (HEXAGON/ISEA) |\n * |---|---|\n * | 3 | 2 + 10 × 3^r |\n * | 4 | 2 + 10 × 4^r |\n * | 7 | 2 + 10 × 7^r |\n *\n * Aperture `4` is the most common choice and is the default.\n * Ignored if `apertureSequence` is specified.\n */\n aperture?: 3 | 4 | 5 | 7;\n /**\n * Mixed aperture sequence (e.g., `\"434747\"`).\n * \n * When specified, each character defines the aperture for that resolution level.\n * The maximum resolution is limited to the length of the sequence string.\n * \n * **Constraints:**\n * - Only valid for `HEXAGON` topology\n * - Only characters `'3'`, `'4'`, and `'7'` are allowed\n * - SEQNUM addressing is not supported (operations will fail)\n * - Z3/Z7 hierarchical indexing is not supported\n * \n * @example\n * ```ts\n * // Resolution 1 uses aperture 4, res 2 uses aperture 3, etc.\n * apertureSequence: \"434747\"\n * ```\n */\n apertureSequence?: string;\n /** Shape of each cell. See {@link Topology}. */\n topology: Topology;\n /** Projection used to map the polyhedron faces onto the sphere. See {@link Projection}. */\n projection: Projection;\n}\n\n/**\n * Rewraps a polygon ring that crosses the antimeridian so that all longitudes\n * are in a contiguous range. The output longitudes may fall outside\n * [-180, 180] — that's intentional, and is the format expected by MapLibre\n * GL / Mapbox GL globe projection for antimeridian cells. For renderers that\n * require standard [-180, 180] coordinates, run a final modulo step\n * downstream.\n *\n * Walks consecutive vertices and accumulates a ±360 offset whenever the\n * longitude delta between neighbours exceeds 180° (the only meaningful sign\n * of an antimeridian crossing). This keeps the traversal direction faithful\n * even for polar caps, which span a full 360° in lon and were broken by the\n * previous \"negative-to-positive\" rewrite.\n */\nexport function unwrapAntimeridianRing(ring: Position[]): Position[] {\n if (ring.length === 0) return ring;\n const out: Position[] = [[ring[0][0], ring[0][1]]];\n let offset = 0;\n for (let i = 1; i < ring.length; i++) {\n const prev = ring[i - 1][0];\n const curr = ring[i][0];\n const delta = curr - prev;\n if (delta > 180) offset -= 360;\n else if (delta < -180) offset += 360;\n out.push([curr + offset, ring[i][1]]);\n }\n return out;\n}\n\nconst DEFAULT_RESOLUTION = 1;\nconst DEFAULT_DGGS = {\n poleCoordinates: { lat: 0, lng: 0 },\n azimuth: 0,\n topology: Topology.HEXAGON,\n projection: Projection.ISEA,\n aperture: 4\n} as IDGGSProps;\n\n/**\n * Main entry point for the WebDggrid library.\n *\n * `Webdggrid` wraps the DGGRID C++ library compiled to WebAssembly and exposes\n * methods for:\n * - **Grid configuration** — choose topology, projection, aperture, and\n * resolution via {@link setDggs} / {@link setResolution}.\n * - **Coordinate conversion** — convert between geographic coordinates and\n * DGGS cell IDs (sequence numbers) with {@link geoToSequenceNum} and\n * {@link sequenceNumToGeo}.\n * - **Grid geometry** — retrieve the polygon boundary of any cell with\n * {@link sequenceNumToGrid} or export a ready-to-render GeoJSON\n * `FeatureCollection` with {@link sequenceNumToGridFeatureCollection}.\n * - **Grid statistics** — query cell counts, areas, and spacings with\n * {@link nCells}, {@link cellAreaKM}, and {@link cellDistKM}.\n *\n * ## Quick start\n *\n * ```ts\n * import { Webdggrid } from 'webdggrid';\n *\n * const dggs = await Webdggrid.load();\n *\n * // Convert a geographic point to its DGGS cell ID at resolution 5\n * const [cellId] = dggs.geoToSequenceNum([[-73.9857, 40.7484]], 5);\n *\n * // Get the polygon boundary of that cell as GeoJSON\n * const geojson = dggs.sequenceNumToGridFeatureCollection([cellId], 5);\n * ```\n *\n * ## Lifecycle\n *\n * The WASM module is a singleton. Call {@link Webdggrid.load} once and reuse\n * the returned instance throughout your application. Call\n * {@link Webdggrid.unload} when you are completely done to free memory.\n */\nexport class Webdggrid {\n\n /**\n * The active DGGS configuration used by all conversion and statistics\n * methods. Change it at any time via {@link setDggs}.\n *\n * Defaults to ISEA4H (ISEA projection, aperture 4, hexagon topology,\n * pole at 0° N 0° E, azimuth 0°).\n */\n dggs: IDGGSProps = DEFAULT_DGGS;\n\n /**\n * The active grid resolution. Higher values produce finer, smaller cells.\n * The valid range depends on the aperture — for aperture 4 the practical\n * limit is around resolution 15 before cell counts become unwieldy.\n *\n * Change via {@link setResolution} or pass an explicit `resolution`\n * argument to any conversion method.\n *\n * Defaults to `1`.\n */\n resolution: number = DEFAULT_RESOLUTION;\n\n private constructor(protected _module: any) {\n this._module = _module;\n }\n\n /**\n * Compiles and instantiates the DGGRID WebAssembly module.\n *\n * This is the only way to construct a `Webdggrid` instance. The method is\n * asynchronous because WebAssembly compilation is prohibited on the main\n * thread for buffers larger than 4 KB.\n *\n * ```ts\n * const dggs = await Webdggrid.load();\n * ```\n *\n * ::: info\n * In general WebAssembly compilation is disallowed on the main thread if\n * the buffer size is larger than 4 KB, hence forcing `load` to be\n * asynchronous.\n * :::\n *\n * @returns A promise that resolves to a fully initialised `Webdggrid` instance.\n */\n static load(): Promise<typeof Webdggrid> {\n return loadWasm().then((module: any) => {\n return new Webdggrid(module);\n }).catch(console.log);\n }\n\n /**\n * Releases the compiled WASM instance and frees its memory.\n *\n * Call this when your application no longer needs the library. After\n * calling `unload`, any existing `Webdggrid` instances become unusable —\n * you must call {@link load} again to create a new one.\n */\n static unload() {\n unloadWasm();\n }\n\n /**\n * Returns the version string of the underlying DGGRID C++ library.\n *\n * ```ts\n * console.log(dggs.version()); // e.g. \"8.3b\"\n * ```\n *\n * @returns The DGGRID C++ library version string.\n */\n version(): string {\n return this._module.Webdggrid.prototype.version();\n }\n\n /**\n * Sets both the DGGS configuration and the resolution in one call.\n *\n * All subsequent conversion and statistics methods will use this\n * configuration unless they receive an explicit `resolution` argument.\n *\n * ```ts\n * dggs.setDggs({\n * poleCoordinates: { lat: 0, lng: 0 },\n * azimuth: 0,\n * aperture: 4,\n * topology: Topology.HEXAGON,\n * projection: Projection.ISEA,\n * }, 5);\n * ```\n *\n * @param dggs - The new DGGS configuration. Defaults to ISEA4H at pole (0,0).\n * @param resolution - The new resolution level. Defaults to `1`.\n */\n setDggs(dggs: IDGGSProps = DEFAULT_DGGS, resolution: number = DEFAULT_RESOLUTION) {\n this.dggs = dggs;\n this.resolution = resolution;\n }\n\n /**\n * Returns the currently active grid resolution.\n *\n * ```ts\n * dggs.setResolution(7);\n * console.log(dggs.getResolution()); // 7\n * ```\n *\n * @returns The current resolution level.\n */\n getResolution(): number {\n return this.resolution;\n }\n\n /**\n * Sets the grid resolution used by default in all conversion and\n * statistics methods.\n *\n * ```ts\n * dggs.setResolution(5);\n * const count = dggs.nCells(); // uses resolution 5\n * ```\n *\n * @param resolution - The new resolution level. Must be a positive integer.\n */\n setResolution(resolution: number) {\n this.resolution = resolution;\n }\n\n /**\n * Internal test helper that invokes the WASM module's `_main` entry point.\n * Not intended for production use.\n * @internal\n */\n _main() {\n return this._module._main();\n }\n\n /**\n * Returns the total number of cells that tile the entire globe at the\n * given resolution under the current DGGS configuration.\n *\n * Cell counts grow exponentially with resolution. For the default ISEA4H\n * grid:\n *\n * | Resolution | Approx. cell count |\n * |---|---|\n * | 1 | 42 |\n * | 2 | 162 |\n * | 3 | 642 |\n * | 4 | 2 562 |\n * | 5 | 10 242 |\n * | 6 | 40 962 |\n *\n * ```ts\n * const total = dggs.nCells(3); // 642\n * ```\n *\n * @param resolution - Resolution level to query. Defaults to the instance's\n * current {@link resolution}.\n * @returns Total number of cells at the given resolution.\n */\n nCells(resolution: number = DEFAULT_RESOLUTION): number {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const cellCount = this._module.nCells(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq\n );\n\n return cellCount as number;\n }\n\n /**\n * Returns the average area of a single cell in square kilometres at the\n * given resolution.\n *\n * Because ISEA guarantees equal-area cells, all cells have the same area\n * when using the `ISEA` projection. With `FULLER` the value is an average.\n *\n * ```ts\n * const areakm2 = dggs.cellAreaKM(5);\n * ```\n *\n * @param resolution - Resolution level to query. Defaults to the instance's\n * current {@link resolution}.\n * @returns Average cell area in km².\n */\n cellAreaKM(resolution: number = DEFAULT_RESOLUTION): number {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const cellCount = this._module.cellAreaKM(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq\n );\n\n return cellCount as number;\n }\n\n /**\n * Returns the average centre-to-centre distance between neighbouring cells\n * in kilometres at the given resolution.\n *\n * This is useful for estimating spatial join radii or selecting a\n * resolution that matches a target spatial scale.\n *\n * ```ts\n * const spacingKm = dggs.cellDistKM(5);\n * ```\n *\n * @param resolution - Resolution level to query. Defaults to the instance's\n * current {@link resolution}.\n * @returns Average cell spacing in km.\n */\n cellDistKM(resolution: number = DEFAULT_RESOLUTION): number {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const cellCount = this._module.cellDistKM(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq\n );\n\n return cellCount as number;\n }\n\n /**\n * Returns the characteristic length scale (CLS) of the grid at the given\n * resolution — defined as the square root of the average cell area.\n *\n * CLS provides a single scalar that summarises the spatial granularity of\n * the grid, useful for comparing resolutions across different DGGS\n * configurations.\n *\n * ```ts\n * const cls = dggs.gridStatCLS(4);\n * ```\n *\n * @param resolution - Resolution level to query. Defaults to the instance's\n * current {@link resolution}.\n * @returns Grid CLS value.\n */\n gridStatCLS(resolution: number = DEFAULT_RESOLUTION): number {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const cellCount = this._module.gridStatCLS(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq\n );\n\n return cellCount as number;\n }\n\n /**\n * Converts an array of geographic coordinates to their corresponding DGGS\n * cell sequence numbers (cell IDs) at the given resolution.\n *\n * Each coordinate is mapped to the single cell whose boundary contains it.\n * Multiple coordinates that fall within the same cell will return the same\n * sequence number.\n *\n * Coordinates must be supplied in **`[lng, lat]`** order (GeoJSON\n * convention), **not** `[lat, lng]`.\n *\n * ```ts\n * // New York City\n * const ids = dggs.geoToSequenceNum([[-74.006, 40.7128]], 5);\n * console.log(ids); // [12345n]\n *\n * // Multiple points at once\n * const ids2 = dggs.geoToSequenceNum(\n * [[-74.006, 40.7128], [2.3522, 48.8566]],\n * 5\n * );\n * ```\n *\n * @param coordinates - Array of `[lng, lat]` pairs in decimal degrees.\n * @param resolution - Resolution at which to perform the lookup. Defaults\n * to the instance's current {@link resolution}.\n * @returns Array of `BigInt` sequence numbers, one per input coordinate,\n * in the same order.\n */\n geoToSequenceNum(\n coordinates: number[][],\n resolution: number = DEFAULT_RESOLUTION\n ): bigint[] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const xCoords = coordinates.map((coord) => coord[0]);\n const yCoords = coordinates.map((coord) => coord[1]);\n\n const resultArray = this._module.DgGEO_to_SEQNUM(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n xCoords,\n yCoords\n );\n\n return resultArray;\n }\n\n /**\n * Converts an array of DGGS cell sequence numbers to the geographic\n * coordinates of their centroids.\n *\n * The returned coordinates are in **`[lng, lat]`** order (GeoJSON\n * convention).\n *\n * ```ts\n * const centroids = dggs.sequenceNumToGeo([1n, 2n, 3n], 3);\n * // [[lng0, lat0], [lng1, lat1], [lng2, lat2]]\n * ```\n *\n * @param sequenceNum - Array of `BigInt` cell IDs to look up.\n * @param resolution - Resolution at which the IDs were generated. Defaults\n * to the instance's current {@link resolution}.\n * @returns Array of `[lng, lat]` centroid positions, one per input ID, in\n * the same order.\n */\n sequenceNumToGeo(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): Position[] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const resultArray = this._module.SEQNUM_to_GEO(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n sequenceNum\n );\n\n const size = resultArray.length / 2;\n const arrayOfArrays: number[][] = [];\n for (let i = 0; i < size; i += 1) {\n arrayOfArrays.push([resultArray[i], resultArray[i + size]]);\n }\n\n return arrayOfArrays;\n }\n\n /**\n * Snaps an array of geographic coordinates to the centroid of the DGGS\n * cell that contains each point.\n *\n * This is equivalent to calling {@link geoToSequenceNum} followed by\n * {@link sequenceNumToGeo} but is more efficient because it avoids\n * returning the intermediate sequence numbers.\n *\n * Useful for spatial aggregation: all points that fall within the same\n * cell will map to the identical centroid coordinate.\n *\n * Coordinates must be in **`[lng, lat]`** order.\n *\n * ```ts\n * const snapped = dggs.geoToGeo(\n * [[-74.006, 40.7128], [-74.010, 40.720]],\n * 5\n * );\n * // Both points snap to the same centroid if they share a cell\n * ```\n *\n * @param coordinates - Array of `[lng, lat]` pairs in decimal degrees.\n * @param resolution - Resolution at which to perform the snapping. Defaults\n * to the instance's current {@link resolution}.\n * @returns Array of `[lng, lat]` cell centroid positions, one per input\n * coordinate, in the same order.\n */\n geoToGeo(\n coordinates: number[][],\n resolution: number = DEFAULT_RESOLUTION\n ): Position[] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const xCoords = coordinates.map((coord) => coord[0]);\n const yCoords = coordinates.map((coord) => coord[1]);\n\n const resultArray = this._module.GEO_to_GEO(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n xCoords,\n yCoords\n );\n\n const size = resultArray.length / 2;\n const arrayOfArrays: number[][] = [];\n for (let i = 0; i < size; i += 1) {\n arrayOfArrays.push([resultArray[i], resultArray[i + size]]);\n }\n\n return arrayOfArrays;\n }\n\n /**\n * Returns the polygon boundary vertices for each cell in `sequenceNum`.\n *\n * Each cell is represented as an array of `[lng, lat]` vertex positions.\n * The ring is **not** automatically closed (the first and last vertex are\n * different) — close it yourself if your renderer requires it.\n *\n * Prefer {@link sequenceNumToGridFeatureCollection} when you need\n * GeoJSON output ready for a mapping library.\n *\n * ```ts\n * const rings = dggs.sequenceNumToGrid([1n, 2n], 3);\n * // rings[0] = [[lng0,lat0], [lng1,lat1], ..., [lng5,lat5]] (hexagon)\n * ```\n *\n * @param sequenceNum - Array of `BigInt` cell IDs whose boundaries to\n * retrieve.\n * @param resolution - Resolution at which the IDs were generated. Defaults\n * to the instance's current {@link resolution}.\n * @param unwrap - When `true` (default), antimeridian-crossing rings are\n * passed through {@link unwrapAntimeridianRing} so longitudes stay\n * contiguous (lons may exceed 180°). Required by MapLibre GL / Mapbox\n * GL globe projection. Set to `false` to receive the raw DGGRID output\n * in `[-180, 180]` — required by Cesium's `GeoJsonDataSource` (which\n * internally normalises lons and breaks polar caps under unwrap), and\n * by any sphere-aware renderer that interpolates edges as great-circle\n * arcs.\n * @returns A 2-D array: `result[i]` is the vertex ring of `sequenceNum[i]`.\n * Each vertex is a `[lng, lat]` position.\n * @throws If the WASM module encounters an invalid cell ID.\n */\n sequenceNumToGrid(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION,\n unwrap: boolean = true\n ): Position[][] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n const inputSize = sequenceNum.length;\n\n let resultArray = [];\n try {\n resultArray = this._module.SeqNumGrid(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n sequenceNum\n );\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw (e);\n }\n\n const allShapeVertexes = resultArray.slice(0, inputSize);\n\n const sumVertexes = allShapeVertexes.reduce((accumulator, currentValue) => {\n return accumulator + currentValue;\n }, 0);\n\n const featureSet: Position[][] = [];\n\n let xOffset = inputSize;\n let yOffset = inputSize + sumVertexes;\n for (let i = 0; i < allShapeVertexes.length; i += 1) {\n const numVertexes = allShapeVertexes[i];\n\n const coordinates: Position[] = [];\n for (let j = 0; j < numVertexes; j += 1) {\n coordinates.push([resultArray[xOffset + j], resultArray[yOffset + j]]);\n }\n featureSet.push(unwrap ? unwrapAntimeridianRing(coordinates) : coordinates);\n xOffset += numVertexes;\n yOffset += numVertexes;\n }\n\n return featureSet;\n }\n\n /**\n * Converts an array of DGGS cell IDs into a GeoJSON `FeatureCollection`\n * where each `Feature` is a `Polygon` representing the cell boundary.\n *\n * This is the primary method for rendering DGGS cells with mapping\n * libraries such as MapLibre GL JS, Leaflet, or deck.gl.\n *\n * Each feature includes:\n * - `geometry` — a closed `Polygon` in `[lng, lat]` coordinate order.\n * - `id` — the cell sequence number (converted to `string` recommended\n * before passing to MapLibre to avoid BigInt serialisation errors).\n * - `properties.id` — same value as `id`, accessible inside layer\n * expressions.\n *\n * ```ts\n * const ids = dggs.geoToSequenceNum([[-74.006, 40.7128]], 5);\n * const fc = dggs.sequenceNumToGridFeatureCollection(ids, 5);\n *\n * // MapLibre / structured-clone safe: convert BigInt → string\n * fc.features.forEach(f => {\n * if (typeof f.id === 'bigint') f.id = f.id.toString();\n * if (f.properties?.id) f.properties.id = f.properties.id.toString();\n * });\n *\n * map.getSource('grid').setData(fc);\n * ```\n *\n * @param sequenceNum - Array of `BigInt` cell IDs to convert.\n * @param resolution - Resolution at which the IDs were generated. Defaults\n * to the instance's current {@link resolution}.\n * @param unwrap - Forwarded to {@link sequenceNumToGrid}. Defaults to\n * `true` (MapLibre-style unwrap). Pass `false` for Cesium and other\n * great-circle-arc renderers.\n * @returns A GeoJSON `FeatureCollection` of `Polygon` features, one per\n * input cell ID.\n */\n sequenceNumToGridFeatureCollection(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION,\n unwrap: boolean = true\n ): FeatureCollection<Polygon, DGGSGeoJsonProperty> {\n\n const coordinatesArray = this.sequenceNumToGrid(sequenceNum, resolution, unwrap);\n\n const features = coordinatesArray.map((coordinates, index) => {\n const seqNum = sequenceNum[index];\n return {\n type: 'Feature',\n geometry: {\n type: 'Polygon',\n coordinates: [coordinates]\n },\n id: seqNum as unknown as number,\n properties: {\n id: seqNum\n } as DGGSGeoJsonProperty\n } as Feature<Polygon, DGGSGeoJsonProperty>;\n });\n\n return {\n type: 'FeatureCollection',\n features,\n };\n }\n\n /**\n * Returns all neighboring cells (sharing an edge) for each input cell.\n *\n * For hexagonal grids, each interior cell typically has 6 neighbors.\n * Pentagon cells and boundary cells may have fewer. Triangle topology\n * is not supported by the underlying DGGRID library.\n *\n * The output is a 2-D array: `result[i]` contains all neighbors of\n * `sequenceNum[i]`.\n *\n * ```ts\n * const neighbors = dggs.sequenceNumNeighbors([123n], 5);\n * // neighbors[0] = [122n, 124n, 125n, 126n, 127n, 128n]\n * ```\n *\n * ::: warning\n * Triangle topology is **not supported**. Attempting to retrieve neighbors\n * for a TRIANGLE grid will throw an error.\n * :::\n *\n * @param sequenceNum - Array of `BigInt` cell IDs whose neighbors to find.\n * @param resolution - Resolution at which the IDs were generated. Defaults\n * to the instance's current {@link resolution}.\n * @returns A 2-D array of `BigInt[]`: `result[i]` is the array of neighbor\n * IDs for `sequenceNum[i]`.\n * @throws If Triangle topology is used or if an invalid cell ID is provided.\n */\n sequenceNumNeighbors(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): bigint[][] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n if (topology === Topology.TRIANGLE) {\n throw new Error('Neighbor detection is not supported for TRIANGLE topology');\n }\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n try {\n const resultArray = this._module.SEQNUMS_neighbors(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n sequenceNum\n );\n\n // The result is a flat array with format:\n // [count0, count1, ..., countN, neighbor0_0, neighbor0_1, ..., neighbor0_(count0-1), neighbor1_0, ...]\n const inputSize = sequenceNum.length;\n const counts = resultArray.slice(0, inputSize);\n const neighbors: bigint[][] = [];\n\n let offset = inputSize;\n for (let i = 0; i < inputSize; i++) {\n const count = Number(counts[i]);\n neighbors.push(resultArray.slice(offset, offset + count));\n offset += count;\n }\n\n return neighbors;\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n /**\n * Returns the parent cell at the next coarser resolution (resolution - 1)\n * for each input cell.\n *\n * The parent-child relationship forms a hierarchical index structure. For\n * aperture 4 grids, each parent contains 4 children; for aperture 7, each\n * parent contains 7 children.\n *\n * ```ts\n * const parents = dggs.sequenceNumParent([123n, 456n], 5);\n * // parents = [30n, 114n] (at resolution 4)\n * ```\n *\n * ::: info\n * Calling this method at resolution 0 will throw an error because there\n * are no cells at resolution -1.\n * :::\n *\n * @param sequenceNum - Array of `BigInt` cell IDs whose parents to find.\n * @param resolution - Resolution at which the input IDs were generated.\n * Must be > 0. Defaults to the instance's current {@link resolution}.\n * @returns Array of `BigInt` parent cell IDs at resolution - 1, one per\n * input cell, in the same order.\n * @throws If resolution is 0 or if an invalid cell ID is provided.\n */\n sequenceNumParent(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): bigint[] {\n if (resolution <= 0) {\n throw new Error('Cannot get parent at resolution 0 or below');\n }\n\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n try {\n const resultArray = this._module.SEQNUMS_parents(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n sequenceNum\n );\n\n return resultArray;\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n /**\n * Returns **all** parent cells that touch each input cell at the coarser\n * resolution (resolution - 1).\n *\n * Unlike {@link sequenceNumParent} which returns only the primary\n * (containing) parent, this method returns every parent cell whose area\n * overlaps with the child cell. For interior cells this is typically 1;\n * for cells on a parent boundary it may be 2 or more.\n *\n * The **first element** of each inner array is always the primary\n * (containing) parent — the same value returned by\n * {@link sequenceNumParent}.\n *\n * ```ts\n * const allParents = dggs.sequenceNumAllParents([256n], 3);\n * // allParents[0] = [65n, 66n] — 65 is the containing parent,\n * // 66 is a touching neighbor parent\n * ```\n *\n * @param sequenceNum - Array of `BigInt` cell IDs to query.\n * @param resolution - Resolution at which the input IDs were generated\n * (must be > 0). Defaults to the instance's current {@link resolution}.\n * @returns A 2-D array: `result[i]` contains all parent cell IDs that\n * touch `sequenceNum[i]`, with the primary parent first.\n * @throws If `resolution` is 0 or negative, or if an invalid cell ID is\n * provided.\n */\n sequenceNumAllParents(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): bigint[][] {\n if (resolution <= 0) {\n throw new Error('Cannot get parents at resolution 0 or below');\n }\n\n try {\n const resultArray = this._module.SEQNUMS_all_parents(\n ...this._getParams(resolution),\n sequenceNum\n );\n\n // Convert from JS array of arrays to bigint[][]\n const result: bigint[][] = [];\n for (let i = 0; i < resultArray.length; i++) {\n const inner: bigint[] = [];\n for (let j = 0; j < resultArray[i].length; j++) {\n inner.push(resultArray[i][j]);\n }\n result.push(inner);\n }\n return result;\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n /**\n * Returns all child cells at the next finer resolution (resolution + 1)\n * for each input cell.\n *\n * The number of children depends on the aperture:\n * - Aperture 3: 3 children per parent\n * - Aperture 4: 4 children per parent\n * - Aperture 7: 7 children per parent\n *\n * The output is a 2-D array: `result[i]` contains all children of\n * `sequenceNum[i]`.\n *\n * ```ts\n * const children = dggs.sequenceNumChildren([30n], 4);\n * // children[0] = [120n, 121n, 122n, 123n] (at resolution 5, aperture 4)\n * ```\n *\n * ::: info\n * Children always include both boundary and interior cells. The returned\n * cells completely cover the parent cell's area.\n * :::\n *\n * @param sequenceNum - Array of `BigInt` cell IDs whose children to find.\n * @param resolution - Resolution at which the input IDs were generated.\n * Defaults to the instance's current {@link resolution}.\n * @returns A 2-D array of `BigInt[]`: `result[i]` is the array of child\n * IDs for `sequenceNum[i]` at resolution + 1.\n * @throws If an invalid cell ID is provided or if the maximum resolution\n * is exceeded.\n */\n sequenceNumChildren(\n sequenceNum: bigint[],\n resolution: number = DEFAULT_RESOLUTION\n ): bigint[][] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n try {\n const resultArray = this._module.SEQNUMS_children(\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq,\n sequenceNum\n );\n\n // The result is a flat array with format:\n // [count0, count1, ..., countN, child0_0, child0_1, ..., child0_(count0-1), child1_0, ...]\n const inputSize = sequenceNum.length;\n const counts = resultArray.slice(0, inputSize);\n const children: bigint[][] = [];\n\n let offset = inputSize;\n for (let i = 0; i < inputSize; i++) {\n const count = Number(counts[i]);\n children.push(resultArray.slice(offset, offset + count));\n offset += count;\n }\n\n return children;\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n // =========================================================================\n // Hierarchical Address Type Conversions\n // These methods convert between SEQNUM and hierarchical indexing systems\n // =========================================================================\n\n /**\n * Convert a SEQNUM cell ID to VERTEX2DD (icosahedral vertex) coordinates.\n *\n * VERTEX2DD addresses represent positions relative to the vertices and\n * triangular faces of the underlying icosahedron.\n *\n * ```ts\n * const vertex = dggs.sequenceNumToVertex2DD(100n, 5);\n * // vertex = { keep: true, vertNum: 1, triNum: 1, x: 0.0625, y: 0.054... }\n * ```\n *\n * @param sequenceNum - The cell sequence number to convert.\n * @param resolution - Resolution of the input cell. Defaults to the\n * instance's current {@link resolution}.\n * @returns An object with `{keep, vertNum, triNum, x, y}` representing\n * the vertex coordinate.\n */\n sequenceNumToVertex2DD(\n sequenceNum: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): Vertex2DDCoordinate {\n try {\n const result = this._module.SEQNUM_to_VERTEX2DD(\n ...this._getParams(resolution),\n sequenceNum\n );\n return result;\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n /**\n * Convert VERTEX2DD (icosahedral vertex) coordinates to a SEQNUM cell ID.\n *\n * ```ts\n * const seqnum = dggs.vertex2DDToSequenceNum(true, 1, 1, 0.0625, 0.054, 5);\n * // seqnum = 100n\n * ```\n *\n * @param keep - Whether to keep this vertex.\n * @param vertNum - Vertex number (0-11 for icosahedron).\n * @param triNum - Triangle number on the icosahedron.\n * @param x - X coordinate within the triangle.\n * @param y - Y coordinate within the triangle.\n * @param resolution - Resolution at which to compute the cell ID. Defaults\n * to the instance's current {@link resolution}.\n * @returns The sequence number (BigInt) of the cell containing this coordinate.\n */\n vertex2DDToSequenceNum(\n keep: boolean,\n vertNum: number,\n triNum: number,\n x: number,\n y: number,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n try {\n return this._module.VERTEX2DD_to_SEQNUM(\n ...this._getParams(resolution),\n keep,\n vertNum,\n triNum,\n x,\n y\n );\n } catch (e) {\n console.error(this._module.getExceptionMessage(e).toString());\n throw e;\n }\n }\n\n /**\n * Convert a SEQNUM cell ID to ZORDER (Z-order curve) coordinate.\n *\n * ZORDER uses digit-interleaved coordinates to create a space-filling\n * curve index. This provides good spatial locality for range queries.\n *\n * **Compatibility:** ZORDER is only available for **aperture 3 and 4**\n * hexagon grids. It is **NOT supported** for aperture 7.\n *\n * ```ts\n * // With aperture 4:\n * const zorder = dggs.sequenceNumToZOrder(100n, 5);\n * // zorder = 1168684103302643712n\n * ```\n *\n * @param sequenceNum - The cell sequence number to convert.\n * @param resolution - Resolution of the input cell. Defaults to the\n * instance's current {@link resolution}.\n * @returns A BigInt representing the Z-order coordinate.\n * @throws If used with an incompatible aperture (7) or topology.\n */\n sequenceNumToZOrder(\n sequenceNum: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, apertureSequence } = this.dggs;\n\n // Check aperture compatibility\n if (aperture === 7 && !apertureSequence) {\n throw new Error(\n 'ZORDER is not available for aperture 7. ' +\n 'Use Z7 hierarchical indexing instead, or switch to aperture 3 or 4.'\n );\n }\n\n try {\n return this._module.SEQNUM_to_ZORDER(\n ...this._getParams(resolution),\n sequenceNum\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture')) {\n throw new Error(\n `ZORDER error: ${errMsg}. ZORDER requires aperture 3 or 4 (not 7).`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n /**\n * Convert a ZORDER (Z-order curve) coordinate to a SEQNUM cell ID.\n *\n * ```ts\n * const seqnum = dggs.zOrderToSequenceNum(1168684103302643712n, 5);\n * // seqnum = 100n\n * ```\n *\n * @param zorderValue - The Z-order coordinate value (BigInt).\n * @param resolution - Resolution at which to compute the cell ID. Defaults\n * to the instance's current {@link resolution}.\n * @returns The sequence number (BigInt) corresponding to this Z-order value.\n * @throws If used with an incompatible aperture (7) or topology.\n */\n zOrderToSequenceNum(\n zorderValue: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, apertureSequence } = this.dggs;\n\n if (aperture === 7 && !apertureSequence) {\n throw new Error(\n 'ZORDER is not available for aperture 7. ' +\n 'Use Z7 hierarchical indexing instead, or switch to aperture 3 or 4.'\n );\n }\n\n try {\n return this._module.ZORDER_to_SEQNUM(\n ...this._getParams(resolution),\n zorderValue\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture')) {\n throw new Error(\n `ZORDER error: ${errMsg}. ZORDER requires aperture 3 or 4 (not 7).`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n /**\n * Convert a SEQNUM cell ID to Z3 (base-3 Central Place Indexing) coordinate.\n *\n * Z3 uses base-3 digit encoding optimized for aperture 3 hexagon grids.\n * Each parent cell contains exactly 3 children in the hierarchy.\n *\n * **Compatibility:** Z3 is **only available for aperture 3** hexagon grids.\n *\n * ```ts\n * // With aperture 3:\n * const z3 = dggs.sequenceNumToZ3(100n, 5);\n * // z3 = 1773292353277132799n\n * ```\n *\n * @param sequenceNum - The cell sequence number to convert.\n * @param resolution - Resolution of the input cell. Defaults to the\n * instance's current {@link resolution}.\n * @returns A BigInt representing the Z3 coordinate (INT64 format).\n * @throws If used with an incompatible aperture (not 3) or topology.\n */\n sequenceNumToZ3(\n sequenceNum: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, topology, apertureSequence } = this.dggs;\n\n if ((aperture !== 3 || topology !== 'HEXAGON') && !apertureSequence) {\n throw new Error(\n 'Z3 is only available for aperture 3 hexagon grids. ' +\n `Current configuration: aperture ${aperture}, topology ${topology}.`\n );\n }\n\n try {\n return this._module.SEQNUM_to_Z3(\n ...this._getParams(resolution),\n sequenceNum\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture') || errMsg.includes('Z3')) {\n throw new Error(\n `Z3 error: ${errMsg}. Z3 requires aperture 3 hexagon grids.`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n /**\n * Convert a Z3 (base-3 Central Place Indexing) coordinate to a SEQNUM cell ID.\n *\n * ```ts\n * const seqnum = dggs.z3ToSequenceNum(1773292353277132799n, 5);\n * // seqnum = 100n\n * ```\n *\n * @param z3Value - The Z3 coordinate value (BigInt, INT64 format).\n * @param resolution - Resolution at which to compute the cell ID. Defaults\n * to the instance's current {@link resolution}.\n * @returns The sequence number (BigInt) corresponding to this Z3 value.\n * @throws If used with an incompatible aperture (not 3) or topology.\n */\n z3ToSequenceNum(\n z3Value: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, topology, apertureSequence } = this.dggs;\n\n if ((aperture !== 3 || topology !== 'HEXAGON') && !apertureSequence) {\n throw new Error(\n 'Z3 is only available for aperture 3 hexagon grids. ' +\n `Current configuration: aperture ${aperture}, topology ${topology}.`\n );\n }\n\n try {\n return this._module.Z3_to_SEQNUM(\n ...this._getParams(resolution),\n z3Value\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture') || errMsg.includes('Z3')) {\n throw new Error(\n `Z3 error: ${errMsg}. Z3 requires aperture 3 hexagon grids.`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n /**\n * Convert a SEQNUM cell ID to Z7 (base-7 Central Place Indexing) coordinate.\n *\n * Z7 uses base-7 digit encoding with pure bitarithmetic operations,\n * optimized for aperture 7 hexagon grids. Each parent cell contains\n * exactly 7 children in the hierarchy.\n *\n * **Compatibility:** Z7 is **only available for aperture 7** hexagon grids.\n *\n * ```ts\n * // With aperture 7:\n * const z7 = dggs.sequenceNumToZ7(100n, 5);\n * // z7 = 1153167795211468799n (displayed as hex: 0x1000000000000fff)\n * ```\n *\n * @param sequenceNum - The cell sequence number to convert.\n * @param resolution - Resolution of the input cell. Defaults to the\n * instance's current {@link resolution}.\n * @returns A BigInt representing the Z7 coordinate (INT64/hex format).\n * @throws If used with an incompatible aperture (not 7) or topology.\n */\n sequenceNumToZ7(\n sequenceNum: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, topology, apertureSequence } = this.dggs;\n\n if ((aperture !== 7 || topology !== 'HEXAGON') && !apertureSequence) {\n throw new Error(\n 'Z7 is only available for aperture 7 hexagon grids. ' +\n `Current configuration: aperture ${aperture}, topology ${topology}.`\n );\n }\n\n try {\n return this._module.SEQNUM_to_Z7(\n ...this._getParams(resolution),\n sequenceNum\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture') || errMsg.includes('Z7')) {\n throw new Error(\n `Z7 error: ${errMsg}. Z7 requires aperture 7 hexagon grids.`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n /**\n * Convert a Z7 (base-7 Central Place Indexing) coordinate to a SEQNUM cell ID.\n *\n * ```ts\n * const seqnum = dggs.z7ToSequenceNum(1153167795211468799n, 5);\n * // seqnum = 100n\n * ```\n *\n * @param z7Value - The Z7 coordinate value (BigInt, INT64/hex format).\n * @param resolution - Resolution at which to compute the cell ID. Defaults\n * to the instance's current {@link resolution}.\n * @returns The sequence number (BigInt) corresponding to this Z7 value.\n * @throws If used with an incompatible aperture (not 7) or topology.\n */\n z7ToSequenceNum(\n z7Value: bigint,\n resolution: number = DEFAULT_RESOLUTION\n ): bigint {\n const { aperture, topology, apertureSequence } = this.dggs;\n\n if ((aperture !== 7 || topology !== 'HEXAGON') && !apertureSequence) {\n throw new Error(\n 'Z7 is only available for aperture 7 hexagon grids. ' +\n `Current configuration: aperture ${aperture}, topology ${topology}.`\n );\n }\n\n try {\n return this._module.Z7_to_SEQNUM(\n ...this._getParams(resolution),\n z7Value\n );\n } catch (e) {\n const errMsg = this._module.getExceptionMessage(e).toString();\n if (errMsg.includes('aperture') || errMsg.includes('Z7')) {\n throw new Error(\n `Z7 error: ${errMsg}. Z7 requires aperture 7 hexagon grids.`\n );\n }\n console.error(errMsg);\n throw e;\n }\n }\n\n // =========================================================================\n // Index digit manipulation\n // Pure bitwise operations on Z7, Z3, and ZORDER packed indices.\n // These match DGGRID's internal macros (Z7_GET_INDEX_DIGIT, etc.)\n // and do NOT require WASM calls.\n // =========================================================================\n\n // --- Z7 constants (3 bits per digit, max 20 resolutions) ---\n /** @internal */ static readonly Z7_MAX_RES = 20;\n /** @internal */ static readonly Z7_BITS_PER_DIGIT = 3n;\n /** @internal */ static readonly Z7_DIGIT_MASK = 7n;\n /** @internal */ static readonly Z7_QUAD_OFFSET = 60n;\n /** @internal */ static readonly Z7_QUAD_MASK = 0xF000000000000000n;\n\n // --- Z3 constants (2 bits per digit, max 30 resolutions) ---\n /** @internal */ static readonly Z3_MAX_RES = 30;\n /** @internal */ static readonly Z3_BITS_PER_DIGIT = 2n;\n /** @internal */ static readonly Z3_DIGIT_MASK = 3n;\n /** @internal */ static readonly Z3_QUAD_OFFSET = 60n;\n /** @internal */ static readonly Z3_QUAD_MASK = 0xF000000000000000n;\n\n // --- ZORDER constants (2 bits per digit, max 30 resolutions) ---\n /** @internal */ static readonly ZORDER_MAX_RES = 30;\n /** @internal */ static readonly ZORDER_BITS_PER_DIGIT = 2n;\n /** @internal */ static readonly ZORDER_DIGIT_MASK = 3n;\n /** @internal */ static readonly ZORDER_QUAD_OFFSET = 60n;\n /** @internal */ static readonly ZORDER_QUAD_MASK = 0xF000000000000000n;\n\n /**\n * Get the quad (icosahedron face) number from a Z7 index.\n *\n * The quad occupies bits 63–60 of the 64-bit packed value.\n *\n * ```ts\n * const quad = dggs.z7GetQuad(z7Value); // 0–11\n * ```\n *\n * @param z7Value - A Z7 packed index (BigInt).\n * @returns The quad number (0–11).\n */\n z7GetQuad(z7Value: bigint): number {\n return Number((z7Value & Webdggrid.Z7_QUAD_MASK) >> Webdggrid.Z7_QUAD_OFFSET);\n }\n\n /**\n * Get the digit at a specific resolution level from a Z7 index.\n *\n * Each digit is 3 bits wide and occupies a fixed position in the 64-bit value.\n * Valid digits are 0–6; the value 7 is the invalid/padding marker.\n *\n * ```ts\n * const digit = dggs.z7GetDigit(z7Value, 3); // 0–6 (or 7 = invalid)\n * ```\n *\n * @param z7Value - A Z7 packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 20).\n * @returns The digit value (0–7).\n */\n z7GetDigit(z7Value: bigint, res: number): number {\n const shift = BigInt(Webdggrid.Z7_MAX_RES - res) * Webdggrid.Z7_BITS_PER_DIGIT;\n return Number((z7Value >> shift) & Webdggrid.Z7_DIGIT_MASK);\n }\n\n /**\n * Set the digit at a specific resolution level in a Z7 index.\n *\n * Returns a new Z7 value with the digit at position `res` replaced.\n *\n * ```ts\n * const child = dggs.z7SetDigit(z7Value, 6, 3); // set res-6 digit to 3\n * ```\n *\n * @param z7Value - A Z7 packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 20).\n * @param digit - The digit value to set (0–6, or 7 for invalid).\n * @returns A new Z7 value with the digit replaced.\n */\n z7SetDigit(z7Value: bigint, res: number, digit: number): bigint {\n const shift = BigInt(Webdggrid.Z7_MAX_RES - res) * Webdggrid.Z7_BITS_PER_DIGIT;\n return (z7Value & ~(Webdggrid.Z7_DIGIT_MASK << shift)) | (BigInt(digit) << shift);\n }\n\n /**\n * Extract all digits from a Z7 index up to a given resolution.\n *\n * ```ts\n * const { quad, digits } = dggs.z7ExtractDigits(z7Value, 5);\n * // quad: 1, digits: [2, 0, 3, 4, 1]\n * ```\n *\n * @param z7Value - A Z7 packed index (BigInt).\n * @param resolution - Number of digits to extract (1-based).\n * @returns Object with `quad` (number) and `digits` (number array).\n */\n z7ExtractDigits(z7Value: bigint, resolution: number): { quad: number; digits: number[] } {\n const quad = this.z7GetQuad(z7Value);\n const digits: number[] = [];\n for (let r = 1; r <= resolution; r++) {\n digits.push(this.z7GetDigit(z7Value, r));\n }\n return { quad, digits };\n }\n\n /**\n * Get the quad (icosahedron face) number from a Z3 index.\n *\n * ```ts\n * const quad = dggs.z3GetQuad(z3Value); // 0–11\n * ```\n *\n * @param z3Value - A Z3 packed index (BigInt).\n * @returns The quad number (0–11).\n */\n z3GetQuad(z3Value: bigint): number {\n return Number((z3Value & Webdggrid.Z3_QUAD_MASK) >> Webdggrid.Z3_QUAD_OFFSET);\n }\n\n /**\n * Get the digit at a specific resolution level from a Z3 index.\n *\n * Each digit is 2 bits wide. Valid digits are 0–2; the value 3 is the\n * invalid/padding marker.\n *\n * ```ts\n * const digit = dggs.z3GetDigit(z3Value, 3); // 0–2 (or 3 = invalid)\n * ```\n *\n * @param z3Value - A Z3 packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 30).\n * @returns The digit value (0–3).\n */\n z3GetDigit(z3Value: bigint, res: number): number {\n const shift = BigInt(Webdggrid.Z3_MAX_RES - res) * Webdggrid.Z3_BITS_PER_DIGIT;\n return Number((z3Value >> shift) & Webdggrid.Z3_DIGIT_MASK);\n }\n\n /**\n * Set the digit at a specific resolution level in a Z3 index.\n *\n * ```ts\n * const child = dggs.z3SetDigit(z3Value, 6, 1); // set res-6 digit to 1\n * ```\n *\n * @param z3Value - A Z3 packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 30).\n * @param digit - The digit value to set (0–2, or 3 for invalid).\n * @returns A new Z3 value with the digit replaced.\n */\n z3SetDigit(z3Value: bigint, res: number, digit: number): bigint {\n const shift = BigInt(Webdggrid.Z3_MAX_RES - res) * Webdggrid.Z3_BITS_PER_DIGIT;\n return (z3Value & ~(Webdggrid.Z3_DIGIT_MASK << shift)) | (BigInt(digit) << shift);\n }\n\n /**\n * Extract all digits from a Z3 index up to a given resolution.\n *\n * ```ts\n * const { quad, digits } = dggs.z3ExtractDigits(z3Value, 5);\n * // quad: 1, digits: [1, 0, 2, 1, 0]\n * ```\n *\n * @param z3Value - A Z3 packed index (BigInt).\n * @param resolution - Number of digits to extract (1-based).\n * @returns Object with `quad` (number) and `digits` (number array).\n */\n z3ExtractDigits(z3Value: bigint, resolution: number): { quad: number; digits: number[] } {\n const quad = this.z3GetQuad(z3Value);\n const digits: number[] = [];\n for (let r = 1; r <= resolution; r++) {\n digits.push(this.z3GetDigit(z3Value, r));\n }\n return { quad, digits };\n }\n\n /**\n * Get the quad (icosahedron face) number from a ZORDER index.\n *\n * ```ts\n * const quad = dggs.zOrderGetQuad(zorderValue); // 0–11\n * ```\n *\n * @param zorderValue - A ZORDER packed index (BigInt).\n * @returns The quad number (0–11).\n */\n zOrderGetQuad(zorderValue: bigint): number {\n return Number((zorderValue & Webdggrid.ZORDER_QUAD_MASK) >> Webdggrid.ZORDER_QUAD_OFFSET);\n }\n\n /**\n * Get the digit at a specific resolution level from a ZORDER index.\n *\n * Each digit is 2 bits wide (values 0–3).\n *\n * ```ts\n * const digit = dggs.zOrderGetDigit(zorderValue, 3); // 0–3\n * ```\n *\n * @param zorderValue - A ZORDER packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 30).\n * @returns The digit value (0–3).\n */\n zOrderGetDigit(zorderValue: bigint, res: number): number {\n const shift = BigInt(Webdggrid.ZORDER_MAX_RES - res) * Webdggrid.ZORDER_BITS_PER_DIGIT;\n return Number((zorderValue >> shift) & Webdggrid.ZORDER_DIGIT_MASK);\n }\n\n /**\n * Set the digit at a specific resolution level in a ZORDER index.\n *\n * ```ts\n * const modified = dggs.zOrderSetDigit(zorderValue, 3, 2);\n * ```\n *\n * @param zorderValue - A ZORDER packed index (BigInt).\n * @param res - Resolution level (1-based, 1 to 30).\n * @param digit - The digit value to set (0–3).\n * @returns A new ZORDER value with the digit replaced.\n */\n zOrderSetDigit(zorderValue: bigint, res: number, digit: number): bigint {\n const shift = BigInt(Webdggrid.ZORDER_MAX_RES - res) * Webdggrid.ZORDER_BITS_PER_DIGIT;\n return (zorderValue & ~(Webdggrid.ZORDER_DIGIT_MASK << shift)) | (BigInt(digit) << shift);\n }\n\n /**\n * Extract all digits from a ZORDER index up to a given resolution.\n *\n * ```ts\n * const { quad, digits } = dggs.zOrderExtractDigits(zorderValue, 5);\n * // quad: 1, digits: [2, 0, 3, 1, 0]\n * ```\n *\n * @param zorderValue - A ZORDER packed index (BigInt).\n * @param resolution - Number of digits to extract (1-based).\n * @returns Object with `quad` (number) and `digits` (number array).\n */\n zOrderExtractDigits(zorderValue: bigint, resolution: number): { quad: number; digits: number[] } {\n const quad = this.zOrderGetQuad(zorderValue);\n const digits: number[] = [];\n for (let r = 1; r <= resolution; r++) {\n digits.push(this.zOrderGetDigit(zorderValue, r));\n }\n return { quad, digits };\n }\n\n // =========================================================================\n // Low-level coordinate transformation methods\n // These methods expose all DGGRID coordinate systems beyond GEO/SEQNUM\n // =========================================================================\n\n /**\n * Helper to build the DGGS parameter array for WASM calls.\n * @private\n */\n private _getParams(resolution: number = DEFAULT_RESOLUTION): any[] {\n const {\n poleCoordinates: { lat, lng },\n azimuth,\n topology,\n projection,\n aperture,\n apertureSequence,\n } = this.dggs;\n\n const isApertureSequence = !!apertureSequence;\n const apSeq = apertureSequence || \"\";\n\n return [\n lng,\n lat,\n azimuth,\n aperture,\n resolution,\n topology,\n projection,\n isApertureSequence,\n apSeq\n ];\n }\n\n // -------------------------------------------------------------------------\n // GEO transformations (beyond the high-level methods above)\n // -------------------------------------------------------------------------\n\n /**\n * Converts geographic coordinates to PLANE coordinates.\n * \n * @param coordinates - Array of `[lng, lat]` pairs\n * @param resolution - Resolution level\n * @returns Array of `{x, y}` plane coordinates\n */\n geoToPlane(coordinates: number[][], resolution: number = DEFAULT_RESOLUTION): Array<{ x: number, y: number }> {\n const xCoords = coordinates.map(c => c[0]);\n const yCoords = coordinates.map(c => c[1]);\n\n const result = this._module.GEO_to_PLANE(...this._getParams(resolution), xCoords, yCoords);\n\n const size = result.length / 2;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({ x: result[i], y: result[i + size] });\n }\n return output;\n }\n\n /**\n * Converts geographic coordinates to PROJTRI coordinates.\n * \n * @param coordinates - Array of `[lng, lat]` pairs\n * @param resolution - Resolution level\n * @returns Array of `{tnum, x, y}` projection triangle coordinates\n */\n geoToProjtri(coordinates: number[][], resolution: number = DEFAULT_RESOLUTION): Array<{ tnum: number, x: number, y: number }> {\n const xCoords = coordinates.map(c => c[0]);\n const yCoords = coordinates.map(c => c[1]);\n\n const result = this._module.GEO_to_PROJTRI(...this._getParams(resolution), xCoords, yCoords);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n tnum: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts geographic coordinates to Q2DD coordinates.\n * \n * @param coordinates - Array of `[lng, lat]` pairs\n * @param resolution - Resolution level\n * @returns Array of `{quad, x, y}` quad 2D double coordinates\n */\n geoToQ2dd(coordinates: number[][], resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, x: number, y: number }> {\n const xCoords = coordinates.map(c => c[0]);\n const yCoords = coordinates.map(c => c[1]);\n\n const result = this._module.GEO_to_Q2DD(...this._getParams(resolution), xCoords, yCoords);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts geographic coordinates to Q2DI coordinates.\n * \n * @param coordinates - Array of `[lng, lat]` pairs\n * @param resolution - Resolution level\n * @returns Array of `{quad, i, j}` quad 2D integer coordinates\n */\n geoToQ2di(coordinates: number[][], resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, i: bigint, j: bigint }> {\n const xCoords = coordinates.map(c => c[0]);\n const yCoords = coordinates.map(c => c[1]);\n\n const result = this._module.GEO_to_Q2DI(...this._getParams(resolution), xCoords, yCoords);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n i: BigInt(result[i + size]),\n j: BigInt(result[i + 2 * size])\n });\n }\n return output;\n }\n\n // -------------------------------------------------------------------------\n // SEQNUM transformations (beyond the high-level methods above)\n // -------------------------------------------------------------------------\n\n /**\n * Converts sequence numbers to PLANE coordinates.\n * \n * @param sequenceNum - Array of cell IDs\n * @param resolution - Resolution level\n * @returns Array of `{x, y}` plane coordinates\n */\n sequenceNumToPlane(sequenceNum: bigint[], resolution: number = DEFAULT_RESOLUTION): Array<{ x: number, y: number }> {\n const result = this._module.SEQNUM_to_PLANE(...this._getParams(resolution), sequenceNum);\n\n const size = result.length / 2;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({ x: result[i], y: result[i + size] });\n }\n return output;\n }\n\n /**\n * Converts sequence numbers to PROJTRI coordinates.\n * \n * @param sequenceNum - Array of cell IDs\n * @param resolution - Resolution level\n * @returns Array of `{tnum, x, y}` projection triangle coordinates\n */\n sequenceNumToProjtri(sequenceNum: bigint[], resolution: number = DEFAULT_RESOLUTION): Array<{ tnum: number, x: number, y: number }> {\n const result = this._module.SEQNUM_to_PROJTRI(...this._getParams(resolution), sequenceNum);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n tnum: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts sequence numbers to Q2DD coordinates.\n * \n * @param sequenceNum - Array of cell IDs\n * @param resolution - Resolution level\n * @returns Array of `{quad, x, y}` quad 2D double coordinates\n */\n sequenceNumToQ2dd(sequenceNum: bigint[], resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, x: number, y: number }> {\n const result = this._module.SEQNUM_to_Q2DD(...this._getParams(resolution), sequenceNum);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts sequence numbers to Q2DI coordinates.\n * \n * @param sequenceNum - Array of cell IDs\n * @param resolution - Resolution level\n * @returns Array of `{quad, i, j}` quad 2D integer coordinates\n */\n sequenceNumToQ2di(sequenceNum: bigint[], resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, i: bigint, j: bigint }> {\n const result = this._module.SEQNUM_to_Q2DI(...this._getParams(resolution), sequenceNum);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n i: BigInt(result[i + size]),\n j: BigInt(result[i + 2 * size])\n });\n }\n return output;\n }\n\n // -------------------------------------------------------------------------\n // Q2DI transformations\n // -------------------------------------------------------------------------\n\n /**\n * Converts Q2DI coordinates to geographic coordinates.\n * \n * @param coords - Array of `{quad, i, j}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `[lng, lat]` positions\n */\n q2diToGeo(coords: Array<{ quad: number, i: bigint, j: bigint }>, resolution: number = DEFAULT_RESOLUTION): Position[] {\n const quads = coords.map(c => c.quad);\n const is = coords.map(c => Number(c.i));\n const js = coords.map(c => Number(c.j));\n\n const result = this._module.Q2DI_to_GEO(...this._getParams(resolution), quads, is, js);\n\n const size = result.length / 2;\n const output: Position[] = [];\n for (let i = 0; i < size; i++) {\n output.push([result[i], result[i + size]]);\n }\n return output;\n }\n\n /**\n * Converts Q2DI coordinates to sequence numbers.\n * \n * @param coords - Array of `{quad, i, j}` coordinates\n * @param resolution - Resolution level\n * @returns Array of cell IDs\n */\n q2diToSequenceNum(coords: Array<{ quad: number, i: bigint, j: bigint }>, resolution: number = DEFAULT_RESOLUTION): bigint[] {\n const quads = coords.map(c => c.quad);\n const is = coords.map(c => Number(c.i));\n const js = coords.map(c => Number(c.j));\n\n return this._module.Q2DI_to_SEQNUM(...this._getParams(resolution), quads, is, js);\n }\n\n /**\n * Converts Q2DI coordinates to PLANE coordinates.\n * \n * @param coords - Array of `{quad, i, j}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{x, y}` plane coordinates\n */\n q2diToPlane(coords: Array<{ quad: number, i: bigint, j: bigint }>, resolution: number = DEFAULT_RESOLUTION): Array<{ x: number, y: number }> {\n const quads = coords.map(c => c.quad);\n const is = coords.map(c => Number(c.i));\n const js = coords.map(c => Number(c.j));\n\n const result = this._module.Q2DI_to_PLANE(...this._getParams(resolution), quads, is, js);\n\n const size = result.length / 2;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({ x: result[i], y: result[i + size] });\n }\n return output;\n }\n\n /**\n * Converts Q2DI coordinates to PROJTRI coordinates.\n * \n * @param coords - Array of `{quad, i, j}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{tnum, x, y}` projection triangle coordinates\n */\n q2diToProjtri(coords: Array<{ quad: number, i: bigint, j: bigint }>, resolution: number = DEFAULT_RESOLUTION): Array<{ tnum: number, x: number, y: number }> {\n const quads = coords.map(c => c.quad);\n const is = coords.map(c => Number(c.i));\n const js = coords.map(c => Number(c.j));\n\n const result = this._module.Q2DI_to_PROJTRI(...this._getParams(resolution), quads, is, js);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n tnum: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts Q2DI coordinates to Q2DD coordinates.\n * \n * @param coords - Array of `{quad, i, j}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{quad, x, y}` quad 2D double coordinates\n */\n q2diToQ2dd(coords: Array<{ quad: number, i: bigint, j: bigint }>, resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, x: number, y: number }> {\n const quads = coords.map(c => c.quad);\n const is = coords.map(c => Number(c.i));\n const js = coords.map(c => Number(c.j));\n\n const result = this._module.Q2DI_to_Q2DD(...this._getParams(resolution), quads, is, js);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n // -------------------------------------------------------------------------\n // Q2DD transformations\n // -------------------------------------------------------------------------\n\n /**\n * Converts Q2DD coordinates to geographic coordinates.\n * \n * @param coords - Array of `{quad, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `[lng, lat]` positions\n */\n q2ddToGeo(coords: Array<{ quad: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Position[] {\n const quads = coords.map(c => c.quad);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.Q2DD_to_GEO(...this._getParams(resolution), quads, xs, ys);\n\n const size = result.length / 2;\n const output: Position[] = [];\n for (let i = 0; i < size; i++) {\n output.push([result[i], result[i + size]]);\n }\n return output;\n }\n\n /**\n * Converts Q2DD coordinates to sequence numbers.\n * \n * @param coords - Array of `{quad, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of cell IDs\n */\n q2ddToSequenceNum(coords: Array<{ quad: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): bigint[] {\n const quads = coords.map(c => c.quad);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n return this._module.Q2DD_to_SEQNUM(...this._getParams(resolution), quads, xs, ys);\n }\n\n /**\n * Converts Q2DD coordinates to PLANE coordinates.\n * \n * @param coords - Array of `{quad, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{x, y}` plane coordinates\n */\n q2ddToPlane(coords: Array<{ quad: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ x: number, y: number }> {\n const quads = coords.map(c => c.quad);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.Q2DD_to_PLANE(...this._getParams(resolution), quads, xs, ys);\n\n const size = result.length / 2;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({ x: result[i], y: result[i + size] });\n }\n return output;\n }\n\n /**\n * Converts Q2DD coordinates to PROJTRI coordinates.\n * \n * @param coords - Array of `{quad, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{tnum, x, y}` projection triangle coordinates\n */\n q2ddToProjtri(coords: Array<{ quad: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ tnum: number, x: number, y: number }> {\n const quads = coords.map(c => c.quad);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.Q2DD_to_PROJTRI(...this._getParams(resolution), quads, xs, ys);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n tnum: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts Q2DD coordinates to Q2DI coordinates.\n * \n * @param coords - Array of `{quad, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{quad, i, j}` quad 2D integer coordinates\n */\n q2ddToQ2di(coords: Array<{ quad: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, i: bigint, j: bigint }> {\n const quads = coords.map(c => c.quad);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.Q2DD_to_Q2DI(...this._getParams(resolution), quads, xs, ys);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n i: BigInt(result[i + size]),\n j: BigInt(result[i + 2 * size])\n });\n }\n return output;\n }\n\n // -------------------------------------------------------------------------\n // PROJTRI transformations\n // -------------------------------------------------------------------------\n\n /**\n * Converts PROJTRI coordinates to geographic coordinates.\n * \n * @param coords - Array of `{tnum, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `[lng, lat]` positions\n */\n projtriToGeo(coords: Array<{ tnum: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Position[] {\n const tnums = coords.map(c => c.tnum);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.PROJTRI_to_GEO(...this._getParams(resolution), tnums, xs, ys);\n\n const size = result.length / 2;\n const output: Position[] = [];\n for (let i = 0; i < size; i++) {\n output.push([result[i], result[i + size]]);\n }\n return output;\n }\n\n /**\n * Converts PROJTRI coordinates to sequence numbers.\n * \n * @param coords - Array of `{tnum, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of cell IDs\n */\n projtriToSequenceNum(coords: Array<{ tnum: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): bigint[] {\n const tnums = coords.map(c => c.tnum);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n return this._module.PROJTRI_to_SEQNUM(...this._getParams(resolution), tnums, xs, ys);\n }\n\n /**\n * Converts PROJTRI coordinates to PLANE coordinates.\n * \n * @param coords - Array of `{tnum, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{x, y}` plane coordinates\n */\n projtriToPlane(coords: Array<{ tnum: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ x: number, y: number }> {\n const tnums = coords.map(c => c.tnum);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.PROJTRI_to_PLANE(...this._getParams(resolution), tnums, xs, ys);\n\n const size = result.length / 2;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({ x: result[i], y: result[i + size] });\n }\n return output;\n }\n\n /**\n * Converts PROJTRI coordinates to Q2DD coordinates.\n * \n * @param coords - Array of `{tnum, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{quad, x, y}` quad 2D double coordinates\n */\n projtriToQ2dd(coords: Array<{ tnum: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, x: number, y: number }> {\n const tnums = coords.map(c => c.tnum);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.PROJTRI_to_Q2DD(...this._getParams(resolution), tnums, xs, ys);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n x: result[i + size],\n y: result[i + 2 * size]\n });\n }\n return output;\n }\n\n /**\n * Converts PROJTRI coordinates to Q2DI coordinates.\n * \n * @param coords - Array of `{tnum, x, y}` coordinates\n * @param resolution - Resolution level\n * @returns Array of `{quad, i, j}` quad 2D integer coordinates\n */\n projtriToQ2di(coords: Array<{ tnum: number, x: number, y: number }>, resolution: number = DEFAULT_RESOLUTION): Array<{ quad: number, i: bigint, j: bigint }> {\n const tnums = coords.map(c => c.tnum);\n const xs = coords.map(c => c.x);\n const ys = coords.map(c => c.y);\n\n const result = this._module.PROJTRI_to_Q2DI(...this._getParams(resolution), tnums, xs, ys);\n\n const size = result.length / 3;\n const output: any[] = [];\n for (let i = 0; i < size; i++) {\n output.push({\n quad: result[i],\n i: BigInt(result[i + size]),\n j: BigInt(result[i + 2 * size])\n });\n }\n return output;\n }\n\n // -------------------------------------------------------------------------\n // PLANE transformations\n // Note: PLANE is an output-only coordinate system in DGGRID.\n // There are no PLANE_to_* transformations available.\n // Use other coordinate systems (GEO, SEQNUM, Q2DI, Q2DD, PROJTRI) as input.\n // -------------------------------------------------------------------------\n\n // =========================================================================\n // IGEO7 / Z7 — hexagonal hierarchical index (packed UBIGINT)\n //\n // Wraps the upstream Z7 C++ core library (from allixender/igeo7_duckdb).\n // These are **stateless** bit-level operations on a packed 64-bit index —\n // they do **not** use the active DGGS configuration and can be called\n // without first invoking {@link setDggs}.\n //\n // Index layout (MSB → LSB):\n // [63:60] base cell (0-11)\n // [59:57] digit 1 (0-6; 7 = padding / unused slot)\n // [56:54] digit 2\n // ...\n // [ 2: 0] digit 20\n //\n // The \"compact string\" form from {@link igeo7ToString} is a 2-digit\n // zero-padded base cell followed by the non-padding digit characters —\n // e.g. `'0800432'` (base 08, digits 0,0,4,3,2, resolution 5).\n //\n // The invalid sentinel is `UINT64_MAX` (`0xFFFFFFFFFFFFFFFFn`), returned\n // by {@link igeo7Neighbours} for pentagon-excluded directions and by\n // {@link igeo7Neighbour} for out-of-range direction arguments.\n // =========================================================================\n\n /**\n * Normalize a 64-bit integer (possibly returned as signed BigInt by the\n * WASM boundary when bit 63 is set) to its canonical unsigned form.\n * @internal\n */\n private _u64(x: bigint): bigint {\n return BigInt.asUintN(64, x);\n }\n\n /**\n * Parse a Z7 compact string into a packed 64-bit index.\n *\n * ```ts\n * const idx = dggs.igeo7FromString('0800432');\n * // idx is a BigInt packed index for base=8, digits=[0,0,4,3,2], res=5\n * ```\n *\n * @param s - Compact Z7 string (2-digit base + digit characters).\n * @returns Packed index as BigInt (unsigned).\n */\n igeo7FromString(s: string): bigint {\n return this._u64(this._module.igeo7_from_string(s));\n }\n\n /**\n * Render a packed Z7 index as its compact string form.\n *\n * Stops at the first padding digit (value 7), producing a string whose\n * length reflects the cell's resolution (`2 + resolution` characters).\n *\n * ```ts\n * dggs.igeo7ToString(dggs.igeo7FromString('0800432')); // '0800432'\n * ```\n *\n * @param index - Packed Z7 index.\n * @returns Compact Z7 string.\n */\n igeo7ToString(index: bigint): string {\n return this._module.igeo7_to_string(index);\n }\n\n /**\n * Pack a base cell and exactly 20 digit slots into a 64-bit Z7 index.\n *\n * Use digit value `7` for every slot beyond the desired resolution.\n * Field values are masked internally — no range-check is required.\n *\n * ```ts\n * // Reconstruct '0800432' — base=8, resolution=5\n * const idx = dggs.igeo7Encode(\n * 8, [0,0,4,3,2, 7,7,7,7,7, 7,7,7,7,7, 7,7,7,7,7]\n * );\n * // idx === dggs.igeo7FromString('0800432')\n * ```\n *\n * @param base - Base cell (0-11).\n * @param digits - Exactly 20 digit values (0-7 each).\n * @returns Packed Z7 index as BigInt.\n * @throws If `digits.length !== 20`.\n */\n igeo7Encode(base: number, digits: number[]): bigint {\n if (digits.length !== 20) {\n throw new Error(`igeo7Encode requires exactly 20 digits, got ${digits.length}`);\n }\n return this._u64(this._module.igeo7_encode(\n base,\n digits[0], digits[1], digits[2], digits[3], digits[4],\n digits[5], digits[6], digits[7], digits[8], digits[9],\n digits[10], digits[11], digits[12], digits[13], digits[14],\n digits[15], digits[16], digits[17], digits[18], digits[19]\n ));\n }\n\n /**\n * Extract the resolution (0-20) of a packed Z7 index.\n *\n * @param index - Packed Z7 index.\n * @returns Resolution level.\n */\n igeo7GetResolution(index: bigint): number {\n return this._module.igeo7_get_resolution(index);\n }\n\n /**\n * Extract the base cell (0-11) of a packed Z7 index.\n *\n * @param index - Packed Z7 index.\n * @returns Base cell ID.\n */\n igeo7GetBaseCell(index: bigint): number {\n return this._module.igeo7_get_base_cell(index);\n }\n\n /**\n * Extract the `i`-th digit (1-20) of a packed Z7 index.\n * Positions outside `[1, 20]` return `7` (matches DuckDB extension).\n *\n * @param index - Packed Z7 index.\n * @param position - Digit position, 1-based.\n * @returns Digit value (0-7).\n */\n igeo7GetDigit(index: bigint, position: number): number {\n return this._module.igeo7_get_digit(index, position);\n }\n\n /**\n * Parent of a Z7 cell — one hierarchy level up.\n *\n * At resolution 0 the cell is its own parent (the result has resolution 0\n * and the same base cell).\n *\n * ```ts\n * const child = dggs.igeo7FromString('0800432');\n * dggs.igeo7ToString(dggs.igeo7Parent(child)); // '080043'\n * ```\n *\n * @param index - Packed Z7 index.\n * @returns Parent index as BigInt.\n */\n igeo7Parent(index: bigint): bigint {\n return this._u64(this._module.igeo7_parent(index));\n }\n\n /**\n * Ancestor of a Z7 cell at a specific resolution.\n *\n * Keeps digits `1..resolution` and fills the remainder with padding\n * (`7`). The argument is clamped to `[0, 20]`.\n *\n * ```ts\n * const cell = dggs.igeo7FromString('0800432');\n * dggs.igeo7ToString(dggs.igeo7ParentAt(cell, 3)); // '08004'\n * ```\n *\n * @param index - Packed Z7 index.\n * @param resolution - Target resolution (0-20).\n * @returns Ancestor index as BigInt.\n */\n igeo7ParentAt(index: bigint, resolution: number): bigint {\n return this._u64(this._module.igeo7_parent_at(index, resolution));\n }\n\n /**\n * Return all 6 neighbour indices of a Z7 cell, in GBT directions 1-6.\n *\n * Invalid neighbours (e.g. one direction on the 12 pentagons) are the\n * sentinel `UINT64_MAX` (`0xFFFFFFFFFFFFFFFFn`). Use {@link igeo7IsValid}\n * to filter them out.\n *\n * ```ts\n * const cell = dggs.igeo7FromString('0800432');\n * const ns = dggs.igeo7Neighbours(cell)\n * .filter(n => dggs.igeo7IsValid(n))\n * .map(n => dggs.igeo7ToString(n));\n * ```\n *\n * @param index - Packed Z7 index.\n * @returns Array of exactly 6 BigInt neighbour indices.\n */\n igeo7Neighbours(index: bigint): bigint[] {\n const raw = this._module.igeo7_get_neighbours(index) as bigint[];\n return raw.map(n => this._u64(n));\n }\n\n /**\n * Single neighbour of a Z7 cell by GBT direction (1-6).\n *\n * Returns the invalid sentinel (`UINT64_MAX`) when `direction` is outside\n * `[1, 6]` or when the requested neighbour is excluded (pentagons).\n *\n * @param index - Packed Z7 index.\n * @param direction - Direction number, 1-6.\n * @returns Neighbour index as BigInt.\n */\n igeo7Neighbour(index: bigint, direction: number): bigint {\n return this._u64(this._module.igeo7_get_neighbour(index, direction));\n }\n\n /**\n * Position (1-20) of the first non-zero digit slot in a Z7 index.\n * Returns `0` when no non-zero digit exists (centre of the base cell).\n *\n * @param index - Packed Z7 index.\n * @returns Position of first non-zero digit, or 0.\n */\n igeo7FirstNonZero(index: bigint): number {\n return this._module.igeo7_first_non_zero(index);\n }\n\n /**\n * Whether a packed Z7 index is valid (i.e. not the `UINT64_MAX` sentinel).\n *\n * @param index - Packed Z7 index.\n * @returns `true` if valid, `false` for the invalid sentinel.\n */\n igeo7IsValid(index: bigint): boolean {\n return this._module.igeo7_is_valid(index);\n }\n\n /**\n * Convert a geodetic latitude (WGS84 ellipsoid) to its authalic latitude\n * on the equal-area sphere. Implementation follows Karney (2022) — same\n * polynomial used by the `igeo7_geo_to_authalic` DuckDB scalar function.\n *\n * Longitude is unaffected; only latitude is transformed.\n *\n * @param latDeg - Geodetic latitude in degrees, range `[-90, 90]`.\n * @returns Authalic latitude in degrees.\n */\n igeo7GeoToAuthalic(latDeg: number): number {\n return this._module.igeo7_geo_to_authalic(latDeg);\n }\n\n /**\n * Inverse of {@link igeo7GeoToAuthalic} — convert an authalic latitude\n * back to geodetic.\n *\n * @param latDeg - Authalic latitude in degrees.\n * @returns Geodetic latitude (WGS84) in degrees.\n */\n igeo7AuthalicToGeo(latDeg: number): number {\n return this._module.igeo7_authalic_to_geo(latDeg);\n }\n\n /**\n * Apply {@link igeo7GeoToAuthalic} (or its inverse) to every coordinate of\n * a GeoJSON geometry, feature, or feature collection. Mirrors the\n * `igeo7_geo_to_authalic` / `igeo7_authalic_to_geo` DuckDB functions\n * (which take/return `GEOMETRY`); this is the WASM equivalent for\n * GeoJSON-shaped inputs.\n *\n * The input is **deep-cloned** — the source object is not mutated.\n * Geometries with `null` or unsupported types are returned unchanged.\n *\n * @param input - Any GeoJSON geometry, feature, or feature collection.\n * @param direction - `'geoToAuthalic'` (default) or `'authalicToGeo'`.\n * @returns A new GeoJSON object of the same shape with transformed lats.\n */\n igeo7TransformGeoJson<T extends GeoJSON>(\n input: T,\n direction: 'geoToAuthalic' | 'authalicToGeo' = 'geoToAuthalic',\n ): T {\n const fn = direction === 'authalicToGeo'\n ? (lat: number) => this._module.igeo7_authalic_to_geo(lat)\n : (lat: number) => this._module.igeo7_geo_to_authalic(lat);\n return transformGeoJsonLatitudes(input, fn);\n }\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// GeoJSON latitude transform helper (used by igeo7TransformGeoJson)\n// ─────────────────────────────────────────────────────────────────────────────\n\ntype Pos = number[];\n\nfunction transformPos(pos: Pos, fn: (lat: number) => number): Pos {\n // GeoJSON positions are [lng, lat, ...]; only lat (index 1) is touched,\n // any z/m values trail through untouched.\n const out = pos.slice();\n if (out.length >= 2) out[1] = fn(out[1]);\n return out;\n}\n\nfunction transformCoords(coords: any, depth: number, fn: (lat: number) => number): any {\n if (depth === 0) return transformPos(coords as Pos, fn);\n return (coords as any[]).map(c => transformCoords(c, depth - 1, fn));\n}\n\nconst COORD_DEPTH: Record<string, number> = {\n Point: 0,\n LineString: 1,\n MultiPoint: 1,\n Polygon: 2,\n MultiLineString: 2,\n MultiPolygon: 3,\n};\n\nfunction transformGeometry(geom: any, fn: (lat: number) => number): any {\n if (!geom || typeof geom.type !== 'string') return geom;\n if (geom.type === 'GeometryCollection') {\n return {\n ...geom,\n geometries: (geom.geometries || []).map((g: any) => transformGeometry(g, fn)),\n };\n }\n const depth = COORD_DEPTH[geom.type];\n if (depth === undefined || !geom.coordinates) return geom;\n return { ...geom, coordinates: transformCoords(geom.coordinates, depth, fn) };\n}\n\nfunction transformGeoJsonLatitudes<T>(input: T, fn: (lat: number) => number): T {\n const node = input as any;\n if (!node || typeof node.type !== 'string') return input;\n switch (node.type) {\n case 'FeatureCollection':\n return {\n ...node,\n features: (node.features || []).map((f: any) => transformGeoJsonLatitudes(f, fn)),\n } as T;\n case 'Feature':\n return { ...node, geometry: transformGeometry(node.geometry, fn) } as T;\n default:\n return transformGeometry(node, fn) as T;\n }\n}\n"],"names":["ab","ArrayBuffer","u8","Uint8Array","u16","Uint16Array","i16","Int16Array","i32","Int32Array","slc","v","s","e","prototype","slice","call","length","n","set","subarray","fill","cpw","t","copyWithin","ec","err","ind","msg","nt","Error","code","captureStackTrace","rb","d","b","i","o","rzfh","dat","w","n3","flg","ss","cc","df","fcf","bt","db","di","fsb","fss","ws","wb","buf","y","l","buffer","u","c","m","Math","min","msb","val","bits","rfse","mal","tpos","al","sz","probs","sym","re","ht","freq","dstate","nstate","bb1","syms","nbits","cbt","msk","msk1fb","msv","sval","rbt","sympos","sstep","smask","sf","ns","nb","dllt","dmlt","doct","b2bl","len","bl","llb","llbl","mlb","mlbl","dhu","out","hu","lb","eb","st","btr","pos","dhu4","sz1","sz2","sz3","rzb","_a","b0","btype","ebt","b3","lbt","lss","lcs","s4","spl","h","hud","wc","hb","hw","rc","ri","fdt","epos","st1","st2","btr1","btr2","fpos","byte","wes","wt","mb","ts","rem","hbuf","pv","rhu","scm","dts","md","rbuf","_b","mlt","oct","llt","spos","oubt","lst","ost","mst","llc","lbtr","mlc","mbtr","ofc","obtr","ofp","off","ml","ll","idx","stin","bs","decompress","bufs","ol","push","blk","chk","cct","extract","raw","compressed","ret","p","indexOf","decode","async","libdggrid","moduleArg","Module","thisProgram","wasmBinary","readyPromiseResolve","readyPromiseReject","wasmBinaryFile","HEAP16","HEAP32","HEAP64","HEAP8","HEAPF32","HEAPF64","HEAPU16","HEAPU32","HEAPU64","HEAPU8","console","log","bind","error","ABORT","runtimeInitialized","updateMemoryViews","wasmMemory","Int8Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","abort","what","WebAssembly","RuntimeError","findWasmBinary","path","URL","url","href","getWasmBinary","binaryFile","response","readAsync","file","getBinarySync","instantiateAsync","binary","imports","startsWith","fetch","credentials","instantiateStreaming","reason","instantiate","instantiateArrayBuffer","ExitStatus","name","constructor","status","this","message","callRuntimeCallbacks","callbacks","shift","onPostRuns","addOnPostRun","cb","onPreRuns","addOnPreRun","noExitRuntime","stackSave","_emscripten_stack_get_current","ExceptionInfo","excPtr","ptr","set_type","type","get_type","set_destructor","destructor","get_destructor","set_caught","caught","get_caught","set_rethrown","rethrown","get_rethrown","init","set_adjusted_ptr","adjustedPtr","get_adjusted_ptr","AsciiToString","str","ch","String","fromCharCode","awaitingDependencies","registeredTypes","typeDependencies","BindingError","super","throwBindingError","registerType","rawType","registeredInstance","options","hasOwnProperty","ignoreDuplicateRegistrations","forEach","sharedRegisterType","integerReadValueFromPointer","width","signed","pointer","TypeError","throwInstanceAlreadyDeleted","obj","$$","ptrType","registeredClass","finalizationRegistry","detachFinalizer","handle","releaseClassHandle","count","value","smartPtr","smartPtrType","rawDestructor","runDestructor","attachFinalizer","globalThis","FinalizationRegistry","info","register","unregister","ClassHandle","createNamedFunction","func","Object","defineProperty","registeredPointers","ensureOverloadTable","proto","methodName","humanName","undefined","overloadTable","prevFunc","args","apply","argCount","exposePublicSymbol","numArguments","RegisteredClass","instancePrototype","baseClass","getActualType","upcast","downcast","pureVirtualFunctions","upcastPointer","ptrClass","desiredClass","embindRepr","toString","constNoSmartPtrRawPointerToWireType","destructors","isReference","handleClass","genericPointerToWireType","isSmartPointer","rawConstructor","isConst","sharingPolicy","clonedHandle","rawShare","Emval","toHandle","nonConstNoSmartPtrRawPointerToWireType","readPointer","fromWireType","downcastPointer","rv","registeredInstances","getInheritedInstance","class_","getBasestPointer","InternalError","throwInternalError","makeClassHandle","record","create","writable","RegisteredPointer_fromWireType","rawPointer","getPointee","makeDefaultHandle","pointeeType","toType","actualType","registeredPointerRecord","constPointerType","pointerType","dp","RegisteredPointer","rawGetPointee","toWireType","destructorFunction","replacePublicSymbol","wasmTableMirror","embind__requireFunction","signature","rawFunction","isAsync","funcPtr","fp","wasmTable","get","UnboundTypeError","getTypeName","___getTypeName","_free","throwUnboundTypeError","types","unboundTypes","seen","visit","map","join","whenDependentTypesAreResolved","myTypes","dependentTypes","getTypeConverters","onComplete","typeConverters","myTypeConverters","Array","unregisteredTypes","registered","dt","entries","heap32VectorToArray","firstElement","array","runDestructors","pop","del","craftInvokerFunction","argTypes","classType","cppInvokerFunc","cppTargetFunc","isClassMethodFunc","needsDestructorStack","usesDestructorStack","returns","isVoid","expectedArgCount","argsWired","invokerFuncArgs","thisWired","param","onDone","getFunctionName","argsIndex","trim","emval_freelist","emval_handles","__emval_decref","toValue","EmValType","readValueFromPointer","floatReadValueFromPointer","installIndexedIterator","sizeMethodName","getMethodName","makeIterator","size","getValue","index","next","done","current","Symbol","iterator","EmValOptionalType","assign","optional","stringToUTF8","outPtr","maxBytesToWrite","heap","outIdx","startIdx","endIdx","codePointAt","stringToUTF8Array","lengthBytesUTF8","charCodeAt","UTF8Decoder","TextDecoder","findStringEnd","heapOrArray","maxBytesToRead","ignoreNul","maxIdx","UTF8ArrayToString","endPtr","u0","u1","u2","UTF8ToString","UTF16Decoder","UTF16ToString","codeUnit","stringToUTF16","startPtr","numCharsToWrite","lengthBytesUTF16","UTF32ToString","utf32","fromCodePoint","stringToUTF32","codePoint","lengthBytesUTF32","emval_methodCallers","requireRegisteredType","impl","emval_symbols","getStringOrSymbol","address","symbol","__emval_invoke","caller","destructorsRef","alignMemory","alignment","ceil","growMemory","pages","byteLength","grow","ENV","getEnvStrings","strings","env","USER","LOGNAME","PATH","PWD","HOME","LANG","navigator","language","replace","_","x","_proc_exit","toThrow","quit_","_exit","implicit","_malloc","__emscripten_stack_restore","__emscripten_stack_alloc","printCharBuffers","printChar","stream","curr","getCFunc","ident","stackAlloc","ccall","returnType","opts","toC","string","stringToUTF8OnStack","arr","cArgs","stack","converter","Boolean","convertReturnValue","isAliasOf","other","leftClass","left","rightClass","right","clone","preservePointerOnDelete","getPrototypeOf","deleteScheduled","isDeleted","deleteLater","symbolDispose","dispose","init_ClassHandle","numericArgs","every","wasmExports","wasmImports","g","D","primitiveType","minRange","maxRange","isUnsignedType","bitSize","BigInt","asUintN","J","trueValue","falseValue","rawPointerType","rawConstPointerType","baseClassRawType","getActualTypeSignature","upcastSignature","downcastSignature","destructorSignature","legalFunctionName","f","makeLegalFunctionName","base","basePrototype","constructor_body","body","keys","__derivedClasses","referenceConverter","pointerConverter","constPointerConverter","rawClassType","rawArgTypesAddr","invokerSignature","invoker","rawArgTypes","splice","rawInvoker","context","isPureVirtual","isNonnullReturn","unboundTypesHandler","substring","method","className","memberFunction","H","a","fn","invokerArgsArray","concat","j","bitshift","k","rawElementType","dataTypeIndex","TA","decodeMemoryView","data","rawOptionalType","I","valueIsOfTypeString","isView","BYTES_PER_ELEMENT","charSize","decodeString","encodeString","lengthBytesUTF","K","dst","src","argTypesPtr","kind","retType","emval_lookupTypes","toReturnWire","argFromPtr","id","argN","functionName","offset","Reflect","construct","result","emval_returnValue","M","key","r","a1","a2","a3","a4","a5","view","L","q","z","timezone","daylight","std_name","dst_name","currentYear","Date","getFullYear","winter","summer","winterOffset","getTimezoneOffset","summerOffset","stdTimezoneOffset","max","Number","extractZone","timezoneOffset","sign","absOffset","abs","floor","padStart","winterName","summerName","C","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","newSize","A","__environ","environ_buf","bufSize","envp","Infinity","B","penviron_count","penviron_buf_size","N","F","fd","G","iov","iovcnt","pnum","E","whence","newOffset","num","receiveInstance","instance","module","assignWasmExports","exports","Promise","resolve","reject","inst","mod","receiveInstantiationResult","doRun","postRun","preRun","setTimeout","run","g_module","g_wasmBinary","Topology","Projection","unwrapAntimeridianRing","ring","prev","delta","DEFAULT_DGGS","poleCoordinates","lat","lng","azimuth","topology","HEXAGON","projection","ISEA","aperture","Webdggrid","_module","dggs","resolution","load","wrapper","then","catch","unload","version","setDggs","getResolution","setResolution","_main","nCells","apertureSequence","isApertureSequence","apSeq","cellAreaKM","cellDistKM","gridStatCLS","geoToSequenceNum","coordinates","xCoords","coord","yCoords","DgGEO_to_SEQNUM","sequenceNumToGeo","sequenceNum","resultArray","SEQNUM_to_GEO","arrayOfArrays","geoToGeo","GEO_to_GEO","sequenceNumToGrid","unwrap","inputSize","SeqNumGrid","getExceptionMessage","allShapeVertexes","featureSet","xOffset","yOffset","reduce","accumulator","currentValue","numVertexes","sequenceNumToGridFeatureCollection","features","seqNum","geometry","properties","sequenceNumNeighbors","TRIANGLE","SEQNUMS_neighbors","counts","neighbors","sequenceNumParent","SEQNUMS_parents","sequenceNumAllParents","SEQNUMS_all_parents","_getParams","inner","sequenceNumChildren","SEQNUMS_children","children","sequenceNumToVertex2DD","SEQNUM_to_VERTEX2DD","vertex2DDToSequenceNum","keep","vertNum","triNum","VERTEX2DD_to_SEQNUM","sequenceNumToZOrder","SEQNUM_to_ZORDER","errMsg","includes","zOrderToSequenceNum","zorderValue","ZORDER_to_SEQNUM","sequenceNumToZ3","SEQNUM_to_Z3","z3ToSequenceNum","z3Value","Z3_to_SEQNUM","sequenceNumToZ7","SEQNUM_to_Z7","z7ToSequenceNum","z7Value","Z7_to_SEQNUM","z7GetQuad","Z7_QUAD_MASK","Z7_QUAD_OFFSET","z7GetDigit","res","Z7_MAX_RES","Z7_BITS_PER_DIGIT","Z7_DIGIT_MASK","z7SetDigit","digit","z7ExtractDigits","quad","digits","z3GetQuad","Z3_QUAD_MASK","Z3_QUAD_OFFSET","z3GetDigit","Z3_MAX_RES","Z3_BITS_PER_DIGIT","Z3_DIGIT_MASK","z3SetDigit","z3ExtractDigits","zOrderGetQuad","ZORDER_QUAD_MASK","ZORDER_QUAD_OFFSET","zOrderGetDigit","ZORDER_MAX_RES","ZORDER_BITS_PER_DIGIT","ZORDER_DIGIT_MASK","zOrderSetDigit","zOrderExtractDigits","geoToPlane","GEO_to_PLANE","output","geoToProjtri","GEO_to_PROJTRI","tnum","geoToQ2dd","GEO_to_Q2DD","geoToQ2di","GEO_to_Q2DI","sequenceNumToPlane","SEQNUM_to_PLANE","sequenceNumToProjtri","SEQNUM_to_PROJTRI","sequenceNumToQ2dd","SEQNUM_to_Q2DD","sequenceNumToQ2di","SEQNUM_to_Q2DI","q2diToGeo","coords","quads","is","js","Q2DI_to_GEO","q2diToSequenceNum","Q2DI_to_SEQNUM","q2diToPlane","Q2DI_to_PLANE","q2diToProjtri","Q2DI_to_PROJTRI","q2diToQ2dd","Q2DI_to_Q2DD","q2ddToGeo","xs","ys","Q2DD_to_GEO","q2ddToSequenceNum","Q2DD_to_SEQNUM","q2ddToPlane","Q2DD_to_PLANE","q2ddToProjtri","Q2DD_to_PROJTRI","q2ddToQ2di","Q2DD_to_Q2DI","projtriToGeo","tnums","PROJTRI_to_GEO","projtriToSequenceNum","PROJTRI_to_SEQNUM","projtriToPlane","PROJTRI_to_PLANE","projtriToQ2dd","PROJTRI_to_Q2DD","projtriToQ2di","PROJTRI_to_Q2DI","_u64","igeo7FromString","igeo7_from_string","igeo7ToString","igeo7_to_string","igeo7Encode","igeo7_encode","igeo7GetResolution","igeo7_get_resolution","igeo7GetBaseCell","igeo7_get_base_cell","igeo7GetDigit","position","igeo7_get_digit","igeo7Parent","igeo7_parent","igeo7ParentAt","igeo7_parent_at","igeo7Neighbours","igeo7_get_neighbours","igeo7Neighbour","direction","igeo7_get_neighbour","igeo7FirstNonZero","igeo7_first_non_zero","igeo7IsValid","igeo7_is_valid","igeo7GeoToAuthalic","latDeg","igeo7_geo_to_authalic","igeo7AuthalicToGeo","igeo7_authalic_to_geo","igeo7TransformGeoJson","input","transformGeoJsonLatitudes","transformCoords","depth","transformPos","COORD_DEPTH","Point","LineString","MultiPoint","Polygon","MultiLineString","MultiPolygon","transformGeometry","geom","geometries","node"],"mappings":"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","x_google_ignoreList":[0]}
|