From f7f7c3b7b86e40348da87c8bc4cf7f3b21a566f6 Mon Sep 17 00:00:00 2001 From: pszufe Date: Thu, 12 Oct 2023 23:47:50 +0200 Subject: [PATCH] code refactor docs --- .github/workflows/TagBot.yml | 2 +- Project.toml | 1 + README.md | 130 +- config/Attractiveness.csv | 31 - config/ScrapePOIconfig.csv | 31 + docs/src/poiviz.png | Bin 0 -> 313909 bytes docs/src/reference.md | 9 +- docs/src/vizualize.md | 36 + src/OSMToolset.jl | 11 +- src/attractiveness.jl | 154 +- src/common.jl | 7 + src/poi.jl | 134 +- src/tile.jl | 27 +- test/data/Attractiveness.csv | 31 - test/data/ScrapePOIconfig.csv | 31 + test/data/boston.osm | 23064 ++++ test/data/map.osm | 174358 ------------------------------- test/runtests.jl | 68 +- 18 files changed, 23594 insertions(+), 174531 deletions(-) delete mode 100644 config/Attractiveness.csv create mode 100644 config/ScrapePOIconfig.csv create mode 100644 docs/src/poiviz.png create mode 100644 docs/src/vizualize.md delete mode 100644 test/data/Attractiveness.csv create mode 100644 test/data/ScrapePOIconfig.csv create mode 100644 test/data/boston.osm delete mode 100644 test/data/map.osm diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml index 2bacdb8..597cc5a 100644 --- a/.github/workflows/TagBot.yml +++ b/.github/workflows/TagBot.yml @@ -6,7 +6,7 @@ on: workflow_dispatch: inputs: lookback: - default: 3 + default: 7 permissions: actions: read checks: read diff --git a/Project.toml b/Project.toml index 968d8cb..748be20 100644 --- a/Project.toml +++ b/Project.toml @@ -7,6 +7,7 @@ version = "0.1.0" CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" EzXML = "8f5d6c58-4d21-5cfd-889c-e3ad7ee6a615" +NamedTupleTools = "d9ec5142-1e00-5aa0-9d6a-321866360f50" OpenStreetMapX = "86cd37e6-c0ff-550b-95fe-21d72c8d4fc9" Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" diff --git a/README.md b/README.md index 1325d93..284c95b 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,137 @@ -# Tools for OSM parsing and POI extraction +# Tools for Open Steet Map (OSM) Point-of-Interest (POI) extraction and tiling/slicing of map files. [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://pszufe.github.io/OSMToolset.jl/) +The goal of the package is to provide a fast and convenient interaface for extraction data from OpenStreetMap project and for construction of walkability indexes based on map data. + +The package offers the following functionalities: +1. Export points-of-interests (POIs) from a OSM xml map file to a `DataFrame` +2. A spatial attractiveness index for analyzig location attractivenss across maps (can be used for an example in research of city's walkability index) +3. OSM map tiling/slicing - functionality to tile a large OSM file into smaller tiles without loosing connections on the tile edge. The map tiling works directly on XML files + +This toolset has been constructed with performance in mind for large scale scraping of spatial data. +Hence, this package should work sufficiently well with datasets of size of entire states or countries. + +## Exporting points of interests + +The examples assume that the sample file is used +``` +file = sample_osm_file() +``` +Let us use the default configuration for parsing. +``` +julia> df1 = find_poi(file) +78×10 DataFrame + Row │ elemtype elemid nodeid lat lon key value ⋯ + │ Symbol Int64 Int64 Float64 Float64 String String ⋯ +─────┼───────────────────────────────────────────────────────────────────────────────────── + 1 │ node 69487440 69487440 42.3649 -71.1029 public_transport stop_positi ⋯ + ⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱ + 78 │ relation 7943642 2913461577 42.3624 -71.0847 leisure park ⋯ + 4 columns and 76 rows omitted +``` +The default configuration file can be founds in `OSMToolset.__builtin_config_path`. This configuration has meta-data columns that can be seen in results of the parsing process. You could create on base on that your own configuration and use it from scratch. +``` +myconfig = ScrapePOIConfig{AttractivenessMetaPOI}(OSMToolset.__builtin_config_path) +df1 = find_poi(file;scrape_config=myconfig) +``` + +Suppose that rather you want to configure manually what is scraped. Perhaps we just wanted parking spaces +that can be either defined in an OSM file as `amenity=parking` or as `parking` key value: +``` +julia> config = DataFrame(key=["parking", "amenity"], values=["*", "parking"]) +2×2 DataFrame + Row │ key values + │ String String +─────┼────────────────── + 1 │ parking * + 2 │ amenity parking +``` +Note that contrary to the previous example this time we do not have meta data columns and hence we will use the `NoneMetaPOI` configuration. + +Now this can be scraped as : +``` +julia> df2 = find_poi(file; scrape_config=ScrapePOIConfig{NoneMetaPOI}(config)) +12×7 DataFrame + Row │ elemtype elemid nodeid lat lon key value + │ Symbol Int64 Int64 Float64 Float64 String String +─────┼─────────────────────────────────────────────────────────────────────── + 1 │ way 187565434 1982207088 42.3603 -71.0866 amenity parking + ⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ + 12 │ way 1052438049 9672086211 42.3624 -71.0878 parking surface + 10 rows omitted +``` +This data can be further processed in many ways. For example [here](TODO) is a sample code that performs vizualisation + +## Spatial attractiveness processing + +Suppose we have the `df1` data from the previous example. Now we can do a spatial attractiveness index in the following way: +``` +ix = AttractivenessSpatIndex(df1) +``` +Note that the default configuration works with the `AttractivenessMetaPOI` data format. If you want a different structure of data for this index you need to crate a subtype of `MetaPOI` and use it in the constructor. + +Let us consider some point on the map: +``` +lat, lon = mean(df1.lat), mean(df1.lon) +``` +We can use the API to calculate attractiveness of that location: +``` +julia> attractiveness(ix, lat, lon) +(education = 42.73746118854219, entertainment = 30.385266049775055, healthcare = 12.491783858701343, leisure = 134.5949900134078, parking = 7.310719949554132, restaurants = 25.200347106553586, shopping = 6.89416203789267, transport = 12.090409181473555) +``` +If, for the debugging purposes, we want to understand what data has been used to calculate that attractiveness use the `explain=true` parameter: +``` +julia> attractiveness(ix, lat, lon ;explain=true).explanation +68×7 DataFrame + Row │ group influence range attractiveness poidistance lat lon + │ Symbol Float64 Float64 Float64 Float64 Float64 Float64 +─────┼───────────────────────────────────────────────────────────────────────────────── + 1 │ education 20.0 10000.0 16.9454 1527.31 42.3553 -71.105 + ⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ + 68 │ shopping 5.0 500.0 0.618922 438.108 42.3625 -71.0834 + 66 rows omitted +``` +The attractiveness function is fully configurable on how the attractiveness is actually calculated. +The available parameters can be used to define attractiveness dimension, aggreagation function, +attractivess function and how the distance is on map is calculated. + +Let us for an example take maximum influence values rather than summing them: +``` +julia> att = attractiveness(ix, lat, lon, aggregator = x -> length(x)==0 ? 0 : maximum(x)) +(education = 19.245381074958622, entertainment = 17.69295158791498, healthcare = 6.245891929350671, leisure = 4.723681042516024, parking = 2.9623334286775806, restaurants = 4.596901824773207, shopping = 2.0103741801865715, transport = 6.407028429850689) +``` + +We could also used the custom scraped `df2` for the attractiveness: +``` +ix2 = AttractivenessSpatIndex{NoneMetaPOI}(df2; get_range=a->300, get_group=a->:parking); +``` +Note that since we did not have metadata we have manually provided `300` meters for the range and `:parking` for the group. + +Now we can use this custom scraper to query the attractiveness: +``` +julia> attractiveness(ix2, lat, lon; aggregator = sum, calculate_attractiveness = (a,dist) -> dist > 300 ? 0 : 300/dist ) +(parking = 13.200370032301507,) +``` +Note that for this code to work we needed to provide the way the attractiveness is calculated with the respect of metadata a (now an empty `struct` as this is NoneMetaPOI). + +### OSM map tiling/slicing + +The native format for OSM files is XML. The files are often huge and for many processing scenarios it might make sense to slice them into smaller portions. That is where this functionality becomes handy. + +The file tiling can be executed as follows: +``` +outfiles = tile_osm_file("file.osm", nrow=2, ncol=3, out_dir="some/target/directory") +``` +After the execution `outfile` will be a matrix with file names of all tiles. + + +File tiling limitations +----------------------- +The OSM tiler is simultanously opening a file writer for each file. The operating system might limit the number of simultanously opened file descriptors. If you want to create large number of tiles you need to either change the operating system setting accordingly or use a recursive approach to file tiling. + ## Aknowledgments This research was funded in whole or in part by [National Science Centre, Poland][2021/41/B/HS4/03349]. diff --git a/config/Attractiveness.csv b/config/Attractiveness.csv deleted file mode 100644 index 5851a42..0000000 --- a/config/Attractiveness.csv +++ /dev/null @@ -1,31 +0,0 @@ -class key influence range values -education amenity 3 2000 kindergarten -education amenity 5 3000 school,music_school,language_school -education amenity 20 10000 university,college -education amenity 5 1000 library -restaurants amenity 5 750 restaurant,fast_food -restaurants amenity 15 1000 food_court -entertainment amenity 5 750 pub,bar -restaurants amenity 5 750 cafe,ice_cream -shopping amenity 1 750 bank,atm -parking amenity 5 250 parking -parking parking 5 250 * -transport amenity 5 300 bus_station -transport public_transport 5 300 station -transport railway 10 700 station -transport aeroway 15 1000 aerodrome,terminal -transport public_transport 5 300 stop_position -transport railway 5 300 tram_stop -healthcare amenity 10 500 clinic,doctors,dentist -healthcare healthcare 10 500 * -healthcare amenity 5 500 pharmacy -healthcare amenity 20 1000 hospital -entertainment amenity 20 1000 cinema,theatre,arts_centre -entertainment amenity 10 800 nightclub -shopping shop 5 500 * -shopping amenity 10 800 marketplace -leisure leisure 5 500 garden,park,dog_park -leisure leisure 5 800 sports_centre,sports_hall,stadium,track,pitch,horse_riding,swimming_pool,fitness_centre,fitness_station -leisure sport 5 800 fitness -leisure landuse 5 1500 recreation_ground,winter_sports -leisure tourism 5 1500 * diff --git a/config/ScrapePOIconfig.csv b/config/ScrapePOIconfig.csv new file mode 100644 index 0000000..08ceb9c --- /dev/null +++ b/config/ScrapePOIconfig.csv @@ -0,0 +1,31 @@ +key values group influence range +amenity kindergarten education 3 2000 +amenity school,music_school,language_school education 5 3000 +amenity university,college education 20 10000 +amenity library education 5 1000 +amenity restaurant,fast_food restaurants 5 750 +amenity food_court restaurants 15 1000 +amenity pub,bar entertainment 5 750 +amenity cafe,ice_cream restaurants 5 750 +amenity bank,atm shopping 1 750 +amenity parking parking 5 250 +parking * parking 5 250 +amenity bus_station transport 5 300 +public_transport station transport 5 300 +railway station transport 10 700 +aeroway aerodrome,terminal transport 15 1000 +public_transport stop_position transport 5 300 +railway tram_stop transport 5 300 +amenity clinic,doctors,dentist healthcare 10 500 +healthcare * healthcare 10 500 +amenity pharmacy healthcare 5 500 +amenity hospital healthcare 20 1000 +amenity cinema,theatre,arts_centre entertainment 20 1000 +amenity nightclub entertainment 10 800 +shop * shopping 5 500 +amenity marketplace shopping 10 800 +leisure garden,park,dog_park leisure 5 500 +leisure sports_centre,sports_hall,stadium,track,pitch,horse_riding,swimming_pool,fitness_centre,fitness_station leisure 5 800 +sport fitness leisure 5 800 +landuse recreation_ground,winter_sports leisure 5 1500 +tourism * leisure 5 1500 diff --git a/docs/src/poiviz.png b/docs/src/poiviz.png new file mode 100644 index 0000000000000000000000000000000000000000..65bc06d11d2ef2cffc65f1ad0b7f5acba86f53f1 GIT binary patch literal 313909 zcmbTd2{=??_%}R4c9Vp%O=T?=WiL!6BuSekVk%?{sW2EbWXn25QIt_cvP_n-Gg&7U zvhUj{`!Hh}huOZJ=eo{i=A7rbpXXkF_wT+BXNWTe*>lO%+!Vsa z#Rd5aejuD_$YB$t$9)LI(h_nM0)g;@-|dBPgI8SO=f51BQHU{Q7Z=yxzyEe{^K$<^ zcJuIX^YZQH2cLi_R76S2++tju76=TSD=#R~U!nfn!L^HP0cN>ZKQAQ-+Oxd`UeJw zhDWB!Gr#}L&do0@($>~DHtAcy_Re3qxFFpBRjmJz?0=9;43ujZxCcCZf92xZ6$qZ( zVm!QuPVU}&?i$}+Kk>t-!uj`|fAPMgQ9wcSI#uG{qi#V-MXhNi+F#NBi)8>p09WDKClfi%ISeHiy+9@KIm)za!4_~u%5Kmkwb&*!3tK3eo1*FjlUJm5fn_j@^D z8bvTuS%E)lju3)u`_T$#G4xq1kj570Kt2%pwwgJRG(I{3v%{CRxdyj0aOFUD)6ks_ zx~D>GFV{J;Q29-R&w*98h%xI8;dze--M;6xE?j%-06q*p-GZTBeawNJ!!h-qW7aHH zK_T~YAdTnwSi6Z-@;MHqUF$!I2PYJ8AioTV_!k>_Sol=;B-a%LgZDm`(cnGDfjHF# zws9a-x4AexHwSWO!o!aP3GAqaF|EN1Dj5f;US%H#hZ8*pW2Trf^(xtd`{D7997uB_ z9|xk?&4GY}H(@qxr`P~yZHhgB=RnS`u^Y@JW+nm6EqYjYWtZz` zmBlm?Cgtmdh+XWTRl^*J0r~;kwBaqBdY%ZVI{174_t9<{9R+1mW=~{7dnOn+Gps8J z31L0(7CnC0_DM6Q1qUL)fpjAx7}FfckBI-+L_uJQ&A&~H_ia%1t zdd~F9LzXDE4sGi!ydo zr^CkQ5^!xn5g*+3l`m|N>%)YGm0`sjXXPg8qy8|OI#Y!MF+oFDV>pl#P>Lr9vH?|J z`i;^@8l0o{Y-b`K;%Eds1MvI z$jQLzfN0Fh{T?E~`sae6uXH2w)8Du!1f^EeK{=FsC#e3<`hyZ3oc2F#z-N`=H z{l}#Wz>r@L2hUx|fMxzmw(Z=w9l@Dtr&>=;(A4A}Gd3LyTGX(YcuPg>R6n0h_iFi6 zvjRmrg!BR^`loovR*3~1H4_=ge#3!Go#a3S;nN1xRhA|P^3|EW?;rL!`@}XE(-bs4 zxdSd|7>NlE9J$_1-00#!xUj xB6F7{(TnuIb$L5Anv)STZq8vysoVgo5{ZGS? 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 literal 0 HcmV?d00001 diff --git a/docs/src/reference.md b/docs/src/reference.md index cf2d90d..54e44cc 100644 --- a/docs/src/reference.md +++ b/docs/src/reference.md @@ -8,11 +8,16 @@ DocTestSetup = quote end ``` -Measuring Attractiveness Spatial Index +Scraping points-of-interest (POI) --------------------- ```@docs find_poi(::AbstractString; ::AbstractString) -AttractivenessConfig +ScrapePOIConfig +``` + +Measuring Attractiveness Spatial Index +-------------------------------------- +```@docs AttractivenessSpatIndex attractiveness(::AttractivenessSpatIndex, ::ENU; ::Function; ::Bool) attractiveness(::AttractivenessSpatIndex, ::Float64, ::Float64; ::Function; ::Bool) diff --git a/docs/src/vizualize.md b/docs/src/vizualize.md new file mode 100644 index 0000000..c195479 --- /dev/null +++ b/docs/src/vizualize.md @@ -0,0 +1,36 @@ +### How to visualize the data + +``` +using PyCall +using Colors +using OSMToolset + +file = sample_osm_file() +df = find_poi(file) +ix = AttractivenessSpatIndex(df); + +flm = pyimport("folium"); + +colrs = distinguishable_colors(length(ix.measures), [RGB(0.1,0.2,0.4)]) +class2col = Dict(ix.measures .=> colrs); + +m = flm.Map(tiles = "Stamen Toner") +line = 0 + +for row in eachrow(df) + line += 1 + info = "$(row.group):$(row.key)=$(row.value)" + + k = findfirst(==(Symbol(row.group)), ix.measures) + flm.Circle((row.lat, row.lon), color="#$(hex(colrs[k]))",radius=row.influence, + fill_color="#$(hex(colrs[k]))", fill_opacity=0.06, tooltip=info).add_to(m) + +end +bb = getbounds(file) +bounds = [(bb.minlat, Float64(bb.minlon)), (bb.maxlat, Float64(bb.maxlon))] +m.fit_bounds(bounds) +flm.Rectangle(bounds, color="blue",weight=2).add_to(m) + +m +``` + diff --git a/src/OSMToolset.jl b/src/OSMToolset.jl index a9e3eb6..d8a7144 100644 --- a/src/OSMToolset.jl +++ b/src/OSMToolset.jl @@ -3,7 +3,7 @@ module OSMToolset using CSV, DataFrames using SpatialIndexing using StatsBase - +using NamedTupleTools using Parsers, EzXML, Parameters import OpenStreetMapX import OpenStreetMapX: OSMData, LLA, ENU, distance @@ -17,10 +17,17 @@ include("attractiveness.jl") export tile_osm_file export FloatLon -export AttractivenessConfig export AttractivenessSpatIndex export attractiveness export find_poi export calc_tiling +export getbounds, Bounds +export ScrapePOIConfig +export MetaPOI +export NoneMetaPOI +export AttractivenessMetaPOI +export sample_osm_file +export calculate_attractiveness, get_attractiveness_group +export clean_pois_by_group end # module OSMToolset diff --git a/src/attractiveness.jl b/src/attractiveness.jl index 817135f..c2edaa0 100644 --- a/src/attractiveness.jl +++ b/src/attractiveness.jl @@ -1,29 +1,39 @@ +""" + AttractivenessData - - - -struct AttractivenessData - class::Symbol - influence::Float64 - range::Float64 +Internal data structure used to store data in the `AttractivenessSpatIndex` spatial index. +""" +struct AttractivenessData{T <: MetaPOI} + data::T enu::ENU lla::LLA end -struct AttractivenessSpatIndex - tree::RTree{Float64, 2, SpatialElem{Float64, 2, Int64, AttractivenessData}} +AttractivenessData{T}(row::DataFrameRow, enu, lla) where T <: MetaPOI = + AttractivenessData(T(row), enu, lla) +AttractivenessData{NoneMetaPOI}(::DataFrameRow, enu, lla) = + AttractivenessData(NoneMetaPOI(), enu, lla) + + + +struct AttractivenessSpatIndex{T <: MetaPOI, F <: Function} + tree::RTree{Float64, 2, SpatialElem{Float64, 2, Int64, AttractivenessData{T}}} df::DataFrame refLLA::LLA measures::Vector{Symbol} + get_group::F end + + """ - AttractivenessSpatIndex(filename::AbstractString) - AttractivenessSpatIndex(df::AbstractDataFrame) + AttractivenessSpatIndex{T <: MetaPOI, F <: Function}(filename::AbstractString, get_range::Function=get_attractiveness_range, get_group::Function=get_attractiveness_group) + AttractivenessSpatIndex{T <: MetaPOI, F <: Function}(df::AbstractDataFrame, get_range::Function=get_attractiveness_range, get_group::Function=get_attractiveness_group) -Builds an attractivness spatial index basing on data in some CSV file o a DataFrame +Builds an attractivness spatial index basing on data in some CSV file or a DataFrame -The CSV file or DataFrame should have the following columns: - - class - data class in attractiveness index, each class name creates attractiveness dimension +Assuming that `T` is of typw `AttractivenessMetaPOI`, the CSV file or DataFrame +should have the following columns: + - group - data group in attractiveness index, each group name creates attractiveness dimension - key - key in the XML file - values - values in the (a star `"*"` catches all values) - influence - strength of influence @@ -31,78 +41,128 @@ The CSV file or DataFrame should have the following columns: When a `DataFrame` is provided the additional parameter `refLLA` can be provided for the reference `LLA` coordinates in the spatial index. The spatial index works in the ENU coordinate system. + +If `T` is not provided `AttractivenessMetaPOI` will be used as the default metadata type. + +The type `F` represents the attractiveness group function provided as `get_group = (a::T) -> :somegroup`. """ -AttractivenessSpatIndex(filename::AbstractString) = AttractivenessSpatIndex(CSV.read(filename, DataFrame)) -function AttractivenessSpatIndex(df::AbstractDataFrame, refLLA::LLA = LLA(mean(df.lat), mean(df.lon))) +AttractivenessSpatIndex{T}(filename::AbstractString;get_range::Function=get_attractiveness_range, get_group::Function=get_attractiveness_group) where T <: MetaPOI = AttractivenessSpatIndex(CSV.read(filename, DataFrame);get_range,get_group) +AttractivenessSpatIndex(filename::AbstractString;get_range::Function=get_attractiveness_range, get_group::Function=get_attractiveness_group) = AttractivenessSpatIndex{AttractivenessMetaPOI}(filename::AbstractString;get_range,get_group) + + +function AttractivenessSpatIndex{T}(df::AbstractDataFrame, refLLA::LLA = LLA(mean(df.lat), mean(df.lon));get_range::Function=get_attractiveness_range, get_group::Function=get_attractiveness_group) where T <: MetaPOI data = SpatialElem[] - for id in 1:nrow(df) - lla = LLA(df.lat[id], df.lon[id]) + groups = Symbol[] + id = 0 + for row in eachrow(df) + metaPoi = T(row) + id += 1 + lla = LLA(row.lat, row.lon) enu = ENU(lla, refLLA) - range_ = df.range[id] + range_ = get_range(metaPoi) + push!(groups, get_group(metaPoi)) rect = SpatialIndexing.Rect((enu.east-range_,enu.north-range_), (enu.east+range_,enu.north+range_)) - a = AttractivenessData(Symbol(df.class[id]), df.influence[id], df.range[id], enu, lla) + a = AttractivenessData{T}(row, enu, lla) push!(data, SpatialElem(rect, id, a)) end - tree = RTree{Float64, 2}(Int, AttractivenessData, variant=SpatialIndexing.RTreeStar) + tree = RTree{Float64, 2}(Int, AttractivenessData{T}, variant=SpatialIndexing.RTreeStar) SpatialIndexing.load!(tree, data) - return AttractivenessSpatIndex(tree, df, refLLA, Symbol.(sort!(unique(df.class)))) + return AttractivenessSpatIndex{T, typeof(get_group)}(tree, df, refLLA, sort!(unique(groups)), get_group) end +AttractivenessSpatIndex(df::AbstractDataFrame, refLLA::LLA = LLA(mean(df.lat), mean(df.lon))) = AttractivenessSpatIndex{AttractivenessMetaPOI}(df, refLLA) + +function calculate_attractiveness(a::AttractivenessMetaPOI, poidistance::Number) + if poidistance >= a.range + return 0.0 + else + return a.influence * (a.range - poidistance) / a.range + end +end + + + """ - attractiveness(sindex::AttractivenessSpatIndex, latitude::Float64, longitude::Float64, aggregator::Function=+; explain::Bool=false) + attractiveness(sindex::AttractivenessSpatIndex{T}, lattitude::Number, longitude::Number; aggregator::Function=sum, calculate_attractiveness::Function=calculate_attractiveness, distance::Function=OpenStreetMapX.distance, explain::Bool=false) where T <: MetaPOI Returns the multidimensional attractiveness measure -for the given spatial index `sindex` and `lattitude` and `longitude` +for the given spatial index `sindex` and `lattitude` and `longitude`. +The `aggregator` function will be used to aggregate the attractiveness values. +The aggreagation is required as more than one point of interest can be found within +the attractiveness range. +The function `calculate_attractiveness(a::T, poidistance::Number)` will be used +to calculate the attractiveness on the base of metadata and distance. +The distance function `distance(a::ENU, b::ENU)` is used to +calculate the distance between point pairs. + If `explain` is set to true the result will additionally contain details -about objects used to calculate the attractiveness +about POIs used to calculate the attractiveness. """ -function attractiveness(sindex::AttractivenessSpatIndex, latitude::Float64, longitude::Float64, aggregator::Function=+; explain::Bool=false) - attractiveness(sindex, LLA(latitude,longitude);explain = explain) +function attractiveness(sindex::AttractivenessSpatIndex{T}, lattitude::Number, longitude::Number; aggregator::Function=sum, calculate_attractiveness::Function=calculate_attractiveness, distance::Function=OpenStreetMapX.distance, explain::Bool=false) where T <: MetaPOI + attractiveness(sindex, OpenStreetMapX.LLA(lattitude,longitude); aggregator, calculate_attractiveness, distance, explain) end """ -attractiveness(sindex::AttractivenessSpatIndex, lla::LLA, aggregator::Function=+; explain::Bool=false) + attractiveness(sindex::AttractivenessSpatIndex{T}, lla::LLA; aggregator::Function=sum, calculate_attractiveness::Function=calculate_attractiveness, distance::Function=OpenStreetMapX.distance, explain::Bool=false) where T <: MetaPOI Returns the multidimensional attractiveness measure for the given spatial index `sindex` and `LLA` coordinates. +The `aggregator` function will be used to aggregate the attractiveness values. +The aggreagation is required as more than one point of interest can be found within +the attractiveness range. +The function `calculate_attractiveness(a::T, poidistance::Number)` will be used +to calculate the attractiveness on the base of metadata and distance. +The distance function `distance(a::ENU, b::ENU)` is used to +calculate the distance between point pairs. + If `explain` is set to true the result will additionally contain details -about objects used to calculate the attractiveness +about POIs used to calculate the attractiveness. """ - -function attractiveness(sindex::AttractivenessSpatIndex, lla::LLA, aggregator::Function=+; explain::Bool=false) +function attractiveness(sindex::AttractivenessSpatIndex{T}, lla::LLA; aggregator::Function=sum, calculate_attractiveness::Function=calculate_attractiveness, distance::Function=OpenStreetMapX.distance, explain::Bool=false) where T <: MetaPOI enu = ENU(lla,sindex.refLLA) - attractiveness(sindex, enu;explain = explain) + attractiveness(sindex, enu; aggregator, calculate_attractiveness, distance, explain) end """ - attractiveness(sindex::AttractivenessSpatIndex, enu::ENU, aggregator::Function=+; explain::Bool=false) + attractiveness(sindex::AttractivenessSpatIndex{T}, enu::ENU; aggregator::Function=sum, calculate_attractiveness::Function=calculate_attractiveness, distance::Function=OpenStreetMapX.distance, explain::Bool=false) where T <: MetaPOI Returns the multidimensional attractiveness measure for the given spatial index `sindex` and `enu` cooridanates. -Note that the enu coordinates *must* use `sindex.refLLA` as the reference point. -If `explain` is set to true the result will additionally contain details -about objects used to calculate the attractiveness. +Note that the enu coordinates *must* use `sindex.refLLA` as the reference point. +Hence the `enu` coordinates need to be calculated eg. using `ENU(lla,sindex.refLLA)`. +The `aggregator` function will be used to aggregate the attractiveness values. +The aggreagation is required as more than one point of interest can be found within +the attractiveness range. +The function `calculate_attractiveness(a::T, poidistance::Number)` will be used +to calculate the attractiveness on the base of metadata and distance. +The distance function `distance(a::ENU, b::ENU)` is used to +calculate the distance between point pairs. -Attractiveness will be aggregagated in a way defined by the `aggregator` function. +If `explain` is set to true the result will additionally contain details +about POIs used to calculate the attractiveness. """ -function attractiveness(sindex::AttractivenessSpatIndex, enu::ENU, aggregator::Function=+; explain::Bool=false) - res = Dict(sindex.measures .=> 0.0) +function attractiveness(sindex::AttractivenessSpatIndex{T}, enu::ENU; aggregator::Function=sum, calculate_attractiveness::Function=calculate_attractiveness, distance::Function=OpenStreetMapX.distance, explain::Bool=false) where T <: MetaPOI + res = Dict(sindex.measures .=> [Float64[] for _ in 1:length(sindex.measures)]) p = SpatialIndexing.Point((enu.east, enu.north)) explanation = DataFrame() for item in intersects_with(sindex.tree, SpatialIndexing.Rect(p)) - a = item.val # typeof(a) === AttractivenessData - poidistance = OpenStreetMapX.distance(enu, a.enu) - poidistance > a.range && continue - res[a.class] = aggregator(res[a.class], a.influence * (a.range - poidistance) / a.range) - if explain - append!(explanation, DataFrame(;a.class,a.influence,poidistance,a.lla.lat,a.lla.lon)) + aitval = item.val # typeof(a) === AttractivenessData + a = aitval.data + poidistance = distance(enu, aitval.enu) + attractiveness = calculate_attractiveness(a, poidistance) + if attractiveness > 0.0 + push!(res[sindex.get_group(a)], attractiveness) + if explain + append!(explanation, DataFrame(;ntfromstruct(a)...,attractiveness,poidistance,aitval.lla.lat,aitval.lla.lon)) + end end end + res2 = (sindex.measures .=> aggregator.(getindex.(Ref(res), sindex.measures))) if explain - return ((;res...), explanation) + return (;res2..., explanation) else - return (;res...) + return (;res2...) end end diff --git a/src/common.jl b/src/common.jl index 7264cf3..9d5bdde 100644 --- a/src/common.jl +++ b/src/common.jl @@ -9,3 +9,10 @@ struct Node lat::Float64 lon::Float64 end + +""" + Provides location of sample OSM file for tests +""" +function sample_osm_file()::String + joinpath(dirname(pathof(OSMToolset)),"..","test","data","boston.osm") +end diff --git a/src/poi.jl b/src/poi.jl index fe64ec0..00066e3 100644 --- a/src/poi.jl +++ b/src/poi.jl @@ -1,71 +1,100 @@ -struct Attract - class::String - influence::Int - range::Int + +abstract type MetaPOI end + +struct NoneMetaPOI <: MetaPOI; end +struct AttractivenessMetaPOI <: MetaPOI + group::Symbol + influence::Float64 + range::Float64 end + +get_attractiveness_group(a::AttractivenessMetaPOI) = a.group +get_attractiveness_range(a::AttractivenessMetaPOI) = a.range +get_attractiveness_group(a::NoneMetaPOI) = :NoneMetaPOI +get_attractiveness_range(a::MetaPOI) = throw(ArgumentError("`get_attractiveness_range` not implemented for type $(typeof(a)). You can also just provide a custom function via the `get_range` parameter such as `get_range= a -> 100`")) + + +AttractivenessMetaPOI(row::DataFrameRow) = AttractivenessMetaPOI(Symbol(row.group), Float64(row.influence), Float64(row.range)) +NoneMetaPOI(::DataFrameRow) = NoneMetaPOI() + + + """ Represents the configuration of the data scraping process from OSM XML. Only those pieces of data will be scraped that are defined here. The configuration is defined in a DataFrame with the following columns: -`class`, `key`, `values`, `influence`, `range`. +`group`, `key`, `values`, `influence`, `range`. Instead of the DataFrame a paths to a CSV file can be provided. * Constructors * -- `AttractivenessConfig()` - default inbuilt configuration for data scraping. - Note that the default configuration can change with library updates -- `AttractivenessConfig(filename::AbstractString)` - use a CSV file with configuration -- `AttractivenessConfig(df::DataFrame)` - use a `DataFrame` - - +- `ScrapePOIConfig()` - default inbuilt configuration for data scraping. + Note that the default configuration can change with library updates. + This will use `AttractivenessMetaPOI` as meta data. +- `ScrapePOIConfig{T <: MetaPOI}(filename::AbstractString)` - use a CSV file with configuration +- `ScrapePOIConfig{T <: MetaPOI}(df::DataFrame)` - use a `DataFrame` + +When the `T` parameter is not provided `AttractivenessMetaPOI` will be used. +When you do not want to use metadata provide `NoneMetaPOI` as `T` """ -struct AttractivenessConfig +struct ScrapePOIConfig{T <: MetaPOI} dkeys::Set{String} - attract::Dict{Union{String, Tuple{String,String}}, Attract} + meta::Dict{Union{String, Tuple{String,String}}, T} end -const __builtin_attract_path = joinpath(@__DIR__, "..", "config", "Attractiveness.csv") +""" +Default built-in configuration for data scraping from OSM XML. +The default configuration will use AttractivenessMetaPOI +""" +const __builtin_config_path = joinpath(@__DIR__, "..", "config", "ScrapePOIconfig.csv") + + -function AttractivenessConfig(df::DataFrame) - colnames = ["class", "key", "influence", "range", "values"] +function ScrapePOIConfig{T}(df::DataFrame) where T <: MetaPOI + colnames = ["key", "values"] @assert all(colnames .∈ Ref(names(df))) + dkeys = Set(String.(df.key)) - attract = Dict{Union{String, Tuple{String,String}}, Attract}() + meta = Dict{Union{String, Tuple{String,String}}, T}() for row in eachrow(df) - a = Attract(String(row.class), Float64(row.influence), Float64(row.range)) + a = T(row) for value in string.(split(String(row.values),',')) if value == "*" - attract[String(row.key)] = a + meta[String(row.key)] = a else - attract[String(row.key), value] = a + meta[String(row.key), value] = a end end end - AttractivenessConfig(dkeys, attract) + ScrapePOIConfig{T}(dkeys, meta) end -function AttractivenessConfig(filename::AbstractString = __builtin_attract_path) - AttractivenessConfig(CSV.read(filename, DataFrame,types=Dict( - :class => String, :key => String, :influence => Float64, :range => Float64, :values =>String) )) +ScrapePOIConfig(df::DataFrame) = ScrapePOIConfig{AttractivenessMetaPOI}(df) + +function ScrapePOIConfig{T}(filename::AbstractString = __builtin_config_path) where T <: MetaPOI + ScrapePOIConfig{T}(CSV.read(filename, DataFrame,types=Dict( + :key => String, :values =>String) )) end -const __builtin_attract = AttractivenessConfig() +ScrapePOIConfig(filename::AbstractString = __builtin_config_path) = ScrapePOIConfig{AttractivenessMetaPOI}(filename) + +const __builtin_poiconfig = ScrapePOIConfig() """ - find_poi(filename::AbstractString; attract_config::AttractivenessConfig=__builtin_attract) + find_poi(filename::AbstractString; scrape_config::ScrapePOIConfig{T <: MetaPOI}=__builtin_poiconfig) -Generates a `DataFrame` with points of interests and their attractivenss from a given XML `filename`. +Generates a `DataFrame` with points of interests and from a given XML `filename`. +The data frame will also contain the metadata from `T` for each POI. -This `DataFrame` can be later used with `AttractivenessSpatIndex` to build an attractivenss spatial index. +The `DataFrame` can be later used with `AttractivenessSpatIndex` to build an attractivenss spatial index. -The attractiveness values for the index will be used ones from the `attract_config` file. -By default `builtin_attract_path` will be used but you can define your own index. +The attractiveness values for the index will be used ones from the `scrape_config` file. +By default `__builtin_poiconfig` from `__builtin_config_path` will be used but you can define your own index. """ -function find_poi(filename::AbstractString; attract_config::AttractivenessConfig=__builtin_attract) - dkeys = attract_config.dkeys - attract = attract_config.attract - +function find_poi(filename::AbstractString; scrape_config::ScrapePOIConfig{T}=__builtin_poiconfig) where T <: MetaPOI + dkeys = scrape_config.dkeys + meta = scrape_config.meta EMPTY_NODE = Node(0,0.,0.) nodes = Dict{Int,Node}() ways_firstnode = Dict{Int, Node}() @@ -153,34 +182,51 @@ function find_poi(filename::AbstractString; attract_config::AttractivenessConfig value = string(get(attrs,"v","")) # get either first key if it was of * type # otherwise try to get attractiveness for the tuple - a = get(attract, key, get(attract, (key, value), nothing)) + a = get(meta, key, get(meta, (key, value), nothing)) if !isnothing(a) # we are interested only in attractive POIs - push!(df, (;elemtype,elemid,nodeid=curnode.id, lat=curnode.lat, lon=curnode.lon, key, value,a.class, a.influence, a.range ) ) + push!(df, (;elemtype,elemid,nodeid=curnode.id, lat=curnode.lat, lon=curnode.lon, key, value, ntfromstruct(a)...) ) end end end end - df2 = DataFrame(g[findmax(g.influence)[2], :] for g in groupby(df, [:nodeid, :class])) - df2 + unique!(df,[:lat,:lon,:key,:value]) + df +end + +""" + clean_pois_by_group(df::DataFrame) +For data imported via AttractivenessMetaPOI the function will return only the most attractive POI for each group. +This is useful when you want to remove duplicate entries for the same node. +""" +function clean_pois_by_group(df::DataFrame) + DataFrame(g[findmax(g.influence)[2], :] for g in groupby(df, [:nodeid, :group])) end -function find_poi(osm::OSMData; attract_config::AttractivenessConfig=__builtin_attract) - dkeys = attract_config.dkeys - attract = attract_config.attract +#= +""" + find_poi(osm::OpenStreetMapX.OSMData; scrape_config::ScrapePOIConfig=__builtin_poiconfig) +Finds POIs on the data from OSM parser. Please note that the OSM parser might not parse all the data from the XML file, +hence the results might be different than from `find_poi(filename::AbstractString)`. +Generally, usage of `find_poi(filename::AbstractString)` is stronlgy recommended. +""" +function find_poi(osm::OpenStreetMapX.OSMData; scrape_config::ScrapePOIConfig=__builtin_poiconfig) + dkeys = scrape_config.dkeys + meta = scrape_config.meta df = DataFrame() for (node, (key, value)) in osm.features # get either first key if it was of * type # otherwise try to get attractiveness for the tuple - a = get(attract, key, get(attract, (key, value), nothing)) + a = get(meta, key, get(meta, (key, value), nothing)) if a !== nothing # we are interested only in attractive POIs lla = osm.nodes[node] - push!(df, (;nodeid=node, lat=lla.lat, lon=lla.lon, key, value, a.class, a.influence, a.range)) + push!(df, (;nodeid=node, lat=lla.lat, lon=lla.lon, key, value, ntfromstruct(a)...)) end end - df2 = DataFrame(g[findmax(g.influence)[2], :] for g in groupby(df, [:nodeid, :class])) + df2 = DataFrame(g[findmax(g.influence)[2], :] for g in groupby(df, [:nodeid, :group])) return df2 end +=# \ No newline at end of file diff --git a/src/tile.jl b/src/tile.jl index 29e8346..ad478f4 100644 --- a/src/tile.jl +++ b/src/tile.jl @@ -1,6 +1,8 @@ - +""" +Internal method for parsing XML line +""" function gettag(line) ixₐ = findfirst('<', line) ixₐ == nothing && return "" @@ -32,7 +34,7 @@ end """ primitive type FloatLon <: AbstractFloat 64 end function FloatLon(x::Float64) - if abs(x) > 360 + if abs(x) > 360.0 x = x % 360 end if x > 180.0 @@ -63,6 +65,9 @@ import Base: +,- lonwh::Float64 = maxlon - minlon end +""" +Internal method generating XML line from given bounds +""" toxmlline(bounds::Bounds) = """""" @@ -80,7 +85,11 @@ toxmlline(bounds::Bounds) = """")) close.(iotiles) close(io) + return filenames end diff --git a/test/data/Attractiveness.csv b/test/data/Attractiveness.csv deleted file mode 100644 index 5851a42..0000000 --- a/test/data/Attractiveness.csv +++ /dev/null @@ -1,31 +0,0 @@ -class key influence range values -education amenity 3 2000 kindergarten -education amenity 5 3000 school,music_school,language_school -education amenity 20 10000 university,college -education amenity 5 1000 library -restaurants amenity 5 750 restaurant,fast_food -restaurants amenity 15 1000 food_court -entertainment amenity 5 750 pub,bar -restaurants amenity 5 750 cafe,ice_cream -shopping amenity 1 750 bank,atm -parking amenity 5 250 parking -parking parking 5 250 * -transport amenity 5 300 bus_station -transport public_transport 5 300 station -transport railway 10 700 station -transport aeroway 15 1000 aerodrome,terminal -transport public_transport 5 300 stop_position -transport railway 5 300 tram_stop -healthcare amenity 10 500 clinic,doctors,dentist -healthcare healthcare 10 500 * -healthcare amenity 5 500 pharmacy -healthcare amenity 20 1000 hospital -entertainment amenity 20 1000 cinema,theatre,arts_centre -entertainment amenity 10 800 nightclub -shopping shop 5 500 * -shopping amenity 10 800 marketplace -leisure leisure 5 500 garden,park,dog_park -leisure leisure 5 800 sports_centre,sports_hall,stadium,track,pitch,horse_riding,swimming_pool,fitness_centre,fitness_station -leisure sport 5 800 fitness -leisure landuse 5 1500 recreation_ground,winter_sports -leisure tourism 5 1500 * diff --git a/test/data/ScrapePOIconfig.csv b/test/data/ScrapePOIconfig.csv new file mode 100644 index 0000000..08ceb9c --- /dev/null +++ b/test/data/ScrapePOIconfig.csv @@ -0,0 +1,31 @@ +key values group influence range +amenity kindergarten education 3 2000 +amenity school,music_school,language_school education 5 3000 +amenity university,college education 20 10000 +amenity library education 5 1000 +amenity restaurant,fast_food restaurants 5 750 +amenity food_court restaurants 15 1000 +amenity pub,bar entertainment 5 750 +amenity cafe,ice_cream restaurants 5 750 +amenity bank,atm shopping 1 750 +amenity parking parking 5 250 +parking * parking 5 250 +amenity bus_station transport 5 300 +public_transport station transport 5 300 +railway station transport 10 700 +aeroway aerodrome,terminal transport 15 1000 +public_transport stop_position transport 5 300 +railway tram_stop transport 5 300 +amenity clinic,doctors,dentist healthcare 10 500 +healthcare * healthcare 10 500 +amenity pharmacy healthcare 5 500 +amenity hospital healthcare 20 1000 +amenity cinema,theatre,arts_centre entertainment 20 1000 +amenity nightclub entertainment 10 800 +shop * shopping 5 500 +amenity marketplace shopping 10 800 +leisure garden,park,dog_park leisure 5 500 +leisure sports_centre,sports_hall,stadium,track,pitch,horse_riding,swimming_pool,fitness_centre,fitness_station leisure 5 800 +sport fitness leisure 5 800 +landuse recreation_ground,winter_sports leisure 5 1500 +tourism * leisure 5 1500 diff --git a/test/data/boston.osm b/test/data/boston.osm new file mode 100644 index 0000000..a510b43 --- /dev/null +++ b/test/data/boston.osm @@ -0,0 +1,23064 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/data/map.osm b/test/data/map.osm deleted file mode 100644 index e0b7441..0000000 --- a/test/data/map.osm +++ /dev/null @@ -1,174358 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/runtests.jl b/test/runtests.jl index a0f5481..fddcea9 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -4,17 +4,67 @@ import OpenStreetMapX: ENU using DataFrames using Test -test_map = joinpath(dirname(pathof(OSMToolset)),"..","test","data","map.osm") +test_map = joinpath(dirname(pathof(OSMToolset)),"..","test","data","boston.osm") +test_poi_config = joinpath(dirname(pathof(OSMToolset)),"..","test","data","ScrapePOIconfig.csv") -att = AttractivenessConfig(joinpath(dirname(pathof(OSMToolset)),"..","test","data","Attractiveness.csv")) -df = find_poi(test_map,attract_config=att) +#test_map = "test/data/boston.osm" +#test_poi_config = "test/data/ScrapePOIconfig.csv" + +poiconf = ScrapePOIConfig(test_poi_config) +poiconf_default = ScrapePOIConfig() + +bounds = getbounds(test_map) + + +df = find_poi(test_map,scrape_config=poiconf) sindex = AttractivenessSpatIndex(df); -lla = sindex.refLLA -@testset "OSMToolset" begin - @test nrow(df) > 100 +lla = OpenStreetMapX.LLA((bounds.minlat+bounds.maxlat)/2, (Float64(bounds.minlon)+Float64(bounds.maxlon))/2) +@testset "Attractivenss" begin + @test nrow(df) > 20 a1 = attractiveness(sindex, lla) a2 = attractiveness(sindex, lla.lat, lla.lon) - a3 = attractiveness(sindex, OpenStreetMapX.ENU(0.0,0.0)) - @assert a1 == a2 == a3 - @assert all(values(a1) .> 0) + enu = ENU(lla, sindex.refLLA) + a3 = attractiveness(sindex, enu) + @test a1 == a2 == a3 + @test all(values(a1) .>= 0) + @test any(values(a1) .>= 0) + @test all(values(a3) .>= 0) + @test any(values(a3) .>= 0) +end + +config = DataFrame(key=["parking", "amenity"], values=["*", "parking"]) +df2 = find_poi(test_map; scrape_config=ScrapePOIConfig{NoneMetaPOI}(config)) + +# each parking space has an attractiveness range od 100 meters +sindex2 = AttractivenessSpatIndex{NoneMetaPOI}(df2; get_range=a->300, get_group=a->:parking); + +@testset "CustomConfig" begin + @test nrow(df2) > 0 + @test all(df2.key .∈ Ref(["amenity", "parking"])) + att2 = attractiveness(sindex2, lla; aggregator= x -> length(x)==0 ? 0 : maximum(x), calculate_attractiveness = (a,dist) -> dist > 300 ? 0 : 300/dist ) + @test fieldnames(att2) == (:parking,) + @test att2.parking > 0 +end + + + +function get_nodeids(f) + df = DataFrame(OSMToolset.gettag.(readlines(test_map))) + df[(df.type.==:node) .&& (df.id .!= 0) , :id] end +nodes1 = sort!(get_nodeids(test_map)) + + +tdir = mktempdir() +outfiles = tile_osm_file(test_map, nrow=2, ncol=3, out_dir=tdir) +nodes2 = Int[] +for f in vec(outfiles) + append!(nodes2, get_nodeids(joinpath(tdir,f))) +end +sort!(unique!(nodes2)) +rm(tdir, force=true, recursive=true) + +@testset "TileNodes" begin + @test nodes1 == nodes2 +end +