From 9bfcfb6a353ba604684db00750b30765f0006f2c Mon Sep 17 00:00:00 2001 From: Mr-Milk Date: Fri, 19 Jan 2024 10:58:02 +0100 Subject: [PATCH] Update publication codes and figures --- .github/workflows/deploy_streamlit.yaml | 33 + examples/plot_available_plotters.py | 105 +- examples/plot_mouse_embryo.py | 99 +- examples/plot_oil_well.py | 1 + examples/plot_oncoprint.py | 1 + img/publication/web-app-screenshot-1.png | Bin 0 -> 151627 bytes img/publication/web-app-screenshot-2.png | Bin 0 -> 148301 bytes scripts/benchmark/marsilea_cooking_oils.py | 66 + scripts/benchmark/matplotlib_cooking_oils.py | 134 + scripts/pub_figures/layout-step.py | 86 +- scripts/publication/arc_diagram.svg | 5974 + scripts/publication/bivariate_dist.svg | 32 + scripts/publication/mouse_embryo.svg | 168201 ++++++++++++++++ 13 files changed, 174685 insertions(+), 47 deletions(-) create mode 100644 .github/workflows/deploy_streamlit.yaml create mode 100644 img/publication/web-app-screenshot-1.png create mode 100644 img/publication/web-app-screenshot-2.png create mode 100644 scripts/benchmark/marsilea_cooking_oils.py create mode 100644 scripts/benchmark/matplotlib_cooking_oils.py create mode 100644 scripts/publication/arc_diagram.svg create mode 100644 scripts/publication/bivariate_dist.svg create mode 100644 scripts/publication/mouse_embryo.svg diff --git a/.github/workflows/deploy_streamlit.yaml b/.github/workflows/deploy_streamlit.yaml new file mode 100644 index 0000000..3e422e7 --- /dev/null +++ b/.github/workflows/deploy_streamlit.yaml @@ -0,0 +1,33 @@ +name: Deploy streamlit docker to Azure +on: [] # [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Login to Azure + uses: azure/login@v1 + with: + creds: ${{ secrets.AZURE_CREDENTIALS }} + - name: Build and push + uses: azure/docker-login@v1 + with: + login-server: ${{ secrets.REGISTRY_LOGIN_SERVER }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + - run: | + docker build . -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/marsilea:${{ github.sha }} + docker push ${{ secrets.REGISTRY_LOGIN_SERVER }}/marsilea:${{ github.sha }} + + - name: Deploy to Azure Web App + uses: azure/webapps-deploy@v2 + with: + resource-group: ${{ secrets.RESOURCE_GROUP }} + dns-name-label: ${{ secrets.RESOURCE_GROUP }}${{ github.run_number }} + image: ${{ secrets.REGISTRY_LOGIN_SERVER }}/marsilea:${{ github.sha }} + registry-login-server: ${{ secrets.REGISTRY_LOGIN_SERVER }} + registry-username: ${{ secrets.REGISTRY_USERNAME }} + registry-password: ${{ secrets.REGISTRY_PASSWORD }} + name: marsilea + location: 'west us' diff --git a/examples/plot_available_plotters.py b/examples/plot_available_plotters.py index 401f425..c220ed3 100644 --- a/examples/plot_available_plotters.py +++ b/examples/plot_available_plotters.py @@ -15,6 +15,26 @@ from marsilea.layers import Rect, RightTri, FrameRect, FracRect +# sphinx_gallery_start_ignore +import mpl_fontkit as fk + +fk.install("Lato", verbose=False) + +# sphinx_gallery_end_ignore + +def label_ax(ax, text): + ax.text(1.05, .5, text, transform=ax.transAxes, + ha="left", va="center") + + +# sphinx_gallery_start_ignore +from pathlib import Path + +save_path = Path(__file__).parent / "imgs" +plt.rcParams['svg.fonttype'] = 'none' +# sphinx_gallery_end_ignore + + # %% # Mesh plotters plt.ion() @@ -22,30 +42,36 @@ data = np.arange(5) data2d = np.arange(5).reshape(1, 5) pieces = { - 0: FrameRect(color="g", label="2"), - 1: Rect(color="g", label="2"), - 2: RightTri(color="g", label="3"), - 3: FracRect(color="b", label="3"), - 4: RightTri(color="b", label="3", right_angle="upper right"), + 0: FrameRect(color="#7E2E84", width=2), + 1: Rect(color="#D14081"), + 2: RightTri(color="#EF798A"), + 3: FracRect(color="#F9F5E3", frac=(.5, .5)), + 4: RightTri(color="#CCF5AC", right_angle="upper right"), } plotters = { "Color Mesh": mp.ColorMesh(data2d, cmap="Blues"), - "Sized Mesh": mp.SizedMesh(data2d, sizes=(100, 500), cmap="Greens"), - "Marker Mesh": mp.MarkerMesh(data2d >= 2, size=300, marker="*", color="red"), + "Sized Mesh": mp.SizedMesh(data2d, sizes=(100, 500), color="#A05F96"), + "Marker Mesh": mp.MarkerMesh(data2d > 0, size=300, marker="x", color="#AAD9BB"), "Layers Mesh": ma.layers.LayersMesh(data2d, pieces=pieces), } canvas = ma.Heatmap(data2d, width=5, height=0, cmap="Oranges", label="Color Mesh") for title, plotter in plotters.items(): - plotter.set_label(title, "right") - canvas.add_bottom(plotter) + canvas.add_bottom(plotter, name=title) -canvas.add_dendrogram("bottom", method="ward", colors="#FFDD95") +canvas.add_dendrogram("bottom", method="ward", colors="#1D2B53", name="Dendrogram") canvas.render() -for ax in canvas.figure.get_axes(): +for title in list(plotters.keys()) + ["Dendrogram"]: + ax = canvas.get_ax(title) ax.set_axis_off() + label_ax(ax, title) + +# sphinx_gallery_start_ignore +if '__file__' in globals(): + plt.savefig(save_path / "all_plotters_mesh.svg", bbox_inches="tight") +# sphinx_gallery_end_ignore # %% # Label plotters @@ -64,35 +90,44 @@ text_color.append(".1") matrix = rng.standard_normal((1, 100)) canvas2 = ma.Heatmap(matrix, width=5, height=.1) -canvas2.add_top(mp.Labels(text, text_props={'color': text_color}, rotation=0, label="Labels")) -canvas2.add_bottom(mp.AnnoLabels(labels, mark=[3, 4, 5, 96, 97, 98], rotation=0)) +canvas2.add_top(mp.Labels(text, text_props={'color': text_color}, rotation=0), name="Labels") +canvas2.add_bottom(mp.AnnoLabels(labels, mark=[3, 4, 5, 96, 97, 98], rotation=0), name="AnnoLabels") canvas2.render() +for title in ["Labels", "AnnoLabels"]: + ax = canvas2.get_ax(title) + label_ax(ax, title) + +# sphinx_gallery_start_ignore +if '__file__' in globals(): + plt.savefig(save_path / "all_plotters_label.svg", bbox_inches="tight") +# sphinx_gallery_end_ignore # %% # Statistics plotters data1d = np.arange(1, 6) data2d = rng.integers(1, 10, size=(10, 5)) -bar_width = .6 +bar_width = .5 plotters = { "Simple Bar": mp.Numbers(data1d, color="#756AB6", width=bar_width), "Bar": mp.Bar(data2d, color="#5F8670", width=bar_width), "Boxen": mp.Boxen(data2d, color="#FFB534", width=bar_width), "Violin": mp.Violin(rng.standard_normal((20, 5)), color="#65B741"), - "Point": mp.Point(data2d, color="#4CB9E7"), - "Strip": mp.Strip(data2d, color="#FF004D"), - "Swarm": mp.Swarm(data2d, color="#647D87"), + "Point": mp.Point(data2d, color="#656176"), + "Strip": mp.Strip(rng.standard_normal((50, 5)), color="#FF004D"), + "Swarm": mp.Swarm(rng.standard_normal((50, 5)), color="#647D87"), "Stacked Bar": mp.StackBar(rng.integers(1, 10, (5, 5)), items="abcde", width=bar_width), "Center Bar": mp.CenterBar(rng.integers(1, 10, (5, 2)), colors=["#EE7214", "#527853"], width=bar_width), } canvas3 = ma.Heatmap(rng.standard_normal((10, 5)), width=4, height=0) for title, plotter in plotters.items(): - plotter.allow_labeling = True - plotter.set_label(title, "right") - canvas3.add_bottom(plotter, pad=.3, size=2, name=title) + size = 1 + if title in ["Violin", "Strip", "Swarm"]: + size = 1.5 + canvas3.add_bottom(plotter, pad=.1, size=size, name=title) canvas3.vsplit(cut=[2]) canvas3.add_bottom(mp.Chunk(["Lower", "Upper"], ["#FFDD95", "#FFB000"], padding=10)) @@ -104,19 +139,35 @@ ax.spines[dir].set_visible(False) ax.tick_params(left=False, labelleft=False) -# for title in plotters.keys(): -# ax = canvas3.get_ax(title)[0] -# ax.text(-.1, .5, title, transform=ax.transAxes, fontsize=14, ha="right", va="center") +for title in plotters.keys(): + ax = canvas3.get_ax(title)[-1] + label_ax(ax, title) + +# sphinx_gallery_start_ignore +if '__file__' in globals(): + plt.savefig(save_path / "all_plotters_stat.svg", bbox_inches="tight") +# sphinx_gallery_end_ignore # %% # Other plotters matrix = pd.DataFrame(data=rng.integers(1, 10, (4, 5)), index=list("ACGT")) -colors = {"A": "r", "C": "b", "G": "g", "T": "black"} +colors = {"A": "#D81159", "C": "#218380", "G": "#FBB13C", "T": "#73D2DE"} +weights = rng.integers(1, 10, 4) seqlogo = mp.SeqLogo(matrix, color_encode=colors) -arc = mp.Arc([1, 2, 3, 4, 5], [(1, 5), (2, 3), (1, 2), (4, 5)], width=1, colors="#FF004D") +arc = mp.Arc([1, 2, 3, 4, 5], [(1, 5), (2, 3), (1, 2), (4, 5)], + weights=weights, width=(2, 5), colors="#534D56") canvas4 = ma.Heatmap(rng.standard_normal((10, 5)), width=4, height=0) -canvas4.add_top(seqlogo, size=2) -canvas4.add_top(arc, size=1, pad=.2) +canvas4.add_top(seqlogo, size=2, name="Sequence Logo") +canvas4.add_top(arc, size=1, pad=.2, name="Arc Diagram") canvas4.render() + +for title in ["Sequence Logo", "Arc Diagram"]: + ax = canvas4.get_ax(title) + label_ax(ax, title) + +# sphinx_gallery_start_ignore +if '__file__' in globals(): + plt.savefig(save_path / "all_plotters_other.svg", bbox_inches="tight") +# sphinx_gallery_end_ignore diff --git a/examples/plot_mouse_embryo.py b/examples/plot_mouse_embryo.py index 5596710..3d59937 100644 --- a/examples/plot_mouse_embryo.py +++ b/examples/plot_mouse_embryo.py @@ -17,7 +17,98 @@ # sphinx_gallery_start_ignore import mpl_fontkit as fk + fk.install("Lato", verbose=False) + + +class Transforms: + """ + Holds transformation matrices. + All the details for transformation matrices can be found at: https://arxiv.org/pdf/1711.10662.pdf. + """ + + @staticmethod + def rgb_to_lms(): + """ + Matrix for RGB color-space to LMS color-space transformation. + """ + return np.array([[17.8824, 43.5161, 4.11935], + [3.45565, 27.1554, 3.86714], + [0.0299566, 0.184309, 1.46709]]).T + + @staticmethod + def lms_to_rgb() -> np.ndarray: + """ + Matrix for LMS colorspace to RGB colorspace transformation. + """ + return np.array([[0.0809, -0.1305, 0.1167], + [-0.0102, 0.0540, -0.1136], + [-0.0004, -0.0041, 0.6935]]).T + + @staticmethod + def lms_protanopia_sim(degree: float = 1.0) -> np.ndarray: + """ + Matrix for Simulating Protanopia colorblindness from LMS color-space. + :param degree: Protanopia degree. + """ + return np.array([[1 - degree, 2.02344 * degree, -2.52581 * degree], + [0, 1, 0], + [0, 0, 1]]).T + + @staticmethod + def lms_deutranopia_sim(degree: float = 1.0) -> np.ndarray: + """ + Matrix for Simulating Deutranopia colorblindness from LMS color-space. + :param degree: Deutranopia degree. + """ + return np.array([[1, 0, 0], + [0.494207 * degree, 1 - degree, 1.24827 * degree], + [0, 0, 1]]).T + + @staticmethod + def lms_tritanopia_sim(degree: float = 1.0) -> np.ndarray: + """ + Matrix for Simulating Tritanopia colorblindness from LMS color-space. + :param degree: Tritanopia degree. + """ + return np.array([[1, 0, 0], + [0, 1, 0], + [-0.395913 * degree, 0.801109 * degree, 1 - degree]]).T + + @staticmethod + def hybrid_protanomaly_deuteranomaly_sim(degree_p: float = 1.0, degree_d: float = 1.0) -> np.ndarray: + """ + Matrix for Simulating Hybrid Colorblindness (protanomaly + deuteranomaly) from LMS color-space. + :param degree_p: protanomaly degree. + :param degree_d: deuteranomaly degree. + """ + return np.array([[1 - degree_p, 2.02344 * degree_p, -2.52581 * degree_p], + [0.494207 * degree_d, 1 - degree_d, 1.24827 * degree_d], + [0, 0, 1]]).T + + +def simulate_colorblind( + image_rgb: np.ndarray, + sim_type='protan', + degree: float | tuple = 1.0 +) -> np.ndarray: + img_lms = np.dot(image_rgb[:, :, :3], Transforms.rgb_to_lms()) + + if sim_type == 'protan': + transform = Transforms.lms_protanopia_sim(degree) + elif sim_type == 'deutan': + transform = Transforms.lms_deutranopia_sim(degree) + elif sim_type == 'tritan': + transform = Transforms.lms_tritanopia_sim(degree) + else: + transform = Transforms.hybrid_protanomaly_deuteranomaly_sim(degree, degree) + + img_lms_sim = np.dot(img_lms, transform) + img_rgb_sim = np.uint8(np.dot(img_lms_sim, Transforms.lms_to_rgb()) * 255) + + return img_rgb_sim + + # sphinx_gallery_end_ignore embryo = ma.load_data('mouse_embryo') @@ -83,7 +174,8 @@ def get_xy_hist(ct): # Draw cell ax = b.get_main_ax() -ax.scatter(embryo['cell_x'], embryo['cell_y'], s=1, c=embryo['colors']) +points = ax.scatter(embryo['cell_x'], embryo['cell_y'], s=1, c=embryo['colors']) +points.set_rasterized(True) ax.set_xlim(xstart, xend) ax.set_ylim(ystart, yend) ax.set_title("Mouse Embryo E12.5") @@ -106,12 +198,15 @@ def get_xy_hist(ct): y_ax.set_axis_off() y_ax.text(0.5, 0, n, va="top", ha="center", rotation=90, transform=y_ax.transAxes) + +#%% # sphinx_gallery_start_ignore if '__file__' in globals(): from pathlib import Path import matplotlib.pyplot as plt + plt.rcParams['svg.fonttype'] = 'none' save_path = Path(__file__).parent / "imgs" plt.savefig(save_path / "mouse_embryo.svg", bbox_inches="tight") + plt.savefig(save_path / "mouse_embryo.png", dpi=300, bbox_inches="tight") # sphinx_gallery_end_ignore - diff --git a/examples/plot_oil_well.py b/examples/plot_oil_well.py index a615e44..059b15f 100644 --- a/examples/plot_oil_well.py +++ b/examples/plot_oil_well.py @@ -80,6 +80,7 @@ from pathlib import Path import matplotlib.pyplot as plt + plt.rcParams['svg.fonttype'] = 'none' save_path = Path(__file__).parent / "imgs" plt.savefig(save_path / "oil_well.svg", bbox_inches="tight") # sphinx_gallery_end_ignore diff --git a/examples/plot_oncoprint.py b/examples/plot_oncoprint.py index a2d9078..b4970d5 100644 --- a/examples/plot_oncoprint.py +++ b/examples/plot_oncoprint.py @@ -102,6 +102,7 @@ if '__file__' in globals(): from pathlib import Path import matplotlib.pyplot as plt + plt.rcParams['svg.fonttype'] = 'none' save_path = Path(__file__).parent / "imgs" plt.savefig(save_path / "oncoprint.svg", bbox_inches="tight") # sphinx_gallery_end_ignore diff --git a/img/publication/web-app-screenshot-1.png b/img/publication/web-app-screenshot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7ac280f335e0286735c69e58b15b552be7024589 GIT binary patch literal 151627 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

