From db88e909ec079a4f8a3cdad6e44d2d4d19e7528a Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Thu, 25 Nov 2021 14:21:00 +0100 Subject: [PATCH 01/19] add Gadget2Particle as it is. WIP - request for comments and help. - Many routines translated from pynbody to read gadget2 files (format 1 and 2). - Drastically reduced code repetition. TODO: - A config file needed for collect gadget user defined fields and relative units. - StructArray data type (e.g. Float32 of Float64) can't be instantiated at runtime. I think it should be possible, but still I need to find a way. - Rebase with latest modifications upstream --- Project.toml | 1 + src/Gadget.jl | 421 ++++++++++++++++++++++++++++++++++++++++++++++- test/runtests.jl | 17 +- 3 files changed, 426 insertions(+), 13 deletions(-) diff --git a/Project.toml b/Project.toml index a7b3100..4004834 100644 --- a/Project.toml +++ b/Project.toml @@ -6,6 +6,7 @@ version = "0.1.0" [deps] BangBang = "198e06fe-97b7-11e9-32a5-e1d131e6ad66" CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" +Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" diff --git a/src/Gadget.jl b/src/Gadget.jl index 13579b8..a145241 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -61,6 +61,415 @@ function HeaderGadget2(data; ) end + +# abstract type AbstractChemicalComposition end + +# mutable struct ChemicalComposition{T<:AbstractFloat} +# Fe::T +# Mg::T +# end + + +struct Gadget2Particle{P, V, A, M, E, F, Et, D, T, dP, dE, Prs, T_1, I<:Integer} <: AbstractParticle3D + Pos::PVector{P} + Vel::PVector{V} + Acc::PVector{A} + Mass::M + ID::I + Collection::Collection + + Ti_endstep::I # Next integer step on the timeline. + Ti_begstep::I # Present integer step on the timeline. + GravCost::I # For each two-particle interaction, GravCost += 1 + + Potential::E # Particle potential in the force field + OldAcc::A # Save the normalization of acceleration of last step. Useful in Tree n-body method. + + # SPH + Entropy::Et + Density::D + Hsml::P + + Left::F + Right::F + NumNgbFound::I + + RotVel::PVector{V} + DivVel::T_1 + CurlVel::T_1 + dHsmlRho::dP + + Pressure::Prs + DtEntropy::dE + MaxSignalVel::V + + Energy::E + Temperature::T + + # Composition::AbstractChemicalComposition +end + +function Gadget2Particle{T, I}(units::Array; id::I = zero(I), collection = STAR) where {T<:AbstractFloat, I<:Integer} + uLength = getuLength(units) + uTime = getuTime(units) + uMass = getuMass(units) + uVel = getuVel(units) + uAcc = getuAcc(units) + uEnergy = getuEnergy(units) + uEnergyUnit = getuEnergyUnit(units) + uTemperature = getuTemperature(units) + return Gadget2Particle( + PVector(T, uLength), PVector(T, uVel), PVector(T, uAcc), + zero(T) * uMass, id, collection, + zero(I), zero(I), zero(I), + zero(T) * uEnergyUnit, zero(T) * uAcc, + + zero(T) * getuEntropy(units), + zero(T) * getuDensity(units), zero(T) * uLength, + zero(T), zero(T), zero(I), + PVector(T, uVel), + zero(T) / uTime, zero(T) / uTime, zero(T) * uLength, + zero(T) * getuPressure(units), + zero(T) * getuEntropy(units) / uTime, + zero(T) * uVel, + zero(T) * uEnergyUnit, + zero(T) * uTemperature + # ChemicalComposition(0.0,0.0), + ) +end + +# MethodError: Cannot `convert` an object of type +# PVector{Quantity{Float32,๐‹,Unitful.FreeUnits{(kpc,),๐‹,nothing}}} to an object of type +# PVector{Quantity{Float64,๐‹,Unitful.FreeUnits{(kpc,),๐‹,nothing}}} +# Closest candidates are: +# convert(::Type{T}, ::T) where T at essentials.jl:205 +# PVector{T}(::Any, ::Any, ::Any) where T<:Number + +# TODO We could consider to change the signature of Gadget2Particle to have only two parametric types. +function Gadget2Particle(args...; kw...) + Gadget2Particle{Float64, Int64}(args...; kw... ) +end + +const N_TYPE = length(instances(Collection)) + +const name_mapper = Dict("POS " => :Pos, + "ID " => :ID, + "VEL " => :Vel, + "ACCE" => :Acc, + "MASS" => :Mass, + "RHO " => :Density, + "ENTR" => :Entropy, + "HSML" => :Hsml, + "POT " => :Potential, + "U " => :Energy, + "TEMP" => :Temperature, + ) + +function get_units(field::Symbol, units = uGadget2) + units_dict = Dict(:Pos => getuLength, + :ID => x -> Unitful.NoUnits, + :Vel => getuVel, + :Acc => getuAcc, + :Mass => getuMass, + :Density => getuDensity, + :Entropy => getuEntropy, + :Hsml => getuLength, + :Potential => getuEnergyUnit, + :Pressure => getuPressure, + :Temperature => getuTemperature, + :Energy => getuEnergyUnit, + ) + return get(units_dict, field, x -> Unitful.NoUnits)(units) +end + +const gadget2_format1_names = ["HEAD", "POS ", "VEL ", "ID ", "MASS", + "ENTR", "RHO ", "HSML", "POT ", "ACCE"] + +abstract type AbstractGadget2Block end + +Gadget2Stream = Union{IOStream,Stream{format"Gadget2"}} + +# struct AbstractGadget2Stream{N::Integer} <:Union{IOStream,Stream{format"Gadget2"}} +# format::N +# end + +mutable struct Gadget2Block <: AbstractGadget2Block + label::Union{String, Missing} + data_size::Integer + position::Integer + partlen::Integer + data_type::Type + p_types::AbstractVector{Bool} +end + +function Gadget2Block(label::Union{String, Missing}, data_size::Integer, position::Integer) + return Gadget2Block(label, data_size, position, 0, Number, zeros(Bool, N_TYPE)) +end + + +function Base.show(io::IO, b::Gadget2Block) + print(io,"$(b.label) - $(b.data_size) ($(b.position))") +end + + +function set_partlen!(block::Gadget2Block, npart::AbstractVector) + tot_part = sum(npart) + # Set the partlen, using our amazing heuristics + flag = false + if block.label == "POS " || block.label == "VEL " + if block.data_size == tot_part * 24 + block.partlen = 24 + block.data_type = Float64 + else + block.partlen = 12 + block.data_type = Float32 + end + block.p_types = npart .!= false + flag = true + elseif block.label == "ID " + # Heuristic for long (64-bit) IDs + if block.data_size == tot_part * 4 + block.partlen = 4 + block.data_type = Int32 + else + block.partlen = 8 + block.data_type = Int64 + end + block.p_types = npart .!= false + flag = true + end + return flag +end + +using Combinatorics +""" +Set up the particle types in the block, with a heuristic, +which assumes that blocks are either fully present or not +for a given particle type +""" +function get_block_one_hot_collection(block::Gadget2Block, npart::AbstractVector) + tot_part = sum(npart) + p_types = zeros(Bool, N_TYPE) + if block.data_size == tot_part * block.partlen + p_types[:] .= true + return p_types + end + for blocknpart in 1:N_TYPE-1 + # iterate of different possible combinations of particles in the block + # we stop when we can we match the length of the block + for perm in permutations([1:N_TYPE...], blocknpart) + # the 64-bit calculation is important here + if block.data_size == sum(npart[perm]) * block.partlen + p_types[perm] .= true + return p_types + end + end + end + throw(DomainError(block.label, "Could not determine particle types for block")) +end + +""" +Get the dimensionality of the block. +eg, 3 for POS, 1 for most other things +""" +function get_block_dim(block::Gadget2Block) + return block.partlen รท sizeof(block.data_type) +end + +function treat_header!(block::Gadget2Block) + +end + + +function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, header::HeaderGadget2) + blocks = Vector{Gadget2Block}() + get_block = format == 1 ? get_block_format1 : get_block_format2 + counter = 1 + seekstart(f) + while !eof(f) + block = get_block(f) + if format == 1 + block.label = gadget2_format1_names[counter] + counter +=1 + end + if block.label == "HEAD" + treat_header!(block) + continue + end + + succ = set_partlen!(block, header.npart) + if !succ + """ + Figure out what particles are here and what types + they have. This also is a heuristic, which assumes + that blocks are either fully present or not for a + given particle. It also has to try all + possibilities of dimensions of array and data type. + """ + for (dim, tp) in ((1, Float32), (1, Float64), (3, Float32), (3, Float64)) + try + block.data_type = tp + block.partlen = sizeof(tp) * dim + block.p_types = get_block_one_hot_collection(block, header.npart) + succ = true + break + catch e + if isa(e, DomainError) + continue + else + rethrow(e) + end + end + end + end + + if !succ + @warn "Encountered a gadget block $(block.label) which could not be interpreted - is it a strange length or data type (length=$(block.data_size))?" + end + + # get_block_one_hot_collection(block, header.npart) + + push!(blocks, block) + end + seekstart(f) + return blocks +end + + +function read_block(f::Gadget2Stream, b::Gadget2Block, data::StructArray) + qty = name_mapper[b.label] + println(b.label) + arr = getproperty(data, qty) + units = get_units(qty) + dim = get_block_dim(b) + T = b.data_type + seek(f, b.position) + if dim == 1 + for i in 1:length(data) + arr[i] = read(f, T) * units + end + elseif dim == 3 + for i in 1:length(data) + x = read(f, T) + y = read(f, T) + z = read(f, T) + arr[i] = PVector(x, y, z, units) + end + else + error("Unknown array dimensionality: $dim") + end + # getproperty(data, qty) = arr +end + +function read_gadget2_header(f::Gadget2Stream, format::Integer) + if format == 1 + return read_gadget2_header(f) + elseif format == 2 + skip(f, 4*sizeof(Int32)) + return read_gadget2_header(f) + else + error("Unknown Gadget2 file format: $format") + end +end + +function get_data_types(blocks::Vector{Gadget2Block}) + float_type = Type{Any} + integer_type = Type{Any} + for block in blocks + if block.label == "POS " + float_type = block.data_type + elseif block.label == "ID " + integer_type = block.data_type + end + end + types = (float_type=float_type, integer_type=integer_type) + types +end + +# If I don't add type specifications I get: +# MethodError: Cannot `convert` an object of type +# PVector{Quantity{Float32,๐‹,Unitful.FreeUnits{(kpc,),๐‹,nothing}}} to an object of type +# PVector{Quantity{Float64,๐‹,Unitful.FreeUnits{(kpc,),๐‹,nothing}}} + +# TODO convert method +# convert(PVector{Unitful.Quantity{Float64}}, x) = PVector{Float32, } + +function read_gadget2(filename::AbstractString, units = uGadget2) + f = open(filename, "r") + format = decide_file_format(f) + header = read_gadget2_header(f, format) + blocks = get_blocks(f, format, header) + # dtypes = get_data_types(blocks) + # println(header) + data = StructArray(Gadget2Particle(units)) + empty!(data) + # Probably use cumsum + for k in 1:6 + append!(data, StructArray([Gadget2Particle(units, collection = GadgetTypes[k]) for i = 1:header.npart[k]])) + end + # println(blocks) + for b in blocks + read_block(f, b, data) + end + close(f) + header, data +end + + +function decide_file_format(f::Gadget2Stream) + seekstart(f) + temp = read(f, Int32) + seekstart(f) + if temp == 256 + return 1 + elseif temp == 8 # Format 2 + return 2 + else + error("Unsupported Gadget2 Format!") + end +end + +function get_block_format1(f::Gadget2Stream) + # Structure of the block: + # + block_start = position(f) + data_size = peek(f, Int32) + block_size = data_size + 2 * sizeof(Int32) + data_start = block_start + sizeof(Int32) + # println("start: $block_start") + # println("data_size: $data_size") + seek(f, block_start + data_size + sizeof(Int32)) + data_size_after_block = read(f, Int32) + data_start = block_start + # println("data_size2: $data_size_after_block") + @assert data_size == data_size_after_block "data size before/after block data do not match" + # if data_size != data_size_after_block + # error("Wrong location symbol while reading block '$(b.label)'\n") + # end + + seek(f, block_start + block_size) + return Gadget2Block(missing, data_size, data_start) +end + + +function get_block_format2(f::Gadget2Stream) + # Structure of the block: + # + block_start = position(f) + skip(f, sizeof(Int32)) + name = String(read(f, 4)) + block_size = read(f, Int32) + skip(f, sizeof(Int32)) + data_size = read(f, Int32) + data_start = position(f) + @assert data_start == block_start + 20 "Data starting position ($data_start) not 20 bytes away from block start ($block_start)" + @assert block_size == data_size + 8 "Block size ($block_size) != data_size + 8 ($(data_size+8))" + seek(f, block_start + block_size + 4 * sizeof(Int32)) + return Gadget2Block(name, data_size, data_start) +end + + + # Read function read_gadget2_header(f::Union{IOStream,Stream{format"Gadget2"}}) @@ -108,7 +517,7 @@ function read_gadget2_header(f::Union{IOStream,Stream{format"Gadget2"}}) if temp1 != temp2 error("Wrong location symbol while reading Header!\n") end - + return header end @@ -206,7 +615,7 @@ function read_MASS!(f::Union{IOStream,Stream{format"Gadget2"}}, data::StructArra tail += header.npart[type+1] end end - + if read_mass_flag temp2 = read(f, Int32) if temp1 != temp2 @@ -346,7 +755,7 @@ function read_gadget2_particle(f::Union{IOStream,Stream{format"Gadget2"}}, heade read_ACCE!(f, data, uAcc, fileuAcc) end end - + return data end @@ -392,7 +801,7 @@ function read_gadget2_particle_format2(f::Union{IOStream,Stream{format"Gadget2"} return data end end - + if name == "POS " read_POS!(f, data, uLength, fileuLength) elseif name == "VEL " @@ -482,7 +891,7 @@ function read_gadget2_pos_kernel_format2(f::Union{IOStream,Stream{format"Gadget2 name = String(read(f, 4)) temp2 = read(f, Int32) skippoint = read(f, Int32) - + if name == "POS " return read_gadget2_pos_kernel(f, header, units, fileunits) else @@ -819,7 +1228,7 @@ function write_gadget2_format2(f::Union{IOStream,Stream{format"Gadget2"}}, heade NumGas = header.npart[1] if NumGas > 0 && header.flag_entropy_instead_u > 0 #TODO Entropy - + write_gadget2_format2_block(f, "RHO ", 4 * NumGas) write_Density(f, data, NumGas, getuDensity(units)) diff --git a/test/runtests.jl b/test/runtests.jl index 15962ce..5b19bdc 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -5,21 +5,22 @@ using PhysicalParticles using AstroIO -header, data = read_gadget2("gassphere_littleendian.gadget2", uAstro, uGadget2) # 1472 gas particles - -@testset "Gadget" begin - result = print(header) - @test isnothing(result) +@testset "GadgetFormat1" begin + header, data = read_gadget2("gassphere_littleendian.gadget2") # 1472 gas particles @test length(data) == 1472 + @test sum(header.npart) == 1472 @test write_gadget2("testGadget.gadget2", header, data) @test write_gadget2("testGadgetHeaderGeneration.gadget2", data) - # format2 - @test write_gadget2_format2("gadget2.format2", header, data) + pos = read_gadget2_pos("gassphere_littleendian.gadget2") + @test length(pos) == 1472 + @test pos[1] == PVector(-0.07133729010820389*u"kpc", -0.35668644309043884*u"kpc", -0.9273847341537476*u"kpc") +end +@testset "GadgetFormat2" begin h, d = read_gadget2("gadget2.format2", uAstro, uGadget2) @test h.npart[1] == 1472 @@ -90,6 +91,8 @@ end end @testset "JLD2" begin + header, data = read_gadget2("gassphere_littleendian.gadget2") + d = [Star2D() for i = 1:10] @test write_gadget2_jld("testjldGadget.jld2", header, d) From 29b7244a8d3917097a6735b04db6215e0ab923f8 Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Mon, 29 Nov 2021 15:12:47 +0100 Subject: [PATCH 02/19] Fix data initialization and datatypes More elegant way, not having to append! (which was causing a 'type does not have a definite number of fields' error). Also probably more efficient because memory is contiguous from the beginning. --- src/Gadget.jl | 49 +++++++++++++++++++++++++----------------------- test/runtests.jl | 4 ++-- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index a145241..fe9f08c 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -138,18 +138,17 @@ function Gadget2Particle{T, I}(units::Array; id::I = zero(I), collection = STAR) ) end -# MethodError: Cannot `convert` an object of type -# PVector{Quantity{Float32,๐‹,Unitful.FreeUnits{(kpc,),๐‹,nothing}}} to an object of type -# PVector{Quantity{Float64,๐‹,Unitful.FreeUnits{(kpc,),๐‹,nothing}}} -# Closest candidates are: -# convert(::Type{T}, ::T) where T at essentials.jl:205 -# PVector{T}(::Any, ::Any, ::Any) where T<:Number - # TODO We could consider to change the signature of Gadget2Particle to have only two parametric types. + function Gadget2Particle(args...; kw...) Gadget2Particle{Float64, Int64}(args...; kw... ) end +function Gadget2Particle(T::Type, I::Type, args...; kw...) + Gadget2Particle{T, I}(args...; kw... ) +end + + const N_TYPE = length(instances(Collection)) const name_mapper = Dict("POS " => :Pos, @@ -336,7 +335,7 @@ function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, hea end -function read_block(f::Gadget2Stream, b::Gadget2Block, data::StructArray) +function read_block(f::Gadget2Stream, b::Gadget2Block, data::StructArray, fileunits::Array = uGadget2) qty = name_mapper[b.label] println(b.label) arr = getproperty(data, qty) @@ -386,26 +385,26 @@ function get_data_types(blocks::Vector{Gadget2Block}) types end -# If I don't add type specifications I get: -# MethodError: Cannot `convert` an object of type -# PVector{Quantity{Float32,๐‹,Unitful.FreeUnits{(kpc,),๐‹,nothing}}} to an object of type -# PVector{Quantity{Float64,๐‹,Unitful.FreeUnits{(kpc,),๐‹,nothing}}} - -# TODO convert method -# convert(PVector{Unitful.Quantity{Float64}}, x) = PVector{Float32, } +""" + read_gadget2(filename::AbstractString, units, fileunits = uGadget2; kw...) -function read_gadget2(filename::AbstractString, units = uGadget2) +Return a Tuple of header and particle data in snapshot file. +`units` is supported by `PhysicalParticles`: `uSI`, `uCGS`, `uAstro`, `uGadget2`, `nothing`. +`fileunits` is the internal units in the file, and will be converted to `units` while reading the file. +""" +function read_gadget2(filename::AbstractString, units, fileunits = uGadget2) f = open(filename, "r") format = decide_file_format(f) header = read_gadget2_header(f, format) blocks = get_blocks(f, format, header) - # dtypes = get_data_types(blocks) - # println(header) - data = StructArray(Gadget2Particle(units)) - empty!(data) - # Probably use cumsum + dtypes = get_data_types(blocks) + tot_part = sum(header.npart) + data = StructArray([AstroIO.Gadget2Particle(dtypes..., units) for i=1:tot_part]) + # Setup collections + indexes = [0, cumsum(header.npart)...] + collections = instances(Collection) for k in 1:6 - append!(data, StructArray([Gadget2Particle(units, collection = GadgetTypes[k]) for i = 1:header.npart[k]])) + data.Collection[indexes[k]+1:indexes[k+1]] .= collections[k] end # println(blocks) for b in blocks @@ -415,6 +414,9 @@ function read_gadget2(filename::AbstractString, units = uGadget2) header, data end +function convert(data::StructArray) + +end function decide_file_format(f::Gadget2Stream) seekstart(f) @@ -823,7 +825,7 @@ function read_gadget2_particle_format2(f::Union{IOStream,Stream{format"Gadget2"} return data end - +#= """ read_gadget2(filename::AbstractString, units, fileunits = uGadget2; kw...) @@ -857,6 +859,7 @@ function read_gadget2(filename::AbstractString, units, fileunits = uGadget2; kw. return header, data end +=# function read_gadget2_pos_kernel(f::Union{IOStream,Stream{format"Gadget2"}}, header::HeaderGadget2, units, fileunits) NumTotal = sum(header.npart) diff --git a/test/runtests.jl b/test/runtests.jl index 5b19bdc..62afed3 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -6,7 +6,7 @@ using PhysicalParticles using AstroIO @testset "GadgetFormat1" begin - header, data = read_gadget2("gassphere_littleendian.gadget2") # 1472 gas particles + header, data = read_gadget2("gassphere_littleendian.gadget2", uAstro) # 1472 gas particles @test length(data) == 1472 @test sum(header.npart) == 1472 @@ -15,7 +15,7 @@ using AstroIO @test write_gadget2("testGadgetHeaderGeneration.gadget2", data) - pos = read_gadget2_pos("gassphere_littleendian.gadget2") + pos = read_gadget2_pos("gassphere_littleendian.gadget2",uAstro, uGadget2) @test length(pos) == 1472 @test pos[1] == PVector(-0.07133729010820389*u"kpc", -0.35668644309043884*u"kpc", -0.9273847341537476*u"kpc") end From fcb788d361430a54857f8767bc06b0775784aee8 Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Mon, 29 Nov 2021 18:09:49 +0100 Subject: [PATCH 03/19] Introduce units and fileunits --- src/Gadget.jl | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index fe9f08c..0291e8e 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -164,7 +164,7 @@ const name_mapper = Dict("POS " => :Pos, "TEMP" => :Temperature, ) -function get_units(field::Symbol, units = uGadget2) +function get_units(field::Symbol, units::Array) units_dict = Dict(:Pos => getuLength, :ID => x -> Unitful.NoUnits, :Vel => getuVel, @@ -335,24 +335,26 @@ function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, hea end -function read_block(f::Gadget2Stream, b::Gadget2Block, data::StructArray, fileunits::Array = uGadget2) +function read_block(f::Gadget2Stream, b::Gadget2Block, data::StructArray, units::Array, fileunits::Array) qty = name_mapper[b.label] println(b.label) arr = getproperty(data, qty) - units = get_units(qty) + source_units = get_units(qty, fileunits) + target_units = get_units(qty, units) dim = get_block_dim(b) T = b.data_type seek(f, b.position) if dim == 1 for i in 1:length(data) - arr[i] = read(f, T) * units + arr[i] = uconvert(target_units, read(f, T) * source_units) end elseif dim == 3 for i in 1:length(data) - x = read(f, T) - y = read(f, T) - z = read(f, T) - arr[i] = PVector(x, y, z, units) + # workaround waiting for https://github.com/JuliaAstroSim/PhysicalParticles.jl/issues/27 to be resolved + x = uconvert(target_units, read(f, T) * source_units) + y = uconvert(target_units, read(f, T) * source_units) + z = uconvert(target_units, read(f, T) * source_units) + arr[i] = PVector(T(x), T(y), T(z)) end else error("Unknown array dimensionality: $dim") @@ -408,7 +410,7 @@ function read_gadget2(filename::AbstractString, units, fileunits = uGadget2) end # println(blocks) for b in blocks - read_block(f, b, data) + read_block(f, b, data, units, fileunits) end close(f) header, data From f008938a248e975b398dc34d6b85f58556e79cd5 Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sat, 4 Dec 2021 13:29:35 +0100 Subject: [PATCH 04/19] Fix bug, now GadgetFormat1 tests succeed --- src/Gadget.jl | 6 ++---- test/runtests.jl | 16 +++++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index 0291e8e..76a4588 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -337,7 +337,6 @@ end function read_block(f::Gadget2Stream, b::Gadget2Block, data::StructArray, units::Array, fileunits::Array) qty = name_mapper[b.label] - println(b.label) arr = getproperty(data, qty) source_units = get_units(qty, fileunits) target_units = get_units(qty, units) @@ -444,13 +443,12 @@ function get_block_format1(f::Gadget2Stream) # println("data_size: $data_size") seek(f, block_start + data_size + sizeof(Int32)) data_size_after_block = read(f, Int32) - data_start = block_start # println("data_size2: $data_size_after_block") @assert data_size == data_size_after_block "data size before/after block data do not match" # if data_size != data_size_after_block # error("Wrong location symbol while reading block '$(b.label)'\n") # end - + # Move to the end seek(f, block_start + block_size) return Gadget2Block(missing, data_size, data_start) end @@ -467,7 +465,7 @@ function get_block_format2(f::Gadget2Stream) data_size = read(f, Int32) data_start = position(f) @assert data_start == block_start + 20 "Data starting position ($data_start) not 20 bytes away from block start ($block_start)" - @assert block_size == data_size + 8 "Block size ($block_size) != data_size + 8 ($(data_size+8))" + @assert block_size == data_size + 8 "In block $name: size ($block_size) != data_size + 8 ($(data_size+8))" seek(f, block_start + block_size + 4 * sizeof(Int32)) return Gadget2Block(name, data_size, data_start) end diff --git a/test/runtests.jl b/test/runtests.jl index 62afed3..0f21cae 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -6,18 +6,20 @@ using PhysicalParticles using AstroIO @testset "GadgetFormat1" begin - header, data = read_gadget2("gassphere_littleendian.gadget2", uAstro) # 1472 gas particles + h, d = read_gadget2("gassphere_littleendian.gadget2", uAstro) # 1472 gas particles - @test length(data) == 1472 - @test sum(header.npart) == 1472 + @test length(d) == 1472 + @test sum(h.npart) == 1472 + @test d.Mass[1] == 6.7934785f6u"Msun" + @test d.Pos[1] == PVector(-0.07133729f0, -0.35668644f0, -0.92738473f0, u"kpc") - @test write_gadget2("testGadget.gadget2", header, data) + @test write_gadget2("testGadget.gadget2", h, d) - @test write_gadget2("testGadgetHeaderGeneration.gadget2", data) + @test write_gadget2("testGadgetHeaderGeneration.gadget2", d) - pos = read_gadget2_pos("gassphere_littleendian.gadget2",uAstro, uGadget2) + pos = read_gadget2_pos("gassphere_littleendian.gadget2", uAstro, uGadget2) @test length(pos) == 1472 - @test pos[1] == PVector(-0.07133729010820389*u"kpc", -0.35668644309043884*u"kpc", -0.9273847341537476*u"kpc") + @test pos[1] == PVector(-0.07133729010820389, -0.35668644309043884, -0.9273847341537476, u"kpc") end @testset "GadgetFormat2" begin From a09b78e6ab42bc4a3988ca6a41973a4b58079081 Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 12:13:31 +0100 Subject: [PATCH 05/19] Introduce unitless Gadget2Particle with Nothing as units --- src/Gadget.jl | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index 76a4588..0cfa25c 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -138,8 +138,30 @@ function Gadget2Particle{T, I}(units::Array; id::I = zero(I), collection = STAR) ) end +function Gadget2Particle{T, I}(::Nothing; id::I = zero(I), collection = STAR) where {T<:AbstractFloat, I<:Integer} + return Gadget2Particle( + PVector(T), PVector(T), PVector(T), + zero(T), id, collection, + zero(I), zero(I), zero(I), + zero(T), zero(T), + + zero(T), + zero(T), zero(T), + zero(T), zero(T), zero(I), + PVector(T), + zero(T), zero(T), zero(T), + zero(T), + zero(T), + zero(T), + zero(T), + zero(T) + # ChemicalComposition(0.0,0.0), + ) +end + # TODO We could consider to change the signature of Gadget2Particle to have only two parametric types. +# Default to Float64, Int64. function Gadget2Particle(args...; kw...) Gadget2Particle{Float64, Int64}(args...; kw... ) end @@ -334,12 +356,15 @@ function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, hea return blocks end +function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, units::Nothing, fileunits::Array) + read_block!(f, b, data, units, nothing) +end -function read_block(f::Gadget2Stream, b::Gadget2Block, data::StructArray, units::Array, fileunits::Array) +function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, units::Array, fileunits::Array) qty = name_mapper[b.label] arr = getproperty(data, qty) - source_units = get_units(qty, fileunits) - target_units = get_units(qty, units) + target_units = isnothing(units) ? NoUnits : get_units(qty, units) + source_units = isnothing(fileunits) ? NoUnits : get_units(qty, fileunits) dim = get_block_dim(b) T = b.data_type seek(f, b.position) @@ -409,16 +434,12 @@ function read_gadget2(filename::AbstractString, units, fileunits = uGadget2) end # println(blocks) for b in blocks - read_block(f, b, data, units, fileunits) + read_block!(f, b, data, units, fileunits) end close(f) header, data end -function convert(data::StructArray) - -end - function decide_file_format(f::Gadget2Stream) seekstart(f) temp = read(f, Int32) From d85c7fffc4fc31510dad3ef41ecab5ae530812d5 Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 12:15:50 +0100 Subject: [PATCH 06/19] add size check on format2 --- src/Gadget.jl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index 0cfa25c..98f6c58 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -487,7 +487,10 @@ function get_block_format2(f::Gadget2Stream) data_start = position(f) @assert data_start == block_start + 20 "Data starting position ($data_start) not 20 bytes away from block start ($block_start)" @assert block_size == data_size + 8 "In block $name: size ($block_size) != data_size + 8 ($(data_size+8))" - seek(f, block_start + block_size + 4 * sizeof(Int32)) + # Move to the end + seek(f, block_start + 20 + data_size) + data_size_after_block = read(f, Int32) + @assert data_size == data_size_after_block "In block $name: data size before/after block data do not match" return Gadget2Block(name, data_size, data_start) end From d7d5057d6eeba71714e93785c872f7196ba47faf Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 12:16:04 +0100 Subject: [PATCH 07/19] use uEntropy --- src/Gadget.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index 98f6c58..7a059f8 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -118,19 +118,20 @@ function Gadget2Particle{T, I}(units::Array; id::I = zero(I), collection = STAR) uEnergy = getuEnergy(units) uEnergyUnit = getuEnergyUnit(units) uTemperature = getuTemperature(units) + uEntropy = getuEntropy(units) return Gadget2Particle( PVector(T, uLength), PVector(T, uVel), PVector(T, uAcc), zero(T) * uMass, id, collection, zero(I), zero(I), zero(I), zero(T) * uEnergyUnit, zero(T) * uAcc, - zero(T) * getuEntropy(units), + zero(T) * uEntropy, zero(T) * getuDensity(units), zero(T) * uLength, zero(T), zero(T), zero(I), PVector(T, uVel), zero(T) / uTime, zero(T) / uTime, zero(T) * uLength, zero(T) * getuPressure(units), - zero(T) * getuEntropy(units) / uTime, + zero(T) * uEntropy / uTime, zero(T) * uVel, zero(T) * uEnergyUnit, zero(T) * uTemperature From 2dcdf11e8bf7f2fb89c41b8b7b9b72ffa17d87d6 Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 12:16:27 +0100 Subject: [PATCH 08/19] Skip unknown blocks for now --- src/Gadget.jl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index 7a059f8..54c691c 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -361,8 +361,11 @@ function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, units read_block!(f, b, data, units, nothing) end -function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, units::Array, fileunits::Array) - qty = name_mapper[b.label] +function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, units::Union{Array, Nothing}, fileunits::Union{Array, Nothing}) + qty = get(name_mapper, b.label, nothing) + if isnothing(qty) + return + end arr = getproperty(data, qty) target_units = isnothing(units) ? NoUnits : get_units(qty, units) source_units = isnothing(fileunits) ? NoUnits : get_units(qty, fileunits) From b1224de77201a6ffe1000b79147cf5043c37a890 Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 12:16:46 +0100 Subject: [PATCH 09/19] fix tests --- test/runtests.jl | 61 ++++++++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index 0f21cae..d865b4b 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -19,32 +19,38 @@ using AstroIO pos = read_gadget2_pos("gassphere_littleendian.gadget2", uAstro, uGadget2) @test length(pos) == 1472 - @test pos[1] == PVector(-0.07133729010820389, -0.35668644309043884, -0.9273847341537476, u"kpc") + @test pos[1] == PVector(-0.07133729010820389, + -0.35668644309043884, + -0.9273847341537476, u"kpc") + + end @testset "GadgetFormat2" begin - h, d = read_gadget2("gadget2.format2", uAstro, uGadget2) - @test h.npart[1] == 1472 - - h, d = read_gadget2("gadget2.format2", nothing, uGadget2) - @test d.Mass[1] == 6.7934783874079585e-4 + h, d = read_gadget2("pot_acc.format2.gadget2", uAstro, uGadget2) + @test h.npart[5] == 1000 + @test d.Mass[1] == 100u"Msun" - h, d = read_gadget2("gadget2.format2", nothing, nothing) - @test d.Mass[1] == 6.7934783874079585e-4 + h, d = read_gadget2("pot_acc.format2.gadget2", nothing, uGadget2) + @test d.Mass[1] == 1.0f-8 + + h, d = read_gadget2("pot_acc.format2.gadget2", nothing, nothing) + @test d.Mass[1] == 1.0f-8 # getindex for i in instances(Collection) @test length(d[i]) == h.npart[Int(i)] end - pos = read_gadget2_pos("gadget2.format2", uGadget2) - @test length(pos) == 1472 - @test pos[1] == PVector(-0.07133729010820389*u"kpc", -0.35668644309043884*u"kpc", -0.9273847341537476*u"kpc") - - pos = read_gadget2_pos("gassphere_littleendian.gadget2", uGadget2) - @test length(pos) == 1472 - @test pos[1] == PVector(-0.07133729010820389*u"kpc", -0.35668644309043884*u"kpc", -0.9273847341537476*u"kpc") + pos = read_gadget2_pos("pot_acc.format2.gadget2", uGadget2) + @test length(pos) == 1000 + @test pos[1] == PVector(-0.02657494880259037, + -0.040125735104084015, + -0.006172948982566595, u"kpc") +end +@testset "GadgetFormat2Fields" begin + # Units are defined in PhysicalParticles, here we test just to show them uAcc = getuAcc(uGadget2) uPot = getuEnergyUnit(uGadget2) uMass = getuMass(uGadget2) @@ -53,19 +59,24 @@ end @test uAcc == u"km^2*kpc^-1*s^-2" @test uPot == u"km^2*s^-2" - h, d = read_gadget2("pot_acc.format2.gadget2", uGadget2, uGadget2, acc = true, pot = true) - @test d.Acc[20] == PVector(1216.8760986328125*u"km^2*kpc^-1*s^-2", - 868.4943237304688*u"km^2*kpc^-1*s^-2", - 874.93798828125*u"km^2*kpc^-1*s^-2") + h, d = read_gadget2("pot_acc.format2.gadget2", uGadget2, uGadget2) + @test d.Acc[20] == PVector(1216.8761f0, + 868.4943f0, + 874.938f0, uAcc) @test d.Potential[20] == -37.11515808105469uPot - @test d.Mass[20] == 9.99999993922529e-9uMass + @test d.Mass[20] == 1.0f-8*uMass + + h, d = read_gadget2("pot_acc.format2.gadget2", uAstro, uGadget2) + @test d.Acc[20] == PVector(1272.7795f0, 908.3931f0, 915.1328f0, u"kpc*Gyr^-2") + @test d.Potential[20] == -38.820236f0u"kpc^2*Gyr^-2" + @test d.Mass[20] == 100.0f0u"Msun" write_gadget2_format2("pot_acc.format2.test.gadget2", h, d, acc = true, pot = true) - h, d = read_gadget2("pot_acc.format2.test.gadget2", uGadget2, uGadget2, acc = true, pot = true) - @test d.Acc[20] == PVector(1216.8760986328125*u"km^2*kpc^-1*s^-2", - 868.4943237304688*u"km^2*kpc^-1*s^-2", - 874.93798828125*u"km^2*kpc^-1*s^-2") + h, d = read_gadget2("pot_acc.format2.test.gadget2", uGadget2, uGadget2) + @test d.Acc[20] == PVector(1216.8761f0, + 868.4943f0, + 874.938f0, uAcc) @test d.Potential[20] == -37.11515808105469uPot @test !iszero(norm(average(d, :Acc))) @@ -93,7 +104,7 @@ end end @testset "JLD2" begin - header, data = read_gadget2("gassphere_littleendian.gadget2") + header, data = read_gadget2("gassphere_littleendian.gadget2", uAstro) d = [Star2D() for i = 1:10] @test write_gadget2_jld("testjldGadget.jld2", header, d) From 648b3790ce418366eac11e7913747ce96b2733bf Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 13:30:44 +0100 Subject: [PATCH 10/19] Add combinatorics dependency --- src/AstroIO.jl | 1 + src/Gadget.jl | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AstroIO.jl b/src/AstroIO.jl index 5db7c39..b1016e2 100644 --- a/src/AstroIO.jl +++ b/src/AstroIO.jl @@ -10,6 +10,7 @@ using Distributed using ProgressMeter using BangBang using StructArrays +using Combinatorics @reexport using PhysicalParticles diff --git a/src/Gadget.jl b/src/Gadget.jl index 54c691c..8d397cd 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -263,7 +263,6 @@ function set_partlen!(block::Gadget2Block, npart::AbstractVector) return flag end -using Combinatorics """ Set up the particle types in the block, with a heuristic, which assumes that blocks are either fully present or not From f7939f08b27e8f1f364e242c252552550c5bd5ff Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 13:32:05 +0100 Subject: [PATCH 11/19] add wrapper to read_gadget. Comments and remove debug lines --- src/Gadget.jl | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index 8d397cd..c38a94e 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -174,6 +174,7 @@ end const N_TYPE = length(instances(Collection)) +# To be substituted by a config file const name_mapper = Dict("POS " => :Pos, "ID " => :ID, "VEL " => :Vel, @@ -204,6 +205,8 @@ function get_units(field::Symbol, units::Array) return get(units_dict, field, x -> Unitful.NoUnits)(units) end +# TODO the order here is different from the one in Table 2 of the Gadget2 User Guide +# https://wwwmpa.mpa-garching.mpg.de/gadget/users-guide.pdf const gadget2_format1_names = ["HEAD", "POS ", "VEL ", "ID ", "MASS", "ENTR", "RHO ", "HSML", "POT ", "ACCE"] @@ -386,7 +389,6 @@ function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, units else error("Unknown array dimensionality: $dim") end - # getproperty(data, qty) = arr end function read_gadget2_header(f::Gadget2Stream, format::Integer) @@ -423,6 +425,12 @@ Return a Tuple of header and particle data in snapshot file. """ function read_gadget2(filename::AbstractString, units, fileunits = uGadget2) f = open(filename, "r") + header, data = read_gadget2(f, units, fileunits) + close(f) + header, data +end + +function read_gadget2(f::Gadget2Stream, units, fileunits = uGadget2) format = decide_file_format(f) header = read_gadget2_header(f, format) blocks = get_blocks(f, format, header) @@ -435,11 +443,9 @@ function read_gadget2(filename::AbstractString, units, fileunits = uGadget2) for k in 1:6 data.Collection[indexes[k]+1:indexes[k+1]] .= collections[k] end - # println(blocks) for b in blocks read_block!(f, b, data, units, fileunits) end - close(f) header, data end @@ -463,15 +469,9 @@ function get_block_format1(f::Gadget2Stream) data_size = peek(f, Int32) block_size = data_size + 2 * sizeof(Int32) data_start = block_start + sizeof(Int32) - # println("start: $block_start") - # println("data_size: $data_size") seek(f, block_start + data_size + sizeof(Int32)) data_size_after_block = read(f, Int32) - # println("data_size2: $data_size_after_block") @assert data_size == data_size_after_block "data size before/after block data do not match" - # if data_size != data_size_after_block - # error("Wrong location symbol while reading block '$(b.label)'\n") - # end # Move to the end seek(f, block_start + block_size) return Gadget2Block(missing, data_size, data_start) @@ -498,7 +498,6 @@ function get_block_format2(f::Gadget2Stream) end - # Read function read_gadget2_header(f::Union{IOStream,Stream{format"Gadget2"}}) From 8dcc643652a7d31a860fcdbb6311a61cf3609d55 Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 20:57:48 +0100 Subject: [PATCH 12/19] Change peek to read because there is no method for `peek(::Stream{DataFormat{:Gadget2}, args...)` --- src/Gadget.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index c38a94e..4f20d22 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -466,7 +466,7 @@ function get_block_format1(f::Gadget2Stream) # Structure of the block: # block_start = position(f) - data_size = peek(f, Int32) + data_size = read(f, Int32) block_size = data_size + 2 * sizeof(Int32) data_start = block_start + sizeof(Int32) seek(f, block_start + data_size + sizeof(Int32)) From c806c666e185ddd29de0f50047e385f5f1660868 Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 22:08:08 +0100 Subject: [PATCH 13/19] manage MASS block header data --- src/Gadget.jl | 63 +++++++++++++++++++++++++++++++++++++----------- test/runtests.jl | 2 ++ 2 files changed, 51 insertions(+), 14 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index 4f20d22..6991d4f 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -300,11 +300,17 @@ function get_block_dim(block::Gadget2Block) return block.partlen รท sizeof(block.data_type) end -function treat_header!(block::Gadget2Block) - +function read_mass_from_header(header::HeaderGadget2) + flag = true + for i in eachindex(header.npart) + if header.npart[i] > 0 && header.mass[i] == 0.0 + flag = false + break + end + end + flag end - function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, header::HeaderGadget2) blocks = Vector{Gadget2Block}() get_block = format == 1 ? get_block_format1 : get_block_format2 @@ -313,13 +319,16 @@ function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, hea while !eof(f) block = get_block(f) if format == 1 - block.label = gadget2_format1_names[counter] + name = gadget2_format1_names[counter] counter +=1 + # Do not create the mass block if we're going to read it from header + name == "MASS" && read_mass_from_header(header) && continue + block.label = name + else + block.label == "MASS" && read_mass_from_header(header) && continue end - if block.label == "HEAD" - treat_header!(block) - continue - end + + block.label == "HEAD" && continue succ = set_partlen!(block, header.npart) if !succ @@ -359,21 +368,47 @@ function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, hea return blocks end -function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, units::Nothing, fileunits::Array) - read_block!(f, b, data, units, nothing) +function read_mass_block!(f::Gadget2Stream, arr::Array, header::HeaderGadget2, target_units::Units, source_units::Units) + start = 1 + tail = header.npart[1] + for type in 1:6 + if header.mass[type] == 0.0 # read from file + for i in start:tail + arr[i] = uconvert(target_units, read(f, Float32) * source_units) + end + else # set using header + for i in start:tail + arr[i] = uconvert(target_units, header.mass[type] * source_units) + end + end + start += header.npart[type] + if type < 6 + tail += header.npart[type+1] + end + end +end + + +function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, header::HeaderGadget2, units::Nothing, ::Array) + read_block!(f, b, data, header, units, nothing) end -function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, units::Union{Array, Nothing}, fileunits::Union{Array, Nothing}) - qty = get(name_mapper, b.label, nothing) +function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, header::HeaderGadget2, units::Union{Array, Nothing}, fileunits::Union{Array, Nothing}) + name = b.label + qty = get(name_mapper, name, nothing) if isnothing(qty) return end arr = getproperty(data, qty) target_units = isnothing(units) ? NoUnits : get_units(qty, units) source_units = isnothing(fileunits) ? NoUnits : get_units(qty, fileunits) - dim = get_block_dim(b) T = b.data_type seek(f, b.position) + if name == "MASS" + read_mass_block!(f, arr, header, target_units, source_units) + return + end + dim = get_block_dim(b) if dim == 1 for i in 1:length(data) arr[i] = uconvert(target_units, read(f, T) * source_units) @@ -444,7 +479,7 @@ function read_gadget2(f::Gadget2Stream, units, fileunits = uGadget2) data.Collection[indexes[k]+1:indexes[k+1]] .= collections[k] end for b in blocks - read_block!(f, b, data, units, fileunits) + read_block!(f, b, data, header, units, fileunits) end header, data end diff --git a/test/runtests.jl b/test/runtests.jl index d865b4b..2ca36fc 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -81,6 +81,8 @@ end @test !iszero(norm(average(d, :Acc))) @test !iszero(norm(average(d, :Potential))) + + # TODO test for mass from header end @testset "FileIO" begin From 2ae2a3fd98d34a69c8f9a4c05097ae124dcc16cf Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 22:08:43 +0100 Subject: [PATCH 14/19] little fixes and add tests --- src/Gadget.jl | 10 +++------- test/runtests.jl | 10 ++++++---- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index 6991d4f..dea4aa4 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -347,11 +347,7 @@ function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, hea succ = true break catch e - if isa(e, DomainError) - continue - else - rethrow(e) - end + isa(e, DomainError) ? continue : rethrow(e) end end end @@ -397,6 +393,7 @@ function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, heade name = b.label qty = get(name_mapper, name, nothing) if isnothing(qty) + @warn "Cannot map \"$name \" block to any array in data. Skipping" return end arr = getproperty(data, qty) @@ -1343,8 +1340,7 @@ end import FileIO: Stream, File function load(s::Stream{format"Gadget2"}, units = uAstro, fileunits = uGadget2) - header = read_gadget2_header(s) - data = read_gadget2_particle(s, header, units, fileunits) + header, data = read_gadget2(s, units, fileunits) return header, data end diff --git a/test/runtests.jl b/test/runtests.jl index 2ca36fc..5d57561 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -60,10 +60,12 @@ end @test uPot == u"km^2*s^-2" h, d = read_gadget2("pot_acc.format2.gadget2", uGadget2, uGadget2) - @test d.Acc[20] == PVector(1216.8761f0, - 868.4943f0, - 874.938f0, uAcc) - @test d.Potential[20] == -37.11515808105469uPot + @test AstroIO.read_mass_from_header(h) == false + @test d.Acc[1] == PVector(100.51215f0, 146.3331f0, 22.542002f0, uAcc) + @test d.Potential[1] == -8.796568f0uPot + @test d.Mass[1] == 1.0f-8*uMass + @test d.Acc[20] == PVector(1216.8761f0, 868.4943f0, 874.938f0, uAcc) + @test d.Potential[20] == -37.115158f0uPot @test d.Mass[20] == 1.0f-8*uMass h, d = read_gadget2("pot_acc.format2.gadget2", uAstro, uGadget2) From ac0e2b03b1954ae98c7c4d5d818d0ca49c121bec Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 22:14:22 +0100 Subject: [PATCH 15/19] remove unused functions --- src/Gadget.jl | 317 -------------------------------------------------- 1 file changed, 317 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index dea4aa4..174409c 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -602,323 +602,6 @@ function read_gadget2_header(filename::AbstractString) return header end -function read_POS!(f::Union{IOStream,Stream{format"Gadget2"}}, data::StructArray, uLength, fileuLength) - temp1 = read(f, Int32) - Pos = data.Pos - for i in 1:length(data) - x = uconvert(uLength, read(f, Float32) * 1.0 * fileuLength) - y = uconvert(uLength, read(f, Float32) * 1.0 * fileuLength) - z = uconvert(uLength, read(f, Float32) * 1.0 * fileuLength) - Pos[i] = PVector(x, y, z) - end - temp2 = read(f, Int32) - if temp1 != temp2 - error("Wrong location symbol while reading positions!\n") - end -end - -function read_VEL!(f::Union{IOStream,Stream{format"Gadget2"}}, data::StructArray, uVel, fileuVel) - temp1 = read(f, Int32) - Vel = data.Vel - for i in 1:length(data) - vx = uconvert(uVel, read(f, Float32) * 1.0 * fileuVel) - vy = uconvert(uVel, read(f, Float32) * 1.0 * fileuVel) - vz = uconvert(uVel, read(f, Float32) * 1.0 * fileuVel) - Vel[i] = PVector(vx, vy, vz) - end - temp2 = read(f, Int32) - if temp1 != temp2 - error("Wrong location symbol while reading velocities!\n") - end -end - -function read_ID!(f::Union{IOStream,Stream{format"Gadget2"}}, data::StructArray) - temp1 = read(f, Int32) - ID = data.ID - for i in 1:length(data) - ID[i] = Int(read(f, UInt32)) - end - temp2 = read(f, Int32) - if temp1 != temp2 - error("Wrong location symbol while reading IDs!\n") - end -end - -function read_MASS!(f::Union{IOStream,Stream{format"Gadget2"}}, data::StructArray, header::HeaderGadget2, uMass, fileuMass) - read_mass_flag = false - for i in eachindex(header.npart) - if header.npart[i] > 0 && header.mass[i] == 0.0 - read_mass_flag = true - break - end - end - - if read_mass_flag - temp1 = read(f, Int32) - end - - start = 1 - tail = header.npart[1] - Mass = data.Mass - for type in 1:6 - if header.mass[type] == 0.0 # read from file - for i in start:tail - Mass[i] = uconvert(uMass, read(f, Float32) * fileuMass) - end - else # set using header - for i in start:tail - Mass[i] = uconvert(uMass, header.mass[type] * fileuMass) - end - end - start += header.npart[type] - if type < 6 - tail += header.npart[type+1] - end - end - - if read_mass_flag - temp2 = read(f, Int32) - if temp1 != temp2 - error("Wrong location symbol while reading masses!\n") - end - end -end - -function read_Entropy!(f::Union{IOStream,Stream{format"Gadget2"}}, data::StructArray, NumGas::Int32, uEntropy, fileuEntropy) - temp1 = read(f, Int32) - Entropy = data.Entropy - for i in 1:NumGas - Entropy[i] = uconvert(uEntropy, read(f, Float32) * 1.0 * fileuEntropy) - end - temp2 = read(f, Int32) - if temp1 != temp2 - error("Wrong location symbol while reading Entropy!\n") - end -end - -function read_Density!(f::Union{IOStream,Stream{format"Gadget2"}}, data::StructArray, NumGas::Int32, uDensity, fileuDensity) - temp1 = read(f, Int32) - Density = data.Density - for i in 1:NumGas - Density[i] = uconvert(uDensity, read(f, Float32) * 1.0 * fileuDensity) - end - temp2 = read(f, Int32) - if temp1 != temp2 - error("Wrong location symbol while reading Density!\n") - end -end - -function read_HSML!(f::Union{IOStream,Stream{format"Gadget2"}}, data::StructArray, NumGas::Int32, uLength, fileuLength) - temp1 = read(f, Int32) - HSML = data.Hsml - for i in 1:NumGas - HSML[i] = uconvert(uLength, read(f, Float32) * 1.0 * fileuLength) - end - temp2 = read(f, Int32) - if temp1 != temp2 - error("Wrong location symbol while reading Hsml!\n") - end -end - -function read_POT!(f::Union{IOStream,Stream{format"Gadget2"}}, data::StructArray, uPot, fileuPot) - temp1 = read(f, Int32) - Potential = data.Potential - for i in 1:length(data) - Potential[i] = uconvert(uPot, read(f, Float32) * 1.0 * fileuPot) - end - temp2 = read(f, Int32) - if temp1 != temp2 - error("Wrong location symbol while reading potentials\n") - end -end - -function read_ACCE!(f::Union{IOStream,Stream{format"Gadget2"}}, data::StructArray, uAcc, fileuAcc) - temp1 = read(f, Int32) - Acc = data.Acc - for i in 1:length(data) - accx = uconvert(uAcc, read(f, Float32) * 1.0 * fileuAcc) - accy = uconvert(uAcc, read(f, Float32) * 1.0 * fileuAcc) - accz = uconvert(uAcc, read(f, Float32) * 1.0 * fileuAcc) - Acc[i] = PVector(accx, accy, accz) - end - temp2 = read(f, Int32) - if temp1 != temp2 - error("Wrong location symbol while reading accelerations\n") - end -end - -function read_gadget2_particle(f::Union{IOStream,Stream{format"Gadget2"}}, header::HeaderGadget2, units, fileunits; - acc = false, - pot = false, - ) - data = StructArray(Star(units)) - empty!(data) - for k in 1:6 - append!(data, StructArray(Star(units, collection = GadgetTypes[k]) for i = 1:header.npart[k])) - end - - if isnothing(units) - uLength = uVel = uMass = uEntropy = uDensity = uEnergyUnit = uAcc = 1.0 - fileuLength = fileuVel = fileuMass = fileuEntropy = fileuDensity = fileuEnergyUnit = fileuAcc = 1.0 - else - uLength = getuLength(units) - uVel = getuVel(units) - uMass = getuMass(units) - uEntropy = getuEntropy(units) - uDensity = getuDensity(units) - uEnergyUnit = getuEnergyUnit(units) - uAcc = getuAcc(units) - - fileuLength = getuLength(fileunits) - fileuVel = getuVel(fileunits) - fileuMass = getuMass(fileunits) - fileuEntropy = getuEntropy(fileunits) - fileuDensity = getuDensity(fileunits) - fileuEnergyUnit = getuEnergyUnit(fileunits) - fileuAcc = getuAcc(fileunits) - end - - read_POS!(f, data, uLength, fileuLength) - read_VEL!(f, data, uVel, fileuVel) - read_ID!(f, data) - read_MASS!(f, data, header, uMass, fileuMass) - - # Read Gas Internal Energy Block - NumGas = header.npart[1] - if NumGas > 0 && header.flag_entropy_instead_u > 0 && !eof(f) - - if !eof(f) - read_Entropy!(f, data, NumGas, uEntropy, fileuEntropy) - end - - if !eof(f) - read_Density!(f, data, NumGas, uDensity, fileuDensity) - end - - if !eof(f) - read_HSML!(f, data, NumGas, uLength, fileuLength) - end - end - - if pot - if eof(f) - error("No potential data!") - else - read_POT!(f, data, uEnergyUnit, fileuEnergyUnit) - end - end - - if acc - if eof(f) - error("No acceleration data!") - else - read_ACCE!(f, data, uAcc, fileuAcc) - end - end - - return data -end - -function read_gadget2_particle_format2(f::Union{IOStream,Stream{format"Gadget2"}}, header::HeaderGadget2, units, fileunits) - NumGas = header.npart[1] - - data = StructArray(Star(units)) - empty!(data) - for k in 1:6 - append!(data, StructArray(Star(units, collection = GadgetTypes[k]) for i = 1:header.npart[k])) - end - - if isnothing(units) - uLength = uVel = uMass = uEntropy = uDensity = uEnergyUnit = uAcc = 1.0 - fileuLength = fileuVel = fileuMass = fileuEntropy = fileuDensity = fileuEnergyUnit = fileuAcc = 1.0 - else - uLength = getuLength(units) - uVel = getuVel(units) - uMass = getuMass(units) - uEntropy = getuEntropy(units) - uDensity = getuDensity(units) - uEnergyUnit = getuEnergyUnit(units) - uAcc = getuAcc(units) - - fileuLength = getuLength(fileunits) - fileuVel = getuVel(fileunits) - fileuMass = getuMass(fileunits) - fileuEntropy = getuEntropy(fileunits) - fileuDensity = getuDensity(fileunits) - fileuEnergyUnit = getuEnergyUnit(fileunits) - fileuAcc = getuAcc(fileunits) - end - - name = "" - while !eof(f) - try - temp1 = read(f, Int32) - name = String(read(f, 4)) - temp2 = read(f, Int32) - skippoint = read(f, Int32) - catch e - if isa(e, EOFError) - return data - end - end - - if name == "POS " - read_POS!(f, data, uLength, fileuLength) - elseif name == "VEL " - read_VEL!(f, data, uVel, fileuVel) - elseif name == "ID " - read_ID!(f, data) - elseif name == "MASS" - read_MASS!(f, data, header, uMass, fileuMass) - elseif name == "RHO " - read_Density!(f, data, NumGas, uDensity, fileuDensity) - elseif name == "HSML" - read_HSML!(f, data, NumGas, uLength, fileuLength) - elseif name == "POT " - read_POT!(f, data, uEnergyUnit, fileuEnergyUnit) - elseif name == "ACCE" - read_ACCE!(f, data, uAcc, fileuAcc) - end - end - - return data -end -#= -""" - read_gadget2(filename::AbstractString, units, fileunits = uGadget2; kw...) - -Return a Tuple of header and particle data in snapshot file. -`units` is supported by `PhysicalParticles`: `uSI`, `uCGS`, `uAstro`, `uGadget2`, `nothing`. -`fileunits` is the internal units in the file, and will be converted to `units` while reading the file. - -# Keywords -- acc::Bool = false : read acceleration data if exist -- pot::Bool = false : read potential data if exist -""" -function read_gadget2(filename::AbstractString, units, fileunits = uGadget2; kw...) - f = open(filename, "r") - - temp = read(f, Int32) - if temp == 256 - seekstart(f) - header = read_gadget2_header(f) - data = read_gadget2_particle(f, header, units, fileunits; kw...) - elseif temp == 8 # Format 2 - name = String(read(f, 4)) - temp1 = read(f, Int32) - temp2 = read(f, Int32) - header = read_gadget2_header(f) - data = read_gadget2_particle_format2(f, header, units, fileunits) - else - error("Unsupported Gadget2 Format!") - end - - close(f) - - return header, data -end -=# - function read_gadget2_pos_kernel(f::Union{IOStream,Stream{format"Gadget2"}}, header::HeaderGadget2, units, fileunits) NumTotal = sum(header.npart) From 07f1a61407e756805b3d01672921ffa1a831d3ee Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 22:16:18 +0100 Subject: [PATCH 16/19] Use Gadget2Stream --- src/Gadget.jl | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index 174409c..e64f134 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -532,7 +532,7 @@ end # Read -function read_gadget2_header(f::Union{IOStream,Stream{format"Gadget2"}}) +function read_gadget2_header(f::Gadget2Stream) header = HeaderGadget2() temp1 = read(f, Int32) @@ -602,7 +602,7 @@ function read_gadget2_header(filename::AbstractString) return header end -function read_gadget2_pos_kernel(f::Union{IOStream,Stream{format"Gadget2"}}, header::HeaderGadget2, units, fileunits) +function read_gadget2_pos_kernel(f::Gadget2Stream, header::HeaderGadget2, units, fileunits) NumTotal = sum(header.npart) if isnothing(units) @@ -629,7 +629,7 @@ function read_gadget2_pos_kernel(f::Union{IOStream,Stream{format"Gadget2"}}, hea return pos end -function read_gadget2_pos_kernel_format2(f::Union{IOStream,Stream{format"Gadget2"}}, header::HeaderGadget2, units, fileunits) +function read_gadget2_pos_kernel_format2(f::Gadget2Stream, header::HeaderGadget2, units, fileunits) while !eof(f) temp1 = read(f, Int32) name = String(read(f, 4)) @@ -689,7 +689,7 @@ function count_gadget_types(data::StructArray) return Counts end -function write_gadget2_header(f::Union{IOStream,Stream{format"Gadget2"}}, header::HeaderGadget2) +function write_gadget2_header(f::Gadget2Stream, header::HeaderGadget2) temp = 256 write(f, Int32(temp)) @@ -734,7 +734,7 @@ function write_gadget2_header(f::Union{IOStream,Stream{format"Gadget2"}}, header flush(f) end -function write_POS(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArray, NumTotal::Integer, uLength) +function write_POS(f::Gadget2Stream, data::AbstractArray, NumTotal::Integer, uLength) temp = 4 * NumTotal * 3 write(f, Int32(temp)) for type in GadgetTypes @@ -749,7 +749,7 @@ function write_POS(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArr write(f, Int32(temp)) end -function write_VEL(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArray, NumTotal::Integer, uVel) +function write_VEL(f::Gadget2Stream, data::AbstractArray, NumTotal::Integer, uVel) temp = 4 * NumTotal * 3 write(f, Int32(temp)) for type in GadgetTypes @@ -764,7 +764,7 @@ function write_VEL(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArr write(f, Int32(temp)) end -function write_ID(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArray, NumTotal::Integer) +function write_ID(f::Gadget2Stream, data::AbstractArray, NumTotal::Integer) temp = 4 * NumTotal write(f, Int32(temp)) for type in GadgetTypes @@ -777,7 +777,7 @@ function write_ID(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArra write(f, Int32(temp)) end -function write_MASS_kernel(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArray, header::HeaderGadget2, uMass) +function write_MASS_kernel(f::Gadget2Stream, data::AbstractArray, header::HeaderGadget2, uMass) for i in 1:6 if header.mass[i] == 0.0 # if no particle, this would not be executed @@ -791,7 +791,7 @@ function write_MASS_kernel(f::Union{IOStream,Stream{format"Gadget2"}}, data::Abs end end -function write_MASS(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArray, header::HeaderGadget2, uMass) +function write_MASS(f::Gadget2Stream, data::AbstractArray, header::HeaderGadget2, uMass) temp = 0 for i in 1:6 if header.mass[i] == 0.0 && header.npart[i] != 0 @@ -806,7 +806,7 @@ function write_MASS(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractAr end end -function write_Entropy(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArray, NumGas::Integer, uEntropy) +function write_Entropy(f::Gadget2Stream, data::AbstractArray, NumGas::Integer, uEntropy) temp = NumGas * 4 write(f, Int32(temp)) for p in data @@ -817,7 +817,7 @@ function write_Entropy(f::Union{IOStream,Stream{format"Gadget2"}}, data::Abstrac write(f, Int32(temp)) end -function write_Density(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArray, NumGas::Integer, uDensity) +function write_Density(f::Gadget2Stream, data::AbstractArray, NumGas::Integer, uDensity) temp = NumGas * 4 write(f, Int32(temp)) for p in data @@ -828,7 +828,7 @@ function write_Density(f::Union{IOStream,Stream{format"Gadget2"}}, data::Abstrac write(f, Int32(temp)) end -function write_Hsml(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArray, NumGas::Integer, uLength) +function write_Hsml(f::Gadget2Stream, data::AbstractArray, NumGas::Integer, uLength) temp = NumGas * 4 write(f, Int32(temp)) for p in data @@ -839,7 +839,7 @@ function write_Hsml(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractAr write(f, Int32(temp)) end -function write_POT(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArray, NumTotal::Integer, uEnergyUnit) +function write_POT(f::Gadget2Stream, data::AbstractArray, NumTotal::Integer, uEnergyUnit) temp = 4 * NumTotal write(f, Int32(temp)) for type in GadgetTypes @@ -852,7 +852,7 @@ function write_POT(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArr write(f, Int32(temp)) end -function write_ACCE(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractArray, NumTotal::Integer, uAcc) +function write_ACCE(f::Gadget2Stream, data::AbstractArray, NumTotal::Integer, uAcc) temp = 4 * NumTotal * 3 write(f, Int32(temp)) for type in GadgetTypes @@ -867,7 +867,7 @@ function write_ACCE(f::Union{IOStream,Stream{format"Gadget2"}}, data::AbstractAr write(f, Int32(temp)) end -function write_gadget2_particle(f::Union{IOStream,Stream{format"Gadget2"}}, header::HeaderGadget2, data, units; +function write_gadget2_particle(f::Gadget2Stream, header::HeaderGadget2, data, units; acc = false, pot = false, ) @@ -929,14 +929,14 @@ function write_gadget2(filename::AbstractString, data::AbstractArray, units = uG write_gadget2(filename, header, data, units; kw...) end -function write_gadget2_format2_block(f::Union{IOStream,Stream{format"Gadget2"}}, name::String, NumBytes::Int64) +function write_gadget2_format2_block(f::Gadget2Stream, name::String, NumBytes::Int64) write(f, Int32(8)) write(f, name) write(f, Int32(8 + NumBytes)) write(f, Int32(8)) end -function write_gadget2_format2(f::Union{IOStream,Stream{format"Gadget2"}}, header::HeaderGadget2, data::AbstractArray, units; +function write_gadget2_format2(f::Gadget2Stream, header::HeaderGadget2, data::AbstractArray, units; acc = false, pot = false, ) From aeca60f4e8bcdb8993539bedf9bd683f07ed0cc7 Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 22:35:08 +0100 Subject: [PATCH 17/19] do-block syntax --- src/Gadget.jl | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/Gadget.jl b/src/Gadget.jl index e64f134..a21c417 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -456,10 +456,9 @@ Return a Tuple of header and particle data in snapshot file. `fileunits` is the internal units in the file, and will be converted to `units` while reading the file. """ function read_gadget2(filename::AbstractString, units, fileunits = uGadget2) - f = open(filename, "r") - header, data = read_gadget2(f, units, fileunits) - close(f) - header, data + open(filename, "r") do f + read_gadget2(f, units, fileunits) + end end function read_gadget2(f::Gadget2Stream, units, fileunits = uGadget2) @@ -1007,9 +1006,9 @@ function write_gadget2_format2(filename::AbstractString, header::HeaderGadget2, acc = false, pot = false, ) - f = open(filename, "w") - write_gadget2_format2(f, header, data, units; acc, pot) - close(f) + open(filename, "w") do f + write_gadget2_format2(f, header, data, units; acc, pot) + end return true end From 7b8ef23d0e4080dbe3f257d8ccded6e13bd27eaf Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Sun, 5 Dec 2021 22:37:16 +0100 Subject: [PATCH 18/19] import only the required function from Combinatorics --- src/AstroIO.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AstroIO.jl b/src/AstroIO.jl index b1016e2..0b7c8ce 100644 --- a/src/AstroIO.jl +++ b/src/AstroIO.jl @@ -10,7 +10,7 @@ using Distributed using ProgressMeter using BangBang using StructArrays -using Combinatorics +using Combinatorics: permutations @reexport using PhysicalParticles From a94a014803a1923f7b17bf255599b426c7795db2 Mon Sep 17 00:00:00 2001 From: Michele Mastropietro Date: Mon, 6 Dec 2021 18:59:27 +0100 Subject: [PATCH 19/19] Fix and add tests for reading mass from header --- src/Gadget.jl | 31 ++++++++++++++++++------------- test/gadget_no_mass | Bin 0 -> 361624 bytes test/runtests.jl | 12 ++++++++++-- 3 files changed, 28 insertions(+), 15 deletions(-) create mode 100644 test/gadget_no_mass diff --git a/src/Gadget.jl b/src/Gadget.jl index a21c417..8e859ef 100644 --- a/src/Gadget.jl +++ b/src/Gadget.jl @@ -301,19 +301,24 @@ function get_block_dim(block::Gadget2Block) end function read_mass_from_header(header::HeaderGadget2) - flag = true + a = Vector{Union{Bool, Nothing}}(undef, N_TYPE) + fill!(a, nothing) for i in eachindex(header.npart) - if header.npart[i] > 0 && header.mass[i] == 0.0 - flag = false - break + if header.npart[i] > 0 + a[i] = header.mass[i] != 0.0 ? true : false end end - flag + a end -function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, header::HeaderGadget2) +read_all_mass_from_header(header::HeaderGadget2) = all(filter(!isnothing, read_mass_from_header(header))) +read_any_mass_from_header(header::HeaderGadget2) = any(filter(!isnothing, read_mass_from_header(header))) + +function get_blocks(f::Gadget2Stream, format::Int, header::HeaderGadget2) blocks = Vector{Gadget2Block}() get_block = format == 1 ? get_block_format1 : get_block_format2 + # There is no mass block if we're going to read all of the masses from header + format == 1 && read_all_mass_from_header(header) && filter!(e->eโ‰ "MASS",gadget2_format1_names) counter = 1 seekstart(f) while !eof(f) @@ -321,11 +326,7 @@ function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, hea if format == 1 name = gadget2_format1_names[counter] counter +=1 - # Do not create the mass block if we're going to read it from header - name == "MASS" && read_mass_from_header(header) && continue block.label = name - else - block.label == "MASS" && read_mass_from_header(header) && continue end block.label == "HEAD" && continue @@ -338,7 +339,7 @@ function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, hea that blocks are either fully present or not for a given particle. It also has to try all possibilities of dimensions of array and data type. - """ + """ for (dim, tp) in ((1, Float32), (1, Float64), (3, Float32), (3, Float64)) try block.data_type = tp @@ -360,6 +361,8 @@ function get_blocks(f::Union{IOStream,Stream{format"Gadget2"}}, format::Int, hea push!(blocks, block) end + # Add an empty MASS block pointing to the current location (eof) if there is none (i.e. reading mass from header) + read_all_mass_from_header(header) && push!(blocks, Gadget2Block("MASS", 0, position(f))) seekstart(f) return blocks end @@ -373,8 +376,10 @@ function read_mass_block!(f::Gadget2Stream, arr::Array, header::HeaderGadget2, t arr[i] = uconvert(target_units, read(f, Float32) * source_units) end else # set using header + # println("reading $(header.mass[type]) from $start to $tail") for i in start:tail - arr[i] = uconvert(target_units, header.mass[type] * source_units) + # eltype cast is a workaround for this https://github.com/PainterQubits/Unitful.jl/issues/190 + arr[i] = eltype(arr)(uconvert(target_units, header.mass[type] * source_units)) end end start += header.npart[type] @@ -384,7 +389,7 @@ function read_mass_block!(f::Gadget2Stream, arr::Array, header::HeaderGadget2, t end end - +# When units is nothing, ignore also fileunits function read_block!(f::Gadget2Stream, b::Gadget2Block, data::StructArray, header::HeaderGadget2, units::Nothing, ::Array) read_block!(f, b, data, header, units, nothing) end diff --git a/test/gadget_no_mass b/test/gadget_no_mass new file mode 100644 index 0000000000000000000000000000000000000000..b79b59a9587b479cb5cc2808741e5f9f167d3437 GIT binary patch literal 361624 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

oAGE3Rt<2Igg4Fd@>h#cF)8^b8jH9Aq71bofnL3 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�Z)UVJ?<>uzx)-lhmAtQ^P_y` z?#EERV~bg1a`@EP?`XK|j6bCk+?m^rRcAC1#0z=Coepd%(u82dHGVz04L3iJgsMbd z(9!oE`x6vF!_M;_-EQ1Xm%_`_*Z4x-iyswD#8kGNd-ZF^_dica|M#VQO!Ny(u~J2J z^ELjxv=NiSZ4lvK!OtytgqU|G@DtZ_zva)6zk3)8A}YDX^M^1yFO9d0s(5E>14=9& zk;P{#c}4LT{N{Ja(DARxdLkvpLZyEvtha zFD~;()8uH)J|mRhJIxpVm8I*mhu}ZQef)EMKdMqW9A9Mi^Q15Rs7tpFjJFhUvjxiZ zkjFqwYCXg2WM%1$xJN|8bRYLnRiv5zpUAMf6MR;_GPSz%gXC8h@!zIewAinMczry~ z9iFMvk)16>!Sw)tYN<^n`3cB1ILk-;lVG_?6L8QsmtX2qpx>fH@L%@{o*dtg+MV=5 zWc^icP%A~dMtb0G$OZ0ZBSY_Y&WG#3gWTz;0X;u>AoP!)<$F%)QMU<0al!WhFUv8a zMS2QYbm$DXy*7{rC3O=;$^R9;&6K+BcuQm(u5&lnK{Vi0BPoA(lfN3KNB`^XCfTAP zVz=#tdhibzss4vA@_2(2{jQKx?>)ugjo(pqdNE!ckmSpW|KjuxcibB0F2474JQdxa zf>7^?;%#~wZ0mjBIK-JG2{%S%6tVa4^zr30YR{k_p4eU+bVKZg(H!B{b>n7fd>xV?d5<+CeX$4i7& zd^~ba+~I@OZ)3l|0Oxco`N{rQ;dXE~n)2`SSN~36V~H0!PTuDgj?s8INgW3=9`F{6 z1DI8-j74`Vx$ndr7*801>;sj2ZCM(s9Js}`J8`Mp1n(=$c;MPBXq78T^4YF&59K(7 zWyoQ}V-c5g3B|Y0UQ(NWi8nR`pmk*hQQLi;hb&))zA9UIv=;D0*JunmV1>tj^Z4bW z5PVte0^gzgc<1CW?7F9cSpPhpdw4T?EpLzopHK1rw}fc8RzV&l<#LZ*X2^{BLOPv~ z@lIj{x6bS2o}|XVDw>UTa|c4}+etp-@ks1zP)Fyi>wK?0#eqI$jQDh!uX?1#RyYrV zx?(P$GifF7YpcgvGZ7b$`{!}3>joytn2Sp_&+t9DJ&1YqhEJ+76{-CmN~1N5#R6F! zQc>{*Z{}_0=K4`2v&EGDXY9&PY#M;JbE9aRg@UNk`5g=GoK8KQhmorw0^wK-gzHqOT?ydJXDZ30C0b$zk{6eSf7{X^b>JUg!{H4ZbGWu791> zsO%wouG}qswbmZjUu6**^rke~u!*F7uplS>b(!kkD&qZSz9@R{L3UHw8PP+Z3L52p zu}5dG5c{lp!HSm_T*iDb%19!KUu(mA8r#XJcZ0~vezUobzZ1N+j~6wZTfv8At3%$e zS+Mw87{8NIL0(T$BtLvJ`5CJZWct4>*6=8Xn=buICjAa&QfkxqsEs4>%&S>6&zo@L z+In(NA&IxTrt&c<^AO~t#LMR%VK^j>^3#KP@2gZcZ15AJv{a3o23!}dZz&_PGY3iX z%WexcI*-7z8NqyOTPyKN;)GZ0^QNDR$!{NN{GHd2_r!J(dpmFVOXN`&?+w-X zNj!d^FMjQGNANHwo|0k<&z%M^{%y-=+WNxctuxj-_pri`Q<0Faff!kLK0VPAUi*y@ z6ywa76-puexjZ({H0DR{m?ER%4!Kez%?sA+B0)<`hG-AwSLV25OYl!(RqMh{lcu6< zoFqBq^c0?#H5*Sh-6dJ^o4C-8;D&QOky8xfjn3U<$HES>`Qc{1uSp-%cbAi6lS6r3 zt{TdmG$ePye>`u3J$eUPApCp;KbtxU#m?3UJ-(H{R`bF35LNuHjpOX^WbD$Ftm{WQ zZ}b?0*X9mzsLtStHC9-*S_jkaB=UDZjo`b!nZ&-0NdbGnr{ zEluRg(?cN?_mF$RQT%U86f*bzBxe$L^TMWWIPq8uP8S2X+l=|RxZeOLB>k?N&qCDw z8HMWmbNQ92A+VeNSCS_i$zS>|g<)DF(My}jCm-C7;^0m))Y^}~Xih+^WSzU~m-CTp zk`Uvf2W!;@d`4qBMg)$4q2pTqXlgpT2DxI=jwpW4G9IH`HF4|DZtf|w8)Xi9s2>!| zZ(F89al8!_BKGivh<*62V1em>lep2keNazu!=7Jh{KuB77`oLJwa$rrc}yXKhT9?a z?N&*a!x5~}w88spp0W!Oz4h#F_|uvdrSKg1cwY-QAtcBe`!`JCpO1>sr{o6q$&xSMehL0tTp`%)!f!a7 zf%o&_7&Lzn|FO3KK2NQ{a(}Y(H;>_Imp+oNwy@rh*Rd+x7A|kpxy~XHgi=Fbss4^> zA7@ZFsSK|zAJ~4idw6PQiGx`KdGzD^xUqI1EZbE1z)1HjWF{r(%4tF6P=QbK`P<{QvGAw6~2lk6Hrt zzs9)O^@rIlTZ?#4XB@bx#7BL~Mf49__?LZRG6|W`NHM{@qz<-9B@t%zz@sHP+&Cl~ ztJDMtI<3e1diEiF@nU@1)}N~j;t+Jn4>f^<_}1{%63xeGSm#o{+$j{xc6;H_Vq5ON zdp(TL1!Gjg6yBJ-8Oogj&{=EA&8*Up{4NA5e~sp+Ycg>B;y7G?EZ}#~rr_!FT}ZB$ z<1NO=pdY&$N<+2zpZ4o`khTelN0fMCHG@sVLX47@;Z`M=&?2dMUPFJe*f*!~aq)PJ zwxoQB>k%A&EJT3VmFHc*h{IiTVc2fT(;`K1n>!PV4;}gQSTRN?Zbyx(H~%mG3OX7R zpk+OjUs-n_OFl#)tYa$w`rjS6_$J_M8RfPeNAWdp1#XV;`7jbvsl1w%PZ0G(j9X~%;qhs z7m=Vk37tJ#xNhNDEC}?%v#h<`;6)yq9X#MNE`jfQa1D3Dy>WAA3Rm^M1G8Wue0daK z<#iWDfdP=V-N}dbm131{0*pl&JY>jy4A_zYGnptp>ULi?xtjC1W zas0=VeISD)A&lC?*V<=6Ep`ne-|XOp#R*9CT?v&{VccbOCN__q2lbW+F4LETcFkDa ztewR_Xzaw>+O@EXTgIy-=kwFoKop(W$p4ftz%b?MsG*tM^xV64iB9)Wt>TTtGjA~=F5%=%f3zjXv$Q25 z#HP>0`}|uh@XbvqC{9DvZDTg{)^-eiKMTV?o?@paY{U9(0SMN4z$%mWgU%1Y%IqYT z5hs^)yE1qayZ5J_K7V%~305 z%~FDwqxq^bhMmx7^FC$5>DNGrGv_i%S}&GsxnQZ~2hl{`cytBIV}EIZDCc@II{LSf zY3lJJ-Shk5d9;rV`>o5~wngD>&n*%lqs6Yy2!+Sh%Vc_K4Rg@&X7}Q5z<8@6cJ}JCu(+!@`N9a6!(&7znr>ror4=Rw>ac0L zVpM5W5nn-{C@QENWwpIz%EKhlo8^^~xk@YfQ)$E?xQyv_Uy1CXrA*=X8BABXN7Tnp zVddBJ5an7-b{HFZdA@S|Khu)n2m@=M{C2x|Um}-hw`QJ)6A`SB2jo=?2Cm55N z15?9i$T zn-4u?4&NQ2CoKoTaS?0umh{B()nwtB3el}=Kglg?DU5A9Epjy+g7b&XP`xsWrTu3L zywSwETNP}$^-x51Ekx;pnQZeBRkZ0uV$$4jvSXP8R@4Pz!!}zF*YQ3$)iMV)BbJxm zJg0!7?kPw-yiyQqP)~kluS4DTEHZ1`DY7BjAMG|eqLo7pN%27sv04t3XD<3h_!xWO4W% zaxScfteCKn)cvd?>s@Y;%Ah>*k3ZX-%d>Pgo+6*BDH0Q{P! zh=ihPWai)j5NHpFXod%rgZuJXa^yo=;u z$7Fa+2Z9TBAUD?u>W^Zvb*l$@-DRtknqkq2y0}-e})<4?PKt6x;Y}t z9Uz_)31jnCGBjHT7hSd?@h>Co`Re#FHU(SPSYXl4t0d>?4up5>;d<3)^850BoDwyY zW~~#XG&u+3&)g@^hdm`SahISp_zl^r)=A>7l%i$bC(^ifnB;sM#H_>0nEOi|k5Apg zy1jac+GB;9-y$56dPLmPWFZY@PO?ZH6kA)CD1!%!fwIP$-xCV8r)Sta=rLfTk$? zck43TRH86{XaZ*FR6uocED{n0cp6oLozth{d(<3Uzb-=0RDzU5U&LLwihtL3;H$YZ z7KdEKPQPfZY0!d?eHo@L2!{Xbr^NZkS!f)egxo}H#G9qT!ZsPP52P_pegm>D79#MF z1vaRpL9pW-JTEtsfw`GDFTs&hyi3SpSB9ChPa?r`I4-`u0;9TOI9vE)-<${7e&jN2 z0@q??+Icvg$%fif58TR+!=0noakEMmzju|Bv5E)rafcLY274jl&|!?t7=`x=k{;`p zWF|6e0zS2>Vshb8Og-a_8>ii2Fzf(kACE$=)dZN|&&0JY*=R1@N$M}n;L*uYBbQN~oI)%Z>naGsX!d)xVk??*eY-f)~WO545B@}|3yG#XVw>k(JlHJZpE?~xMC}pSf476oMag_lcnz{G7RWU{0}tnNj6JIXr588Q zEU_P%kS7H{( z3I(!baeI3mX|*WBnA791rbG#AijQH$t(oZEaGxwz+lRR!gYk^tBtr(B#RDA+jBXc^ zt&!=tTw(!1!bp7ilmW%PGPwD54O~t=Meq(kER;^b`uOK?lw_=3sPw?MBlnTx@QifU z#-VNF862{zC)U2B(cGB@y^<}YE!_(ZZ&IN7>?3LGxlVTGq+#ORt7M$FG!*qKpfP_g znRQADifSCw%-#^2I!0Q~*C2IY3OhQ<4a4P2@n&Qqdwy{T;%o~cGpD3<{?08Z{+NiB zd&4~3e@W(+w~k`huyi)A_6dnh%Rpj)hy^T-LWS&098AB*mWv*eogK?1{pT3|a>Fa4 zu*?q|4sYViDqfSdd=s*!Z{jP4J|h<46(nHncz!`?K5|Mc$U~<9e!Wp1g(d^AMLUKc z9-@T!N-5kQv6ic7tD$m(HZrvAc&Lgo#%kMRmWDe|DwRTp%tbQ1X)<3k`4744c!9jQ zGng-;-9*~%J@HGB<|RsBiCOSqWDTrjuaZBI+U+)|kt$=O=slwM-2jUgKPeoPu;TFHZvVv+Up{@5ck1F44YENAF@a=>LQMlTFyGeZ@y zy>{wyx z>d6AsMYu_{+G(QHQcp}9H3*M6JnLB`rX z^5H`{(+~E9{kTD>+Q-=ZHRE8D(?ay^^||1R5Z<;=vCbx%n+&$17rxv^-}bLi&-9>| z&)C4{`zo68vk%@S_DH_4o@&0eqU`QozOy-+9=|G}1C=Y;i?sKWJ>G*QR*~$@T`Bsm zM1s#_<_ql2Yv3n+3cEI&lB-s~prL&Z(`xj{j$(aUvnmaXjxQ3754NTzu`@8mEtZX2 zU`4fb9I@k2Jv->5N2{d2l0`R_$jC?+N>A#b-#HVHJFE5R)YaF>CofNdOPDhCzoQ0= z=XvD0isb!e?O!5QXiDr<|G{A7Yx30Q5V>OW6mg$EkXPr13WU?DvDi;c#Ky)ekw0<d9I&es6{g_xql+DyruN)l@=VF$cazF7l8_C$CPw6jLn)y zycO%vzH|)iwGWWrGLNDD)CcaCugor2Z`sOgGV{hxg4z z&(a)`-w!ofH!vB~zI2JCS~RKf$RwnCJz;+y%h3rAQ_+=P!!i@9FlAjN*4R#DLn7;O zzW;x?dT;{sK2QhSHZSOHyTQ2a6C6F~fl0&fGg*_@=o{|~{qh2K?9UrCS$X1%Y%ZJe z>;q12^Tj&veAZO=88RxaDA&zn&y~B7Z>)_I?ax^ky1@%vvD|V8>)c(1k*;b;s7evJ zr@q7%O>N9vA0?{%`2s1Q?Xhj)cqZG>iscs0c(m1kZO-U`Z6smh}>+>7n;=tsYG-6S!y!`R+x8TvTU1YQdY zS+@OO%xIEulGol~Ju&k1W`!}<>tA4dwH4{{ldd=)7{k79Q=N4^wk-_xWU9UhVPX(epdE>#*;S4J*|y=Rm6_NPPEzakydpV_N2 zb-J>t;@)YUL{sS=7ZW7-ZphyQqn8VA+k&AZAQaOHmG`{#Ptcp%H&I74fLWksE~mLhVyin2)sPDwn!2VXvVC%Q$nL)K|#mp$P4h=XaX>(G@E_;5W{R-|8<#U#bGh(cUW~0%qkjfS2%hMKx2yD;G<^$_{Vf1Vje%?>! zk9yxBX5S7h)k@&wem+J)*K+jF*~TB`y~6JY8<9VH0l&WP37X`#p~877-(>v;NlqJK zw`)6}ll23gja#sCW(bc{kYt>;hhT2&T)uQj7joy!#<77b`3UoNbOudAdF?vhvGSqh zEKt1NoxvBWzksLlLg*yK@TU^~m#ft{m^&u$%72Q51@B?F+8ei1cJmw4 zyI~q`2D6$del))a@4Ad}x_mFM`&W;{WlosV9?U!QnlR(P5%AIT<4@mw#(!$1WShb? z?tNJDFSL9kt`~Rmh1v>qfQ=GnL@weLT!D_-DhFxzHN2mh9Q|pe48OP~++ej7HPsm; zsdu}0jf_0~W8i|t{_%WmN)iZX)_JE?hoApB`HDnLJx% z%Qfvx=;rW;q{ff(x6OLg+))Ep(=2(=Pkq`m*#XW|rt<6IL#R}^3}{s@T6G6f^L7*L zvQ31I)j(=*|CkKdl#s=j7}By~{@Bnv7582k(6EKOF_E{CBWDP$?`$Lo@B5-6*^#=+ z{2+gKZ^hS^A@pk7OdLM36>YDqB)mX*gk1H5g1ZgvRB*wz4eD4eZ%ij_`b)Yeej5>)&yuH2z3j^z+HLHpUk|(23!imt_IueeN zdMG{n3pRT{5gSSEw5aOA$qg@D-z%hE+=_CeH{|~MA~LPyHyqE0 zVx@sO){gm(Pcst{Kc||=ME!xqpJP~Gq>T9=<>_qXWB2x*7&ZGJ^dxLBEAvo9N^sOs znvNPv4}AU9im3D1*f9P9zFvBWe`|vZ#Y(5p?W9w_w4ok$Z|4u=)0JvE5!>*gDZ2#!kr?lHQKlO?oi{BQsrwV7c3mTmCi&>-uEFT>56Bn^N3+6AhCY3Gg`Asz z2_!+2?lo*9>l-SeC&5?aorWX(N;8UQOMFAiKa-%w=jc0DkNmXfWYLNWY=2*e$L3>5 zu$u^X*Y==accNg@@28L-E=PaN-9ti0)?snE7FBo^;qk<)7;=YnX<(C(9QQp1r&GPS zf7qXlk+?pFYt*CI`;uUEb2_T7{l@!YYJveilKl0_9cXi!#zr<=!~4&TkTpNd3MZza zDNc!2R2^e+3B`zBEKBXC8;kyYyD53MQK1pbeb`3%W~@_}rW>8kvDHe?kbXk)9aj%$ zOA2e?6kUZO^{u7F&aL?NsvcoS53qh?AK;d6FS=KMVCQx3;?#)O=!zJ`RhNq)9a4`o zMM=Cdz7%O{l5D8k%ekS=4Qwk@pk-6L*ofJuacFmcx;yF<%bR-=$wsKpj5I~TF|P%T1qXY%SXS(s?whjsUQK4bLBWf&gacni}!iI7eOO?iZgp&AUUg-of}$0gcBdZs&Y9i$@oTw7&IelRVoV@ZjU)mKXKoxh)uik zo2;^Khi4CE2VXRijFqkM>s1qlSe+pIb8E5BVLD08Ho-f`KN3F9f=XP4`>#w{I(J3c?CP$A|lXQjP!#IXghw)qutpL%3td- z-XoVqTDw4JWCLbv?h|DUos9iATk%@L3y(;cirCG6a3i{a{rVJxJ8!<=$|8MsNf3cM zi=}7-8^I1`N$#>~iZrR?FtZd+hUkC{wF(|7+EF5B1Z$mmJ;iQQK%dh2rvVP9)Wlcg&C z_GJLuFjWsvPRY>B#rdL70!M5x)uf+GhB5n+mxQ>R(5{q)tgP4$iw;;*CRfTH6ASzq zZcQKU`QTo+S05S|O=w|lHaRiV97iQJsO!@xaVZ z!wF+Y^mK4v-;Mr!ro-b$6p`nhHuT%Ybv$pGBSLPN(~mwA`L_JKMD2BD&2J&c|mR4iC;cO3hs8q>FVv4V5ARr$V|yXc{yr92>H z0Dl^8Ns~YN2^7Y;@R(W)y6yBOqTOW8U5;DR?Saa~>9vqg{$x%UEF3RrDl*{{mg~_@ z<&x6-7FImP!H~W`q)isw0bjgGkBY|Wli__+dFS z+9pQS?%7guLnP4v^qSIApFQNcX@8y2+Q z?{gKn+)+b%=D7)3tgFo}O7!Sq?HbVsCw0DGe-K@E(v1b2?Z=Dq4XCbWCY!&=fVbZs zOjk89Hs*#bpCoHW1K%EFOPlriWd{rT%_@bB++)fYNpz4M6BR`YL#%nha4V|YtjKOu zjp0&qRy2MJVf&^{= z9f#8Ek?TbbzNy@DgbgK&e~8Mxqc{(+rS+@cm+G^4?)QEOO@F+H-T$7>=L{H3C*8lm zb|vlQa{^4MkE|`rco)O7tq0QWu17>J*)hDf#gN+DnKJ)rDO~TAK7A^f%~t+O;*L&w z)Z|Y_>8_p_F6=d=t*X5qcjrWN_g#jxYgm7hAGC}292-p62A&t3)7Z?v_qU@?@x6j4 z4s-dK>o#2Q1|ILjLlJHvOi4 zMMR3G^ZdcuRAYw+3wk`8Uwx!Q?~cx9|7T;~(bS>FLwB*vi)(n*F*Q0P;3jK&?!gal zRiW>sv)Os|A^gKKRoeBfjCIa&;OD({sRp|yG7cZlPZem<6Z4Hk7lw`Crgdr(oy;WG zbVr&Ca{AF&cW-uS{}=XqmlBP*xk6-mK!J~*szuF*7_$-N4SSnDfOhGrF)15u{=0Di z-9Oq&lpe3fr{(HUm5CSGs_8~NBSyk=PFTgph@`mt9Ccc|^*UQQT$%5FEl2DAOJTBB zy8MTuJe61oFrUkE{A7hR6+9?p{Nfvyu;(kbrI)aL6&J4f_d8O{-iw-6|78UyU*Mta zZGo?`4IgRP15fX{WZgX@zEDA%o_QuuwhqzcLQ#J@Kif(0Nc}zAlc7#m-&G|89=h{U zidyv4!U(~H)!;T$2GGig7-H>c&7JS6(JxCjlc#9|`OKgFY2(KnQko^teZn>9yT19P z;LmLq6{SI+)E*?0G_Nts_nP##nl-sIA&UJQqDwPgWsr{8p*kt%+AVuhJ)n^($uq+DXUgvj{JVow`w~3+S7lJ?+L8BV@1^`pTqY+ycZE@y&_*VAGUU$ghTEeEy}(5LliI3b~%lk z%>JA?CDNDggxiwC?63k8HBN27CR52Au|7w1)awxn-=AmqH$*ZotryTLJk7?`?qw>y zFHs%u$0p|=V5TQpaZ;GW&aFMdrXBez;Tmja7b@e-DymF z-$|AS1sY;f&Mp_`vqS9)v@$Z1tr`)_er!>b^zX-6wfRe?FhYk;=#&+yC>~|gB>KRY zu?Iw79u~063nla34TIU({B%|}UxzLm4^jI08_Z{_oJ4P_$KLhZ$F?q!qPK3#F}F>t znQir7ToFU`WN?b;+Z0*4D6?C%>4iI6KShDM{7V=8o@mG(*(=d!H`+zRE^lNO2|83u zGlaESm@$!(D%IH*$sYJPvyv;yRH^SSTOM92O1`K-yFV;rxBAUyDH1Ihx4yxm!>_up zP3uR`Y`VaHbUhZ#y)Q)vKC=|j@Jv#$vp)^KA;U(8rIDYB9f(fd%EYN*B%r<#MsAgC zhy8%k`1NmbUMG}Yqp^Z&*%rwE6SExMDWZ8-yYVjO468nN)Ge~^9q#P8!ES!{6{KHm zhxht5Y}~3q!IRAI$iI;++MKgO(0}SXREI0FgUftH*@v2-D{mySsrC|m*i(gHQUxM| zu}-2Z^eGO$aA9pL9t+k5H6mn9gUI08Wx+T78id1*<-g4%wO)1Dxxc??c8?+XHLeG( zQ^&H*NgK%&y*K!15+vy20mST9720QZ35J|sTUsge1QuJZN{4^^Cz!pU8t#_50`;>C zOZS>L!DH1oj||sn!RKuszyqDG&-F?Y=m&qsvQOKI?wWb-M)}?Fd7VIlLi9Yy*(Nkv zJCNP0yi1p<)#28;RHB%0R$w~20fC+i$$-zMB`2o+!z$uMvj6QZ`EP<8U2`CrtWaJd zx;&yE)vUhn(W(?!>Zl`4Pi?jkJai|-%V01ab@8y^OK_&ZdWjJod~^EqD09LX2Zs&iTPq>^O>tc{~=? zC>qhQXB&7>N4nt0I&He*<63@sO(JP;>PL66xqO9T4skdw@z~DW%~zQ05qQxS_*^Hv zDbq`o{q7TN)c>(WZt_!mJ@s$AMVo9t6kqsPfV)*Kb>5u&9| zk)+G-c3QEJl0G~vGvyaHTw#8aIqjuZ0rwtO&8Fw+(hnz(GySVZMmX z)77L;;`{OU6N^}CnG!7-A;mS%>|uG5cZVPO8vMEVAiJ6+M@z4Dux}yH*rAqwbV(&7#Vbu2FEGdh2$@j{1}%uUi) zdVA>bxz`Fio^b8SH-)orgbF{~yN- z86hepn@XWXgxvFaUuCbNh_pkABBf|3dv78Ug|bI9aL?yWw3UYRt(21XlG2dI@BIFO z`?wzWIOlU-@7MGBCgRV*dUHQDolwUPdi;TP_Xj9fF`=K@x%+wAXS#B0CEFPB5+ctj zVuto4`s+atymV7WwM3w=Ki-AJ8wJ~#qnlWY)^Tj{gP*KkjQV9VA=wEVvjINr&}-~2Kfy6iEm_OQpS(0sb| zKtC+$^1~*@|LD`)d(h&x3S+K%QA4$_Fg|WMR{eRy9^3U9GL{^`QmrC3BK#kej&hlO z+EwbLAkIIY8HBDqi_kG@65nW+2PRBYM0>svzi5X)R@RNtr=~)D{(dJkUN;S0R(FHX zwJ=mOF-8}=hmf}L5MF;{kM@g(Az&m5!^IckZuj5t``-%8U+RRs(NWM0UxOwq7U3T* z6V6rNj9K^R}-%(}tyI|406K!Lr z<81Zk(0XDcN;W^GtL_bg?MhoL_2v5T(l4Rjb~g@2iebv+Umy_Pj$=d&M|2*6S)&qq zR7qft@B?^|ZjO&H@=&YxK0NZ*$FCpsuu{7p60T{WQMo<3i#~(3rRFH!Z-@>uAK`?O z6%K5ggFVlF!X-~5{A2Hc>;D^ty`}T$x{(@f6#d0J5cal3}?%ZN5x&w zAbpb%hF+P3A07{Z?m0QUE-8n%)PI50>({i=;y3;2D9%ruEsD(06ztm}#m{6!QBQrC zHk3@}$6i*&Yios2ef%VT>3Ln$J^!3`o)+iV`_9GndnM37Oq~Df`~p~6~|IJ50`}&rmdTgUYbID>%~@>dq)f9W5oC}-WK@F+7Y!i#`9k*X<&h|CI()X z<=duOpuUA2jfXMe%tU_ zv;@EGD#4n#%@`9b#y@SRgvv8hamkYj{2;1|DG-S-zl!nWWXw>yCJlur$ns-msH2T? zH0H)g@~4;yq4;iu2wG2n;_4xtG+|S!?JOPhX~*KwYwZ}#9CVfNA{brIt9M^$@C-EAk(-E8~yTDQM!R%um19 zLkWq%8@?L+iSO@G7tbvG=%B{eJj(eUen+F*d@cUOcd{tLMv_ z891P#!VjDGhOST6!;m$K{Hv*wcqn-xM!nVGKNNdFOD4aeWgbf0-}sr1thq#Or#=A- zT`rR#ljvsdETm_09BUU?lSRI-;B)<9Ea>>a_)ARX_rg(>=f{x1&~*L-4UTo&b)70% z?BP2Z3bn;>tV`3$XP^~Ri1$6^K)UA++>ttu!XbS`l5;4;&&tI`s>+aOK7~L2O)k#g z8N_w!-h$_W8l2l34xgSy!$E6~jpJq_%Wg%12IOG>t83(MFxT@U%{W@13D>#Yx%B!8 z%ys!lLYqn;!>1iz0hc!pU4#yuO6=a~0GeB`!nu%h*yqNBr)!Eq$Nn%*7EXt(*DQRL zrXiJTdzPb^1S$t7@5U<^G+j$&?vHx!-` z2miuG^o@@I*JdYJ*;tFt6_qgKQWsrVDbzOht_F14kK<+U>202Akhu#+tWBZR@ znDE>hv+6#f?~M}>*Dr-VwkPoA%zF@RwUJsmY9Vh4g+c9jcBPv(%56;r3|}O0*Ia>J zGM(^e*=h7%=Yf;XUV+Ll85k|lLGcx5K-J3tat3!fx+6YXRly2&dH`##w;p)pksui5;iA<~iX`HL2=i+oF)JNJO_Ngvu3D~nF+;-T`h27SZ-k6J942SPRV zY|ysHbVtElFt?n+$QBRMm7YW7=hQsLFhmId3mXTjm+sKMNJ~_{(L-!5DdDzQeRK-{ zNyeUhp~2?ebk#R*W*T`2dVOZJZAhL3I-e(?Z-X`6(4qon|6QYETGwgv0|U4z`kJ=h zYM>fJGH_1yGBrs(%{r~%vhLpvG|R$8*#Ld6z7^+sIVix1jR9@5v*90-ZbFm5zwqA^ZVD zD%zk)H*%eO!7Ep4{(2HUTrLXR)BLH(B6T)EMGN@;U)hHCLiSDq$8iNYvt6;Kbasst z{EF=4P4vy6VPV!_H{O)Wf6t)}MqzNV;VZk&*qI&Z_JQwr9NBX`RqCOz6OJv>U|y`b zLF-DwxHCu^6~9_ZbMIJz&#PwYvAl~`^zdMpVI#fs!HI70*aMfO7gGxiAbE;$u<4E( zZTNnI1g8gp!xDX#iFn6+vbBc!|Jv9O4ks3gT$P63W1Hv+O=t4vp9tK{IMy1`R7^(W z=0b|&s32Q?y--D5m$3 z4aySC`F$bed)ReyYi}+ir4>%jHoqgu8YgMttRPYVNEW-6Q5iHPYj?Jg?r(KeN4$bJ zW;_nuQ!Y_+%PY*Bz8l2Gt&bLbIx2`U{z=}{yrAbtGkAWz&xo(}bNZ|$iP?Wv6f~l_ z^Ma=cZ~w$8uw?Ef+AD2H_*4S&GnCNpcMy4I(@T2C#PDcQ08`r8NVYGUhvaks8TbAb z35nyO*U}nh*x^1ozIiLIRaRq)6oyIlf7MkJxZ6ZvvFjl+wC^(c{UIC+?rk8&&`fe)MdQZXMI>qDA?d9s!=#^)0%9^K~`2YEn6)a?1pE+MGh2`_W9Zs5=b2ufpRzV`jqfm7u{d!AwI%vUsTl zh-^NBcXFMX<%6f8v-JQL9yrRpJW&G^pB~4tU80n!O99@rI-DKXMU&=T0g3HSxJQu4 zI=H=om2155uc8%A-E$cRJri-o&q7*P+5+ywsYqhe&0YICVcW4-%zRhI{Kq*=Q~tW) z{jeuYAkztF$62D&5=Z90>hoMaCxPN7Z`eqWGN`{@PCxsK(zi4PDnzwVSneDhuuO*q zeT91K=_$4CMe3tq?ON50Q@5%AZK)R{wKd@b%NFEn7QP&;Mz(@B8@klJ8 z9sG9CFAxXMXA9^x(hXt`)1hK_HhcBtZ8+*_4U%4&^k!=XL{HL%?5)@6`Y(biJ1_p%;iFnkO8ZOq|gZax$KjD;0N+}>S#E5@m5oQ1~oE@Y4P5zsU#0p~4c z#K-VBjN|yb`-ARe{j_>e3d?}A0&B9#tq6A7#(=|2Ct9Fd3OVWPAuIna`&+RY#@eI6 zI=YJH)uzF$YZOv5PtZ4~3*g(zB4{kV&u&X71@!5H3x&<>zn@LeZgl}B>CK@7Jsq$@ z`5cT7b)tcHAHz^YHGIBrOXXh-fZmx)AQcruPjifKIM*o=-sr*_KfeGr?i`D7xr4?P zb->xk0N5d;gH4B?fYawJh!mQMS)1FyFS8!9cd6sQgD2tp%u;wF|B=2iEe7}Z0;o@Z zNaa=~!9?>?7?}2s>Z~{ljlYs*F!vS13N)VgM&|xz*Cb% z(4KSB8?8WHo>Lger9H_9BM4|=a}RbaQvkx z_CHt*_Q_VDt1}G~*p+bRiUMd|8>4TJOoy+Uo-m_b3LS#SLC#ZK7z#5-`?gAA;I0YN z{*%X-%b$`28&S}iFNs6Dr$XM^cf`{CDcv<*KvFVZlk-*E@YnV(^20Knq*Y}pz(A(Vlc z%WKK^X>qUtf>3f_AEE!QfQs9498;5nIs1;o&vCnP+=n&r;ZH5B&Pzhwf>^j3*#U;H z;_yvUD99vaz%7|byn8wfgbfeDthE{FaVr|mtX&7U>QeE?roFH&D-kwyYvboIV{qgc z;g#=ZqpR9dn9~#k`%|RxMH6?1HB5x;r9UY>vj;r5=fS>G1)n zX(MENOFC?6dQC%*y(M>ZlHlEMK6aW3!@#(0Fwt8SWvs4|B~I%>zw#j+Ib2DuaSZqN z#>;e((nk{2cL)x0t2`XzPS>+E&3!`xi=RaHVRRNvezWcB^j*u zZlr4;G?4ug-0!$1nl4h{&WG=EA>dIJb=h!>XdkSC;;~@baHNBL^=W`Zn#ZWM_h&M} zo@2lrn^={`FJwn>HT0eR$nNSpL%!WQ3DX}PV;gwdaALxP5^!La~zYMK*a>};hcUw2#V6_v5BJ4GjbC2-wWsz(~Xd|t{rT9 zuF}9nYj`2TakYiEbjA%!$QL@nb%1nfaA7bk*>VgvZg+6=y~BiQ03wW>5u)WQGy*9*k{6xyvua!eOr)Tkp}+P6RA?D z8CZ?(fJ03S=~7|tx?Q{mnBb%AE%_i2#I6Rlg-_XZrFih!nG8{K$vnB2-22+PeGseJ z%RD{k1}VM%u)Jl2k^SWYJ2-Co$z=&<>Qoz!+slOY`L;ZRtvrxv%7%gBdUD^_7TTH; zA@hw7aXGaVQa)^g69x1|{*O04GY5%$E59}4Rq3t-8R3CD{@!Z&#VbUJ!4-)4lu z%zq`^nNN`@dankRPmQ2gQ6&(|GzI8x0iCVB%%(gmXx-HXFY}9un&=vMseTRGH|dd? zoFixAwbS5qY#y0jWd}2KI7Us?m}pN@fO%>xI5e&#!6p;ohTAz%GCxAzM@oTP#|0?) zo6dXwOb+%5)x&xVC8kB`C&`d1f-8QXn5&I9$@ZTV>LZ^sM>ds`_5E#dL3*@R;P{S6 z40Zt{6Gqg$yU7^$T*>SSB0mD#$)QhGkl2$%%HCZe3&av(YG5siF0CQ+mvHPq>?ZSE zo5_FMk3zxf+f3}*t3>tF5zvs;cRw= z5Rd{LG0vpNemdy9j)K;_I>tj=4t5wuL9_9LmdS(XIR2L71P^8jy8hlKV`IBGo>h*S z%Jq!vbJxQ1Sze5z?FFKf;05O8sl1>gZ^-v~A#gZ+4w~%t57Ci=`*?YZU)TPILe52UnTWCPmpqyAa9~ONaeN#@H1F} z$|^FUaWS}F9AX!)oC(_IE1=V88LQwi2`ro)U{w1j z>ya%4M#ps_p!^++=Cfhj9;tdL9#na(lC zV=i*kRpk!}IVKL)!b@mV;X@(_9VIt+HnZ!*z7R=v20VPcpNh(H9iuRHSZS6@lU~n& z4QJny`mo(p>cbNvI_U{n_%V@oU*gUMws%R(r3|X8R!w4;wUPA`TBt_xOA^E7O3iDx zu^y7mL`JrkY~dmMqU;iRG<=PW?C@aKx$i#oua8(u|7Fd!wZSzxgX|2NMi&(tz%=t2 zMCDvCtAAVuJ|CM-zI;`seTEmvP3;I`+|kU+1z#px9d9rlvr5_hMVH8xFYCx3jjdE+ zq9Q;*3h~Dz+H}PdHl$7`Z6>QJF5o(xdj+IddLzAiX$6=zG!t9LZo#lq2xLBCiKpW& zcK<0)h#pELB%zj>UcM3JcH5D+8ZAs|z6I>r-9@@5{$OyaDO9|@M*jP5PHf+paldUe zkv*PD)}*adV7ncx) z^?AI+_?IMjYzZEh}fm;L~iPR=2uN5Y5vUR4s92B{CkDuH*X7({2Ip`i7_MvYek7k+85@~PjRwD z)q>0jk|o!sE?`EF7ZW?LZ%pUHpw<@=ugJU?$)rw8)^y;V1}QolNGklp*m%1fQjqRP z#A<3-yQV7gcCe4>OFl&7`zMmbf^w!2f3bs44w15Gb&^ ztC7(iPZ%M20qxv&jBHtLM0T7wNMBZGk;LcRby$;5`Jq)L@cl`kZHFO%qo+sl~>xJ%gK z2>NFB1?G?9Uo!lr5a4q?PkNpv-Q-qU@J)< zCl7D_^4aJ61Bu!lHORKv&SKdB6U_M)f+c2B{ykQ3U|1RYmC9LgD`s3b^Wfm$F?QyP zaAwyydw6<6lwBHflDWLu83aquu};%g3bb`SA>82~`)qm&>5(*qH4}a4r`rbPmZlrz zD1^|*n_HOdi{|iw*+851rI`g4CeUwrk#1Tq$1L3A3Lidp&`Vop(!4BtP)^RHFZTLS zr5_79A3!PnJmNuntyaMTopp59z57&p)pD5mzLIY2>7(KMEMcTRie7e0rN6gp!x@oa z+On;ix(mjGZro}b6?~eG<|u+o2#yFqA$YrAY{iB+{o>nECCzTpREr$TjwF0BOWZHes3hpeCAmU6SUC*q7HiaT) zPiO`W9j^mIXO1uv4ca)j%ruZ}kRqGDJ)&jxN-(xXg_%D!m(A9n4&h2tjM4fEc3Oo9 z+>vi={r2DiZLE}rYaiB;fAWbmQEVn8?_WmphBN4zqjTY7hvv&B1=RCoz1M zL5r`tL&B*A1$OZph~Kc3+D zbvsGXxyV?QsKchH2(E|H$9Uy`CueJ_m@T`m@SZQ90BNRbJe|iE1=@X@F!)@R7_Qtx ziktNzr=*s-aeE!v)nx%kitjQ5JExMKR%uwBXhgJ<49L_%A+U})M(*gQkpLBKi2jyB zB+QPGfwEmNkQYd@PERH?wuXVqt4i{0PYSVW_JPmaClJdz4>J8+FzkPDfoE2^kIb&! z1CHwAqDvLu!0s7yduIp?a`%YpR%v$E$7oRTpUs=OMp@upnFu$%YRKLq z$5zcv39x3|O7c~65!?T}5T5XAh>p)0^E>^Spyx4z%nPd*>|d4!Zvq1terY#PG4Key z_6g^${dZMh&G{SVcU)wSt_&ns9g^XfMjEpzM2*b3k^{M2HiEG-A973U2uL_uF)}kI z6Tfk3ur)oJj5F{iV|x>!dWI8eh>a%Zef1zSzlj8t>?e8`%fWbuBZ*Z}BcC=E!zwoM(7Zf!^|xwsR*%ctO;iYOyhb%a!Po`lCuO+usAx0JlK=LMs2$e!5VztViQ~XSN9SGWt?OF7+hj|@3+G3MF*Kv zJ}j%zQ2`FM7Cg=6E%Z!<09G*}jO>GUT0ZwWB%CZHG4rp}lu#BT8yAyp->%SC2`Av| z#@%FK^dub(&IH+=wWQ-qGA&)50YhEhM0a&HmFkLxmvSX!{jGDfWKI$+3bo@h&l~jd z)E%H%*+h<2jx3y5?yt$JEZF&%Slj;rVg!Z`nNB zv*!ezB$ELf-r2GC?|Z3*&mItZug|V8?WMa8ZGx}o4C$bM5Pg1NC)5Z(W~I&>Qd^UF zSen-+nE3QPn`{sV0)>gRF57`h8)ZR9(R}LlI+!l&DgdQSE@zORO~t=t!l^ghOn1HJ-BwCXmu z@9$U(jd7@;Zi5IqT{+Y+wS#VXdGuQ=`{bzag-%e5^ke6VD$|o()<3@B z7whl0nf6T)K-;PfbdhU1>($!mvW+4b~D&3WdNdk0hn#L{%`ccn7tVP{ka&3Y#< zFdaPyVgY`1v#B@x>0T#z&r_v=y?KmpB)8YA_b2<*Q;)eeyAu2y4C%@CJG{c0GDw-h zva*NW$cw*q&|v$LwHItBUUgSs!gXunt6pDcK~ubRehUdVgamjO|ichh4NoY_kb;ZT~NOpnRk5G-A@j?v(KT$q`&qZ<1}b5u&?{Xn9;VNvH^hr1E%rZsa)0ILGmI{@OTJ>p=2O2EZk2WlY;x z!Myw74_4#3Jyh=JnaPVIptJcI)t>iE@I537VwOwci7ze8(Cti!;hwSYras_>OB?}x zOCDP0&nM}RlHld}zf}6`V#0SR1CQE%x=FNv>+W-zGNXX;l6y(-flF}gS05E>oJLX# z1aRevK5B|^_vh9QsQ7)0P7*(FKC`z08cgrgg*W2Z{uXWqAP~Wf!>g%_;0$Ew|E23I ztJt^sU68nS3T~czoApw<24xAu)Z~Q`{g&7UMXi%C@na%;F_rVnn24j<^*Qt#H-8%J zF~F^3KJN1M(EJmME#j!V27sTJjmmKr_12J@{4=|zQZ z`f+Y2=s8WnTeOu%9c=-tBSJWu6HUcWo&qWMFBPbtqCR6qaQp8E8WQ=4j?O5As|#Mz zuZ1a8qAL|TZ;Vi5+dS&;aR`cLir~G$E7Z3r6oUO;(JwzVXxc4bF#7eCZuc2udy7(` z-A)*H-E^XsTe!V5LV8#cxR0u&N5iZivoNZ>f?htp7CueY#MF>`^ybY>@ZoaZu6?Jd zM@c$don(g4dMg7hk9}oeVFT<9 zU5>FLG33eB(~uUCgz^RXymiDB+KVHwG&X}g(69q7c{i+X4k90VyW0pL^mTmw3U=T{49A);;TE9e&~P9m{u;si$ia@d(ds7n6e+)_bv44&T(KYb^w3vmg1a{ zli*dl4IUErrU7SML0OA)1I(L&63<*9yZR9RSuBU*X<~48{x%fUIAOwFWjLm~0^g{q zVCe)Ia&k}=i)K2adqXT~=XkrE+v8Asi#()V_(#3Dp5izoBe`iKQ?WYK(b@pVEoiE5Me!=D*D1`YvvE@cp|6j-Tv+*Beb? z^r0SJvem=oKJ#Hx=LlU>vlu5FnhDdt{G&x1H{r!tB{*F=3HQr-U{0_)n6^Hqw@r7U z-2mrQFqFnmyH;WU4|lj1{D*FNpT#+ZZ6Tsp9}{jz;5=D7coA)k+5NHD#W{ye9!^5@ z*Ab{#YX{xc59pS;Y1m%u4iDfheN>-;PyZ;v-EU)b_Re%H$leQUce|sS{aReh3xYw; z!SHu91k0{R!ryHhP-LwemLJT3X;;GVXqy`zY~bc@)$4E|JP<{c3qjAU2GH?5%gh>qA{XPaS7=P3}dA#j#wd0`WK;y&{@RWz#^<4~HyR699>6t*6;Rng8eX7m+N}adYEhH zfT6uS+@4Yj6IX0Q?Ro<|TTu$fN*Z`AlGI3u295hqN z0)1g$DBF>KwoJ&uTk-C}%Kj z+fv**#}EFcFGLju4fI@)02ACT(V&`-C2O+aP?aSrq#L1QOCAK>QpP!>vr+3@ER0V0 zNhJk*EY3~^Mo1i^3Qe(7<}eIZO+l)+2t_2rU`P5Ldg26wsr|cQS&=NJgz@ouu@`t% zeWLdqRd9->55yl7=KL{2Xr>wl>Kb?Gi{s+B>trHy?RiFRcRr_3lL{e4zo|;060TiQ z2z?zB@%EeX==-e%PBjVRy%2HS?sW|=S}9<(lq4$OvqlpPFS9{eD;>1o&-v>rbnpSr!3Pr>L2Qy0{)(E3Tg-2O=)F03 z^M)zj;%4Z_o>=4M$3}QyjD>=~JXB&<;i0AHV9MxZRDaLi>+^5GkRjlmXRg>%*9I+p zhNx!XhuJ*{7m60*EY3aBKeGuk{~2PI(rR2+R}BTT=i{i!8l=u85I>@WdnKb$N>Bm= z<$73To`(Kr72vW-8(rq4;$*H@5ShFf8)9Pcb!Hk|x@&>TdvY;rZYtz%G{o)GcVpCv ze6S6&!tNKFG2vN0tTs}{=TQhX$2)JdcJ?|7V>9swbxkEmi}7RE-d0Y%@_ zbir^G9*EupkJv@*2Z;dOy~GDz-$H7`UxAMeFM?=eEwyxAhQ3$|7c>{pB)3887*Ga= z!hP(A{V(a0uZ>`JK9w3d{G;)8r(l-TMY_#H9^dzG07KUcw72jj4ISMASNE-=Y=kCC zzE1<0jwbFiRMC~c9V+W(=);8~xc|aoFjJeuh_H$%ERhAPmO2upgTHCLe;K5`Z6MD3 zq%iy*h0jI6xE~I~`ruC3*LHwpZ`q3n++*QFcREqol!JF zWUgZ_=T7JT*YXO9$-gvQ=CF)&CLJafhZ9g%&Kj=m&?VENVle2C8T@HELSCvR;`(@H zn6ui87=OsZ=4qm^cycL`42(l}hly}Vb_K(Trs6z%J@_D3$@rX4!`g8M@M->9!3M7b zsQlj&Xv%M6oTWG8z1^If{F6Fq)%M2BQ&P~=TP65eu@x(t#X7|}Q$ydQ5P_djmHu(hi|{pl%U#r48Zu3Zet)&*pyZ7`m_q6dFI$C1b~Jv6j( z1M{m{Bz8a_Ul}{V*KbC|B9D*p3;~Td>EubN8h%w<1|=Jc$e$12=;7>@@Oyaz(Y!Ps zUA5g{*XssSU@wj9kJ`aZE(w~TCe)4?NBpeOpGP-76a%ROd>L8^I!(Jui z=vpN-(wYp73Kc}Z7I5}WNg(qZi1j!X3oNG`HDcV{F0Jr9KSfeM~EpiVBp_%KuY@|QE-{A~!|CC6B&-{UaigaP}%G`U}}Gj-4^+m&N(_AnmvWtM@y%m-;&9&@Kz6-IL-ir ztmZ&|ZVFpyI1eYbOyIILO&XVGgEmPDzznp}5eHqo*rg3BcHFEgWD>sPi2^N7pgEI2 z&@gLFu0N4Ut9jEz?rqAhy>t--7*?g`47@jM1)M!c=sWHnDDScmUf!O`-uW*XPv*{r5+yx~(z$5G z?P18t?qyrbf^gqOBPchyD0ncB>xH|XSm zREZ>0ttum|@_t3~`!=(wkCaeI=>>UUDo%W}U2yx-GlcGOA&cy}y%N^lL_I{D!I(K{ zgjWTbS1!`m6BpneNTm}+I_Sj=2@Jm@M5}`-yER@CYbFX);d~boJgkV;M{d!*r8$i4 zGZRc{ctG!LPbB&(v(YoLlcwaQuyt`Wu>JB+I=nQHuJGN81Mg2@c*cG@^VkQv_qHvr z{j`A*D(K?)g5@~xTLih2U_^!LY_YQ}p9s3*>Eg$G@UHMovWIo$JcmW7Q@xtW`6EI- zt4`wC`U2MbVGwKKkb_EO5j`GR!!`xS<5tV9Y|8u7wA0ua$8MaUztc+T#e;VEKzAHl zc3~3@xNeVXyBAZh(35PyQ!{*dzm|1fYEL~Jd{ObTfNI`-%5WR!F(_j?4V2o>6!#ER zsqSO-cD!Ru`Q9k4)yYm9zna)ah2hR=V3R_FJMN4isMQC z@Lcq6zQfj^{rEO9e0#O&J)*`n@9F3u|8_A$7TMa+K2qs|Y@ZkUm->+a0@!)wud ze={R`CWfS~55RGg)rsMb_*UU69v(52WE>YblH9#Em=WqkvNvRtn?KF4M#qCZNiQJp z#dT0STbI;27Z5AO@whMcAo-c$MGiX&<3>{%=J5M(%ri0tFGuJT=dR$^MJFcVmDL&K zX=?~`en}TSJaUB5dFVm(t*_JQsT$0%p($xTlSa+6Vi^meG?HPIL^UE)$X-)TGRew< zS{w}_BYs&#=4?OfS2>rMh!v5&T@lQlDVfAoD2BXk%whfu3NRNdP9-(lo7l=9o0%z< z(&S4SkJCXE@`~GS2yuPLwwC4zZ2lZ1p-z7E>cO8p>4sunuWUD~WBsv3qUbzxt=x`% zT>6#C{Jozs7+1m^{9Zte%>r7F72Owv(dESEyfF=&6ius@mJ@Hwqg)PiksUDfC%e{9 zr7tvNm~mp$$(*}O>Dx&IY=-K7K^R}14$N|-Qt7*yZ;AI*~+g`PR^d73y?X zWF%8A*iAJA?evz3EK@vRnGQ#e$8e!{ygmP3vwlmZ&@)+ugr<2=)kICK?Y+aK#u(G^ z`&IN;tO4C5d79gsFpct$FQfN&%F!UpDEjpCBARcrn{KWuV@hV+XYaJ1W+(jXY4yq) zM<1#WvUJvq*0p=1sdH)tqtI(c-~8H2gEShMq2o{3LW|>cl9(AYHS$jI=wct3oGTF`P^eNI#&mwJB8W>?E?mD4SYYJY#hO{E0(K z8$IK!LbGGSTb9J!q05KD>9gf088N|l{29xAH+322*WwviIvia0v&pM z%Qdro%tTCCV?fK)V@YYBBI1Ti0a1YMkQG?}K>%A!)@INblA z7)|t^g^y4Cqv8{_DDy@OuW1@%V}>KMquH79OZ36BN%wh|--XbNZcEYMDTUmBzMDF8 zeD3?vG|tghN0mzA@OEMVYaKTMRWc6Y&|Dv~>SZd82ugoyp}3 zi70;Z2Tik%A)){6LIwS|lsQ()`*ITSvz0zh8M;c9)#6aN*%<2~f(_n09}^VTV)0U4 z{N`VQKO(HL^2=e&r-yLLjyc#pRR~2|i|LB*Kd7_8b81ABX~2C&j?YrWp9$JHno@%3 z%)>vmdAPRZEow{pk&mt?vE@iVW-FL8e6{1u=f-@ztsID|%cAjZ$uE3AbtC;ItqB5= zQ&4PHHC0H4Y5{uh{l~tmYXawvVpOu$B9%+Z zK>o>T{3P4UEUAiwi*ri3_taRr@^~1$wkk%8^-^sYWj27f%qw*M_8s3Rc+n-k@@)^! zJV9&6IP|mi|t|Kx2m~Zc}pw=k4|E$Ffss`+^63 z2fJ9~(PMaJY!QgXd=xx4ufTWI4Av=S(C%Zk_~eKMT-$qr>N*_5HK|KsdUqv#cT|Ae zxPD%UM<(_7dl$EtI79xVB9@kQVW+bT6mGSl<BECp-hJt@C zylHM%Fh1H7F6h2vs%`5qVAu+_dW(}D>jIQ1od@gMoSD;qYfyvh?24XW&X|-}VzHwV zXavqCIqCU$)A28f95g4U54qi!jtk+~_`T%Oqoa64m%zmP2gu6$O7wGehvxI?=RDz&b5|rXcSUhH2D5 zRAd=R9oLOjyb7>1^(O|)9wWo`;kV!0Mx=)xqH4r7Sf1@frrmsmQ>4#>{`Y#~p8E*z zMsxs=V{67g>BU;Dml?9YI{Y&-MwH@MC^uJJiDo>Ek{D&xaCK2woaeWr+ zdnl{U4VE4haXF9P9Xy%Z^%HGnpgxz6x) z5pqUs2v2RxgE$pc5+?l-b8f`J+S>VoJiV9bn2^u$oC-9|@D*C_3x#g28SI7kPf*xl zE$5w8rB?-ykk^|A2d=+o_Z;uRlX^)|EtW)04qd~-eF=bfFVnpA+c-@+17a*1shMFn z{%|jZPwhMC%3s&;!^eX#V7G}LXYS!>ImY)D68%Q5ySb3wSn(Z0l1rh!a1JGf*YJN7 zoq0UfPZ!4tk$q1J*(#J4?YVQ#t)wLB*Fu|;675B)lteb=`U&Km;%!M zE3DMo^f{HZyH6fp-cXt~@&z5{#>fdlg=m~^13ih1xQO*>!{lmc;D41QX-Ju|6A>O8_~%GFc@5v5+qMyOFHZ4iowPDWDIPOk>6ekW|;>BCU*gTJd-jQEa>?N;;89J1vfq6e6C-Gs&hT?s;Pogp( z{fW#ZOM0!gm{zVkM$D$@P=z(O=mv=cFWFfvhpg@J8kK- z>qjnGGgP0xzZXxhI%kr)7z?rIc?J#qcA0dkB3-klkjjUPXT3IBQIkkcEAk!?^KtX& zX`6Ct`}HoFt5GF7D3%(IN-84v$0$?wMnvbYDV5@{El4Bt#%R;$QqQUBgEW#C`bU%)|Cp{E$Rh@ujy;Y|h`4~UwJUQkaSLnO_9h%zdkQQNU0q+D5=8a;nZ-JBE1olJ2) zwD&R9t_UXG!DHyB$fvY#UI{63a-=ikZ&90a5wTTRNniRD(BnHEk{M&|>DCpu>9J$t z8Jki^8q}Ul|6NKYjutzqyJ05XJvNgVmUz-xb26wH*iK@4-DusXc-m=SL|oS_rQZ4( z^v%HsWTTEJl{gk!@HnKa?%V)E&YDfQB2bla8%#51KuR1-LyrAf~bymBNoQS%SIHoHhXvvE=++Wec+ z!!bm#L!$J~f!}ni2P2Wnk^;%Bzcf7nvjqD6c@+oJABXW0joE^OV$Bwf|1-O?Jm^7=leG|Z3YMKXFrX8WZCIGvBPyuMqK4c6y1W`i zUP{Tdp?Nq|d=dA~#BqMdmf>*bh=j;}MI}AGegv?u@q&Tz52?AC0l3W{QJkp%lr{zq zgX8&ctq%tl(>K-n(E3MHFy>`Boqk|AJQQEuuW7wWXUYx*ZW1rJJ~f`c5RHZvlO|hV zut=cK7MX*S;|RfLl18bTDKvI27u>&iffj|CLc4mVV1{QF4YJb#ud`w;*19Yj>@)(5 zT8Y3nD3yA9jez6l@&(PU*|Z_i5VRCF&)Tyxi%ywf00!gkTd&=5p6;>IfzjVQXJzcl zpgZk`gR(ogf^=-C-Y(3^a;RBdSnz5U-9I9q$Y)WEM|^Kn-mV8#E1OF<7Tl$}DMO)Z+5*woL`s*ckAygpw`gWkIsG$eI0XJm7x`w! z)ASl6SoP_YD00CyD%@xU>7!Cb$}S1?qVX_DIA0_h)o_tc3{-{aDK|v2N@?`!9eKzw z$rk;!yF$Nj)PQqxn?$?El+vU7C7|bfoapnT8}yI76pU#o7A?DdhfcdE1NVOfiOdDL z)X7u}j!0e;rEA`z_e&IDpG}!4^7majUQ!L}ZH|ic_ZCy;BoB^DRYfIYGVCcYF_T%< zz4U5E8PyVV-dtPsMBQO=G{Qv_UZqu*zBD*Twd2*{_OI!p2A)p$uTg`+rGH9C$E8!r z0eQI4VtRW?6cV*z zRp_8uKf2!L=bu_uspUM+PxJ{U|7&nrD0{h0b)lZ2VZ6GeeG zZ|KO$@^EL6SerKXHC>}R2zajQI8V?Wb>a8k(tIvI(wWv9EuwuQe66m?sS#` zz0U2Wa#y-&vZEB-{;Vfj-|~~nx4$Lx8X}qSCxteWqpQ6{cW$-Ppu{?|{}>aA{JN>d?s{_HXp`vGr;pUlU+l-R z&PBBGR2OwJXd))x6+~d58+6G85=chvm<9I(w-1^4vd((r#hq{`b%uvWaj zZsG4pztb+k{n?$=>TEYrh#w<(;M7CEzWPOCMx30rQ@4f2fB#CJ*0ft6ZhSNPa|Ldw(ILBX5%lS@2Dur}}|jatz{E=BiRH#t71XIq=d zZEG@1RqZxi712k^lD)+>$UVA!#xD|}5hq$w5=YH!pAffX6B;-*ldctelmu6axo4MB zXwj5rQnq3qeV&&@mar%wclD?)|(S2J^Q%={AEwh#ApF7WK;noJS>PwA?%zHz_FFqy# z)rxe%pK$E|-9jwSYt!tuHu_)Ob244miV9CYp`zy3Sf0CTU{M>_7-!}!cFK)t1hbY^&5$-m8G#&&D1@wgD4t(5ZPUSNDplMNOXUH z7ahLWLd{y_Ksmog^o~~1k0z4PD`*g{H+@6NcL~scElYh~iue3hX)xWVO?5RN&`M)j zc=l%^H6HVn=I&8}BblwDY2w;YX_x{)zAT;9#OUuZEx1RYhzcW0XaG@wfx8lPt#TSw zI-(9LJ*xEX!328YrV3c3DpE(k6sq7b7?MUm7IjQdrMG)zK-yE5CR-=cmw^%x;xA8^ zT`i%5?@584`he)l;p@~p@E>uk8A*2vO2z#SdDu41h{~aT@q_H6yedt1@wOYRXSPhV^w$7mIh2q zr4j~%L8o&*wLTJ0U413NZ@__?l%1pcXa17hU~hUywuru#9t_qy#JN;yCEeisnylQg zfbNgFO(!?C5~n(`j%HN>?GYv>Ka=+);LsX6AkG0|+dIgzUyEpvMH+4M z?I9iq_Rzwcanw(@i8StUrFtD3ES4fse&-N z?u|b?_aO=lmnTw*=-I3;#0l;uIRf){>}O``H7D<80C$V|Z^ik1d!Vz?_GAkxy`)NwPEZW2FuZW?xHSL1A zB~uyph0^rP*XY9qZcM&)9Ia#-#3&()rLH$GO=hOVIX;P!S5X02il7k83w z$D?5S-+ZPavb7F!SO&3C)-2}5E?OV44F-hk*`J}|H2CdFaDKg;`EHJ+FEm1-^S6-Q zOQ{t-5$`vT(k(3KyApN!y9FFDgc+XvAohy;N=__b?8aR?dM?%gA`aeU+wV`IZWo)# za)saQeE1s@DCRIMIrW`|_PEly^Z+#*TgJ{BMbV0(A>_*hX@2LpCd-)okVyC4W`Bm; zvgnUVL}GOj3rZBQO%GPmc;C;=F4~i|J{k^2>!taYo&Pa!xBGB*UKfj+)JDCWzQWl1 z&)E9Y&jh#HlfYW%I&%~ABD@{m!ctdz_DVlgU^1-`ERHy^_;*6K#^V|Uxvyb^6ArMY zw?2d7$T)Vkd><24yaPXNA7(r4EnOLO4|Y!7!I~}@u|lCVwrn`czPPPqm%Q}w>&YNC zM!$mki#vExGc4J~j$s1Z0t0+;X(j7(olYhh>SK$9I~%lpg^2I`0Wn{WvKwFfL~m5} za9qq))?$@H8;6+T+zp?Z-rcjzR8tqHoaHRAu#wsI48r*{rFhp%IqtDn7j@%G*`evb z*`Cy)_+>{SQw$ox9m1s0;P@HVSs=sr{L#Ug%WarxcOm=Gt&e}=9N3B}m24n&2&#RG zWT^}DSl7BixZCCwo9>arvfsUivXpb|N~U`Y=K*b>UCHe`ATJbBv10?8|u;+;eG>?>lv1ut0TLtRohbrAo({~L=Mdyg~=r1?KzC2qKM z1Woe!!IYhTvXAG2VAKQ&-Wa3G6N@H5{`L^|vPOrG@>&2HT3O6;k2-fAyaMiRy~aG% z|FYRd8$nudl8x?_EH#;!l4s(8=N){fN!}K>7v-ryGR4>_+4fc7<9KOZSRbx-HvJ%eB zb_}Pz^N%z4rZyI#Zb+^{JR2@~l{HxQ3C{FKu?yL;tbO(Zawt8St=N&uu7`)ygA!q^ zddL;#c<~@rn6QC8xfjEdo~;qk#OZ8_dja#bnFOqE28%pd#Gd^#hG|u4%*MBdHMW~T zW5IZ~@=`f_x@iZvKAyyv8VT06(N8yX*xb=4sml&SreAx7W%Qn> zzy4gMx0hXKGvv&3S2+bnl4K*VyAa~Vy|lti*t^A`Z41tTl&?TSf28u9~P?d-ygNf z^Jah1GP|K%aeJm<`*j<-@qr>Ae<+`hA3Tzl?N{Z^Z8yn06Kyu`upB>Z-%7CRHa#fw zOB{bBVY-;p+cxSG3$P1<`G((=zid`(BnZEqB)Ic8OKYklb`b}O-^FjNdht|f+o%hVWq+`J zS=R9Qy)wAgd}4~WKS)xMJ(M0*=L;6BguhZca7#j$+nRNdQ>RzJmMO;k;HB*(=VCWe z&Cur^wrPUy#a3`A%a9L`ilQ|yC&H5cFRWbVq+s2UkEB?wn@R5O;#{8!O%VV2ZmA^B@Y%C**!gBWe{x*2M zq>$*von+GD_dS386T;tJVxa{G;8n$Pu-z5HD*Vzw2h)vAAFb!95s{y-0p-Chp%1If&Gfe{8|o+dui z!dX(P7H;3*M8YRGu$lX%vG~2Fz~y5V+qzyEHxC`koO)ldm}D)iiFik^=%%oU2yL_p zN}^6D^H~1-N3b${6x*`)Dm&YF30fCjq@go|Syf@4*t^r3o_EP%hpXe@-TpQ7XM8%d z-_#4oTu+D;hCg5|^aZFp>oId31O72A2lBqJ7fIgM=Fd0X1SvN&<{quU2a=zFnTZKA z7q82DwNY54c$p6Kl;iW3%cEAvS8)#ho|%e_aN_&XB?=YYZ1GkzT-`5bjeb(((LH*Y zU9+58zEkI$|HxoZsU|TUIgD%k*2P#wU68-0#|x!RuvF75}-~W`ty>bSi@mH5O z&*+7c^AjMbu9Mx{{TZfM&Vz?n-ZTH&UWi%XPX5X%@kKfBAr$YBUCT9i%#Dw*!}c_( zOz2@#MrA|Q^%G=R{9xYqsSr%(>cOSB$vnB`3apzt6=uR*-j|;VzpeBkVIlHI)~Qe< z?jbEOw&Gj<#X|ky!6fg_bS`W85Pp|D6&x;^$XDP)I0s^GQ@suUZ%YqY{XIw;+~@PT zGarFPMkn!KZpVX*nxMUSfZW<-%QffRgDbuE5P5StKet^94>?YQ69P*vlvYQ(Ukl;M zwh7$ONek~4sDa3R5(u`kilgHNX<22iK79YNM4F1uYCvbSNgl}mY ziLJ)}M3?P>Cv8x}pMH^aki~pH*`W`zw1%@GC+)b2t|}UpXtH~Wc6_9RKGv;Eq6Z&M z<+TNdc>25si)tIq$NSudQSJniccdZ!)ZaLC(ALer+c^`_iXVBdPi@3^$9N2K> zEv>S)Rl(`b@E>zM|~K3X0?)+ZF&f^#C43*Tvs0d-vc-y-A1o}TFGV4 zq=4zUP|=;(o%~2(C$udwr4sxwKQJ^EtW$T;$(8$f^_VlT@sAf_?Dyq}<;Oj0)V2JAqx@*XC9-*X!8_u~1J`M8Z6GDdIjLDXy;lpk|#D4&a z(!Ua$o;BR$VhcRFYXDzt*7IvW?!w`gHo>SDYq-*x7Z9DNN47p$%5^5c0=c~bM8@&U|El0F*RVlZMaBc(BrL@I53A z&$`$0ri6Yn!go6Sp6kqAe@H>%@}s?`Hl(NbATKeaf|L_dVkYuo9u*oV zx|F2_&Q}ldZmk%SE6OI5M=a-2Yqk^b*_?dbvz#ySzDG`M)B=xD|M6wxD@0qqHxu8U z+1#mmJ@t7JM_#U8%ulY4CMHuxlUw#Se6_zU(Hwn~q{dC*OP@=M85A`{>z)~3UDhhn zX|5N9`55zQKVw9PTO-If!89)Mutan>csi^fZNj$(D1vY2c<4W7#Ya!G1XbxF@aM@4 zzPBV0V6G#mFP_IQZa)cj=9=)~^gO=bSqSgnj)G&&i+S!eANZDgnjDfa;X}-J!H?7` zvS#5l4tC?=-8vJZ{mO(J#`clkwPob*ojKg9M;jy(<_c_1+VG`j(h&V%5OaR@A0My2 z8>a3wVwpSUaugC_CYO8Jz~MA-*a+0pvPp46euj;9(Hh%62jQ`h%| zhaI>;`Gr69ua6xc-jhxUKBFr)&ErL~g`{=jaQ3FunOEPwN^aQ7v7#rd_|c!2XsbYy zrMNlq(H=q?zC%OgowuCFrN@vQ=`SKL?d3ej*PVo`_|PFQoO$U_eIozGpBhx`=2ipB zRQ9kE`w?pnjg4hx5rCAVo#`YOKW_5siuCr2|o zSM$0J0U+--k^Z=}oWri=@GSVd=!vR3KU=#BZmJH5Ms7UH*E_kxqdpD6eUt56eV!d` zZXCi6-P*;~`!~VCK45=!-1*ue!LZXXf^iv79=u7j^xm~-_SkK z54&Y8VjmZ?&9gmu`QkKcC_jZQzP^IzXaW1^yCY?BK^<}Qx?D&&aKGs|M zt=RfJ8{Sx-ESi;ffdxJo#phUE5w8F$EMeRI zCh*mlKErFJM7H_T0-nF&E{t^xWOrT0@{*E9c%`zNJz02=TWb}9dEhqI>%EKPydvn{ zoXy^CUd^xWErZiq(acH1g`eua11?tM*kBD;{;Wd>hpmoaNv6yB@bZx;+3U^1W#@AD zuj;t{&kh#;dJ>oRHNnr5o!OF&CR~miV}BO12pw^pU!so(UoK*Cjx+g84IT6_3uC_( z2_HT%6i*f8u*vI|@GDOmZudmq@mv}YYQA7|$vl3BOXD{7 zn6-Ty%Xh1qU~9`yws5vP-y@ukC-hpG-kW9oa{D4Q`xM3$R*vQ#X^yy5&5I?M&)_MO z5f2~U$)vVV;A5SqVtw*iX4^THhuKX>>BcU0Y_9lh`n(V$GUfS^@8a_=*$b;KadEw3 z%0CR*hI=$Ov+^82zLOonqswlw_{~0i`sx5Y;5fi`&z#OT702Vs$*b63A1m&;G#>{o zd&9c_O7c$k3~avqfkj#WV+rq5F*)fm`x&Ro?{3b(To+qrwtpzk-*EzuS%t9uH4^-@ z{5j0JoWy3_Y+-Zs!*Ro3U-n+>9_vXujmn-0EY>cM?HeD0ZhNAb{P{2@=M;~9<6YSv z-}_AV+f{t#Ig@!+onWC)@=(M79NXl1fn~kP#`^u`%)TOw@%q#FcII8yV0DR&V*zM5 z?J#f2HS*vleGp80AOrd)Mk55|9EON-qwe2OKb zjY>S~&{6D`26k)GaIP!if$`-5tUA<)$KFCbC7QwVy0rM6zDc-iSRkts*QCO%GQTld{Tb-$ew2A`>tU*1 z1mEP_GPkNG7BtxbTl4eSjRiMYhp8n>o%CQ4SCZM{xMk?Q=K!0!GKPgZxZr_%a%=>ID%TMz`pPhPaL3Jt9o9u#Lm8Xe(UnR3W zd?#+z$)I@?a#-`?ao8!IrO1&v!|HxJVCbB%lGEoZnMsZiHDqn+xi9Uk)6pJJxm~2= zcMajo9xTV|MZZd|WR&>zhNZaKP)BfYoFRXuGZ{lCe6xO{HI(bm-hn%{3mbEvu%6l5aEY2Kr0hsxmv0q3o!YsO&tDgZ zTa^^7FaKM~RqSH1Z}DDH@6h#p?u1w}6i>*^9Hyg{4+)6S(@mO}KJz zieSHJ6n}Kt3+s$6Nnp-muKd#-vr9LVSwF0~x91l0Q+i8u|4rr_Hre3YKWB)?6Cn>= zC*Jd7pXo(6f$x=Afs@>g;N6M2e20w_zNk+mZJG0U`9T48j1DLHPX+w1^hC^dFayJt z(Wt0#yy(#a+%o4C?LIq=*ZSDt!Q=h((zda@Hev}j>Wd;y+?%xRal)u*8Ra9F)m>aB_JDCcFv+8M7U{ixG5P-2fJocks8b zC*j!-GI)5aCofuKj|;y_pia64_o|qPt6%+rea(}(@nTCnnsfk0+sxusu2V4MTRdzW zZOw}x&qZ~=a=0*KDPQ_#6Uw+n!`J$8{AIfr8tazA*KgK*Q^GMkpD%^a0uJ$Yx7Xq3 zhj~DE?BF?TXGc=LWHC-o$VWP9B0feb-rV zcs8avK8HT<<4h^&8kWE6f&|@c_R;PXib`_9KDvzYLEErn?;+@(nZ>N6mZ9(LV_>r- znMv1;!`CN0VS`3AD-npVmt@O8F77E?)VLhGy;Gs~P%V4zW{ytrWq@Um+3CpHsJ3|n zjCj+-%r_?9EhL(`7o=$XgBU-*X=ZtxX9GZQo~8gT!^2k@x}1*;qh?i{im_Y9IlpZX!Z z@v{e-RV$*l{aY3kKM@B>4#roCzgf)6`ckI~Y$sHdr!_jf0@zum7eDv>8 zxNfio&Q`VMrLXG2bJHYTt82qYetZGf9xTDYWZ=^FD`0iRBvjkBgqyX8ft&gqjQ%3z z752t}|0bZB`V{`JvRRa1HxY9$`g4h%CnU07fTDSO`5pgH#M$@{pq497^}9@*9zKD+ zf6chglbLka>=qb$V;b-5zC^vw^uxyF3EW0a8Mysb*lMznyPg-XTiON4Z~KoAuMURl z_R~;)Z9Lc1j3LcEJD}sw6uzQKQB*WKyw(mouTO(D~L9ccG$;jzwd$?0vbFkNE}w{TksK6AswF>nR{?tB9RHpBw; zILL40Jcms!J}^wti7S<8qVLm0@Qt6vE!-Pm{`dhH(Fio{Af*vzIwZ9v_NbZAWK~womoksZj=QtFfn8*+4#l!cab1?3X0Z(?x zhpXd#p|j%$qoNdO)-M39nc}!@_Z&5&H{gL#&@PpAy;&{TI`~^pzp+ zGW`h^$M%BxIc;vUTMkQ)?u9iny4>xvGA4w3L*{RFE_2uzuiRP>>&*W$NL0p*+%q7I zP~d42L-5OtcChg@;2(kup)#=+mM(qHBqK852x?-yP7%9x?+i@ymcki{x0p-pT?n=M z4r6v)W+n8Dc#J~}pG{}%x!*86HEIz47KoU>!5EBRlL;iamaXpm3A1|=p-$}*lNeVG zA2x=-4421DAol{A9|eN^#*^%c@(WmS`T=~Yi(xnO#P{btXMjJ7V3PVFpcwHG@bpz? zSLqIm>@px~XFYp5JPaP_-G9 zh|Nz~Mn)Q0X66UIX3yEg>_oD8^Fi1=;UinN@ixgh6%0i~W%<{sS@gQvHkf{5fSrtq z6YY8%1DoRXxMsK`DRK>f+(Vi?-OQ872FJkE*F*Vnbt`CZ3;7%3PG(Kj#Fkx({L6%iqUV;s#DDdd6)h|$ zpGsdq=YO3n)%qd{NR-Amhi;+GPNJl$Nc>RM7i|K)}lDqN5 z?h*V9djy9B2k6(UVCxr)<(BP{s-mDm)Em@v(|aLe$C3E9h;`AMB>D#@#0j^cSv#1K9JaH?eCuG307_n~`9|k}3(*c!k5@%Bp z(d+jCy-W3^?!au3Wpdyd>s_k_MP zrfg)GDoHdJ_m-v@FaxoF@QsbxF#LHC%d&D2#B53v-%SOu4%ex`&z%7y$H{E#2_v}B zn+W&4p3+3?UJ^IG5U!+lQN|{~lH|3JJ$wV}Ip7LL5gXzD)LyC;m<40)Z$j9iwd~$_ z3Y`ltK+pa4tfjsMWCxuACoNwVd-^#L^C;M*H-??dFu;JFeh{%mo6Y_wgGm5H37e35s8qGb6d7*rCu0FAKM``77Uphlx7c zUph}+el@|KE03UKf)<&U6j6l2F4f zQO`hdFrCQy>tbV0HPqMmiQM<7VPsPbcrUCX7oW@G=%N!aw$P8BHK-QH#$zx!H=Npe zRe@f5BCPx>LuJO+gVLlz7#GZmMOY^|tQYTTpL^s_!gXknyZ{f|N5erSb#y%u2nK7t z;L%|{++`U6i#8mGwyi@kTQ>sKN*;jJ1`)XARYAnsr*L9wH_Y_@0r9^@VBRW;H<~&? zQS%3gJv~uwOA<`~@euU2WO3fDTu^lGgT^On*br6(*VOW$p-TZp!ERu2_X)VDjlm1b zo549F6`mZg2OmH25%u8?SeRXc{fZQ9#-u{X?JQ8%%Yn6(uV8zwGEMb}fQGN%z+C$x zvHx-j&KMQL(ZCv!&DWDK`GO;y9#kzV6rP74_W`8x66x2wNnlep6&!w?gvN!j@IdGf z0ZAvJ)@UE((o@jV;11)o-Qd%dbI^6VmMkj21HPZzz|k*@9E})+Km30|q)jk9m(<1T z?ALH%o*u18GsCefB|!4`Q-NNSGk!GhfH>h3kUg{;0~c+A(i0!SaGyOY#g@X}6ViA- zj9`DpHgUx2gUc_C(7EkBFntyD)v?2eF~6WIdkyX$SctX{rvNqa!jz|LQEI_%*ne;m z>QH-BYq5glU^nczVvgmzBB9gLA1_}ThHCMb;N#f6m?UR_adi(tb@U>9bJ7A2l~+T9 zp%s#_VVI6-;2dm@Lldq*R5b^WLkqE6vjQY*E`d#@176%70p->8P^Y~PRZo?G;Asz- zZuiBSulpf~iTAz7KGc6!2i6XXkU0A&KCHS6yH+iMuabLF-#7vm?B54+SN(C+$%~L) za0)Kw9>Bwu3|iR{*sHz-KkNzzwb42t`OX^8E?NT-YX(70$ygjU>@qBha0V^;nW#3T z7QFXGgZytHCZZxrKQR<6n=u7NHqJ0j?{Uf4!_)BY?g)rTvle?;5;R+$2lEd))4E;u z=$n5Bc6$#Itm>bO9oD{(dBKc~oZ^84YafE#wj}bdd_8uj$H65nXR7Vvjq85gfI*hy zXx$Gl)C@ii*XB+j!%uI+Z6^n#vFaYyZxDo^RCmA)i^I(7<#s$eCm(!VcCjJpt8mhp zGFZNPB{LP@$;>g1hU1wQ?A)QHc<0p_@as*ar+XLUBf^AUoZN*(j6_(8aF*& zL*@8B+^A`dlk%wbROQPkG`2xyWqW47KMkKajzod!ZTjd+4CWk9ha%4wIx8{?`vTG- zRIC$AFglJImviBMM-TOK2*pcHA#iI}APen_z??h}u+sBl#^%RSvsf9892YRX&KPu- zcnsg}3rX~y5Oh5o3g$Upg6lLK57}-96Qw{=*TnO6&10Jqi~`jKKPxBVnlU z5{4O$!^xqsV1lXm_Rcz#Uo;Y;qyDS)O!YE!oG=K#yUt`+j2jVdy#|}yP8u4} zg8RjNJ{g<6?B*B=Vg1pq;I!DAwZ{$?23iEeU#mpIvcF-=#0QZ7GL8nU?!(qCy%1VE zoqe*G5YFtIiU~)Ysb841aF&}Mo_~=^bn9h=J{ttML1P`=UHk{%ECu}FZO(>Dyg~I* zLUi-~PPaGRLjOBf*soS4f-lARDt0vvMpaHF%2D2IDxNqk;9|!y^fFzIU+OmUDSh9u z@%wh{e{ap7O34WGUs~bM_rCn0m4tBM_iAkOP~)~PJ*aK563=pN?pX5&6=n1>{J?YO zJf^GRnEOeEm8bY9}_ZySWs@Z?(aavmwmJ^EU45-Ux{)!7O5o`1z5OpyFyH zYqc)I#Cgl$eN8J9b{6BebC+qQR46m5e~dc~KGT<?xKBzBDM4#$E!|NqIq(y;Nlxs?)#t! z`=g4je+9bnwN=e%6=TL`L@npS(kdL@KN42x9_5|$zvDFXL*#bo2F^~3Zv*!IxRvd^ zfJg5BgSO*RsiwRsKOiF|EG*hDTD@X7&p0bB^jz&ioMs&1Pue7e(WUdD-E$XL6-WtB zR@%c7Srxvac91YU)k{=2)qu0jgN6F9*0I{AWVUF-V4-GH6VuH0Y@>)0t+T$dY@2-fQkNqry%| zs(FUpV}7#o!Y-mQtP1OI$?}AlayT@z7@cjduYv1X z+Xk>Xv4EVPv4Dn~NebH=Wy$7Dc^KF!CtPlImz=re1^r!}_)A}n?2Rpfi*7&BU`Zft zKJEq63kGm-#95L1-siAC`xgo}K4M2oZh*l}NuhPlW2X4~Etz;;PUso+o-HtQqcRgd zqG4k&yFJB*z0Oq>&Yy0{iZn;EXZ?!8(CieJKfRYu*ry?s;SOxifsNF&K~o6J*E8FJ z_ksn-wS>P-QrI!u1d&A2P+@R~6o0jPJzZU*B=nY-Qx#^~Wzr*JtwF{aHKEt_cv|O2 z!AnU;XgcB;^{SZxeWQm9H+#;5=4stDiz^E+c8`IFmebksK6&9V-ElBUt&p5Pt|6>H zTqeqEe=YJpH%vIcuAV-)@4>213>6wYGhzN)zYFA=b%m#0a*5Zx3B1-;UpURaiha$Q z%fHv_3Nw;h7`tS{V?y+V`Uw#%=iw55zG{R}J9-5xTYrMhD^eGRkCx<~O;TLZd8n{n zt$}r(Rpc~US13PZ4#UnYmKdol{A+H^o;2sMPycBP+t%x_is?~Il%pe*jk!XsWYze) z*XqJUF~0=;nX`G=ECu13))jESs}N<|pqV1K>!K<%L)bS@ZDHRldCZP}!=ftHh2M?Fplib;7I;KU7;wTC z!;O*K=5Kk8E^AfF)K?KMwY?uR@9UQ-&ldkC`}*;|x?I@~rw#m(qO5SLno^mt;w>xo za7J=uXqjKJBDa{CiU$f6%IKG|B_>yop>lvsS=qw%f`&a-@YiTa+1V5g-g@vF^_rnl zc4>_z_t~oe%dcsawcdZn^|viY=K=XLgDWa!$^+NLu}ibFT?jNjQCWttL8&9pEv8J+RU-rzvCyO@_%cJULH)qbkXw$)%vqPb5=#LOg zYRf~N7QHgrbW5ZPHu&w^@Up-O!8k$l26q1&R`%#$IDXJf#j}QrWi8t-V%ta;j7!ig z+bY|L=k|_Axl@W|!CJrY@y#dL=Auw$boLQ?`hG>3NwQ^0I~-8<^EX_0Pp+(jBp^uW z2ou!R%K|O@@ui8fFuX>t?9llN^smtq{!39PyP^6JPoC2d$`4a1lW|JL%O{nEr^D3C z4%TQ1wcj*gyPitf@oshD#5V&NLS)PSay49)t|m;v?~tlwfZ4w^g>_k9VN&O0JQblL zblrFngkdAG@Vbi7YV-y$921OD{>sAIsR?kv;S8P%87e&NAcdc#gYkHjhHzGnCHk>_ zSeUOb%u1PuEMgq}_! zqOMen*r+bd&rTwRW>+y|iK39M(u3m1*HL4mfpA$?58WM-gSq7f!cB)gm{dv=UTD@3 zZa3{=J?p<>;W-6iop3vgu?!aXIdp_URwJOnJ`Vd{=m;Na%p#x7H=xcIEn#WoY;vt| zE#9xx61sJ}laQCPctAo?=&q;%waF^tx@V|R>ZT(+>(|5PGHu~{g>-7Q$r=+rstf-a z9~RH!OvWR6nnE|nNA&N)fAGp&Q@A=$h96V+!N)eL!r^l{d+iyB`8h*{7dtFiv`q|l z+P%lo&ga?Kxly?9iG;BGyD#%vSHPHe_S zRvp$VlN0co*?lZy!=W7(;rh2l_#X*4&tg5VVfM?rxK1jFO;}xy*4rPW%gstA z8&HXN6B_X>YiDgcN-?Xt6+fKHWY5x?QN7?kKAiuM{VT4)l#F|L!|s0+orgb`-yg>9 znGt0~wD+Py#dEH^P~@8yp*=;KO4CXtBO`?r*(0Nn5$P2zDZL{ES={SBul5>+YBqy%F#g*WH&`#{+ z_n9yX}web5ly$4_AnkXqYcd@yYh7|Wsb$%qcDKl~Km zOV04Rg-@`PyN}Red`0Ki-xz$AVTwbKNGb0+d<}SnEk8K#=<7R3dV2?xMogdwUe^lu zzGrZH{aO?)RgcZC5Aix#l}M&#!}#t~^b89zONhzGdz((YPy0X~{;fges)v}GaGqpd zt--YNcFb57Omb6S;NPxlEI)sVw5IgK;BJ-B6aPkrlNX4uet`5VuSvmy?^r+Z6+xDV z$;X2o81kPSr=Zk9mb~nPc8nzFS=2x-D0E<^rVMv}dlu1uTo0e6fAQ&r57FL{h{6d{ z+#tgwA_~igrN>(ow;v?x3$rox?k{}lZzjFY`FQd9Hwrdd;QgH{D9?L~*16+x`rKy( z=1Fngx~uWS^BW=(-{AhY4d{9E2Q23fDh^sfV%<&Dq(8^=5tfJ;Rv@gA7T8%B;+}g9 zMk-dL$kra-m8UUtSusrftkD0_4L_tyP-Z(BVP}Jo6!sbMBMv}uYCNjkCAsx4MkD;# zCRm?U;53CEf#;n~5M}*F;(wn>^uE(@y731^Ijf25@E|O!mEu|sR+83n(U?0}f~ymB zstZ@bK`dWl@3U62M(G6BSKo(axj3G;c|$?+0j^$2A~_Wfc(c9@A51QjO$&^$^G!2e zyPPJ0x96Zh_?@mrO(ev?2F-t-;ZE!jbj1&alX@xqe#oHdt}X_QZz5%xI`qcKVoF09 zTz2=6Qvb;q_U0P)t85_NFDGK#R2gpfq|0Q>^c7H?CCeE+dqs>4G|^Gq1&PDsVL;9B zW5!#oT(t-{?v26lgPq8JIvZmDWYMW#fl|8#(7U1s|5Ig{-aQsBPUBGitQ_SoTk&P~ zc)SySXRD_J)UD)TQhEz6e|F*YkEuAL5sK+!M_~S3NoY;Uz@>Xbp;@MbK~v5kkj0RT zT9cqWECh+=M~QWYGQJvy;V_-|ecW@-fy|HZzTW0`~1 zYFnW^cOSYtQgJe6D@@M&!EpI`Y`-}LhhN5G@tM<*@o+?EPaIY@oyW?+Nmw^~Jt`OM zhV=GLa603U(a#-(vuYF$)gMFbkVROuYCT*lqG4ZYjxEaXh(`Q5^!{FjhL3{4w#|VX|mo zEmpm9#HrJ<#58Uj(xy&Bu4yHCWwiyVIdfq3_X|0jz8hZkGw{P$729Sz!qLMPowJ`2 z8=(*HvXX#A@(Ai zY_iivNyz~uTx=zyinIiNe?QXOs-%r98_hdVq<*+F&t|OPb+Vf z6M&a3O6GVo);(EjyWF9ra#T$MIOIwBULNCf|>sVaV)xhLq8c=X( zBcmLR1lH;|sd$-Ag8NNz>#ZvGYzY-<4tK(m8zQXwF_rLXc6jBbgQ=5!`I*KBc-cJ( zds`Or(((f&R$&E>tr}0d3lxwzUKhUh|B*16a+2Sxg2s4nl2+hMk|z(s7Q;F+JCG5{ zHXZcy^~52>ml#DYg4yOO@+;~Q>EF2kTN?fl*QU2*$=!JfruxttmO*B&F~;@f60lzv zN|qmU!sW3)$;1(xiL;j@#yIqm#DN{8J9#EfpZ!48o>h}s}u@lX@`gEH{(h=-MU8>y&$N7BZe#pUoSBCjWg1krhv z;}vODR6@au7)%_YjjwizAs8S;7atZ~VC&>`qi{$jrGqAriU>5N!iagES18!;t?>Fp_ zz|il+RJ*lgs>((pd3!hXeEx~L`r}E#u8o+d=Fao^f)C-zap*f`@%+j!5S#duCFPct~@JSj+7ht2O2Fln+h*{!h! z0n=}w`=gARkC+8ooD(s^Tb%??c~3SW3GXX9OpASu9;{1hE3T}2+pG~$ohNK#xCORSr#@v1miohPL|^H6#Ge$Q`uJP?yJZMtQ&$Y``GPch0GVeGps2bZBPHYD-oFIJLz`gk zkbvk#nizH}AMW|tusJXbqu-?B+k*_e(Vhdj(mcF=?Tt#&UU*m)K=SH-l%C#<12z=& zr#tqAEky3GB(${IAfQVIw?*Z6c-RgaQ)F@fUj@Rydt<754w<})Vuj>PtaflBNnW{# z_cDRyg*Bv9F%38BcA#rw5P9`E3#p^Gqj1UJZYa^T|o zacfW_1P3TlKmHNB>yshBZ7s2w@dZbtHsRt~G3<4mOVEJ9?D z^R4IZV%()5#H9;4D?05^GtI!JnI}X+&SfYQ%S0a2prZonv90hlDkjX~Et(T?Jv{~% zPu+Mc^)&noIR#DgQFQy@YY6y}4w<~4BJVE+xL_5E<*&DkzS$O{z90nAu6o4nz*XoB z*@mkfMP|km(oqyV56tzWnT=FFLN?At(*s?zhoe$Zw{s@0Zj3i8{g(jwJ7y^RFNBYp zmW+9W?4Wd9jry<4g4>t9FmDv&?`Y=Z(&g>QZhy$@pUlHW&l6biB$*m4%E04`8=#h9 zKnDhALN8@GykyqUP}>r?WfJVj`bN{YU&a!p`B;9gmd-hrf;Rz~81HUEWglLLSn(B1 z+b#sG_rAb_4M7OrR7G#DyN~Y!5%48hbb`SnROIi+5W}a`x3ELF6ABEZBB=Jk50EZ0 z#mHbYy70$ObOz1Gps+H!_0voA>SYn-Ntx7d$`f3;kV@vZb<*^WZv@7T@LNaL(seW1 zurfQnqJ7maYPCC)SBi+(Uzy*gb*Lj#Sacuk%IGxCocM|@g-g?w|cA%1e7Fnz8%t{eXlY1RG4SQmY`nMGD4AL&By_;_M|bgY^C zwD(xK{~Q@^vxa9o+M%^j@II_)6n!_WKwDcJIVnAvcpKb7drJcGdRS*x&ox3<C9xu-%bDsw~C`oP0Kx-qyoZ`6j;g&^4^D5y$YJRK8tL zsE=Bt(W0@=EbLSgAoGKCjor?#pLH2`AFClO{Eldw%_SI)l!hHYpEx^R#=A)`N%5O? zA|=}djM!IA-icoksY1|0oOTlNSA}Nx^U@JDNJa1<)`(nFlkxrIP-1&=9x+l(!T0l1 zMSCZ?iEahuqTl`7ymQ?bMVHeV&NOM5t%&LuwY63vwCaLLxu#4sh+c=?mQ&=3(8EtL zsKeHC;Y9v#hG@?A22{_mBxHv_?|-8N9s0pUYf(1;sIv;Q*9P*V<3jkqLmTmGrM5`& zu^z82mIwdKYb%FCod%rhHX%9*sMH3B3a&L{poxsC7~vGQ?#0k)>|5 zW?Bv+UB>fMRc29Nog(2~3>Doi6nrQE^@8*~OFSWVZ&0 z?{5}4&uFF#e%*$o_G8hS(ap4WPZ=JZT*XU0_(H`p@=?$xMJkSdqpP!oeW|{SRJ|Uc zf90+qX~skHJwu)anB2xk{{nJ<_kGImtidb3nK)#hqfa;0BDeh=>Hlj$b=-=OqI`v% zdoh`IZ%)F~xES(L=*1}P&p@bQBT2h#OBd!RV#&Af#3B4Jb*!$1?o@gFvA#leCKe)W zt~_=$$}=rifYGylk<{i!Dwry9SX~hlEc#`J8@VB~UVexy`zQLmtB_Vd@WLj^A;eITqw2D| zu{S`9@4RkHT_^eDmg*^yk8v*DJuv|P0`8RMS{^$fyo9cp8-vkjBS>`G z`wH*XfhblCBbDv4lpHvZ5r-2*HM<7U@gHMhWKu1%JN1&k?tBbIn-WFae?8;}gwIdk zu#De-E|gznw-bGL%=try)p_v;M}>XnB#9g2Vs^=BBW4%LkRxidMQ7X(A>+ddl2m*| zbhF71iFR?KkA3FE#48F_Uc*Fl@7)z`ogIli2geaN9eeUMEfTSI5yUJXB!1y(tY5X7 z6xb?=E`ADw-JM3Fc~pTI3D3N7$Rw10>Jc4#5rNpTvRJnNjVM^`JSu~J6VK@0a+~iL zK$i_cY1sOTi8dF}l|33_e_rvqyJ9fpktB}X7(&AXFT!+(6e3)2^9$x)K&15}lBt`( z*9Z8aB=8lf%x~nyZM@NDcaC^SGSiBLEhxKKNP^~v@IzN`!{fH|q}~68kSVkm)uWUk zBV?CO?L7d)!Lq`cT3iu&&DRf-+o^7OLZ0U zK0YRXN{fjS1-$eX(6c~+7z^xthU{Rxajy|sXqzKCPY+YZH1V5P8^W)>kw{%Rz<=y{SYzuSulZH41w5!KA;+n5^T*;FjDN zQc{Z%3)@Ax0ZVW*ONA&LA5UVQ z&qiKI7_stPL@v!;fj5Z-blBl#I23zO6mNNjZ&5XXzD^Fm zsjZhkouCChs#DfrDre?P6mj#f7XP#Bd`0$;0iqq6&j(r6^6mx7nC!BKxR^!qYvjf8 zFWZ)ka+^o%1utFc29t{V-@9pHr#d8J)Xbi|NTrhdCZm0MwMfS(OUUEVhOOH>kCO`X-m@Z&`= ziN1P|_J`|Y#@!cW#y}f22$=?brRSu+v6#wjSPf;Vr{vtecKTXj3FZ%ZLk87srkTwW z@L$gp-fIEt#S!LD=)bsc4k(I)-mh{ti-9%F*dt&+IHAErALEpg?G9^{Yb z(EIL_@X*`@bN4?Mcz|*EdwvRb-Ty&XUKxuQTPWR3RVp{2Kg=xw&QEVy6tevgV|9%PfcU91M_4#<` zyaM!QGIe)agcqBEmfmetA%7_pMmZo+S43NDm!Nj83nI53qcdb?W5Xp+_Hw?BAlK2cz(Kq)^u$+AJ#S)WU%uR@lAH zSY$k037svrSinn=BNzUVdFM``?z?vRUkO!w(>{og$CUXFF)4fybBChoIez6N6|AV< z2EE47wCdOZc`3dDX@$Z3je8^T+2$xNmTS<-&4xm~a}d4ndMd08EwF2!H$MG%S<$9B zAFX8`s66+JPcK@9wQ9RyeMo_tpR&b1trIBg5^`!Ht?}xH4{R)C$owY@kjfo~;$}tB zvQ9wx%nl4uTSdk_aD-ZgBOdPz5~X}wh1o6+h!ry@HF|be#5^;`^u$R~t~eTrN0;K~wIHgaateRP2y5Q7i9Y?$ z1)&F~q4R4V4cfmAOAi}>Janc89|KUh&kP#JlIh&OV_3i7KRBI;pgybiKy~m!Jo`19 zE@sZKUv3ZS4{K?I!(ogVB0L{Y7piwG0M}0)!p??5Dmt|RJ2(5HJ*ky`3fqHbVJ!u9 zNih3|zKEKz2}jr0QjO^zDE2&re`6cz#DI$!(Z3CEcHE-1dVwhX<}2JetZCQIP@JvX zhJ{vsRJ!#XIvqEmVAe8vxZosoJMWT9^KM<)#<}W#qwV(YlB5NsWcZx=H<4G*I55CYl3|6a8Vdut0d|2TI z7_N-K)+TZ4vtT_W_J-i{sI8)5J>D37;sSmjsuP9&@<-{}%F zz3f?zRbNtI?@=bIu9=CGEjdDxPnu-kzL9A0 z4TfEItJ#&~W1uoO4FCP|6}|eUjl!Pu_~9eeZl*(V{74j(&ALT=t{nP9Vo|jiBEMbg z7%J4aGe@L}_BCiBxGD)hU+9rLi-+J|aV8!uepF%aqKu|{=MndCH+9ia!TZuMjLwRo zW53Ko`m%6r9qdJyo}7l?56@zA)mhpoZ4bxOvH06Qo&NK(!Gjss@W3X3o(yylvO3PA zN3VkRem8@)#5n}6lVxEEf@fXOF_*NKQF|*1U`iY!wVu&oaVjX%IE|mf>M6b`VtoHa zjE|IIV~83GdUDXZLz3;vQN!5&2uy!r$XxTMVt&R&Wd62c2cni^O-Ljf#@ex`LPki= zlmP6Kwr1@if62FBd1!jQfh~)XhwF|oe4gOXM!QCVYzl+S!vOZHVJ$u`$VS%AVeHV7 zjhNmu6GO)8vPCbQQ80IjaHki%@>hc}qDq7jzeh5e_Aof=E`!gT-R#1nm3X{k1wM%a zn6HyM`X(=g%Xd%Kyaz%-mkfpkRR; z`8ZXB4eehltn*PM_@yGt|6>a)X>p>ZGJ_3%Z;qM5{d{ktEqnZDJZ5(qkYk>K3=P21 z$8yBY)Sbj-RAhMHAR!X&toQSF%zPq+FJ?O#T0&7B^OS5T^JnM# zBC!9$5cFjqVg6QOxZWGb2YicQRRc%BU-RM5KDfYC6@y^&{I=+@z70FGE9LNao zm2Ay`4~|`I7b(v+VKzrRuzRZoFL_XjDLBL0$3F8}r6Y-hT|cF{KJgE|++jWusY6-5qqDoGAL3yMi53$VL50-HNz(^VpXCnYfss zi4!4F%p#^ArCCK}jHMs5IQ$5w-#C&lK`~6M{yEx`caU?Fec8ATEs)aoAxfWgSa?%2 zWKUL-IBi>&`0xvyg2k~f#EDh=d_YBq7<_vtuvboxF?_}{3^vtZWuBigQ{ogFWOW!P zcONqb3$@>##cZ6+eL+*o#*E2Z*b0M8T>Bf3M>dY^N_;YYF3ZB#XSz&s{xxLIIgXQ) zmD#uW1O&{ngNeli)_D3VdUT92TZdz31l{}O0%1+8OJG5l(?A3+`uLUzcH_-GMDIC` zNcAYzT=N^T=TD-R3u3Q!zs14}S8zYYgPF8HL2lA?WJ|WN%fTJ^Rbqf&`|_BUX(jfE z??;p9K8v061_pAWWKz^+_R91zeg_s+XoTglZSQ;0JA4S{*R`@YAG?qmmrKGcTbL$m z#)jH%vUqte3(2iQjr1WHtN(*o zd7WJoB|VjX$TH@S(DnW!W6Zq+Soqz4VQJObW&Q z$Q=lK)6S9xgc|(jRa`Ts?A7bth;WX;-6vHn#cw$#1q9;#Kt3BPa=^iX>{Y@nCuu`U=tnLuf4~Or&&2$wQoMJRsH}?!L&e0Ws2u#2 z{TU()7pYdn-mPWJ{jH(m(twx*UmOiv&yNzbzX1NU4bYu+ExV!*~4bohXy#rfyYysl>yK&fI2HVv+8j~M=htuSd zY{ETpJd5dpr=1>ivm1luTpO-moyEp|TZ7u^bx3|GVt=a)ursC(MyB@6(tZNYoPPzy ztN*d69uYk5KSj*PFqTtfj`guc=*&OIuG>w*qS3Nk+LmON>opirU%J2>1Tn9bXVCmf zntNN2$Vv+WA^WHt|CT4P)LrZ0RNI7*3H#Zs(zBT9a|er^%vhS;aaafpbIJQ9?8%)# zLfnR37@yYHTie9-hi}}6y^tBHG2U3}e{e8&q>%y&68`dar1nzPI zU$W1fy_ULx5?xhJBXc-gyZt&gUsB?x&2eFFP1zVaPlfBW%U~&8?WmHK;}lz8u+n>F zf)4y1k3Dxr+hs$PP-6JNy&)up&Xt5&?;lf~v0Dskm8A7Ct9!`9pBbITT}aS~oz zSyIfG6Y=kO5DEE+b53yf~Tg^F!VPF#jN`mq5+^&HrybbZc6xf||}W7y1R z!@1me3GPUb7F!cFoU322fa%snEZ9ea+bQD-hc&O+eWJ&$c^3g=^Gr4ygSc~hb75nZ z&Js7ub6Eoaw=n)1+t;SZ3DFcVl8j^tMG{>5@&x?JImr?~>2hD!0=M)Au~z}&+%xTD zJWA1F-b>^-(WBY;=VHg+y8OeGZGA-ERf8?>SLOyiRYd!lX)I*8Cbv1Ngq)PzEM!v+ z;U*Wi5Rtmd{L$@mzUK~G{#k%)@~lk~cs8q?8hWX7;$2SA`*wpqDOKWzDElIJgfBg&D8+Ri^o2)_ zkmI;rhI`_fi1uzX%6i1PHI51RY~)8XbcS#(X+mEu-jPllHH3S-_bg~;`^cJ6}Ii#+>ESzMEpH03XL1aEz=Hx`s7NHv6D16y?LSe?z&c2cpqvmrAzI(BjfEkHSKAGbtXS$2nsP+&m01`ica% zx5WcvD(2(6jRqHzPwG0E-K(#&rq&oNeAiL>O&RgodM04!?`0}a-6C8N`Z47&IP}g<#b%e zVT77KH{I|D4#&#l{S{@d@vs7C>v^91$rb(=(NCb$;!R2fUq!)*mpJGlkCaw5uBH19 z22?Z2qu=F;4 zu1?_4j+zHjT^}9pKzx*AX#H4$=R(L%y|#!VdzCU&gY00_pfRrZl@08PH)qyydtpQ{(luY zC5JMW(8zar>V1A=RKG_S+}yfK!siFt3cse?aGDL0Zgv46Ia5ASEiOlv8gVZ7+k4Wxnywz zyODbvMs?B zeZtw1vXztjjF`L7zt(7xs(kL{$x@Z-@$!{&<(FrBnbg)KDAr0>&M;4A=Z06n{pA4r zYd3?%3hVKQZ!4QVcLKY+y9^V=8rZL^I?Vp9P`m&4khSkz$2LbK;;zA4W_k1=d!1O1 z=6gSwVQ&nZ_NrRQnCxWv*Fssv@o-FB-oPXl4rY;8j$^g*eYSQs#~K%(g!ks(EMIvl zGyQV}&nl!UFTRXs1=WYZ%~Pq|IM|Cx_-LWynOx;y<#<-ot%33H6)UG~yTDd&bwEvx zVx?-_c$U0O4SO`Y*dCn{_AEq6$O=)doOkU8lh!{A)w}=Lox#`H_qYh8O=xBd_B~^I zCb3w4;yJ4~|HMMmlyG6)6K1;q7kh0w7e1!7EXU?C3s;ZF`02OUj_nT^Z!ikuNuSwso%&Gh6J0^fSKfqJu6ow-Lkbm1~)U z$}+~Tj=;SiVQiGWHZw95K6CLc#wDtC}FXjFLPWSingmIEKvCvJJsR> zxeI66k16ZfjJsjzRo%>L?k{5*{(I1nyNyjZ8^vmmX5fNF7&Ci6hDod}!ou_mZ1bd{ zOmlBF{7X|<@cySBlYh9Jg&PZX-$WILK3n!vV1#og zUZj0r4A_w?f8nk(hnmKYWmEe9K)tA*S08N2wLg?ElJtiBNi)%`?v~-sp8+$qdWLYc!}sGVUKlM;5WLf~zd*cMoniEMTiARkE^?CD816PjiJ@ z_4~mF+#fTQ&DOZb7Co)On5)Wc=!|ddk;V(mAKXV>?{%@rlR3y2^Zh8q)B%sPHe zWXA)QxFy;NZ0yj9>{XR4cS9wKX^T6tj~TMunAQkpy~v&YY**pBJCCuP8-8rqFg;FT zd>J$1wy_}v>fF*;{mR(Obu8tkH1}+|W@U1JJ-awdp6gkwUum0thberP=0?sRR%xD* z$r>JuadB_-D(AI)WKUh?xjQ$z*+c6Rc6ovvx8qeGE3pY-I%0Z)&qliP*QGhE_mT?N z6+XD~uh9~A?3FAxv$r`{vKE1>iSNxqczQxyFHjYA!G_qZG1u7)~aw>fg{*W z>zOoTq&(-P9Y_al_(7*0l;l2*y~%I-7EIS$%X3a`|5IX;kqujwnvY>iQG;uzZLvd zU5YG1X9vkH)Z_|(iPLBN3~-kexam*4X}ga#PVJN6{qg;* zuL`$n|6KO_$1ao>4C3M+MKKAT3An7N#hq60U@Gr!kU?&PIT!1F?EG1G5>+D4C5>@o z(PmNP^6Np|M$K#%@HmDnxG&DNcU)lndoiR8C~_U^7<;$zIN9#1$IVGCVs0%<@kv#Q z+vv?$;W7`w<0i@Z*Cevr|Bb}PLMiUr=2AAP#uiJzeS;5Q&wiTPAm+q(jNW&PdA`#| zVs$<~`&6>&jgyc_${?dx#a_SC#}9S|&U_l%VD^BVn12KIhAB+yTrOE7lOynzrA%pF z8ksn%5Z{yQ*rCs1Bq-`T9I9`zyc1c(=|~%rMiwz2tu}Ia`wM6#Coq%9{iNQj8LKUJ zut(}IN#B!C2ub!~S-M?h!m47p`>tnNvt!6i=K|r(^_pBdV&r-WyN&j<&OUYIE=t1bqV>#5$W`3GMesaJSRhg9IX-Io(NOtiSn6FYyuTAv z@(zLW$TZweHln?m!*RqQ9TC#K{IGqqaO0f-vt*2AVmsI3lR<*utC`89YptNXtPD5b zYq3Y`hQquq8Iz|BX6^BkxYTzEU;7rbCtOT6Go}Gb-$JQ}ksA2?GOXEuoHj(Q zCgW!@qz;}-rv#lO)_T+H`Bt&2T0t+M<_qgOjD)y5`)O+kl7ec zpB7}1dzU-Wi&3o3IE!4^GXTw%My!5XKItCchHYWvSWgT`HaNaOh4d%tICmcLcKZr# zb75bxAJ5-5>PFqX#WaoV7D;dW0@tmDyj}ca(e0jhXxcQ4CMso^_2#`ruPje*?ht08 z<~>8K=VSh;iiN3{)H9sxQKZLK7!k`hA%nrbjjDER5smi01^IDJv~h2iD7RgBwz=ta zNAy`yT3Ho%>2*}BQj+ZJsY7dxG(D!BD=O=0#NPfxR4r6l^e6uY7GD;+~hjC-;1*y;|`f!(&XXNF^}C<8AYES$j0~kli09pC-`~xiRfKt z$h2?j(Dl7Z=<^;W%ypPRUCdL_d~__^@>jjQP3R5X%GGCbUkB0cD+Mpxrth@cY&Y$( zO~b8^s!Zp>HrgQ6#oo1Z+1={@Xirlr61SMM3Y{(VZDBR0Y09&EYLn>g0SZM=Np|t3 zH7!yr!IG4bj4d*!ujiNHimNQ+j9Tcxw>wC!7v=_qexhUQ%CR=rl9^trrrj2~I6vQ* z$vvu~+pb*0_UB{i#gsO>!6E}|;Mc zOPdrJ6MKhli!rPagmy70quC^hY252WwX3yrUk zclZ`tv-lHT{OvJp>+{%E{UDKhfZ$dAubzE289~Gr{}rD94VHhtT2xorgHbx?*ts92 zW>$k<;7zI@bKP*S!tvf6JSg;MO^IVkYd|qp$R1^Gs#cdL0>GOmakQi7E- z+n9G?IPdIJ3g`DuENf7Q>A(=dD_s}N)?_~A^T*YrrXY&VoF+$i4pidM##8L-&fxNx z))ZWLc9NZOIbN#w_Y&;Cy0M)ewfx4yG`t_Zjy0;uQRn1BoPXfSYzHTbF8#~H8EJo} z=wU%Ff4PbUUSaG&`YX|eQ+aqVo64$vy3DY+3}3siu@70DqWS|>u=KBGmOJi?%1=~c zqnamPndbfc>>Ew2H`8=hW zIl1syxrLSK-={sZ5}~kZKfA0b#U|?>MYNJDQxIk!xoHHTAli%3kR8dxJx8q5QAxaHaoh~g2cF-L&B|0X0pYOM0N(@Y<2+~ z@vvAVzb_J+MgHuKuvg!^7J^v0ldNCBSbV>RAoRR2JK@hA{^h+$?6|v)z51aKNYtjSno=pJ0n!&++RFx8P(=6g#mikiT5G7aL@w*tH9J z{O3KpP(Nrt8~3wTwCD8>oLV2k#+|t+dS132y;s8+9nvH+QniL(?pd~=W{s#_VDo-2 z^kd4Ax`cdPfD7rzSY&pQD2rc>N5h<1rpe`s=%KTq8SBk{8&>cs+t)zV!GYQSQKt1R z!*Rnrl0BMg#Sin;h5E`Y_V=JZVHqRvZ9$$eKVuLHIn6=yUn$#`DN8!88pFBlHmj=` zME*t3$Mofy%o`6xrbYBh}yPk7gEwz^JuLjg@Q`xhr4m2gh z1Uh~3Y^viqn)!qi*sXeYqq<$FS;iwjq=X&6d54l?lfZuGFz4iMn!3jx?Qa5EeEdy1 z{q1c02|vgFyw9M!R$IVWFN!s)y3nt(xj1+|FILR^XUhfr5LOy#gzTm($5*gaC^H1b8MMQi&sp+ z3KLCsK*$2wFlszD1!*(I6W{2;Ac6hUK1MAac^bV?1v}PFr}K5p>EPLeFokR3U#^@> zug8zYlgpu0ImntG>^_R49Rl;-BgNi+*$=%v?Y!5`cpCY2FLXkK>9K4-`sMW@1pmEE zuX6|JV}T9+x8wyqW0FU|j||7^Uw`vE69$UdALY=hBt6r%_Bsuvyz9sHtWg%9JHoZuc2# zn{XZ*%w?F`PH$T68jiXD4bb1pY858}LLgeE&8(YbX^BcCeDhS;OW{%ypY+{`f%Dg?ti~@;bp60t9P6IMc8@wJvWklV zxjUXkyDcEkx=ulUxFkDxh!f5G5rg@M`{>V;10w!ZB>tQg=3il{Cv?I9Z*&2a$LE zsNn`{GTPY-RgcPOV2iKFKyEP{-`3NKr#FlCIWNFI$wZp_xL*|OxeDS}66hB>LTcs` zl<$zGBZIWb#G_95q0quVkCdQtLhsvXTP9U0KgVB9QNe=|xwQJDJ}nEJfRr7kw7WEd zKaej5g*%{YUI&`K6 zwkVttS$&?5ndc|6#q0D$>QakPGRTS@*wo1X*sF!{^JlTm7I#e-*$l$Mohz74g&3db zK1RskoX@^(7z*uK<8i{(icQ+lN^BJYKY^q9a#;a)1h3-~cWX8~x}O|$T8oljD(t_G z-(<#&0kY6ToQ?ABAlLn*pg3QjK0TE~{#HyzXY?7GR(^+Ucxr_yn``Mq-A`nvjwgP) z_VHa89}~yDJ}`XxmcD=4Mx;+gAmHC+`td(06#JcnQ{zEunWq4q)nWLw&WS3|l*PP? zFo7SwPQCKZl7rvlklA^eiWyxYZx@^uGE-%kVNnQ~<9!y>J3i9?v2^CqRDN$8M`j`! z5+W%{rBYIHo_(J*XrAX3Dnz4Fp`;8+GDRvOBt)e`g|qK{Oc4ztV%BXCn;QbZ z0+6cD6F_CG3ycfz!KVL=;AgWZOphIoUS(FWVfYppF{Tzzt~&%b(nf;$;n_HLt`Y29 zJQdb`SLLi3|9RKf^Mf zXhURPIFv09XUbj{(5!F{9Nr#ceP&}pF~kdG#=Ej}Upq<5zyX-Uf_dHk3)v969|jl3 zvVrs-!XM@!tTlvns$+Z(}ETrfc*0Q!pXz5Ze^Lhb*|h z6?zKX+4;gFWXB`k^FP*$J?rctLE{IBAo4u>>^}rDS1bazsrOi2cpj0PEdy6|v)GHq zD+EA}zjLLtf(<34Yu_x8`jE&zN@&8GkvxB(Cy{wO)Dp8@e4fCxfJLqOK&t%zk&n5h z%)Y;t#9WevxjIkShTMzf=?*I>OV4F?ep%$sSzq{~o5~^$g2=Lq`$2C^66?}0B|1N6 zLDjz;_EvTioV#xa(Ypf! zc)slvEcR+)JMBC1AzlT$O?6E3*&O^Cco@bu@p_^%p_a=JgH~}XE102*4Tjr*WmU5e z5<|IL$>-r(?^EWNVna-p-30sKR<@%oloL?O^J{;zv!07Mlgrsq^Zp}S5Vel(=`4X; zAKo&PYf^Z1@og|@ZD)Zqx-g07VwQ%!XP5i)aQ4x3nD=6c*y7O*G?&hYfLY4o^96or z+Li+|Le#`H{tE1o(p``=RuyLm_)gkCX?&Z3oOpuq0#1Mbb;vE06)*dFll$*+9@sa@ zh|^#>DY}*qkf15<@Dq;H7WW?B0?ZLY!AN z0y6vZA=pk+{ATMau$O-eQ)bACV<(!x-`~$+zMQ1Ey8bUI^KFHO@0#K!_f&G%;4RGP z8YR9#(@BC`8RSQ4iQli=2|pu~K*M>Y*kXnyTrN(7fjwH{L?cx&bjtn=DYts`DpGmCpR>@8HYQDS+m#iVOOGR&#c65oG+PtY563pOZ^5a(TbiA(-g!mesP z@muv7cttxDbczi4XWX5NFZuER7X$Ij-LtsLc{Abuwh`jTsnbcg;#_!UsV^Qs(tuNq z(1CHy`eM!O5_-f#9crw##2F|2k-c-$sx9bQc z{=9|pMcr&@mb~!H+ERd{txUXDLHJE64kn*}$~F}#3V-rG$NC<5amC0sIKNR1OzmXF z#kE6(<1O@IjF*bo>5vFg+XLXZse<^QTNQYTk3jTPHStrE1fF7H2eFm^7~Omvq{F8| zri7CCu-tJ-NYR3L?ms5=_yYX+=m1|&rn2V#TX0bN0?a!}S@7g1AgtC0?Ge}5*yb`w zuXTZgWA?FCPtJj|juE^KjAE;EB0zQVXn6C3V~Sh;*Of9Ir8hzR?hVUb0^^3XDqXacW8wC`BBD;DsFP>h^|kKHIW&q!c^jdJBfNEQG9^ za%^R+2%g7GgB^?Ajl`sJ|yqUpf*k!<|k~~Q9Pr*^|lHlRyewbA>fJ^MoK}=O6yq4hm zL666Qd`SzOnXr_-4o!!}k{J-_o5zNJ3j*zFweZF%nPsY94Hrfy=pW*j1<}Ox)lO_y1@Jy8?y_T@-eKmcnr1!yXmkr4=jS{U;frX}N^3eUloz z_3Z%PPC21s=02|ag#rKjmBCXk8T7^a!cT+RQ1+&P(TI7UfvGQQj) zkZ};6SMMfYsERPWJro{iIEoz4Y6uO!U4YRhQAC~hRDQE)0C!Ir2-B4lu6tez)81T# zj5Iyr(&;zg!q^K?8an{PBz{7hYZ926z6R5*zaahF2iEOs2O|9gJ_X+do*oXXCnm$| zpS;ItcP2D1&V{easqm-z5=i?$1_kX5kSGd*3tOw<@WCKBx-Sf-#l3-2$NMnFCI}>E zx5NHpZlG-w2mU*oVCo^B(NPot(TiWe`h!2oSD8R4AMp+5S=)-%x*mgX%f&EkX)I}L zEC(ja09)-Xgvu2{i-DNe9e0!DLpPvv?=#T6y@q^nJi`05oZ#Bd*W~!rcraEt#sAz- z(Wl!-!KY^*I7%vzlETxx?>rth^_x?oQw^=H5fHY!i+F@&LFMt?JTvq@d8k$epY3g7 zvgKv+-nIZn%M(bxdXj#fhEQp!2h1{r3y#PG*BEJN`Y50}yF;K>s14iSDnReMRM=wq zk4(Army}B+!IpsauxhIcjIi{CMb5KeoctCrFA0JrMJwU>5jU9ZdJ=T!&xOf~zA&`$ zF(kI_h5Fk&L0Kz_&m0~E_9F$_r}J5<5rMELCIYgJ^TB`eCfM427y4R?p~n>9&cgc; zIw20K$Ozb1m;kXS{9wdv0X+Hs5HxbbAblu*HXdk(tFKacrp`uiwEGKpx}*4B0c$vE z*AD|cdu9ZUg(8o~@L$aX2x@bKw2L2M>#_nUU2>Vvz)1>!hzcP7eI)2fNeG><$HVBq z`(c99N9fxg3rm9$oHFv@+sHt8Z(R$?Q@f$W0kEAED4zMYwuO7L3wKf_EJwg+|*O`Pnvu$zFQGOx~}bytWFa{Z)bWhAT&e@PW37Y_nf&43HwHY1J4#dvhN6-^YkZ5 z>bk=Afjh8LCyZ!IjS&9l@)D%*7u~l-T{!vJB``U~YYr~D!ry#O<6nsg75~!~{&ER| zcB2OD%-0h(7uCRGl~cqsm)Cmv&u4tQIXUSxR4Dy*5Gvgnc{BYxO#b^HJO*82#b-ah ztGB^vU1_qkFqh{gDG7B7ma}(LrG>W1I>PL4>9}3{Ewu9*QR@(8=0BC^z%OB-@oq2k z>HGl0RcaxZ&t+LE{)1r+RZ!QSitjJU3lr~^!Q_>-Sgs@?e8{t2QjY7gk)4vlDKW>P zPW`#mg}8?HW$WE`fV*gTTt=5?=8t1RJ+N$p7_@3om{R&70By$IihT zpXbmvl+SH&Te*0{E-+~gfTAu#%9=7<(Qx&^=P zZQ!WGD>%9E73h|>65~C2JU{j^>_5>@%%gag_~eU_H1`S#|IPC!C&xj9UK6SP#PfGj zLZIk-JZamT0_R>QfZOR{awIYpd~Ke?k+-sFQ*s^F>D&bxdPIyXu*x+;A1wI{Co3;$UV6a zM}=WzgGdR!PPhwE_sR+!%N~;I_m5!a=%ILRVmwz>{tR|CcGCIT(!}lLeg2N@jn2P9 ziC4uOHyGcEJ$2d;x92jP57A(5yPgsK&1c}|*P*PfQk#yw>j~|e=P|U)Po!fO z1!lH*Rf<9|M`1)OwsW(rCxSUux zmR*XU=X$~BZ%Hsm#huB2UJpN{i{Rdzh3q8bJLaDAzJ@dLxHWns`0O1iRJY#G0 znUX`l>P6cpd;-pT6}c96L6jNuA4t_~vBo+4EKEsOnB2RV^gjxLmcuf_$J>>}8>5E` zUwRk_9dfJKDVu*JevH15_qB-a?V~_9L_xSpRa1N@+fblAst+EH)fd-J9}Q1uHiMVr zKc;c|GdW|_4#C-yVk1jg=-DPMG>z+EYi~a#x_yHX{pvf@xv_y{%;tUfVN&9yZ+YMP zSsmfE+(7o9Mh5Yp_#gb|?#Ci#9H4feTR_z?l=W%GP_OaI!X@8Nvy+n=h`?$8q^KRpvTdZ zrezIoTm1lz-)2{Jy{PNaaIoj!*P|{iA}4Vfes~8mWEr&7qzG0HuV%jMc}|N~9>}h# zW4o?RB&{DC;luPMmNcu8yYHOI=WpAX%25Say!H~PERzv`@X979;0;0tqTO(Z9x z9z*b79dTh{P{GX7+b|+vsQ6RjSMs|ogy*4ZiCz5U;F928i?!M^Wo^YDA+w~xOk;cA4CaXz>0&T#8Z#eK$uw`xO8;0 zef*w1?s+oE`$&s}hxNhH^_Ss}X&*D!lM37^))!f@%E%==>ntQ~U| zcJqP16}cVof$vwInw7?!?{t9a+5iZ4jbm?Tds~|ih{>LyKvaz!I^pQ9%{yoBdO z`afW8L0UrfbN(>S<{Il>tt4!?9|~7ZB*hwHW#KfVi~Kx6Lmb(nCtNYv52l~E!}pom zvyF}h!boNQF3tn(c05!SsvAg(o&82Ink*+&T{u#_?S~EfI=KU?#|#ty%m_!_(Jf$Y zG+caccRO{?dkg6&HN*~6C`RWNfZsT6@#L>F@pBZvhw(i0H;KRSVcT(-ds{;+AI0k( zGta_O7+|h#8cg?a1*k-QVyCtU*^Rk3;rZcSW}0Nd5)`ijOKD?XuU?^rv@aMX$ck4D zYM{1N6pX06&!XDKVaZRPd97B;42^_XyQ&h5y~3LQbKa`DKQU=1Ae$2p3n*GYJ zf^FWJZ0qMmEMw|rU~m1|(Gh{TjSGb>O%Y7h_b48JcL55I=duaYeb81?O;}-4%?##h zv#aYrK*#G!mSi}Cr8P?mD<;P?f!A8Lu0u*_bKRe%pA2GuH}`pLWIL05`~^-H z1hDgup0Mtz|G=y!on5IcVbaxA5HT--y?dI;3NM@mGXElrsl3D*3$DQM#2~hJF0Y4P zdkPwE*V$usiOo~0f$F-~?1fzrdp?c#`@}zBH6~uHYVZbZ7S^zeXSZ3H@--M3U(1@) zidltfHf(K{6hAvg+322Fm?7?A=DemrMg>COf?l>fFpMRfVxZ)pBF@e{%XV%Q!$zH9 z;#BE}%rm1G)Q|mT!xFbL3ztslnyfEA6#R>w`K%$_(=^CzMyrcO+vSBPCx2tt1Ej>w z>otVwg^J=Ot0cttwFh9Cfq^(S=NnsbURwC{jGEY@uA5zOdj{hqRK;D1FWCB)Kv*zQ zP3*1po&7iz4VBM7vf*!jGSmOkV29j2Hf6^f_BPQEY^?H_xyx|zD-7eAUXR$YY#H&) zz(&aGPhdYol*RKC5t`=TVORcq<#qPUkRSelxfQ==qN)$jo)ph^;Baw)=P03!%O$q= zfvmWrOjZc`x0qeKmiV-L8AQtDvFidoad^O4IC5G`%o0b5Wv<7-NlSHc)ogwScqJT0 zs06TA30>^Ka(&@NX+JWFpWR)r`3mzs>M{S5+Tt_MZh}hsEVfctTkKa<3HCz>Q{OBn z4yW3}jOQ!a>_7EPf6N`|TsV$}TlcfLBYfXg;y89F=sUa5GpdUwZe%7umBgmur+}TY zW@MVGxJJ7YDj&VZRkxMJ-rMuw**smQw4s^RR3S{gl8oG?FTDTuHkg*o!wVPwFwe>; zc<_wUsv;@z(83^4*z7|u4yuVyhg^r!m*v*$6NZbO4evr_Rt&M3tt9R`avw_Cf`~e) zVQk(_IQZC~%yy|_0Xnx~Q_63WvAK`AD!t%y?TTnCqb!ybwL;F+mOsF*uxYII`z461ozH&e&S481 za$#B4Fec$+$|7XS!E8pyM4jL`-d_u)MhAFAZ6j8l0|VIQQltiW66<1pV;Mflq7u7EpKN@;?+&^A?4 zLS8~bV*UK3qgVd_*Z=!o=AV`HLEi$j_CLilvJQ$Ko1I3x?yJ~a-$9pV?na;aTT%E} z2Y(qwqADif^ExH8m}-W9QUXzH-b`HGZH%Ay9>i%YhNIRiOB`jj1HUyY;!*jr5Tc*X1P$vY+G0j&A;0! z%F*12W0ZXG(_kF!x8)s{yWH`T;~kp*CmOw_9*fM+uM$Zpy5orrXX(Vn9W-ORFOJ#i zL6ZWEQF*u%pY1(CQyNF$U#TM)mOGRh+YZHO#l3iY#{p5H;XUeOdJe^TmfViZI%sGV zhreYea9>O6Xpc<*{+-syS$tWCi@#=L>Y1k;9|_0H=C^o#U5^WJ38IZd7i0T*Q~E^R zi(Wr_0lRZ9bM}@3`l9d}I&66&XyOhElCMVL^%ddP2|0Dvb`vk*2>-L9Ip-fx)%AXu z5v9$!nq8;bMYHkvLrd&sYQqkp1ge+|4TBZ!M8?YU9&YxEHx5Q@Avf3(v{fn6C?VjISXU7)zN2l1q~y9 zs7y|x#J&zXHu?xI?p=#o4>r+(gNu=KbivozYv|C;aX8Pa8l6XlS%+zAVxjdm)ZeKm zI8tqetF!G;`OqQm%IGxe?B#=X>xwwN-1T^j=P!*>97kGX@1mRU16({lL)1EFCiWd$ ziJirToK?0NYFj#EufgLvexD}c@`-Ekk>PzSxj0#jYF&ZO74-$SbM$cUEPM2EK$SvGGJ2#8L7QY5{Aw7Bin7}H;;|C8KDmOM{w~3(OK(u?!eCtSbvFL>o`My6QCM^& z6n}rWLF>e5l+cPosSlp?j^=iZUo{)=#mLdx%>}rS9>j&ZO0@X*27di?!^^iNMFSH@ zqF3WqENY#LPR3_(J-vjl&FX3SHg_DD@|)fsk94Kx75pptg$7K|rCn!zFur~QP8xfI zZv3Qzl7nS5##=)-rDaA#cz25qXamgAu%2}T5) zrZ&?Y_a16@Y$%o;F~U`?l*X>M!DrEnFwmxg&N5wud-BY2Quh{gJROQ!>uhm(M+6Rb ze8DpX8W_JOoqp*z$D65e(V2TQ@#}3X=4@|E)uqQ%t&|=3>EJIxN>wn;Di6hH`AW2_p`AK(M&s2T zL%A37j4I4`#^5HQocF(48_U^T>dI9`v{!&m-x%{2nUz;4UX_UqGLX zamBxVr????-E^m05Wc7xLUy_2QOENhsIK*p>r?wlk4@Nu=bo+LEb%|<7$aqDyQJ5X3EOBJ{xQ4(k5&CU@wO4Yf+MZxG~?V+?x+72x_5*FbzDigC@)p+SjQZZ%A~QJnL!E{U>PPl_hqAK zPml-a)$Chv_wSp`=&^`)+W*S_Q|w*;d$~^rJsiVEWuA3%ZRE= z3fgz&p+2WTgoe)rSL*$(dM5thXkj$XJo1)WUmZ>^N>}H!HFC6 zh^gfSyw!G&8vE#zaTVjy_KFvMw4#NZE-8aFL{}g&Y%+<6tEO!4cxrRt9arg>Oe>?* z>8|hw&e@~_x5Q>)=H(2oRMHZEU3o_Tgj;ce<=VKTKbzLc+YloaM<%oL6b?W3jkEkR z1vMH@)6j)Rp7}iH}XbVaa1#Jn5Y!FkLVfC&pCLpWR^vzwU0u&3#*OV|EHX6VQ)$ zCd^~4J>PNz%GHQE-|mI%rQMCoWCH>jNeQcg#1EYnz{OJGAc7GiliceM7!bS<48T z;3z|!RHQIuMKG!_vm~m0rg*fnl4@QZPt6R+pvd!tAVgZs6==%hUo}}gYpq9e=Ov?e z@fkEexrgY^h{J!+*I`8AA6hjr46iGN;;;EHsc!yM{5|Ob-OldN80AFVt+X98tG%g) zb~@U6t;O}d$S?FnS3fHcY=SJj};fD^2=6n6PTt_1mjMc%xr{P@Hh+@RK$8q6| zUQRLD3`M6^(REP@CCzF0CUY*{RlbxjxiAAS>KD;Rxf4-#k_>UV4~ zDiiH|XU^^0+kr9JDh1NB^*Q(Ohp6Q-n#LNtP~C(w{AUzQ{|)AeqTiR}q-UoJ7Mwdz z>pbf4@+*EF*?5HhZV{u>kFy2G-FVJ>|5KdOIY3`#<knBv?53MaBr=jmg* zOQTa1sGov4oq04xWeG-~E<~O%h9e?k>4t?Dadc@1dhttnc4Yca<8^UwKI3Cw@J0u!tv>3f}0LHBuYG%DXsxzF1Le>~@)@iSM!xj=2y zYW2fVyj8II)PCyr$PZoPZRlpt5J9tB67IZED(GN?^lNG!e%hBw1*eyB>2E`E`k3X^ z)~$@o-;s!`2PAP%YIs4z((PC)LGmg=Upg2XD7XQtd^U6=2BuhfVOo{2APChjTdlr7?EG zEkTAp@5>dhMm&9nZnLgL?ad~*L@CC)t}zn#HuF8RdkyL4FZK9b+l?;TXi6r?W#N&D zQW&V|PVV+RK$|zF*!9AVe2<7jizE{ay>XWG)SbfG#XqRMG2@bZD{$R(Tb%AXpXaIO z<2kR(=sxKb8MJl98A(bw(q=b#ddm%y+oW-WLJ;v^wGs!-Lq*H=R+Fsu2u$;CqLJlC zxa-Gauyv~+-dNy7_Iu95$1%pZXz_4j!S~Dg@8b8}+0o>Jr!00@9HA@jpCh+kuEqIT z>pA({2r`s8=36MOr(srvjJ7#U1Ec2Pg|A!5H0Yv%6OZ!Tnf+w!`Q_-}C*&Et)5y4p zJ-AzH6{cU4BCe}%VC(v5^k3Y|X|MLhcWaLzPYEV96ZmtwPK==N_y z=Tw6lbu%$6Y#5osc4N=RS*V}Z&c8EX^l8tawu90;H0EuG*fN~sf;>~w^fvJa@-)FTZ=;Ha{M!R*nzxV#Q6-*)AngoOvDfdauo1 zliJ878%wjki`rzGrVFPVqs%;dIqrU{8j{@~4&H zk=hS5Uylgd9^~SC{)}3i`h!!BxyAQD%i-^o)ntu%EjoXGOD8|sPRhoYq4~RZ>ir;? z91CwmfqSgz@FqXff2<8vUPw_t*+b-&ULKxy{VnLOTud4wV^Q89Q`De1zOrHLXeGe1u!?0HOV4~1giPaSl> z^N;kjIiOwi6B_>f3z_-G7YEO#P(QI6uM^m#{hg1rpoGspK+mGbZ!Ys71 z5(p{+ZVcbaK6Xb2-g_2TaDUDK`R`RRuKDCkFIY=M z(8E*wy0M-5uF!%0g^p;RhFnqBFsLipgZH+@b467n;qMbbVOu+Ge4+~17HvVL_ZLMI zZIuCB?Q!I$Q*@q+1SBd(;*r5)++SlpgPq3TFEivtW?oZ3Qjo!W4?l=bNlb?GHAYxK z>IKjLE`fRD=2#m|?c_|?`NG5{E+QS&60DuS4Z2mS(IRA`lNZ#INw~?Wh(`Wf0`^l}F#1mpmANttvS$Y1(ndwWqq!Wk zZj3{XO&4&7&l-@-55j53m*WqmPGYZ9fOkLW;p&$v@H6!j+ExRtGpZtu+O_DVppOmf z`pHkj6L`BN7-vPbkx9eep#G4%+)U3!@ck5rr;RiO*T<@Yj1hm%nW4?uUg;y&%lQ3z zP8@f8$4I_cC>ifd8gp+)w2>`WN^#ZE&jsZp#H2*F6fgg{&Z+i&C-?frNK+KJzu&)+ zZ7ck7<>&E&@>ZK7 z+3`I?Z6|+WFAXPi8>GOfU zQK=bFf1`wYs(GMtwIO&v@1h?3-P1~cIQ;F1Mcw^GKPnJ3yy_s2eb-}7U^v=ogpkay`WU!o z2o9S_N$(#o42?8Ff6_~~=WIcr0TcYTx|$>!F2GMRayabDE23$532io8(0_b?^QxiQ zD4@0Uz=ACD{A2<~gc;(BJ-5l4wY&NG$s(+@$|60d`R8#)7`2{vlZ>vZM%uI#-#yPK zC*d3ZZTwA7b~=!ddHeC>oHtb0*@O5W8bEzjJygGSg+zaEMu(xbG;2~mF)zJ^zIV;g z0&>ZCt_ClSwLmwUc%nHz1%F*o#rgP=Vage2fnA_o$!bPcGxuGi;obMi>6DwHo10WbGwbN5xlq zwr&ft3HXHQbC&YrD7l#4fyZ846vRpHC1LmKap{teqLO$0+|hzoH1{hL>=GXn+mLN_F)>TaEf^FUJb{2 zhp17yH&NSBg9nT!(*q_xMA_>Ro{N7da@Dv?Tuwa4hf}wU{#%+vl+_=hS-@3m`yW?` zkxmchWO-ZPn{kJH(UoK~f7nr{+6P3{xeRMY+tPs*Mda_jT$GBn&CjWz#I30rm)doR zoRV6I%dXGpGzYo%FZZwTXTi6_~OLzqqEQf|s`FH)@Di5u=XaN{&qlNR?DoTfLH zJ2iJH8Cf-i&7YCXk;sl+m2$&7g1FgF zDslSj+uYdV6=a9WBh>%qD(KtdO|nzh8s8OkmA*WeAiR~mU*iZ)8EHPV?+_AEm}?PK_01F;fQ0(X_GR%pYkx?? zOEX-!Q;G!hd&KNx8F+uk6YfU+A2Rb;0*+OYB;yi)ll8^PxB(4GOT#O2H0eGTbq*tk z7B`c^-2KQsJ56d2+#-$qxjKriBIcQCWRb)w>`62ur+#D*r-5T=X0e~p0Lph*7NJ5y z2G?nuOrEv{V_>}wIeVp!bem+MVM!AgXdxnuKeu0Z=XMXHv~A=lH-p@W(%IniWE-swi7vio`N{p7oxrLzZ0t?A(=e%{DgZ%W4$ z>caOv{^0t@8{)qu6Ns!+2q7IY_-UnpoAEM&%#2)*9UGds-_N%Yl_|;C9ac_U*4!q_ zvF2E{c?}UbPazpn?`ZR!Y|6(>$g$!DIAcCX3UVHDmixBhy62UgPM!DA>B4+o^{% zP*{w4SLbu9GGeK67e(tO>csV$AC-wCIEH=T9J43l+r_RpkM9P17!*U7xyIsrk1?ce z*#`Q=BB{gW3Oux73OU-4PrLn+@m;HkJJh9wI&~j$$)tN+cWG?4B~Ye06|x z-pZd{)B3rC)vcnFwcVJVxQ#5c8zM4Z+sFI%8$4hcJSF<`*zIP*323CU!!-V z|HGLo`eZ|btspS?7tZ4KIyJLkLC*WX*wn%i#VMD#hxcCM%i}``T|7qcsX~Ue@B7Hn zdGexP-g2zJ;4@eLc&T;wzVA4t>moNWxku3DUXN}E#&I#@_R_os@~lv>l6$j{&*WDP zV`B!Mb1xq}r)Dt<%+|19;J_;~k)MN5(&ioaJtBXZ}}y#ug+Rj}0`m z$(SYd%hRi?qPR|}F>F=eaGISUN3Mn_v4yRDq9?m^xf-Dii=7%Nnp$nhz4;-{dRnur z=QX|NYMkWR&$3{v>M;$Rnqoe#8j!)HjaN8})Bqf2p@z+6lSs_sdniNXaqV)(1q>a) zcVPzw`Mc+mmwl>i>qKu+M*CRe+@Q>gGOI;vq8&&w?SvEh5j@Vt!HO|S!1G|<8ro9t$7FVX?j3vDS1;=aLgnlDzwiwP8p$=hfN=(`) zoE&>w!r2?V$KXTWM6t1(i`g`YyS9(wuFJ0_pH?WdnX<3B%~#FH?K1DouQ(JJDi#sK7l{i$tZo#g<`4T!l*w_ino?TU7QR_vcF*2M&WMsvS>) zIeCbh{R(T&tS9~ft>i4~u&iHyxsrja#G_q>9oj;<-R|?r%T{}|l0C(hFaOO+dTzzU zg+s`XT}7l}?oYlC&4Nm*N%(EkAO9KIaIce@(LvGBSjV z2L8D9#YSpkVMP8MHKTh@9H88r;m}c>gc0%oXwSBKvN`$%zS%yX8hF1WR{ZSi?xe@G za%UsCVjPP4H|%lA^{@OadLQP+so|@0a^U)rU{IJ2UA;gBz~%xTS(8SuOjCiy&GFbS zPN8d#{UmP3;xJ%tG5w+Zo0$DOi_?E}i>hRX!vwA!OSG~?@8-(ElcFAeSS`-D_+=umj=5skaY7tj-zWFU2Z1kTIgxhwmnAccpF7?kc8l&aK|QMI-B_>2el z$E%za*fP9mNCj0l8p-iqihFJE7FZb9kWl9=v{xHJi+vxHgL`gZVychGvMZakm_5Xi zQWjKRObJ=}7=LPw6#Sh3lt^DnL>=){>N$LnXkCs$&-!u->trFor3yD2&%%etI>?Mb zzCTLpB3?eo_W^!*jP7AmP|Y!o)SGAFo=s(<+S9ef`C%&#H?I&$nq4FRIdr3^r0(SH3GPQUs*Q9WCY z>U*{jL;n&I{;>^9EcOwfW#z=u>?RKOts;-rtI5djbTl2ejhoge3)}0jVGlDSmeUkL z_=KWv{cLU(Ao+AK7Qb(iChl`Iz-x5{T6V4>>k5=0W3?MD`lcc>(~yK6f3~C4gSnjO zfE@JJufo88&ct!*53+nn1#Z|FNv?RmCsUfA;%5jTTID^Ysoourl@@TTT3?V=E3RX^ z{5G;SOGKg*5-?%NTW+?in7D+rqP}SZ7od5MXgwIf*~K25-M614kN4wrW0O2oKMu_evo-a zqi{{t5@MG9k^BxHhi!#2BqHK7$t#q`Yf-V>f-(h2^f-hIZ+T^Zb`wwRa{E5MV5E>vgGmOMK)9vAobkAZ1jZi4^zP9gVK zZUW2F58QsbhV%?hfwwbd$*4#ncO`8)-#rp85OhxEH0?~`>wANO^pYc7*yTwu>v$43 z^0YSHF?tH$izOhdeRtD|!^Xja_oGQm!5Oa8XADgFC{3hlK8iwn#zWEea!xP?tv?iL zK_8z@cw{5N*&BGcbEEFWhW;&)}+6COfrclrX_7f-G{5XBG7_eAcv{%{wQ9{1^q{ zy79ws=7~mDJ`X@41S_R*;*2shZ*e zF5#0j{(Ia-bxh>Y*87s#ZC4Q*c7;Gg%>&W3_vvV{r5Lv;l6?=75njF!iePUs)Ott@ z<5m{(-9M{Y%JeR}u)P@j&jm7n#dkC_rvfKj^SFh{lET_Q**IFHz{pocq4^IN#F&mI z;$=!gpY~9gDG4fc2ImT0CWhe41{D@OR#A93PY2hEB?LBVf0M#aMqwUbs>BKNN?4W3&I6P{%)tGOX1ItL|!bMD3Lra*E=S{31so$?6|>-ha2~hWm7bStr0IPhIsoD zt1La?$!D=dH7j2*GD}OiC3_D2@9hmXJy>6O^=JU`zdw_Nc}^1ETzZqdtD3_?W)2so zZ0%%coMd2Vq99B^ILJoYw=Y#>---11YQdeoW0>TLIYQZy+n{TyMH|Kqr9;vai7@_| zz~sdiVa{niDo)nZH$O)R#pxvWscbWijT#|vKDvcO9a1;Yn$CBKY?uI_=dpD1qG-DB z;5Y~_lu(0%a`ep24EF9R{~Vn9kCr@1!lJE}R3dS>P-)^5Ea?oQ2IV`bgi|34{O=wq z549!ztw)%wqX}XCHv}&?9bywAs{~H1`Q+&#F~Q@Can$K|xyMxM^leWN%U;rB$4IPGTQjM ziMrq-oVj@zVG}0P28T+4vxYooN@tNpr_DIA|D;5^19r6h>uVCG-3Y}Q zv9x`16d8L&6O(UVCaQ+p1$Uo5W1DLJl3b4tZs7Sdrm*7+*<`Vb1=<%@_#fAxr=9#6 zHTl97e6*r^TZb}_vq?<#_iQ@n$_MmW!=jT)k~3p?|bO= z5igm9{AGGh7)}%7OqrgM6@7SEpL#uBPkhH02!gjbl5m5w?2(=pE&kR|u55hDjFi_= zyp5oxwVHyN{2A_m!E$E0eiGt8%aZPW=GgLV5B?1Cr|&k}qw|(G9Nf3kV`bYJ9V@^w zZVGJ}^&=uO*dGI1c&6{7q4^dhd}?vK4V zF=GXNR~rt^ka!$9IF^nttV8Cj1SlFP(2vv8(A$-Q*Gtr?<%Puv|K*NVeW7$l=o?n1 z_#S`O`q0ygADGdXkC-2NoZbvGL&?!Dtn<&LZ&xT|a&QU!0!(PK`FunlufUwMiPSFd z5<4({HhfEl&=bj9Siny{JI8s_1w23Iv_2m{_FSRj>qcS!?qaBnd`Iin=ChMm=VJ9< z9Xj{vE%x0f45J1!sq2dAa2u@&)nWH&*oYcVEZ+nF#^uqO#|&}%!6vwE>7!xNKJ3gF z6I85wNG)}WSrKbyQ=h2O1+U(*6Czj4j`&Qsodu`0FrLMC3u#W}b*3`6pY7@qqeJyd znS{5j=+ub@`sRu)&N>dFzkEI&zTX084LkmKuB2DeD%rfnGNPDo>!_qoA#Aq2!waX| zG$cKYeRN!pzQvlEtGyeY1l;FWZaAmg6`h;YAZ1bg*R2J!YP*PxEO24vNjk7b35JpokJ%P2?S0?QwO$V?3#f&-~Jk6D6l4%3jc5E(W&c+iXjSn#X zs)I(~s|HouU!r@4268tZA<&pA%&BkQ)t z!PVFem8aH_9eUo_I?Eq_np=r_#bYQ0ltZvfjE;OXMD##A6*G8-&VKi67}fe?-KRjZ zpzAwaV)M{6hOhT8xQ$1RDZF2_kL*8I2UF8Wa4w1^D}zM%{5KvZLk7rf=?2^rD}g%u zNrt-J!m5j|5St_-5|uS@xNwg5tR4_at#0fsUxFv+!${z*7x?&Z8SGy+khEF6jy`!2 z;yf+LUU^y3&DSR(@zX_clWT%YqcQfkFDE4LIZmf7M0VdoV&K(;%KvuazN9_*bh`z+ zFPorplNs4%(TL1BUdWJ(t~gfp30k|)pnJk@F0ru_sR{&Z#lIW8{_+)D`WNEgkti021CPq@Y^cJn@}R6ak4oagS|c!hVf zQ(+n;%RFCwNBrG#RR21~y)1c+X`UjO*-T)|Yk$M}E{A=-OPKmhDN%4<74pREVs_$dE#Rj@!cHLV)%}`8Eyznw}2UcX5V}L2THTgL+`vNGnbbUDI2)p`@_oe zV;5va?W&iM;M>E^3K${!`OO#$OSZ8`PsK%vWG;q9hOlw7-yl2O3iIy`g^KB4T-drC z%Xv?3w6ct7MTWpV(}LkBnRppvy@O<`3Q3`bsBs%WGri0%^=`?tqw5 zF8oBj%%l4OG`iwoQZW*fO^whRB>;r7_+(#$wDxe^8e9)sq6?zC0`+$$uPd9DD=ponfplUlh|4zrU?6J78)0Mx^RiS)vD3&{?vPBA$u+2UT z6y@k`RE6!VBsiQF;m*mq7_XR(hy7O}t)~Q?@*Ak}yN02|J$b%593{y)STu78_PF_B z$k$5DksF0b=Nx7;unXZQXXE`BW4O-}A!~>_KAY~veD6HG^^k?S$wUly&&KkV9n5|9 zF|1r$3F+H<_+38>&f<+QYhMlh;v!~uxe|W-b=uVbhMn|@hThsh*j{dCg1$st+_@KC zf2QKktayy)Sq;lmC%Jj!WN=kO3;&)fAWg#*W};B6ej$KO;wm)BSo6=3T{u%?f@4R+ zG3KQaK2C_hoOze9Yn=vO_Ge(O?0y74l7w-7C1!0E;!VOitc~(P#5-N+d7Q;zReRX= zNMTRFdaT-z49}tvcK+x-H0Xw4SJem{ldyn
#Y^st1&<#@h177udES^vuY81>Z@ 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

  • 4(boi2* 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 Y2`s1$qR+eXxcsUo{90i5{1KB~2XaE2J literal 0 HcmV?d00001 diff --git a/test/runtests.jl b/test/runtests.jl index 5d57561..45fc539 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -60,7 +60,8 @@ end @test uPot == u"km^2*s^-2" h, d = read_gadget2("pot_acc.format2.gadget2", uGadget2, uGadget2) - @test AstroIO.read_mass_from_header(h) == false + @test AstroIO.read_all_mass_from_header(h) == false + @test AstroIO.read_mass_from_header(h) == [nothing, nothing, nothing, nothing, false, nothing] @test d.Acc[1] == PVector(100.51215f0, 146.3331f0, 22.542002f0, uAcc) @test d.Potential[1] == -8.796568f0uPot @test d.Mass[1] == 1.0f-8*uMass @@ -83,8 +84,15 @@ end @test !iszero(norm(average(d, :Acc))) @test !iszero(norm(average(d, :Potential))) +end - # TODO test for mass from header +@testset "MassFromHeader" begin + uMass = getuMass(uGadget2) + h, d = read_gadget2("gadget_no_mass", uAstro) + @test AstroIO.read_mass_from_header(h) == [true,nothing,nothing,nothing,nothing,nothing] + @test AstroIO.read_all_mass_from_header(h) == true + @test d.Mass[1] == 0.10506896f0u"Msun" + @test Float32(h.mass[1]) == Float32(ustrip(uMass, d.Mass[1])) end @testset "FileIO" begin