xQF};|Njj*`F}1 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®D+0sb1?Nx|Qjy}oavbfjYUtB#v1 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 literal 0 HcmV?d00001 diff --git a/img/publication/web-app-screenshot-2.png b/img/publication/web-app-screenshot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..75b2bd6654d091127463c91cd237fc6ce95ecb05 GIT binary patch literal 148301 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 literal 0 HcmV?d00001 diff --git a/scripts/benchmark/marsilea_cooking_oils.py b/scripts/benchmark/marsilea_cooking_oils.py new file mode 100644 index 0000000..d6ef396 --- /dev/null +++ b/scripts/benchmark/marsilea_cooking_oils.py @@ -0,0 +1,66 @@ +# Loading libraries and data +from matplotlib import pyplot as plt + +import marsilea as ma +import marsilea.plotter as mp + +import mpl_fontkit as fk + +fk.install_fontawesome(verbose=False) +fk.install("Lato", verbose=False) + +oils = ma.load_data('cooking_oils') + +red = "#cd442a" +yellow = "#f0bd00" +green = "#7e9437" +gray = "#eee" + +mapper = {0: "\uf58a", 1: "\uf11a", 2: "\uf567"} +cmapper = {0: '#609966', 1: '#DC8449', 2: '#F16767'} +flavour = [mapper[i] for i in oils['flavour'].values] +flavour_colors = [cmapper[i] for i in oils['flavour'].values] +fat_content = oils[['saturated', 'polyunsaturated (omega 3 & 6)', + 'monounsaturated', 'other fat']] + +# %% +# Visualize the oil contents +# -------------------------- + +contents = mp.StackBar(fat_content.T * 100, colors=[red, yellow, green, gray], width=.8, + orient="h", label="Fat Content (%)", legend_kws={'ncol': 2, 'fontsize': 10}) + +trans_fat = mp.Numbers(oils['trans fat'] * 100, fmt=lambda x: f"{x:.1f}" if x > 0 else "", + label="Trans Fat (%)", color="#3A98B9") + +o3vso6 = ma.plotter.CenterBar( + (oils[['omega 3', 'omega 6']] * 100).astype(int), names=["Omega 3 (%)", "Omega 6 (%)"], + colors=["#7DB9B6", "#F5E9CF"], fmt=lambda x: f"{int(x)}" if x > 0 else "", show_value=True) + +colors = ["#e5e7eb", "#c2410c", "#fb923c", "#fca5a5", "#fecaca"] + +chunk_text = ["Control", ">230 °C\nDeep-frying", "200-229 °C\nStir-frying", + "150-199 °C\nLight saute", "<150 °C\nDressings"] +title = ma.plotter.Chunk(chunk_text, colors, rotation=0, padding=10) + +cb = ma.ClusterBoard(fat_content.to_numpy(), height=10) +cb.add_layer(contents) +cb.add_left(trans_fat, pad=.2, name="trans fat") +cb.add_right(mp.Labels(flavour, fontfamily="Font Awesome 6 Free", text_props={'color': flavour_colors})) +cb.add_right(mp.Labels(oils.index.str.capitalize()), pad=.1) +cb.add_right(o3vso6, size=2, pad=.2) + +order = ["Control", ">230 °C (Deep-frying)", "200-229 °C (Stir-frying)", + "150-199 °C (Light saute)", "<150 °C (Dressings)"] +cb.hsplit(labels=oils['cooking conditions'], order=order) +cb.add_left(title, pad=.1) +cb.add_dendrogram("left", add_meta=False, colors=colors, linewidth=1.5, size=.5, pad=.02) +cb.add_title(top="Fat in Cooking Oils", fontsize=16) +cb.add_legends("bottom", pad=.3) +cb.render() + +axes = cb.get_ax("trans fat") +for ax in axes: + ax.set_xlim(4.2, 0) + +plt.show() diff --git a/scripts/benchmark/matplotlib_cooking_oils.py b/scripts/benchmark/matplotlib_cooking_oils.py new file mode 100644 index 0000000..3c89204 --- /dev/null +++ b/scripts/benchmark/matplotlib_cooking_oils.py @@ -0,0 +1,134 @@ +import marsilea as ma +import mpl_fontkit as fk +import numpy as np + +fk.install_fontawesome(verbose=False) +fk.install("Lato", verbose=False) + +# %% +# Load data +# --------- +oils = ma.load_data('cooking_oils') + +red = "#cd442a" +yellow = "#f0bd00" +green = "#7e9437" +gray = "#eee" + +import matplotlib.pyplot as plt +from matplotlib.patches import Rectangle +from scipy.cluster.hierarchy import linkage, dendrogram + +groups = oils.groupby('cooking conditions') + +keys = ['<150 °C (Dressings)', '150-199 °C (Light saute)', + '200-229 °C (Stir-frying)', '>230 °C (Deep-frying)', 'Control'][::-1] +keys_text = ["Control", ">230 °C\nDeep-frying", "200-229 °C\nStir-frying", + "150-199 °C\nLight saute", "<150 °C\nDressings"] +fat_contents = ['saturated', 'polyunsaturated (omega 3 & 6)', 'monounsaturated', 'other fat'] + +colors = ["#e5e7eb", "#c2410c", "#fb923c", "#fca5a5", "#fecaca"] + +height_ratios = [len(groups.get_group(k)) for k in keys] +width_ratios = [.5, 1, 1, 3, .2, 1.5, 1.5] + +fig, axes = plt.subplots(nrows=5, ncols=7, figsize=(11, 12), dpi=250, + gridspec_kw=dict(height_ratios=height_ratios, width_ratios=width_ratios, hspace=0.04)) + +for irow, (group, axs, c, gt) in enumerate(zip(keys, axes, colors, keys_text)): + if irow != 4: + for ax in axs: + ax.set_axis_off() + else: + for ix in [0, 1, 4, 5]: + axs[ix].set_axis_off() + for ix in [2, 3, 6]: + axs[ix].tick_params(left=False, top=False, right=False, + labelleft=False, labeltop=False, labelright=False) + axs[ix].spines['right'].set_visible(False) + axs[ix].spines['left'].set_visible(False) + axs[ix].spines['top'].set_visible(False) + df = groups.get_group(group) + + # Add dendrogram + if df.shape[0] > 1: + Z = linkage(df[fat_contents], method="single", metric="euclidean") + plot = dendrogram(Z, ax=axs[0], orientation='left') + + reorder_index = plot['leaves'] + df = df.iloc[reorder_index, :] + + # Add text and background + bg = Rectangle((0, 0), 1, 1, transform=axs[1].transAxes, color=c) + axs[1].add_artist(bg) + axs[1].text(x=.9, y=.5, s=gt, ha="right", va="center") + + # Add transfat + fmt = lambda x: f"{x:.1f}" if x > 0 else "" + bar = axs[2].barh(df['trans fat'].index, df['trans fat'] * 100, color="#3A98B9") + axs[2].bar_label(bar, padding=-15, fmt=fmt) + axs[2].invert_xaxis() + + # Add fat contents + labels = df.index + fat_data = df[fat_contents].to_numpy() + fat_data_cum = fat_data.cumsum(axis=1) + for i, (fat, c) in enumerate(zip(fat_contents, [red, yellow, green, gray])): + widths = fat_data[:, i] + starts = fat_data_cum[:, i] - widths + axs[3].barh(labels, widths, left=starts, color=c) + + # Add flavor + mapper = {0: "\uf58a", 1: "\uf11a", 2: "\uf567"} + cmapper = {0: '#609966', 1: '#DC8449', 2: '#F16767'} + flavour = df['flavour'].map(mapper).values + flavour_colors = df['flavour'].map(cmapper).values + + text_loc = np.linspace(0, 1, len(flavour) + 2)[1:-1] + for text, loc, c in zip(flavour, text_loc, flavour_colors): + axs[4].text(x=.5, y=loc, s=text, ha="center", va="center", + fontfamily="Font Awesome 6 Free", color=c, transform=axs[4].transAxes) + + # Add Label + for text, loc in zip(df.index.str.capitalize(), text_loc): + axs[5].text(x=0, y=loc, s=text, ha="left", va="center", transform=axs[5].transAxes) + + # Add Omega3 and 6 + ax = axs[6] + fmt = lambda x: f"{int(x)}" if x > 0 else "" + bar_o3 = ax.barh(df['omega 3'].index, -df['omega 3'] * 100, color="#F5E9CF") + labels = [fmt(i) for i in df['omega 3'] * 100] + ax.bar_label(bar_o3, labels=labels) + bar_o6 = ax.barh(df['omega 6'].index, df['omega 6'] * 100, color="#7DB9B6") + labels = [fmt(i) for i in df['omega 6'] * 100] + ax.bar_label(bar_o6, labels=labels) + lim = np.max(df[['omega 3', 'omega 6']] * 100) + ax.set_xlim(-lim, lim) + ax.axvline(0, 0, 1, color="k") + +# Unify the limit + +for ax in axes[:, 2]: + ax.set_xlim(4.2, 0) +for ax in axes[:, -1]: + ax.set_xlim(-75, 75) + +axes[0, 3].set_title("Fat in cooking oils") +axes[-1, 2].set_xlabel('Trans Fat (%)') +axes[-1, 3].set_xlabel('Fat Content (%)') + +ax = axes[0, -1] +ax.text(.45, 1, "Omega 3 (%)", transform=ax.transAxes, ha="right", va="bottom", ) +ax.text(.55, 1, "Omega 6 (%)", transform=ax.transAxes, ha="left", va="bottom", ) + +ax = axes[-1, 3] +handles = [] +labels = [] +for fat, c in zip(fat_contents, [red, yellow, green, gray]): + handles.append(Rectangle((0, 0), 1, 1, color=c)) + labels.append(fat) +ax.legend(handles=handles, labels=labels, title="Fat Content (%)", ncol=2, alignment="left", + title_fontproperties=dict(weight=600), + bbox_to_anchor=(.5, -.5), bbox_transform=ax.transAxes, loc="upper center") + +plt.show() diff --git a/scripts/pub_figures/layout-step.py b/scripts/pub_figures/layout-step.py index f6dd3b2..a21bea0 100644 --- a/scripts/pub_figures/layout-step.py +++ b/scripts/pub_figures/layout-step.py @@ -1,23 +1,25 @@ from pathlib import Path import matplotlib as mpl +import numpy as np from matplotlib import pyplot as plt from matplotlib.colors import Normalize from matplotlib.patches import Rectangle import mpl_fontkit as fk -import heatgraphy as hg -from heatgraphy.plotter import SizedMesh, MarkerMesh, Numbers, Violin +import marsilea as ma +from marsilea.layers import Rect, Marker, FrameRect, RightTri +from marsilea.plotter import (SizedMesh, MarkerMesh, Numbers, + Violin, Labels, Chunk, ColorMesh) from sklearn.preprocessing import normalize SAVE_PATH = Path(__file__).parent.parent.parent / 'img' / 'publication' SAVE_PATH.mkdir(exist_ok=True) fk.install('Lato') - mpl.rcParams['font.size'] = 8 -pbmc3k = hg.load_data("pbmc3k") +pbmc3k = ma.load_data("pbmc3k") exp = pbmc3k['exp'] pct_cells = pbmc3k['pct_cells'] count = pbmc3k['count'] @@ -28,13 +30,8 @@ 'Lymphoid', 'Myeloid', 'Myeloid', 'Myeloid'] if __name__ == "__main__": - # Step 1a - h = hg.Heatmap( - matrix, cmap="Greens", label="Normalized\nExpression", - width=3, height=3.5) - h.save(SAVE_PATH / 'layout-step-1a.png', dpi=300) - # Step 1b + # All plotters size_mesh = SizedMesh( pct_cells, size_norm=Normalize(vmin=0, vmax=100), color="none", edgecolor="#6E75A4", @@ -42,25 +39,36 @@ title="% of cells", show_at=[.3, .5, .8, 1] )) marker_mesh = MarkerMesh(matrix > 0.7, color="#DB4D6D", label="High") + + bar = Numbers(count['Value'], color="#fac858", label="Cell Count") + violin = Violin(exp, label="Expression", linewidth=0, color="#ee6666") + + cell_labels = Labels(exp.index, align="center") + gene_names = Labels(exp.columns, padding=10) + cat_labels = Chunk(['Lymphoid', 'Myeloid'], fill_colors=["#33A6B8", "#B481BB"], + color="white", padding=20) + + # Step 1a + h = ma.Heatmap( + matrix, cmap="Greens", label="Normalized\nExpression", + width=3, height=3.5) + h.save(SAVE_PATH / 'layout-step-1a.png', dpi=300) + + # Step 1b h.add_layer(size_mesh) h.add_layer(marker_mesh) h.save(SAVE_PATH / 'layout-step-1b.png', dpi=300) # Step 2 - bar = Numbers(count['Value'], color="#fac858", label="Cell Count") - violin = Violin(exp, label="Expression", linewidth=0, color="#ee6666") h.add_right(bar, pad=.1, size=.7) h.add_top(violin, pad=.1, size=.75) h.save(SAVE_PATH / 'layout-step-2.png', dpi=300) # Step 3 - h.add_left(hg.plotter.Labels(exp.index, align="center")) - h.add_bottom(hg.plotter.Labels(exp.columns, text_pad=.2)) + h.add_left(cell_labels) + h.add_bottom(gene_names) h.hsplit(labels=cell_cat, order=['Lymphoid', 'Myeloid']) - h.add_left(hg.plotter.Chunk(['Lymphoid', 'Myeloid'], - fill_colors=["#33A6B8", "#B481BB"], - color="white", - text_pad=1.2), pad=.05) + h.add_left(cat_labels, pad=.05) h.save(SAVE_PATH / 'layout-step-3.png', dpi=300) # Step 4 @@ -68,3 +76,45 @@ h.add_dendrogram("bottom") h.add_legends(pad=.1) h.save(SAVE_PATH / 'layout-step-4.png', dpi=300) + + # Show layout adjustment + mapper = {0: Rect(color="#454545"), 1: Marker("*", color="#D14D72"), + 2: FrameRect(color="#89375F"), 3: RightTri(color="#CE5959"), + 4: RightTri(color="#BACDDB", right_angle="upper right")} + rng = np.random.default_rng(0) + data = rng.choice([0, 1, 2, 3, 4], (10, 10)) + data1d = rng.choice(np.arange(100), 10) + data2d = rng.standard_normal((10, 10)) + bar = Numbers(data1d, color="#52D3D8") + violin = Violin(data2d, color="#52D3D8") + + # Basic layout + h = ma.Layers(data=data, pieces=mapper, shrink=(.8, .8)) + h.add_right(bar, size=1) + h.save(SAVE_PATH / 'layout-basic.png', dpi=300) + + # Show change plotter size + h = ma.Layers(data=data, pieces=mapper, shrink=(.8, .8), width=8) + h.add_right(bar, size=1) + h.save(SAVE_PATH / 'layout-basic-change-canvas-size.png', dpi=300) + + # Show change plotter size + h = ma.Layers(data=data, pieces=mapper, shrink=(.8, .8)) + h.add_right(bar, size=3) + h.save(SAVE_PATH / 'layout-basic-change-plotter-size.png', dpi=300) + + # Show change pad + h = ma.Layers(data=data, pieces=mapper, shrink=(.8, .8)) + h.add_right(bar, size=1, pad=2) + h.save(SAVE_PATH / 'layout-basic-change-pad.png', dpi=300) + + # Show change location + h = ma.Layers(data=data, pieces=mapper, shrink=(.8, .8)) + h.add_left(bar, size=1) + h.save(SAVE_PATH / 'layout-basic-change-location.png', dpi=300) + + # Show change plotter type + h = ma.Layers(data=data, pieces=mapper, shrink=(.8, .8)) + h.add_right(violin, size=1) + h.save(SAVE_PATH / 'layout-basic-change-plotter-type.png', dpi=300) + diff --git a/scripts/publication/arc_diagram.svg b/scripts/publication/arc_diagram.svg new file mode 100644 index 0000000..19ac6ee --- /dev/null +++ b/scripts/publication/arc_diagram.svg @@ -0,0 +1,5974 @@ + + + + + + + + 2024-01-08T10:16:45.422198 + image/svg+xml + + + Matplotlib v3.8.1, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/scripts/publication/bivariate_dist.svg b/scripts/publication/bivariate_dist.svg new file mode 100644 index 0000000..0e5046c --- /dev/null +++ b/scripts/publication/bivariate_dist.svg @@ -0,0 +1,32 @@ + + + + + + + + 2024-01-08T10:16:46.125231 + image/svg+xml + + + Matplotlib v3.8.1, https://matplotlib.org/ + + + + + + + + + + + + + + diff --git a/scripts/publication/mouse_embryo.svg b/scripts/publication/mouse_embryo.svg new file mode 100644 index 0000000..7e5805c --- /dev/null +++ b/scripts/publication/mouse_embryo.svg @@ -0,0 +1,168201 @@ + + + + + + + + 2024-01-08T10:16:46.565233 + image/svg+xml + + + Matplotlib v3.8.1, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +