view macros_autotest.xml @ 12:5056b45d484b draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 6e8b69ee3aff3c93f745a5de11cc9169130f2e5e"
author galaxyp
date Thu, 24 Sep 2020 12:20:32 +0000
parents 919d5280d1db
children e5e2b0d57f1d
line wrap: on
line source

<?xml version='1.0' encoding='UTF-8'?>
<macros>
  <xml name="autotest_AccurateMassSearch">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConsensusMapNormalizer_input.consensusXML"/>
      <output name="out" file="AccurateMassSearch_1_output.tmp.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <param name="positive_adducts" value="CHEMISTRY/PositiveAdducts.tsv" ftype="tabular"/>
      <param name="negative_adducts" value="CHEMISTRY/NegativeAdducts.tsv" ftype="tabular"/>
      <section name="db">
        <param name="mapping" value="CHEMISTRY/HMDBMappingFile.tsv" ftype="tabular"/>
        <param name="struct" value="CHEMISTRY/HMDB2StructMapping.tsv" ftype="tabular"/>
      </section>
      <section name="algorithm">
        <param name="mass_error_value" value="5.0"/>
        <param name="mass_error_unit" value="ppm"/>
        <param name="ionization_mode" value="positive"/>
        <param name="isotopic_similarity" value="false"/>
        <param name="use_feature_adducts" value="false"/>
        <param name="keep_unidentified_masses" value="false"/>
        <section name="mzTab">
          <param name="exportIsotopeIntensities" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AccurateMassSearch_2_input.featureXML"/>
      <output name="out" file="AccurateMassSearch_2_output.tmp.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <output name="out_annotation" file="AccurateMassSearch_2_output.tmp.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="positive_adducts" value="AMS_PositiveAdducts.tsv" ftype="tabular"/>
      <param name="negative_adducts" value="AMS_NegativeAdducts.tsv" ftype="tabular"/>
      <section name="db">
        <param name="mapping" value="AMS_test_Mapping.tsv" ftype="tabular"/>
        <param name="struct" value="AMS_test_Struct.tsv" ftype="tabular"/>
      </section>
      <section name="algorithm">
        <param name="mass_error_value" value="5.0"/>
        <param name="mass_error_unit" value="ppm"/>
        <param name="ionization_mode" value="positive"/>
        <param name="isotopic_similarity" value="false"/>
        <param name="use_feature_adducts" value="false"/>
        <param name="keep_unidentified_masses" value="false"/>
        <section name="mzTab">
          <param name="exportIsotopeIntensities" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_annotation_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AccurateMassSearch_2_input.featureXML"/>
      <output name="out" file="AccurateMassSearch_3_output.tmp.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <output name="out_annotation" file="AccurateMassSearch_2_output.tmp.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="positive_adducts" value="AMS_PositiveAdducts.tsv" ftype="tabular"/>
      <param name="negative_adducts" value="AMS_NegativeAdducts.tsv" ftype="tabular"/>
      <section name="db">
        <param name="mapping" value="AMS_test_Mapping.tsv" ftype="tabular"/>
        <param name="struct" value="AMS_test_Struct.tsv" ftype="tabular"/>
      </section>
      <section name="algorithm">
        <param name="mass_error_value" value="5.0"/>
        <param name="mass_error_unit" value="ppm"/>
        <param name="ionization_mode" value="positive"/>
        <param name="isotopic_similarity" value="false"/>
        <param name="use_feature_adducts" value="false"/>
        <param name="keep_unidentified_masses" value="false"/>
        <section name="mzTab">
          <param name="exportIsotopeIntensities" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_annotation_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_AssayGeneratorMetabo">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="precursor_recalibration_window" value="0.1"/>
        <param name="precursor_recalibration_window_unit" value="Da"/>
        <param name="min_fragment_mz" value="0.0"/>
        <param name="max_fragment_mz" value="2000.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
      <param name="in_id" value="AssayGeneratorMetabo_ffm_input.featureXML"/>
      <param name="out_type" value="tsv"/>
      <output name="out" file="AssayGeneratorMetabo_ffm_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="fragment_annotation" value="none"/>
      <param name="method" value="highest_intensity"/>
      <param name="use_exact_mass" value="false"/>
      <param name="exclude_ms2_precursor" value="false"/>
      <param name="precursor_mz_distance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <param name="use_known_unknowns" value="false"/>
      <param name="min_transitions" value="1"/>
      <param name="max_transitions" value="3"/>
      <param name="cosine_similarity_threshold" value="0.98"/>
      <param name="transition_threshold" value="5.0"/>
      <param name="out_workspace_directory" value=""/>
      <section name="deisotoping">
        <param name="use_deisotoper" value="false"/>
        <param name="fragment_tolerance" value="1.0"/>
        <param name="fragment_unit" value="ppm"/>
        <param name="min_charge" value="1"/>
        <param name="max_charge" value="1"/>
        <param name="min_isopeaks" value="2"/>
        <param name="max_isopeaks" value="3"/>
        <param name="keep_only_deisotoped" value="false"/>
        <param name="annotate_charge" value="false"/>
      </section>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="false"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="precursor_recalibration_window" value="0.1"/>
        <param name="precursor_recalibration_window_unit" value="Da"/>
        <param name="min_fragment_mz" value="0.0"/>
        <param name="max_fragment_mz" value="2000.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
      <param name="out_type" value="tsv"/>
      <output name="out" file="AssayGeneratorMetabo_ams_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="fragment_annotation" value="none"/>
      <param name="method" value="highest_intensity"/>
      <param name="use_exact_mass" value="false"/>
      <param name="exclude_ms2_precursor" value="false"/>
      <param name="precursor_mz_distance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <param name="use_known_unknowns" value="false"/>
      <param name="min_transitions" value="1"/>
      <param name="max_transitions" value="3"/>
      <param name="cosine_similarity_threshold" value="0.98"/>
      <param name="transition_threshold" value="5.0"/>
      <param name="out_workspace_directory" value=""/>
      <section name="deisotoping">
        <param name="use_deisotoper" value="false"/>
        <param name="fragment_tolerance" value="1.0"/>
        <param name="fragment_unit" value="ppm"/>
        <param name="min_charge" value="1"/>
        <param name="max_charge" value="1"/>
        <param name="min_isopeaks" value="2"/>
        <param name="max_isopeaks" value="3"/>
        <param name="keep_only_deisotoped" value="false"/>
        <param name="annotate_charge" value="false"/>
      </section>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="false"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="precursor_recalibration_window" value="0.1"/>
        <param name="precursor_recalibration_window_unit" value="Da"/>
        <param name="min_fragment_mz" value="0.0"/>
        <param name="max_fragment_mz" value="2000.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
      <param name="in_id" value="AssayGeneratorMetabo_ffm_input.featureXML"/>
      <param name="out_type" value="tsv"/>
      <output name="out" file="AssayGeneratorMetabo_ffm_output_consensus.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="fragment_annotation" value="none"/>
      <param name="method" value="consensus_spectrum"/>
      <param name="use_exact_mass" value="false"/>
      <param name="exclude_ms2_precursor" value="false"/>
      <param name="precursor_mz_distance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <param name="use_known_unknowns" value="false"/>
      <param name="min_transitions" value="1"/>
      <param name="max_transitions" value="3"/>
      <param name="cosine_similarity_threshold" value="0.98"/>
      <param name="transition_threshold" value="5.0"/>
      <param name="out_workspace_directory" value=""/>
      <section name="deisotoping">
        <param name="use_deisotoper" value="false"/>
        <param name="fragment_tolerance" value="1.0"/>
        <param name="fragment_unit" value="ppm"/>
        <param name="min_charge" value="1"/>
        <param name="max_charge" value="1"/>
        <param name="min_isopeaks" value="2"/>
        <param name="max_isopeaks" value="3"/>
        <param name="keep_only_deisotoped" value="false"/>
        <param name="annotate_charge" value="false"/>
      </section>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="false"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="precursor_recalibration_window" value="0.1"/>
        <param name="precursor_recalibration_window_unit" value="Da"/>
        <param name="min_fragment_mz" value="0.0"/>
        <param name="max_fragment_mz" value="2000.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
      <param name="out_type" value="tsv"/>
      <output name="out" file="AssayGeneratorMetabo_ams_output_consensus.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="fragment_annotation" value="none"/>
      <param name="method" value="consensus_spectrum"/>
      <param name="use_exact_mass" value="false"/>
      <param name="exclude_ms2_precursor" value="false"/>
      <param name="precursor_mz_distance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <param name="use_known_unknowns" value="false"/>
      <param name="min_transitions" value="1"/>
      <param name="max_transitions" value="3"/>
      <param name="cosine_similarity_threshold" value="0.98"/>
      <param name="transition_threshold" value="5.0"/>
      <param name="out_workspace_directory" value=""/>
      <section name="deisotoping">
        <param name="use_deisotoper" value="false"/>
        <param name="fragment_tolerance" value="1.0"/>
        <param name="fragment_unit" value="ppm"/>
        <param name="min_charge" value="1"/>
        <param name="max_charge" value="1"/>
        <param name="min_isopeaks" value="2"/>
        <param name="max_isopeaks" value="3"/>
        <param name="keep_only_deisotoped" value="false"/>
        <param name="annotate_charge" value="false"/>
      </section>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="false"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="precursor_recalibration_window" value="0.1"/>
        <param name="precursor_recalibration_window_unit" value="Da"/>
        <param name="min_fragment_mz" value="0.0"/>
        <param name="max_fragment_mz" value="2000.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
      <param name="out_type" value="tsv"/>
      <output name="out" file="AssayGeneratorMetabo_ams_uku_output_consensus.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="fragment_annotation" value="none"/>
      <param name="method" value="consensus_spectrum"/>
      <param name="use_exact_mass" value="false"/>
      <param name="exclude_ms2_precursor" value="false"/>
      <param name="precursor_mz_distance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <param name="use_known_unknowns" value="true"/>
      <param name="min_transitions" value="1"/>
      <param name="max_transitions" value="3"/>
      <param name="cosine_similarity_threshold" value="0.98"/>
      <param name="transition_threshold" value="5.0"/>
      <param name="out_workspace_directory" value=""/>
      <section name="deisotoping">
        <param name="use_deisotoper" value="false"/>
        <param name="fragment_tolerance" value="1.0"/>
        <param name="fragment_unit" value="ppm"/>
        <param name="min_charge" value="1"/>
        <param name="max_charge" value="1"/>
        <param name="min_isopeaks" value="2"/>
        <param name="max_isopeaks" value="3"/>
        <param name="keep_only_deisotoped" value="false"/>
        <param name="annotate_charge" value="false"/>
      </section>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="false"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="precursor_recalibration_window" value="0.1"/>
        <param name="precursor_recalibration_window_unit" value="Da"/>
        <param name="min_fragment_mz" value="0.0"/>
        <param name="max_fragment_mz" value="2000.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
      <param name="out_type" value="tsv"/>
      <output name="out" file="AssayGeneratorMetabo_ams_sirius_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="fragment_annotation" value="sirius"/>
      <param name="method" value="highest_intensity"/>
      <param name="use_exact_mass" value="true"/>
      <param name="exclude_ms2_precursor" value="false"/>
      <param name="precursor_mz_distance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <param name="use_known_unknowns" value="false"/>
      <param name="min_transitions" value="2"/>
      <param name="max_transitions" value="3"/>
      <param name="cosine_similarity_threshold" value="0.98"/>
      <param name="transition_threshold" value="3.0"/>
      <param name="out_workspace_directory" value=""/>
      <section name="deisotoping">
        <param name="use_deisotoper" value="false"/>
        <param name="fragment_tolerance" value="1.0"/>
        <param name="fragment_unit" value="ppm"/>
        <param name="min_charge" value="1"/>
        <param name="max_charge" value="1"/>
        <param name="min_isopeaks" value="2"/>
        <param name="max_isopeaks" value="3"/>
        <param name="keep_only_deisotoped" value="false"/>
        <param name="annotate_charge" value="false"/>
      </section>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="10.0"/>
        <param name="precursor_mz_tolerance_unit" value="ppm"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="true"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="100"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="precursor_recalibration_window" value="0.1"/>
        <param name="precursor_recalibration_window_unit" value="Da"/>
        <param name="min_fragment_mz" value="0.0"/>
        <param name="max_fragment_mz" value="2000.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
      <param name="out_type" value="tsv"/>
      <output name="out" file="AssayGeneratorMetabo_ams_sirius_ukn_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="fragment_annotation" value="sirius"/>
      <param name="method" value="highest_intensity"/>
      <param name="use_exact_mass" value="true"/>
      <param name="exclude_ms2_precursor" value="false"/>
      <param name="precursor_mz_distance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <param name="use_known_unknowns" value="true"/>
      <param name="min_transitions" value="2"/>
      <param name="max_transitions" value="3"/>
      <param name="cosine_similarity_threshold" value="0.98"/>
      <param name="transition_threshold" value="3.0"/>
      <param name="out_workspace_directory" value=""/>
      <section name="deisotoping">
        <param name="use_deisotoper" value="false"/>
        <param name="fragment_tolerance" value="1.0"/>
        <param name="fragment_unit" value="ppm"/>
        <param name="min_charge" value="1"/>
        <param name="max_charge" value="1"/>
        <param name="min_isopeaks" value="2"/>
        <param name="max_isopeaks" value="3"/>
        <param name="keep_only_deisotoped" value="false"/>
        <param name="annotate_charge" value="false"/>
      </section>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="10.0"/>
        <param name="precursor_mz_tolerance_unit" value="ppm"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="true"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="100"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="precursor_recalibration_window" value="0.1"/>
        <param name="precursor_recalibration_window_unit" value="Da"/>
        <param name="min_fragment_mz" value="0.0"/>
        <param name="max_fragment_mz" value="2000.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AssayGeneratorMetabo_intsort_input.mzML"/>
      <param name="in_id" value="AssayGeneratorMetabo_intsort_input.featureXML"/>
      <param name="out_type" value="tsv"/>
      <output name="out" file="AssayGeneratorMetabo_ams_sirius_intsort_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="fragment_annotation" value="sirius"/>
      <param name="method" value="highest_intensity"/>
      <param name="use_exact_mass" value="true"/>
      <param name="exclude_ms2_precursor" value="false"/>
      <param name="precursor_mz_distance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <param name="use_known_unknowns" value="false"/>
      <param name="min_transitions" value="2"/>
      <param name="max_transitions" value="3"/>
      <param name="cosine_similarity_threshold" value="0.98"/>
      <param name="transition_threshold" value="3.0"/>
      <param name="out_workspace_directory" value=""/>
      <section name="deisotoping">
        <param name="use_deisotoper" value="false"/>
        <param name="fragment_tolerance" value="1.0"/>
        <param name="fragment_unit" value="ppm"/>
        <param name="min_charge" value="1"/>
        <param name="max_charge" value="1"/>
        <param name="min_isopeaks" value="2"/>
        <param name="max_isopeaks" value="3"/>
        <param name="keep_only_deisotoped" value="false"/>
        <param name="annotate_charge" value="false"/>
      </section>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="10.0"/>
        <param name="precursor_mz_tolerance_unit" value="ppm"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="true"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="100"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="precursor_recalibration_window" value="0.1"/>
        <param name="precursor_recalibration_window_unit" value="Da"/>
        <param name="min_fragment_mz" value="100.0"/>
        <param name="max_fragment_mz" value="900.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
      <param name="out_type" value="tsv"/>
      <output name="out" file="AssayGeneratorMetabo_ams_sirius_restrict_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="fragment_annotation" value="sirius"/>
      <param name="method" value="highest_intensity"/>
      <param name="use_exact_mass" value="true"/>
      <param name="exclude_ms2_precursor" value="false"/>
      <param name="precursor_mz_distance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <param name="use_known_unknowns" value="false"/>
      <param name="min_transitions" value="2"/>
      <param name="max_transitions" value="3"/>
      <param name="cosine_similarity_threshold" value="0.98"/>
      <param name="transition_threshold" value="3.0"/>
      <param name="out_workspace_directory" value=""/>
      <section name="deisotoping">
        <param name="use_deisotoper" value="false"/>
        <param name="fragment_tolerance" value="1.0"/>
        <param name="fragment_unit" value="ppm"/>
        <param name="min_charge" value="1"/>
        <param name="max_charge" value="1"/>
        <param name="min_isopeaks" value="2"/>
        <param name="max_isopeaks" value="3"/>
        <param name="keep_only_deisotoped" value="false"/>
        <param name="annotate_charge" value="false"/>
      </section>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="10.0"/>
        <param name="precursor_mz_tolerance_unit" value="ppm"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="true"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="100"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_BaselineFilter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="BaselineFilter_input.mzML"/>
      <output name="out" file="BaselineFilter_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="struc_elem_length" value="1.5"/>
      <param name="struc_elem_unit" value="Thomson"/>
      <param name="method" value="tophat"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_ClusterMassTracesByPrecursor">
</xml>
  <xml name="autotest_ClusterMassTraces">
</xml>
  <xml name="autotest_CometAdapter">
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="fragment_bin_tolerance" value="1.0005"/>
        <param name="fragment_bin_offset" value="0.25"/>
        <param name="instrument" value="high_res"/>
        <param name="use_A_ions" value="false"/>
        <param name="use_B_ions" value="true"/>
        <param name="use_C_ions" value="false"/>
        <param name="use_X_ions" value="false"/>
        <param name="use_Y_ions" value="true"/>
        <param name="use_Z_ions" value="false"/>
        <param name="use_NL_ions" value="false"/>
        <param name="digest_mass_range" value="600:5000"/>
        <param name="max_precursor_charge" value="5"/>
        <param name="spectrum_batch_size" value="1000"/>
        <param name="mass_offsets" value="0.0"/>
        <param name="minimum_peaks" value="10"/>
        <param name="minimum_intensity" value="0.0"/>
        <param name="remove_precursor_peak" value="no"/>
        <param name="remove_precursor_tolerance" value="1.5"/>
        <param name="clear_mz_range" value="0:0"/>
        <param name="max_variable_mods_in_peptide" value="5"/>
        <param name="require_variable_mod" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="spectra_comet.mzML"/>
      <output name="out" file="CometAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="database" value="proteins.fasta"/>
      <output name="pin_out" file="CometAdapter_1_out2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="precursor_mass_tolerance" value="3.0"/>
      <param name="precursor_error_units" value="ppm"/>
      <param name="isotope_error" value="off"/>
      <param name="enzyme" value="Trypsin"/>
      <param name="num_enzyme_termini" value="fully"/>
      <param name="allowed_missed_cleavages" value="1"/>
      <param name="num_hits" value="5"/>
      <param name="precursor_charge" value="0:0"/>
      <param name="override_charge" value="keep any known"/>
      <param name="ms_level" value="2"/>
      <param name="activation_method" value="ALL"/>
      <param name="max_fragment_charge" value="3"/>
      <param name="clip_nterm_methionine" value="false"/>
      <param name="fixed_modifications" value=""/>
      <param name="variable_modifications" value=""/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,pin_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="fragment_bin_tolerance" value="1.0005"/>
        <param name="fragment_bin_offset" value="0.25"/>
        <param name="instrument" value="high_res"/>
        <param name="use_A_ions" value="false"/>
        <param name="use_B_ions" value="true"/>
        <param name="use_C_ions" value="false"/>
        <param name="use_X_ions" value="false"/>
        <param name="use_Y_ions" value="true"/>
        <param name="use_Z_ions" value="false"/>
        <param name="use_NL_ions" value="false"/>
        <param name="digest_mass_range" value="600:5000"/>
        <param name="max_precursor_charge" value="5"/>
        <param name="spectrum_batch_size" value="1000"/>
        <param name="mass_offsets" value="0.0"/>
        <param name="minimum_peaks" value="10"/>
        <param name="minimum_intensity" value="0.0"/>
        <param name="remove_precursor_peak" value="no"/>
        <param name="remove_precursor_tolerance" value="1.5"/>
        <param name="clear_mz_range" value="0:0"/>
        <param name="max_variable_mods_in_peptide" value="5"/>
        <param name="require_variable_mod" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="CometAdapter_2_prepared.mzML"/>
      <output name="out" file="CometAdapter_2_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="database" value="CometAdapter_2_in.fasta"/>
      <output name="pin_out" file="CometAdapter_2_out2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="precursor_mass_tolerance" value="3.0"/>
      <param name="precursor_error_units" value="Da"/>
      <param name="isotope_error" value="off"/>
      <param name="enzyme" value="Trypsin"/>
      <param name="num_enzyme_termini" value="fully"/>
      <param name="allowed_missed_cleavages" value="1"/>
      <param name="num_hits" value="5"/>
      <param name="precursor_charge" value="0:0"/>
      <param name="override_charge" value="keep any known"/>
      <param name="ms_level" value="2"/>
      <param name="activation_method" value="ALL"/>
      <param name="max_fragment_charge" value="3"/>
      <param name="clip_nterm_methionine" value="false"/>
      <param name="fixed_modifications" value=""/>
      <param name="variable_modifications" value=""/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,pin_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="fragment_bin_tolerance" value="0.02"/>
        <param name="fragment_bin_offset" value="0.0"/>
        <param name="instrument" value="high_res"/>
        <param name="use_A_ions" value="false"/>
        <param name="use_B_ions" value="true"/>
        <param name="use_C_ions" value="false"/>
        <param name="use_X_ions" value="false"/>
        <param name="use_Y_ions" value="true"/>
        <param name="use_Z_ions" value="false"/>
        <param name="use_NL_ions" value="false"/>
        <param name="digest_mass_range" value="600:5000"/>
        <param name="max_precursor_charge" value="5"/>
        <param name="spectrum_batch_size" value="20000"/>
        <param name="mass_offsets" value="0.0"/>
        <param name="minimum_peaks" value="10"/>
        <param name="minimum_intensity" value="0.0"/>
        <param name="remove_precursor_peak" value="no"/>
        <param name="remove_precursor_tolerance" value="1.5"/>
        <param name="clear_mz_range" value="0:0"/>
        <param name="max_variable_mods_in_peptide" value="3"/>
        <param name="require_variable_mod" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="CometAdapter_3.mzML"/>
      <output name="out" file="CometAdapter_3_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="database" value="CometAdapter_3.fasta"/>
      <output name="pin_out" file="CometAdapter_3_out2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="precursor_mass_tolerance" value="5.0"/>
      <param name="precursor_error_units" value="ppm"/>
      <param name="isotope_error" value="off"/>
      <param name="enzyme" value="Trypsin"/>
      <param name="num_enzyme_termini" value="fully"/>
      <param name="allowed_missed_cleavages" value="3"/>
      <param name="num_hits" value="5"/>
      <param name="precursor_charge" value="0:0"/>
      <param name="override_charge" value="keep known search unknown"/>
      <param name="ms_level" value="2"/>
      <param name="activation_method" value="ALL"/>
      <param name="max_fragment_charge" value="3"/>
      <param name="clip_nterm_methionine" value="false"/>
      <param name="fixed_modifications" value="Carbamidomethyl (C)"/>
      <param name="variable_modifications" value="Acetyl (Protein N-term),Carbamidomethyl (N-term)"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,pin_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_CompNovoCID">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="CompNovoCID_1_input.mzML"/>
      <output name="out" file="CompNovoCID_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <section name="algorithm">
        <param name="max_number_aa_per_decomp" value="4"/>
        <param name="tryptic_only" value="true"/>
        <param name="precursor_mass_tolerance" value="0.3"/>
        <param name="fragment_mass_tolerance" value="0.3"/>
        <param name="max_number_pivot" value="9"/>
        <param name="max_subscore_number" value="40"/>
        <param name="decomp_weights_precision" value="0.01"/>
        <param name="double_charged_iso_threshold" value="0.6"/>
        <param name="max_mz" value="2000.0"/>
        <param name="min_mz" value="200.0"/>
        <param name="max_isotope_to_score" value="3"/>
        <param name="max_decomp_weight" value="450.0"/>
        <param name="max_isotope" value="3"/>
        <param name="missed_cleavages" value="1"/>
        <param name="number_of_hits" value="1"/>
        <param name="estimate_precursor_mz" value="true"/>
        <param name="number_of_prescoring_hits" value="250"/>
        <param name="fixed_modifications" value=""/>
        <param name="variable_modifications" value=""/>
        <param name="residue_set" value="Natural19WithoutI"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_CompNovo">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="CompNovo_1_input.mzML"/>
      <output name="out" file="CompNovo_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <section name="algorithm">
        <param name="max_number_aa_per_decomp" value="4"/>
        <param name="tryptic_only" value="true"/>
        <param name="precursor_mass_tolerance" value="0.3"/>
        <param name="fragment_mass_tolerance" value="0.3"/>
        <param name="max_number_pivot" value="9"/>
        <param name="max_subscore_number" value="40"/>
        <param name="decomp_weights_precision" value="0.01"/>
        <param name="double_charged_iso_threshold" value="0.6"/>
        <param name="max_mz" value="2000.0"/>
        <param name="min_mz" value="200.0"/>
        <param name="max_isotope_to_score" value="3"/>
        <param name="max_decomp_weight" value="450.0"/>
        <param name="max_isotope" value="3"/>
        <param name="missed_cleavages" value="1"/>
        <param name="number_of_hits" value="1"/>
        <param name="estimate_precursor_mz" value="true"/>
        <param name="number_of_prescoring_hits" value="250"/>
        <param name="fixed_modifications" value=""/>
        <param name="variable_modifications" value=""/>
        <param name="residue_set" value="Natural19WithoutI"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_ConsensusID">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConsensusID_1_input.idXML"/>
      <output name="out" file="ConsensusID_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="rt_delta" value="0.1"/>
      <param name="mz_delta" value="0.1"/>
      <param name="algorithm" value="PEPMatrix"/>
      <section name="filter">
        <param name="considered_hits" value="0"/>
        <param name="min_support" value="0.0"/>
        <param name="count_empty" value="false"/>
      </section>
      <section name="PEPIons">
        <param name="mass_tolerance" value="0.5"/>
        <param name="min_shared" value="2"/>
      </section>
      <section name="PEPMatrix">
        <param name="matrix" value="PAM30MS"/>
        <param name="penalty" value="5"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConsensusID_2_input.featureXML"/>
      <output name="out" file="ConsensusID_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="rt_delta" value="0.1"/>
      <param name="mz_delta" value="0.1"/>
      <param name="algorithm" value="average"/>
      <section name="filter">
        <param name="considered_hits" value="0"/>
        <param name="min_support" value="0.0"/>
        <param name="count_empty" value="false"/>
      </section>
      <section name="PEPIons">
        <param name="mass_tolerance" value="0.5"/>
        <param name="min_shared" value="2"/>
      </section>
      <section name="PEPMatrix">
        <param name="matrix" value="identity"/>
        <param name="penalty" value="5"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConsensusID_3_input.consensusXML"/>
      <output name="out" file="ConsensusID_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="rt_delta" value="0.1"/>
      <param name="mz_delta" value="0.1"/>
      <param name="algorithm" value="best"/>
      <section name="filter">
        <param name="considered_hits" value="0"/>
        <param name="min_support" value="0.0"/>
        <param name="count_empty" value="false"/>
      </section>
      <section name="PEPIons">
        <param name="mass_tolerance" value="0.5"/>
        <param name="min_shared" value="2"/>
      </section>
      <section name="PEPMatrix">
        <param name="matrix" value="identity"/>
        <param name="penalty" value="5"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConsensusID_1_input.idXML"/>
      <output name="out" file="ConsensusID_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="rt_delta" value="0.1"/>
      <param name="mz_delta" value="0.1"/>
      <param name="algorithm" value="PEPMatrix"/>
      <section name="filter">
        <param name="considered_hits" value="6"/>
        <param name="min_support" value="0.0"/>
        <param name="count_empty" value="false"/>
      </section>
      <section name="PEPIons">
        <param name="mass_tolerance" value="0.5"/>
        <param name="min_shared" value="2"/>
      </section>
      <section name="PEPMatrix">
        <param name="matrix" value="identity"/>
        <param name="penalty" value="5"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConsensusID_1_input.idXML"/>
      <output name="out" file="ConsensusID_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="rt_delta" value="0.1"/>
      <param name="mz_delta" value="0.1"/>
      <param name="algorithm" value="PEPIons"/>
      <section name="filter">
        <param name="considered_hits" value="0"/>
        <param name="min_support" value="0.0"/>
        <param name="count_empty" value="false"/>
      </section>
      <section name="PEPIons">
        <param name="mass_tolerance" value="0.5"/>
        <param name="min_shared" value="2"/>
      </section>
      <section name="PEPMatrix">
        <param name="matrix" value="identity"/>
        <param name="penalty" value="5"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConsensusID_1_input.idXML"/>
      <output name="out" file="ConsensusID_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="rt_delta" value="0.1"/>
      <param name="mz_delta" value="0.1"/>
      <param name="algorithm" value="best"/>
      <section name="filter">
        <param name="considered_hits" value="0"/>
        <param name="min_support" value="0.5"/>
        <param name="count_empty" value="false"/>
      </section>
      <section name="PEPIons">
        <param name="mass_tolerance" value="0.5"/>
        <param name="min_shared" value="2"/>
      </section>
      <section name="PEPMatrix">
        <param name="matrix" value="identity"/>
        <param name="penalty" value="5"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_ConsensusMapNormalizer">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="accession_filter" value=""/>
        <param name="description_filter" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConsensusMapNormalizer_input.consensusXML"/>
      <output name="out" file="ConsensusMapNormalizer_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="algorithm_type" value="robust_regression"/>
      <param name="ratio_threshold" value="0.67"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_CruxAdapter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="custom_enzyme" value=""/>
        <param name="decoy_prefix" value="decoy_"/>
        <param name="deisotope" value="false"/>
        <param name="report_decoys" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="spectra_comet.mzML"/>
      <output name="out" file="CruxAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="database" value="proteins.fasta"/>
      <param name="extra_index_args" value=""/>
      <param name="extra_search_args" value=""/>
      <param name="extra_percolator_args" value=""/>
      <param name="precursor_mass_tolerance" value="10.0"/>
      <param name="precursor_mass_units" value="ppm"/>
      <param name="fragment_bin_offset" value="0.0"/>
      <param name="fragment_bin_width" value="0.02"/>
      <param name="isotope_error" value=""/>
      <param name="run_percolator" value="false"/>
      <param name="enzyme" value="trypsin"/>
      <param name="digestion" value="full-digest"/>
      <param name="allowed_missed_cleavages" value="0"/>
      <param name="decoy_format" value="shuffle"/>
      <param name="keep_terminal_aminos" value="NC"/>
      <param name="cterm_modifications" value=""/>
      <param name="nterm_modifications" value=""/>
      <param name="modifications" value=""/>
      <param name="test_fdr" value="0.01"/>
      <param name="train_fdr" value="0.01"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_CVInspector">
</xml>
  <xml name="autotest_DatabaseFilter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="DatabaseFilter_1.fasta"/>
      <param name="id" value="DatabaseFilter_1.idXML"/>
      <param name="method" value="whitelist"/>
      <output name="out" file="DatabaseFilter_1_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="DatabaseFilter_1.fasta"/>
      <param name="id" value="DatabaseFilter_1.idXML"/>
      <param name="method" value="blacklist"/>
      <output name="out" file="DatabaseFilter_2_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="DatabaseFilter_3.fasta"/>
      <param name="id" value="DatabaseFilter_3.mzid"/>
      <param name="method" value="whitelist"/>
      <output name="out" file="DatabaseFilter_3_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="DatabaseFilter_3.fasta"/>
      <param name="id" value="DatabaseFilter_3.mzid"/>
      <param name="method" value="blacklist"/>
      <output name="out" file="DatabaseFilter_4_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_Decharger">
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="Decharger_input.featureXML"/>
      <output name="out_cm" file="Decharger_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <output name="out_fm" file="Decharger_output_fm.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="outpairs" file="Decharger_p_output.tmp" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <section name="FeatureDeconvolution">
          <param name="charge_min" value="1"/>
          <param name="charge_max" value="10"/>
          <param name="charge_span_max" value="4"/>
          <param name="q_try" value="feature"/>
          <param name="retention_max_diff" value="1.0"/>
          <param name="retention_max_diff_local" value="1.0"/>
          <param name="mass_max_diff" value="0.1"/>
          <param name="potential_adducts" value="&quot;H:+:0.7&quot; &quot;Na:+:0.1&quot; &quot;(2)H4H-4:0:0.1:-2:heavy&quot;"/>
          <param name="max_neutrals" value="0"/>
          <param name="max_minority_bound" value="2"/>
          <param name="min_rt_overlap" value="0.66"/>
          <param name="intensity_filter" value="false"/>
          <param name="negative_mode" value="false"/>
          <param name="default_map_label" value="decharged features"/>
          <param name="verbose_level" value="0"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_fm_FLAG,outpairs_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_DecoyDatabase">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="shuffle_max_attempts" value="30"/>
        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
        <param name="seed" value="1"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="DecoyDatabase_1.fasta"/>
      <output name="out" file="DecoyDatabase_1_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
      <param name="decoy_string" value="DECOY_"/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="only_decoy" value="true"/>
      <param name="type" value="protein"/>
      <param name="method" value="reverse"/>
      <param name="enzyme" value="Trypsin"/>
      <section name="Decoy">
        <param name="non_shuffle_pattern" value=""/>
        <param name="keepPeptideNTerm" value="true"/>
        <param name="keepPeptideCTerm" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="shuffle_max_attempts" value="30"/>
        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
        <param name="seed" value="42"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="DecoyDatabase_1.fasta"/>
      <output name="out" file="DecoyDatabase_2_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
      <param name="decoy_string" value="blabla"/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="only_decoy" value="false"/>
      <param name="type" value="protein"/>
      <param name="method" value="shuffle"/>
      <param name="enzyme" value="Trypsin"/>
      <section name="Decoy">
        <param name="non_shuffle_pattern" value="KRP"/>
        <param name="keepPeptideNTerm" value="true"/>
        <param name="keepPeptideCTerm" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="shuffle_max_attempts" value="30"/>
        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
        <param name="seed" value="42"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="DecoyDatabase_1.fasta"/>
      <output name="out" file="DecoyDatabase_3_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
      <param name="decoy_string" value="blabla"/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="only_decoy" value="false"/>
      <param name="type" value="protein"/>
      <param name="method" value="shuffle"/>
      <param name="enzyme" value="Chymotrypsin"/>
      <section name="Decoy">
        <param name="non_shuffle_pattern" value="KR"/>
        <param name="keepPeptideNTerm" value="true"/>
        <param name="keepPeptideCTerm" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="shuffle_max_attempts" value="30"/>
        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
        <param name="seed" value="42"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="DecoyDatabase_4.fasta"/>
      <output name="out" file="DecoyDatabase_4_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
      <param name="decoy_string" value="blabla"/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="only_decoy" value="false"/>
      <param name="type" value="RNA"/>
      <param name="method" value="reverse"/>
      <param name="enzyme" value="Trypsin"/>
      <section name="Decoy">
        <param name="non_shuffle_pattern" value=""/>
        <param name="keepPeptideNTerm" value="true"/>
        <param name="keepPeptideCTerm" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_DeMeanderize">
</xml>
  <xml name="autotest_Digestor">
</xml>
  <xml name="autotest_DTAExtractor">
    <test expect_num_outputs="1">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="DTAExtractor_1_input.mzML"/>
      <param name="out" value="DTAExtractor"/>
      <param name="mz" value=":"/>
      <param name="rt" value=":61"/>
      <param name="level" value="1,2,3"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="1">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="DTAExtractor_1_input.mzML"/>
      <param name="out" value="DTAExtractor"/>
      <param name="mz" value=":"/>
      <param name="rt" value=":"/>
      <param name="level" value="1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="1">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="DTAExtractor_1_input.mzML"/>
      <param name="out" value="DTAExtractor"/>
      <param name="mz" value=":1000"/>
      <param name="rt" value=":"/>
      <param name="level" value="2"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_EICExtractor">
</xml>
  <xml name="autotest_Epifany">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="conservative_fdr" value="true"/>
        <param name="min_psms_extreme_probability" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FidoAdapter_1_input.idXML"/>
      <output name="out" file="Epifany_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="protein_fdr" value="false"/>
      <param name="greedy_group_resolution" value="none"/>
      <param name="max_psms_extreme_probability" value="1.0"/>
      <section name="algorithm">
        <param name="psm_probability_cutoff" value="0.001"/>
        <param name="top_PSMs" value="1"/>
        <param name="update_PSM_probabilities" value="true"/>
        <param name="user_defined_priors" value="false"/>
        <param name="annotate_group_probabilities" value="true"/>
        <param name="use_ids_outside_features" value="false"/>
        <section name="model_parameters">
          <param name="prot_prior" value="0.7"/>
          <param name="pep_emission" value="0.1"/>
          <param name="pep_spurious_emission" value="0.001"/>
          <param name="pep_prior" value="0.1"/>
          <param name="regularize" value="false"/>
          <param name="extended_model" value="false"/>
        </section>
        <section name="loopy_belief_propagation">
          <param name="scheduling_type" value="priority"/>
          <param name="convergence_threshold" value="1e-05"/>
          <param name="dampening_lambda" value="0.001"/>
          <param name="max_nr_iterations" value="2147483647"/>
          <param name="p_norm_inference" value="1.0"/>
        </section>
        <section name="param_optimize">
          <param name="aucweight" value="0.3"/>
          <param name="conservative_fdr" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_ERPairFinder">
</xml>
  <xml name="autotest_ExternalCalibration">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ExternalCalibration_1_input.mzML"/>
      <output name="out" file="ExternalCalibration_1_MS1_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="offset" value="-5.5"/>
      <param name="slope" value="0.0001"/>
      <param name="power" value="0.0"/>
      <param name="ms_level" value="1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ExternalCalibration_1_input.mzML"/>
      <output name="out" file="ExternalCalibration_2_MS2_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="offset" value="-5.5"/>
      <param name="slope" value="0.0001"/>
      <param name="power" value="0.0"/>
      <param name="ms_level" value="2"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FalseDiscoveryRate">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FalseDiscoveryRate_OMSSA.idXML"/>
      <output name="out" file="FalseDiscoveryRate_output_1.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="PSM" value="true"/>
      <param name="protein" value="false"/>
      <section name="FDR">
        <param name="PSM" value="1.0"/>
        <param name="protein" value="1.0"/>
        <section name="cleanup">
          <param name="remove_proteins_without_psms" value="true"/>
          <param name="remove_psms_without_proteins" value="true"/>
          <param name="remove_spectra_without_psms" value="true"/>
        </section>
      </section>
      <section name="algorithm">
        <param name="no_qvalues" value="false"/>
        <param name="use_all_hits" value="false"/>
        <param name="split_charge_variants" value="false"/>
        <param name="treat_runs_separately" value="false"/>
        <param name="add_decoy_peptides" value="false"/>
        <param name="add_decoy_proteins" value="false"/>
        <param name="conservative" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FalseDiscoveryRate_OMSSA.idXML"/>
      <output name="out" file="FalseDiscoveryRate_output_2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="PSM" value="true"/>
      <param name="protein" value="false"/>
      <section name="FDR">
        <param name="PSM" value="1.0"/>
        <param name="protein" value="1.0"/>
        <section name="cleanup">
          <param name="remove_proteins_without_psms" value="true"/>
          <param name="remove_psms_without_proteins" value="true"/>
          <param name="remove_spectra_without_psms" value="true"/>
        </section>
      </section>
      <section name="algorithm">
        <param name="no_qvalues" value="false"/>
        <param name="use_all_hits" value="false"/>
        <param name="split_charge_variants" value="false"/>
        <param name="treat_runs_separately" value="true"/>
        <param name="add_decoy_peptides" value="false"/>
        <param name="add_decoy_proteins" value="false"/>
        <param name="conservative" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FalseDiscoveryRate_OMSSA.idXML"/>
      <output name="out" file="FalseDiscoveryRate_output_3.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="PSM" value="true"/>
      <param name="protein" value="false"/>
      <section name="FDR">
        <param name="PSM" value="1.0"/>
        <param name="protein" value="1.0"/>
        <section name="cleanup">
          <param name="remove_proteins_without_psms" value="true"/>
          <param name="remove_psms_without_proteins" value="true"/>
          <param name="remove_spectra_without_psms" value="true"/>
        </section>
      </section>
      <section name="algorithm">
        <param name="no_qvalues" value="false"/>
        <param name="use_all_hits" value="false"/>
        <param name="split_charge_variants" value="true"/>
        <param name="treat_runs_separately" value="false"/>
        <param name="add_decoy_peptides" value="false"/>
        <param name="add_decoy_proteins" value="false"/>
        <param name="conservative" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FalseDiscoveryRate_OMSSA_4.idXML"/>
      <output name="out" file="FalseDiscoveryRate_output_4.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="PSM" value="true"/>
      <param name="protein" value="false"/>
      <section name="FDR">
        <param name="PSM" value="1.0"/>
        <param name="protein" value="1.0"/>
        <section name="cleanup">
          <param name="remove_proteins_without_psms" value="true"/>
          <param name="remove_psms_without_proteins" value="true"/>
          <param name="remove_spectra_without_psms" value="true"/>
        </section>
      </section>
      <section name="algorithm">
        <param name="no_qvalues" value="false"/>
        <param name="use_all_hits" value="false"/>
        <param name="split_charge_variants" value="true"/>
        <param name="treat_runs_separately" value="false"/>
        <param name="add_decoy_peptides" value="false"/>
        <param name="add_decoy_proteins" value="false"/>
        <param name="conservative" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="true"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FalseDiscoveryRate_5_input.idXML"/>
      <output name="out" file="FalseDiscoveryRate_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="PSM" value="false"/>
      <param name="protein" value="true"/>
      <section name="FDR">
        <param name="PSM" value="1.0"/>
        <param name="protein" value="1.0"/>
        <section name="cleanup">
          <param name="remove_proteins_without_psms" value="true"/>
          <param name="remove_psms_without_proteins" value="true"/>
          <param name="remove_spectra_without_psms" value="true"/>
        </section>
      </section>
      <section name="algorithm">
        <param name="no_qvalues" value="false"/>
        <param name="use_all_hits" value="false"/>
        <param name="split_charge_variants" value="false"/>
        <param name="treat_runs_separately" value="false"/>
        <param name="add_decoy_peptides" value="false"/>
        <param name="add_decoy_proteins" value="true"/>
        <param name="conservative" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FalseDiscoveryRate_6_input.idXML"/>
      <output name="out" file="FalseDiscoveryRate_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="PSM" value="true"/>
      <param name="protein" value="false"/>
      <section name="FDR">
        <param name="PSM" value="0.05"/>
        <param name="protein" value="1.0"/>
        <section name="cleanup">
          <param name="remove_proteins_without_psms" value="true"/>
          <param name="remove_psms_without_proteins" value="true"/>
          <param name="remove_spectra_without_psms" value="true"/>
        </section>
      </section>
      <section name="algorithm">
        <param name="no_qvalues" value="false"/>
        <param name="use_all_hits" value="false"/>
        <param name="split_charge_variants" value="false"/>
        <param name="treat_runs_separately" value="false"/>
        <param name="add_decoy_peptides" value="false"/>
        <param name="add_decoy_proteins" value="false"/>
        <param name="conservative" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="true"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FalseDiscoveryRate_7_input.idXML"/>
      <output name="out" file="FalseDiscoveryRate_7_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="PSM" value="false"/>
      <param name="protein" value="true"/>
      <section name="FDR">
        <param name="PSM" value="1.0"/>
        <param name="protein" value="0.3"/>
        <section name="cleanup">
          <param name="remove_proteins_without_psms" value="true"/>
          <param name="remove_psms_without_proteins" value="true"/>
          <param name="remove_spectra_without_psms" value="true"/>
        </section>
      </section>
      <section name="algorithm">
        <param name="no_qvalues" value="false"/>
        <param name="use_all_hits" value="false"/>
        <param name="split_charge_variants" value="false"/>
        <param name="treat_runs_separately" value="false"/>
        <param name="add_decoy_peptides" value="false"/>
        <param name="add_decoy_proteins" value="false"/>
        <param name="conservative" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FeatureFinderCentroided">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
        <param name="pseudo_rt_shift" value="500.0"/>
      </conditional>
      <param name="in" value="FeatureFinderCentroided_1_input.mzML"/>
      <output name="out" file="FeatureFinderCentroided_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="algorithm">
        <section name="intensity">
          <param name="bins" value="1"/>
        </section>
        <section name="mass_trace">
          <param name="mz_tolerance" value="0.02"/>
          <param name="min_spectra" value="14"/>
          <param name="max_missing" value="1"/>
          <param name="slope_bound" value="0.1"/>
        </section>
        <section name="isotopic_pattern">
          <param name="charge_low" value="2"/>
          <param name="charge_high" value="2"/>
          <param name="mz_tolerance" value="0.02"/>
          <param name="intensity_percentage" value="10.0"/>
          <param name="intensity_percentage_optional" value="0.1"/>
          <param name="optional_fit_improvement" value="2.0"/>
          <param name="mass_window_width" value="100.0"/>
          <param name="abundance_12C" value="98.93"/>
          <param name="abundance_14N" value="99.632"/>
        </section>
        <section name="seed">
          <param name="min_score" value="0.8"/>
        </section>
        <section name="fit">
          <param name="max_iterations" value="500"/>
        </section>
        <section name="feature">
          <param name="min_score" value="0.7"/>
          <param name="min_isotope_fit" value="0.8"/>
          <param name="min_trace_score" value="0.5"/>
          <param name="min_rt_span" value="0.333"/>
          <param name="max_rt_span" value="2.5"/>
          <param name="rt_shape" value="symmetric"/>
          <param name="max_intersection" value="0.35"/>
          <param name="reported_mz" value="monoisotopic"/>
        </section>
        <section name="user-seed">
          <param name="rt_tolerance" value="5.0"/>
          <param name="mz_tolerance" value="1.1"/>
          <param name="min_score" value="0.5"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FeatureFinderIdentification">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderIdentification_1_input.mzML"/>
      <param name="id" value="FeatureFinderIdentification_1_input.idXML"/>
      <output name="out" file="FeatureFinderIdentification_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="extract">
        <param name="batch_size" value="1000"/>
        <param name="mz_window" value="0.1"/>
        <param name="n_isotopes" value="2"/>
        <param name="isotope_pmin" value="0.0"/>
        <param name="rt_quantile" value="0.95"/>
        <param name="rt_window" value="0.0"/>
      </section>
      <section name="detect">
        <param name="peak_width" value="60.0"/>
        <param name="min_peak_width" value="0.2"/>
        <param name="signal_to_noise" value="0.8"/>
        <param name="mapping_tolerance" value="0.0"/>
      </section>
      <section name="svm">
        <param name="samples" value="0"/>
        <param name="no_selection" value="false"/>
        <param name="kernel" value="RBF"/>
        <param name="xval" value="5"/>
        <param name="log2_C" value="-5.0 -3.0 -1.0 1.0 3.0 5.0 7.0 9.0 11.0 13.0 15.0"/>
        <param name="log2_gamma" value="-15.0 -13.0 -11.0 -9.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0"/>
        <param name="epsilon" value="0.001"/>
        <param name="cache_size" value="100.0"/>
        <param name="no_shrinking" value="false"/>
        <param name="predictors" value="peak_apices_sum,var_xcorr_coelution,var_xcorr_shape,var_library_sangle,var_intensity_score,sn_ratio,var_log_sn_score,var_elution_model_fit_score,xx_lda_prelim_score,var_isotope_correlation_score,var_isotope_overlap_score,var_massdev_score,main_var_xx_swath_prelim_score"/>
        <param name="min_prob" value="0.0"/>
      </section>
      <section name="model">
        <param name="type" value="none"/>
        <param name="add_zeros" value="0.2"/>
        <param name="unweighted_fit" value="false"/>
        <param name="no_imputation" value="false"/>
        <section name="check">
          <param name="min_area" value="1.0"/>
          <param name="boundaries" value="0.5"/>
          <param name="width" value="10.0"/>
          <param name="asymmetry" value="10.0"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderIdentification_1_input.mzML"/>
      <param name="id" value="FeatureFinderIdentification_1_input.idXML"/>
      <output name="out" file="FeatureFinderIdentification_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="extract">
        <param name="batch_size" value="1000"/>
        <param name="mz_window" value="0.1"/>
        <param name="n_isotopes" value="2"/>
        <param name="isotope_pmin" value="0.0"/>
        <param name="rt_quantile" value="0.95"/>
        <param name="rt_window" value="0.0"/>
      </section>
      <section name="detect">
        <param name="peak_width" value="60.0"/>
        <param name="min_peak_width" value="0.2"/>
        <param name="signal_to_noise" value="0.8"/>
        <param name="mapping_tolerance" value="0.0"/>
      </section>
      <section name="svm">
        <param name="samples" value="0"/>
        <param name="no_selection" value="false"/>
        <param name="kernel" value="RBF"/>
        <param name="xval" value="5"/>
        <param name="log2_C" value="-5.0 -3.0 -1.0 1.0 3.0 5.0 7.0 9.0 11.0 13.0 15.0"/>
        <param name="log2_gamma" value="-15.0 -13.0 -11.0 -9.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0"/>
        <param name="epsilon" value="0.001"/>
        <param name="cache_size" value="100.0"/>
        <param name="no_shrinking" value="false"/>
        <param name="predictors" value="peak_apices_sum,var_xcorr_coelution,var_xcorr_shape,var_library_sangle,var_intensity_score,sn_ratio,var_log_sn_score,var_elution_model_fit_score,xx_lda_prelim_score,var_isotope_correlation_score,var_isotope_overlap_score,var_massdev_score,main_var_xx_swath_prelim_score"/>
        <param name="min_prob" value="0.0"/>
      </section>
      <section name="model">
        <param name="type" value="symmetric"/>
        <param name="add_zeros" value="0.2"/>
        <param name="unweighted_fit" value="false"/>
        <param name="no_imputation" value="false"/>
        <section name="check">
          <param name="min_area" value="1.0"/>
          <param name="boundaries" value="0.5"/>
          <param name="width" value="10.0"/>
          <param name="asymmetry" value="10.0"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderIdentification_1_input.mzML"/>
      <param name="id" value="FeatureFinderIdentification_1_input.idXML"/>
      <output name="out" file="FeatureFinderIdentification_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="extract">
        <param name="batch_size" value="10"/>
        <param name="mz_window" value="0.1"/>
        <param name="n_isotopes" value="2"/>
        <param name="isotope_pmin" value="0.0"/>
        <param name="rt_quantile" value="0.95"/>
        <param name="rt_window" value="0.0"/>
      </section>
      <section name="detect">
        <param name="peak_width" value="60.0"/>
        <param name="min_peak_width" value="0.2"/>
        <param name="signal_to_noise" value="0.8"/>
        <param name="mapping_tolerance" value="0.0"/>
      </section>
      <section name="svm">
        <param name="samples" value="0"/>
        <param name="no_selection" value="false"/>
        <param name="kernel" value="RBF"/>
        <param name="xval" value="5"/>
        <param name="log2_C" value="-5.0 -3.0 -1.0 1.0 3.0 5.0 7.0 9.0 11.0 13.0 15.0"/>
        <param name="log2_gamma" value="-15.0 -13.0 -11.0 -9.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0"/>
        <param name="epsilon" value="0.001"/>
        <param name="cache_size" value="100.0"/>
        <param name="no_shrinking" value="false"/>
        <param name="predictors" value="peak_apices_sum,var_xcorr_coelution,var_xcorr_shape,var_library_sangle,var_intensity_score,sn_ratio,var_log_sn_score,var_elution_model_fit_score,xx_lda_prelim_score,var_isotope_correlation_score,var_isotope_overlap_score,var_massdev_score,main_var_xx_swath_prelim_score"/>
        <param name="min_prob" value="0.0"/>
      </section>
      <section name="model">
        <param name="type" value="none"/>
        <param name="add_zeros" value="0.2"/>
        <param name="unweighted_fit" value="false"/>
        <param name="no_imputation" value="false"/>
        <section name="check">
          <param name="min_area" value="1.0"/>
          <param name="boundaries" value="0.5"/>
          <param name="width" value="10.0"/>
          <param name="asymmetry" value="10.0"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FeatureFinderIsotopeWavelet">
</xml>
  <xml name="autotest_FeatureFinderMetaboIdent">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMetaboIdent_1_input.mzML"/>
      <param name="id" value="FeatureFinderMetaboIdent_1_input.tsv" ftype="tabular"/>
      <output name="out" file="FeatureFinderMetaboIdent_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="extract">
        <param name="mz_window" value="5.0"/>
        <param name="n_isotopes" value="2"/>
        <param name="isotope_pmin" value="0.0"/>
        <param name="rt_window" value="20.0"/>
      </section>
      <section name="detect">
        <param name="peak_width" value="3.0"/>
        <param name="min_peak_width" value="0.2"/>
        <param name="signal_to_noise" value="0.8"/>
      </section>
      <section name="model">
        <param name="type" value="symmetric"/>
        <param name="add_zeros" value="0.2"/>
        <param name="unweighted_fit" value="false"/>
        <param name="no_imputation" value="false"/>
        <section name="check">
          <param name="min_area" value="1.0"/>
          <param name="boundaries" value="0.5"/>
          <param name="width" value="10.0"/>
          <param name="asymmetry" value="10.0"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FeatureFinderMetabo">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMetabo_1_input.mzML"/>
      <output name="out" file="FeatureFinderMetabo_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="algorithm">
        <section name="common">
          <param name="noise_threshold_int" value="10.0"/>
          <param name="chrom_peak_snr" value="3.0"/>
          <param name="chrom_fwhm" value="5.0"/>
        </section>
        <section name="mtd">
          <param name="mass_error_ppm" value="20.0"/>
          <param name="reestimate_mt_sd" value="true"/>
          <param name="quant_method" value="area"/>
          <param name="trace_termination_criterion" value="outlier"/>
          <param name="trace_termination_outliers" value="5"/>
          <param name="min_sample_rate" value="0.5"/>
          <param name="min_trace_length" value="5.0"/>
          <param name="max_trace_length" value="300.0"/>
        </section>
        <section name="epd">
          <param name="enabled" value="true"/>
          <param name="width_filtering" value="off"/>
          <param name="min_fwhm" value="3.0"/>
          <param name="max_fwhm" value="60.0"/>
          <param name="masstrace_snr_filtering" value="false"/>
        </section>
        <section name="ffm">
          <param name="local_rt_range" value="10.0"/>
          <param name="local_mz_range" value="6.5"/>
          <param name="charge_lower_bound" value="1"/>
          <param name="charge_upper_bound" value="3"/>
          <param name="report_summed_ints" value="false"/>
          <param name="enable_RT_filtering" value="true"/>
          <param name="isotope_filtering_model" value="metabolites (5% RMS)"/>
          <param name="mz_scoring_13C" value="true"/>
          <param name="use_smoothed_intensities" value="true"/>
          <param name="report_convex_hulls" value="false"/>
          <param name="remove_single_traces" value="false"/>
          <param name="mz_scoring_by_elements" value="false"/>
          <param name="elements" value="CHNOPS"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMetabo_2_input.mzML"/>
      <output name="out" file="FeatureFinderMetabo_2_noEPD_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="algorithm">
        <section name="common">
          <param name="noise_threshold_int" value="100.0"/>
          <param name="chrom_peak_snr" value="0.0"/>
          <param name="chrom_fwhm" value="100.0"/>
        </section>
        <section name="mtd">
          <param name="mass_error_ppm" value="5.0"/>
          <param name="reestimate_mt_sd" value="true"/>
          <param name="quant_method" value="median"/>
          <param name="trace_termination_criterion" value="sample_rate"/>
          <param name="trace_termination_outliers" value="2"/>
          <param name="min_sample_rate" value="0.01"/>
          <param name="min_trace_length" value="30.0"/>
          <param name="max_trace_length" value="3000.0"/>
        </section>
        <section name="epd">
          <param name="enabled" value="false"/>
          <param name="width_filtering" value="off"/>
          <param name="min_fwhm" value="10.0"/>
          <param name="max_fwhm" value="80.0"/>
          <param name="masstrace_snr_filtering" value="false"/>
        </section>
        <section name="ffm">
          <param name="local_rt_range" value="10.0"/>
          <param name="local_mz_range" value="4.5"/>
          <param name="charge_lower_bound" value="1"/>
          <param name="charge_upper_bound" value="3"/>
          <param name="report_summed_ints" value="false"/>
          <param name="enable_RT_filtering" value="false"/>
          <param name="isotope_filtering_model" value="none"/>
          <param name="mz_scoring_13C" value="false"/>
          <param name="use_smoothed_intensities" value="false"/>
          <param name="report_convex_hulls" value="true"/>
          <param name="remove_single_traces" value="false"/>
          <param name="mz_scoring_by_elements" value="false"/>
          <param name="elements" value="CHNOPS"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMetabo_3_input.mzML"/>
      <output name="out" file="FeatureFinderMetabo_3.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="FeatureFinderMetabo_3_chrom_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <section name="common">
          <param name="noise_threshold_int" value="10.0"/>
          <param name="chrom_peak_snr" value="3.0"/>
          <param name="chrom_fwhm" value="5.0"/>
        </section>
        <section name="mtd">
          <param name="mass_error_ppm" value="5.0"/>
          <param name="reestimate_mt_sd" value="true"/>
          <param name="quant_method" value="area"/>
          <param name="trace_termination_criterion" value="outlier"/>
          <param name="trace_termination_outliers" value="5"/>
          <param name="min_sample_rate" value="0.5"/>
          <param name="min_trace_length" value="5.0"/>
          <param name="max_trace_length" value="-1.0"/>
        </section>
        <section name="epd">
          <param name="enabled" value="true"/>
          <param name="width_filtering" value="fixed"/>
          <param name="min_fwhm" value="3.0"/>
          <param name="max_fwhm" value="60.0"/>
          <param name="masstrace_snr_filtering" value="false"/>
        </section>
        <section name="ffm">
          <param name="local_rt_range" value="10.0"/>
          <param name="local_mz_range" value="6.5"/>
          <param name="charge_lower_bound" value="1"/>
          <param name="charge_upper_bound" value="3"/>
          <param name="report_summed_ints" value="false"/>
          <param name="enable_RT_filtering" value="true"/>
          <param name="isotope_filtering_model" value="none"/>
          <param name="mz_scoring_13C" value="true"/>
          <param name="use_smoothed_intensities" value="true"/>
          <param name="report_convex_hulls" value="true"/>
          <param name="remove_single_traces" value="false"/>
          <param name="mz_scoring_by_elements" value="false"/>
          <param name="elements" value="CHNOPS"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMetabo_3_input.mzML"/>
      <output name="out" file="FeatureFinderMetabo_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="FeatureFinderMetabo_4_chrom_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <section name="common">
          <param name="noise_threshold_int" value="10.0"/>
          <param name="chrom_peak_snr" value="3.0"/>
          <param name="chrom_fwhm" value="5.0"/>
        </section>
        <section name="mtd">
          <param name="mass_error_ppm" value="5.0"/>
          <param name="reestimate_mt_sd" value="true"/>
          <param name="quant_method" value="area"/>
          <param name="trace_termination_criterion" value="outlier"/>
          <param name="trace_termination_outliers" value="5"/>
          <param name="min_sample_rate" value="0.5"/>
          <param name="min_trace_length" value="5.0"/>
          <param name="max_trace_length" value="-1.0"/>
        </section>
        <section name="epd">
          <param name="enabled" value="true"/>
          <param name="width_filtering" value="fixed"/>
          <param name="min_fwhm" value="3.0"/>
          <param name="max_fwhm" value="60.0"/>
          <param name="masstrace_snr_filtering" value="false"/>
        </section>
        <section name="ffm">
          <param name="local_rt_range" value="10.0"/>
          <param name="local_mz_range" value="6.5"/>
          <param name="charge_lower_bound" value="1"/>
          <param name="charge_upper_bound" value="3"/>
          <param name="report_summed_ints" value="false"/>
          <param name="enable_RT_filtering" value="true"/>
          <param name="isotope_filtering_model" value="none"/>
          <param name="mz_scoring_13C" value="true"/>
          <param name="use_smoothed_intensities" value="true"/>
          <param name="report_convex_hulls" value="true"/>
          <param name="remove_single_traces" value="true"/>
          <param name="mz_scoring_by_elements" value="false"/>
          <param name="elements" value="CHNOPS"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMetabo_1_input.mzML"/>
      <output name="out" file="FeatureFinderMetabo_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="algorithm">
        <section name="common">
          <param name="noise_threshold_int" value="10.0"/>
          <param name="chrom_peak_snr" value="3.0"/>
          <param name="chrom_fwhm" value="5.0"/>
        </section>
        <section name="mtd">
          <param name="mass_error_ppm" value="20.0"/>
          <param name="reestimate_mt_sd" value="true"/>
          <param name="quant_method" value="max_height"/>
          <param name="trace_termination_criterion" value="outlier"/>
          <param name="trace_termination_outliers" value="5"/>
          <param name="min_sample_rate" value="0.5"/>
          <param name="min_trace_length" value="5.0"/>
          <param name="max_trace_length" value="300.0"/>
        </section>
        <section name="epd">
          <param name="enabled" value="true"/>
          <param name="width_filtering" value="off"/>
          <param name="min_fwhm" value="3.0"/>
          <param name="max_fwhm" value="60.0"/>
          <param name="masstrace_snr_filtering" value="false"/>
        </section>
        <section name="ffm">
          <param name="local_rt_range" value="10.0"/>
          <param name="local_mz_range" value="6.5"/>
          <param name="charge_lower_bound" value="1"/>
          <param name="charge_upper_bound" value="3"/>
          <param name="report_summed_ints" value="false"/>
          <param name="enable_RT_filtering" value="true"/>
          <param name="isotope_filtering_model" value="metabolites (5% RMS)"/>
          <param name="mz_scoring_13C" value="true"/>
          <param name="use_smoothed_intensities" value="true"/>
          <param name="report_convex_hulls" value="false"/>
          <param name="remove_single_traces" value="false"/>
          <param name="mz_scoring_by_elements" value="false"/>
          <param name="elements" value="CHNOPS"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FeatureFinderMRM">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMRM_1_input.mzML"/>
      <output name="out" file="FeatureFinderMRM_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="algorithm">
        <param name="min_rt_distance" value="10.0"/>
        <param name="min_num_peaks_per_feature" value="5"/>
        <param name="min_signal_to_noise_ratio" value="2.0"/>
        <param name="write_debug_files" value="false"/>
        <param name="resample_traces" value="false"/>
        <param name="write_debuginfo" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FeatureFinderMultiplex">
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMultiplex_1_input.mzML"/>
      <output name="out" file="FeatureFinderMultiplex_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_multiplets" file="FeatureFinderMultiplex_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[Dimethyl0][Dimethyl8]"/>
        <param name="charge" value="1:4"/>
        <param name="isotopes_per_peptide" value="3:6"/>
        <param name="rt_typical" value="90.0"/>
        <param name="rt_band" value="10.0"/>
        <param name="rt_min" value="5.0"/>
        <param name="mz_tolerance" value="40.0"/>
        <param name="mz_unit" value="ppm"/>
        <param name="intensity_cutoff" value="10.0"/>
        <param name="peptide_similarity" value="0.8"/>
        <param name="averagine_similarity" value="0.75"/>
        <param name="averagine_similarity_scaling" value="0.75"/>
        <param name="missed_cleavages" value="1"/>
        <param name="spectrum_type" value="automatic"/>
        <param name="averagine_type" value="peptide"/>
        <param name="knock_out" value="false"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMultiplex_2_input.mzML"/>
      <output name="out" file="FeatureFinderMultiplex_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_multiplets" file="FeatureFinderMultiplex_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[][Lys8,Arg10]"/>
        <param name="charge" value="1:4"/>
        <param name="isotopes_per_peptide" value="3:6"/>
        <param name="rt_typical" value="40.0"/>
        <param name="rt_band" value="5.0"/>
        <param name="rt_min" value="2.0"/>
        <param name="mz_tolerance" value="6.0"/>
        <param name="mz_unit" value="ppm"/>
        <param name="intensity_cutoff" value="1000.0"/>
        <param name="peptide_similarity" value="0.5"/>
        <param name="averagine_similarity" value="0.4"/>
        <param name="averagine_similarity_scaling" value="0.75"/>
        <param name="missed_cleavages" value="0"/>
        <param name="spectrum_type" value="automatic"/>
        <param name="averagine_type" value="peptide"/>
        <param name="knock_out" value="false"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMultiplex_3_input.mzML"/>
      <output name="out" file="FeatureFinderMultiplex_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_multiplets" file="FeatureFinderMultiplex_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[]"/>
        <param name="charge" value="5:15"/>
        <param name="isotopes_per_peptide" value="5:10"/>
        <param name="rt_typical" value="45.0"/>
        <param name="rt_band" value="5.0"/>
        <param name="rt_min" value="2.0"/>
        <param name="mz_tolerance" value="6.0"/>
        <param name="mz_unit" value="ppm"/>
        <param name="intensity_cutoff" value="200.0"/>
        <param name="peptide_similarity" value="0.5"/>
        <param name="averagine_similarity" value="0.4"/>
        <param name="averagine_similarity_scaling" value="0.75"/>
        <param name="missed_cleavages" value="0"/>
        <param name="spectrum_type" value="automatic"/>
        <param name="averagine_type" value="RNA"/>
        <param name="knock_out" value="false"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMultiplex_4_input.mzML"/>
      <output name="out" file="FeatureFinderMultiplex_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_multiplets" file="FeatureFinderMultiplex_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[]"/>
        <param name="charge" value="5:15"/>
        <param name="isotopes_per_peptide" value="5:10"/>
        <param name="rt_typical" value="45.0"/>
        <param name="rt_band" value="5.0"/>
        <param name="rt_min" value="2.0"/>
        <param name="mz_tolerance" value="6.0"/>
        <param name="mz_unit" value="ppm"/>
        <param name="intensity_cutoff" value="200.0"/>
        <param name="peptide_similarity" value="0.5"/>
        <param name="averagine_similarity" value="0.4"/>
        <param name="averagine_similarity_scaling" value="0.75"/>
        <param name="missed_cleavages" value="0"/>
        <param name="spectrum_type" value="automatic"/>
        <param name="averagine_type" value="DNA"/>
        <param name="knock_out" value="false"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMultiplex_5_input.mzML"/>
      <output name="out" file="FeatureFinderMultiplex_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_multiplets" file="FeatureFinderMultiplex_5_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
        <param name="charge" value="1:5"/>
        <param name="isotopes_per_peptide" value="3:6"/>
        <param name="rt_typical" value="50.0"/>
        <param name="rt_band" value="3.0"/>
        <param name="rt_min" value="8.0"/>
        <param name="mz_tolerance" value="10.0"/>
        <param name="mz_unit" value="ppm"/>
        <param name="intensity_cutoff" value="10000000.0"/>
        <param name="peptide_similarity" value="0.95"/>
        <param name="averagine_similarity" value="0.8"/>
        <param name="averagine_similarity_scaling" value="0.95"/>
        <param name="missed_cleavages" value="3"/>
        <param name="spectrum_type" value="profile"/>
        <param name="averagine_type" value="peptide"/>
        <param name="knock_out" value="false"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMultiplex_6_input.mzML"/>
      <output name="out" file="FeatureFinderMultiplex_6_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_multiplets" file="FeatureFinderMultiplex_6_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
        <param name="charge" value="1:5"/>
        <param name="isotopes_per_peptide" value="3:6"/>
        <param name="rt_typical" value="50.0"/>
        <param name="rt_band" value="3.0"/>
        <param name="rt_min" value="8.0"/>
        <param name="mz_tolerance" value="10.0"/>
        <param name="mz_unit" value="ppm"/>
        <param name="intensity_cutoff" value="10000000.0"/>
        <param name="peptide_similarity" value="0.95"/>
        <param name="averagine_similarity" value="0.8"/>
        <param name="averagine_similarity_scaling" value="1.0"/>
        <param name="missed_cleavages" value="3"/>
        <param name="spectrum_type" value="profile"/>
        <param name="averagine_type" value="peptide"/>
        <param name="knock_out" value="false"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMultiplex_7_input.mzML"/>
      <output name="out" file="FeatureFinderMultiplex_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_multiplets" file="FeatureFinderMultiplex_7_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[][Dimethyl4]"/>
        <param name="charge" value="1:4"/>
        <param name="isotopes_per_peptide" value="3:6"/>
        <param name="rt_typical" value="40.0"/>
        <param name="rt_band" value="5.0"/>
        <param name="rt_min" value="2.0"/>
        <param name="mz_tolerance" value="6.0"/>
        <param name="mz_unit" value="ppm"/>
        <param name="intensity_cutoff" value="1000.0"/>
        <param name="peptide_similarity" value="0.5"/>
        <param name="averagine_similarity" value="0.4"/>
        <param name="averagine_similarity_scaling" value="0.75"/>
        <param name="missed_cleavages" value="0"/>
        <param name="spectrum_type" value="automatic"/>
        <param name="averagine_type" value="peptide"/>
        <param name="knock_out" value="false"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="31.0094"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMultiplex_8_input.mzML"/>
      <output name="out" file="FeatureFinderMultiplex_8_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_multiplets" file="FeatureFinderMultiplex_8_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[Dimethyl0][Dimethyl4][Dimethyl8]"/>
        <param name="charge" value="1:7"/>
        <param name="isotopes_per_peptide" value="3:8"/>
        <param name="rt_typical" value="50.0"/>
        <param name="rt_band" value="3.0"/>
        <param name="rt_min" value="8.0"/>
        <param name="mz_tolerance" value="10.0"/>
        <param name="mz_unit" value="ppm"/>
        <param name="intensity_cutoff" value="10.0"/>
        <param name="peptide_similarity" value="0.2"/>
        <param name="averagine_similarity" value="0.25"/>
        <param name="averagine_similarity_scaling" value="0.95"/>
        <param name="missed_cleavages" value="4"/>
        <param name="spectrum_type" value="automatic"/>
        <param name="averagine_type" value="peptide"/>
        <param name="knock_out" value="true"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMultiplex_9_input.mzML"/>
      <output name="out" file="FeatureFinderMultiplex_9_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_multiplets" file="FeatureFinderMultiplex_9_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[0][6.03705]"/>
        <param name="charge" value="2:8"/>
        <param name="isotopes_per_peptide" value="3:8"/>
        <param name="rt_typical" value="40.0"/>
        <param name="rt_band" value="0.0"/>
        <param name="rt_min" value="4.0"/>
        <param name="mz_tolerance" value="10.0"/>
        <param name="mz_unit" value="ppm"/>
        <param name="intensity_cutoff" value="1000.0"/>
        <param name="peptide_similarity" value="0.5"/>
        <param name="averagine_similarity" value="0.4"/>
        <param name="averagine_similarity_scaling" value="0.95"/>
        <param name="missed_cleavages" value="0"/>
        <param name="spectrum_type" value="centroid"/>
        <param name="averagine_type" value="peptide"/>
        <param name="knock_out" value="false"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMultiplex_10_input.mzML"/>
      <output name="out" file="FeatureFinderMultiplex_10_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_multiplets" file="FeatureFinderMultiplex_10_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
        <param name="charge" value="1:7"/>
        <param name="isotopes_per_peptide" value="3:6"/>
        <param name="rt_typical" value="50.0"/>
        <param name="rt_band" value="5.0"/>
        <param name="rt_min" value="8.0"/>
        <param name="mz_tolerance" value="6.0"/>
        <param name="mz_unit" value="ppm"/>
        <param name="intensity_cutoff" value="10.0"/>
        <param name="peptide_similarity" value="0.4"/>
        <param name="averagine_similarity" value="0.5"/>
        <param name="averagine_similarity_scaling" value="0.95"/>
        <param name="missed_cleavages" value="3"/>
        <param name="spectrum_type" value="profile"/>
        <param name="averagine_type" value="peptide"/>
        <param name="knock_out" value="true"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderMultiplex_11_input.mzML"/>
      <output name="out" file="FeatureFinderMultiplex_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="algorithm">
        <param name="labels" value="[]"/>
        <param name="charge" value="1:4"/>
        <param name="isotopes_per_peptide" value="3:6"/>
        <param name="rt_typical" value="1e-05"/>
        <param name="rt_band" value="0.0"/>
        <param name="rt_min" value="0.0"/>
        <param name="mz_tolerance" value="10.0"/>
        <param name="mz_unit" value="ppm"/>
        <param name="intensity_cutoff" value="1000.0"/>
        <param name="peptide_similarity" value="0.5"/>
        <param name="averagine_similarity" value="0.7"/>
        <param name="averagine_similarity_scaling" value="0.95"/>
        <param name="missed_cleavages" value="0"/>
        <param name="spectrum_type" value="automatic"/>
        <param name="averagine_type" value="peptide"/>
        <param name="knock_out" value="false"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FeatureFinderSuperHirn">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderSuperHirn_input_1.mzML"/>
      <output name="out" file="FeatureFinderSuperHirn_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="algorithm">
        <section name="centroiding">
          <param name="active" value="false"/>
          <param name="window_width" value="5"/>
          <param name="absolute_isotope_mass_precision" value="0.01"/>
          <param name="relative_isotope_mass_precision" value="10.0"/>
          <param name="minimal_peak_height" value="0.0"/>
          <param name="min_ms_signal_intensity" value="50.0"/>
        </section>
        <section name="ms1">
          <param name="precursor_detection_scan_levels" value="1"/>
          <param name="max_inter_scan_distance" value="0"/>
          <param name="tr_resolution" value="0.01"/>
          <param name="intensity_threshold" value="1000.0"/>
          <param name="max_inter_scan_rt_distance" value="0.1"/>
          <param name="min_nb_cluster_members" value="4"/>
          <param name="detectable_isotope_factor" value="0.05"/>
          <param name="intensity_cv" value="0.9"/>
          <param name="retention_time_tolerance" value="0.5"/>
          <param name="mz_tolerance" value="0.0"/>
        </section>
        <section name="ms1_feature_merger">
          <param name="active" value="true"/>
          <param name="tr_resolution" value="0.01"/>
          <param name="initial_apex_tr_tolerance" value="5.0"/>
          <param name="feature_merging_tr_tolerance" value="1.0"/>
          <param name="intensity_variation_percentage" value="25.0"/>
          <param name="ppm_tolerance_for_mz_clustering" value="10.0"/>
        </section>
        <section name="ms1_feature_selection_options">
          <param name="start_elution_window" value="0.0"/>
          <param name="end_elution_window" value="180.0"/>
          <param name="mz_range_min" value="0.0"/>
          <param name="mz_range_max" value="2000.0"/>
          <param name="chrg_range_min" value="1"/>
          <param name="chrg_range_max" value="5"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureFinderSuperHirn_input_2.mzML"/>
      <output name="out" file="FeatureFinderSuperHirn_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="algorithm">
        <section name="centroiding">
          <param name="active" value="true"/>
          <param name="window_width" value="5"/>
          <param name="absolute_isotope_mass_precision" value="0.01"/>
          <param name="relative_isotope_mass_precision" value="10.0"/>
          <param name="minimal_peak_height" value="0.0"/>
          <param name="min_ms_signal_intensity" value="50.0"/>
        </section>
        <section name="ms1">
          <param name="precursor_detection_scan_levels" value="1"/>
          <param name="max_inter_scan_distance" value="0"/>
          <param name="tr_resolution" value="0.01"/>
          <param name="intensity_threshold" value="1000.0"/>
          <param name="max_inter_scan_rt_distance" value="0.1"/>
          <param name="min_nb_cluster_members" value="4"/>
          <param name="detectable_isotope_factor" value="0.05"/>
          <param name="intensity_cv" value="0.9"/>
          <param name="retention_time_tolerance" value="0.5"/>
          <param name="mz_tolerance" value="0.0"/>
        </section>
        <section name="ms1_feature_merger">
          <param name="active" value="true"/>
          <param name="tr_resolution" value="0.01"/>
          <param name="initial_apex_tr_tolerance" value="5.0"/>
          <param name="feature_merging_tr_tolerance" value="1.0"/>
          <param name="intensity_variation_percentage" value="25.0"/>
          <param name="ppm_tolerance_for_mz_clustering" value="10.0"/>
        </section>
        <section name="ms1_feature_selection_options">
          <param name="start_elution_window" value="0.0"/>
          <param name="end_elution_window" value="180.0"/>
          <param name="mz_range_min" value="0.0"/>
          <param name="mz_range_max" value="2000.0"/>
          <param name="chrg_range_min" value="1"/>
          <param name="chrg_range_max" value="5"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FeatureLinkerLabeled">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerLabeled_1_input.featureXML"/>
      <output name="out" file="FeatureLinkerLabeled_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="rt_estimate" value="false"/>
        <param name="rt_pair_dist" value="-1.0"/>
        <param name="rt_dev_low" value="0.4"/>
        <param name="rt_dev_high" value="0.4"/>
        <param name="mz_pair_dists" value="8.0"/>
        <param name="mz_dev" value="0.1"/>
        <param name="mrm" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerLabeled_2_input.featureXML"/>
      <output name="out" file="FeatureLinkerLabeled_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="rt_estimate" value="true"/>
        <param name="rt_pair_dist" value="-121.0382"/>
        <param name="rt_dev_low" value="123.3965"/>
        <param name="rt_dev_high" value="123.3965"/>
        <param name="mz_pair_dists" value="4.0"/>
        <param name="mz_dev" value="0.1"/>
        <param name="mrm" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FeatureLinkerUnlabeledKD">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeledKD_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="mz_unit" value="Da"/>
        <param name="nr_partitions" value="1"/>
        <section name="warp">
          <param name="enabled" value="false"/>
          <param name="rt_tol" value="100.0"/>
          <param name="mz_tol" value="0.3"/>
          <param name="max_pairwise_log_fc" value="0.5"/>
          <param name="min_rel_cc_size" value="0.5"/>
          <param name="max_nr_conflicts" value="0"/>
        </section>
        <section name="link">
          <param name="rt_tol" value="100.0"/>
          <param name="mz_tol" value="0.3"/>
          <param name="charge_merging" value="With_charge_zero"/>
          <param name="adduct_merging" value="Any"/>
        </section>
        <section name="distance_RT">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
          <param name="log_transform" value="enabled"/>
        </section>
        <section name="LOWESS">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeledKD_1_output.consensusXML,FeatureLinkerUnlabeledKD_1_output_2.consensusXML"/>
      <output name="out" file="FeatureLinkerUnlabeledKD_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="true"/>
      <section name="algorithm">
        <param name="mz_unit" value="Da"/>
        <param name="nr_partitions" value="99999"/>
        <section name="warp">
          <param name="enabled" value="false"/>
          <param name="rt_tol" value="100.0"/>
          <param name="mz_tol" value="0.3"/>
          <param name="max_pairwise_log_fc" value="0.5"/>
          <param name="min_rel_cc_size" value="0.5"/>
          <param name="max_nr_conflicts" value="0"/>
        </section>
        <section name="link">
          <param name="rt_tol" value="100.0"/>
          <param name="mz_tol" value="0.3"/>
          <param name="charge_merging" value="With_charge_zero"/>
          <param name="adduct_merging" value="Any"/>
        </section>
        <section name="distance_RT">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
          <param name="log_transform" value="enabled"/>
        </section>
        <section name="LOWESS">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeledQT_3_input1.featureXML,FeatureLinkerUnlabeledQT_3_input2.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeledKD_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="mz_unit" value="Da"/>
        <param name="nr_partitions" value="100"/>
        <section name="warp">
          <param name="enabled" value="false"/>
          <param name="rt_tol" value="100.0"/>
          <param name="mz_tol" value="0.3"/>
          <param name="max_pairwise_log_fc" value="0.5"/>
          <param name="min_rel_cc_size" value="0.5"/>
          <param name="max_nr_conflicts" value="0"/>
        </section>
        <section name="link">
          <param name="rt_tol" value="100.0"/>
          <param name="mz_tol" value="0.3"/>
          <param name="charge_merging" value="With_charge_zero"/>
          <param name="adduct_merging" value="Any"/>
        </section>
        <section name="distance_RT">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
          <param name="log_transform" value="enabled"/>
        </section>
        <section name="LOWESS">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeledKD_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="mz_unit" value="ppm"/>
        <param name="nr_partitions" value="100"/>
        <section name="warp">
          <param name="enabled" value="true"/>
          <param name="rt_tol" value="100.0"/>
          <param name="mz_tol" value="5.0"/>
          <param name="max_pairwise_log_fc" value="0.5"/>
          <param name="min_rel_cc_size" value="0.5"/>
          <param name="max_nr_conflicts" value="0"/>
        </section>
        <section name="link">
          <param name="rt_tol" value="30.0"/>
          <param name="mz_tol" value="10.0"/>
          <param name="charge_merging" value="Identical"/>
          <param name="adduct_merging" value="Any"/>
        </section>
        <section name="distance_RT">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
          <param name="log_transform" value="enabled"/>
        </section>
        <section name="LOWESS">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeledKD_5_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="mz_unit" value="ppm"/>
        <param name="nr_partitions" value="100"/>
        <section name="warp">
          <param name="enabled" value="true"/>
          <param name="rt_tol" value="100.0"/>
          <param name="mz_tol" value="5.0"/>
          <param name="max_pairwise_log_fc" value="0.5"/>
          <param name="min_rel_cc_size" value="0.5"/>
          <param name="max_nr_conflicts" value="0"/>
        </section>
        <section name="link">
          <param name="rt_tol" value="30.0"/>
          <param name="mz_tol" value="10.0"/>
          <param name="charge_merging" value="With_charge_zero"/>
          <param name="adduct_merging" value="Any"/>
        </section>
        <section name="distance_RT">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
          <param name="log_transform" value="enabled"/>
        </section>
        <section name="LOWESS">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeledKD_6_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="mz_unit" value="ppm"/>
        <param name="nr_partitions" value="100"/>
        <section name="warp">
          <param name="enabled" value="true"/>
          <param name="rt_tol" value="100.0"/>
          <param name="mz_tol" value="5.0"/>
          <param name="max_pairwise_log_fc" value="0.5"/>
          <param name="min_rel_cc_size" value="0.5"/>
          <param name="max_nr_conflicts" value="0"/>
        </section>
        <section name="link">
          <param name="rt_tol" value="30.0"/>
          <param name="mz_tol" value="10.0"/>
          <param name="charge_merging" value="Any"/>
          <param name="adduct_merging" value="With_unknown_adducts"/>
        </section>
        <section name="distance_RT">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
          <param name="log_transform" value="enabled"/>
        </section>
        <section name="LOWESS">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeledKD_7_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="mz_unit" value="ppm"/>
        <param name="nr_partitions" value="100"/>
        <section name="warp">
          <param name="enabled" value="true"/>
          <param name="rt_tol" value="100.0"/>
          <param name="mz_tol" value="5.0"/>
          <param name="max_pairwise_log_fc" value="0.5"/>
          <param name="min_rel_cc_size" value="0.5"/>
          <param name="max_nr_conflicts" value="0"/>
        </section>
        <section name="link">
          <param name="rt_tol" value="30.0"/>
          <param name="mz_tol" value="10.0"/>
          <param name="charge_merging" value="Any"/>
          <param name="adduct_merging" value="Identical"/>
        </section>
        <section name="distance_RT">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
          <param name="log_transform" value="enabled"/>
        </section>
        <section name="LOWESS">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FeatureLinkerUnlabeledQT">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeledQT_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="use_identifications" value="false"/>
        <param name="nr_partitions" value="100"/>
        <param name="ignore_charge" value="false"/>
        <param name="ignore_adduct" value="true"/>
        <section name="distance_RT">
          <param name="max_difference" value="100.0"/>
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="max_difference" value="0.3"/>
          <param name="unit" value="Da"/>
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="0.0"/>
          <param name="log_transform" value="disabled"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeledQT_1_output.consensusXML,FeatureLinkerUnlabeledQT_1_output_2.consensusXML"/>
      <output name="out" file="FeatureLinkerUnlabeledQT_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="true"/>
      <section name="algorithm">
        <param name="use_identifications" value="false"/>
        <param name="nr_partitions" value="100"/>
        <param name="ignore_charge" value="false"/>
        <param name="ignore_adduct" value="true"/>
        <section name="distance_RT">
          <param name="max_difference" value="100.0"/>
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="max_difference" value="0.3"/>
          <param name="unit" value="Da"/>
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="0.0"/>
          <param name="log_transform" value="disabled"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeledQT_3_input1.featureXML,FeatureLinkerUnlabeledQT_3_input2.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeledQT_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="use_identifications" value="false"/>
        <param name="nr_partitions" value="99999"/>
        <param name="ignore_charge" value="false"/>
        <param name="ignore_adduct" value="true"/>
        <section name="distance_RT">
          <param name="max_difference" value="100.0"/>
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="max_difference" value="0.3"/>
          <param name="unit" value="Da"/>
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="0.0"/>
          <param name="log_transform" value="disabled"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeledQT_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="use_identifications" value="true"/>
        <param name="nr_partitions" value="100"/>
        <param name="ignore_charge" value="false"/>
        <param name="ignore_adduct" value="true"/>
        <section name="distance_RT">
          <param name="max_difference" value="100.0"/>
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="max_difference" value="0.3"/>
          <param name="unit" value="Da"/>
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="0.0"/>
          <param name="log_transform" value="disabled"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeledQT_5_input1.featureXML,FeatureLinkerUnlabeledQT_5_input2.featureXML,FeatureLinkerUnlabeledQT_5_input3.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeledQT_5_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="use_identifications" value="false"/>
        <param name="nr_partitions" value="100"/>
        <param name="ignore_charge" value="false"/>
        <param name="ignore_adduct" value="true"/>
        <section name="distance_RT">
          <param name="max_difference" value="200.0"/>
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="max_difference" value="0.3"/>
          <param name="unit" value="Da"/>
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="0.0"/>
          <param name="log_transform" value="disabled"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeledQT_5_input1.featureXML,FeatureLinkerUnlabeledQT_5_input2.featureXML,FeatureLinkerUnlabeledQT_5_input3.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeledQT_6_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="use_identifications" value="true"/>
        <param name="nr_partitions" value="100"/>
        <param name="ignore_charge" value="false"/>
        <param name="ignore_adduct" value="true"/>
        <section name="distance_RT">
          <param name="max_difference" value="200.0"/>
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="max_difference" value="0.3"/>
          <param name="unit" value="Da"/>
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="0.0"/>
          <param name="log_transform" value="disabled"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FeatureLinkerUnlabeled">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeled_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="second_nearest_gap" value="2.0"/>
        <param name="use_identifications" value="false"/>
        <param name="ignore_charge" value="true"/>
        <param name="ignore_adduct" value="true"/>
        <section name="distance_RT">
          <param name="max_difference" value="200.0"/>
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="max_difference" value="0.5"/>
          <param name="unit" value="Da"/>
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="0.0"/>
          <param name="log_transform" value="disabled"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeled_2_input1.featureXML,FeatureLinkerUnlabeled_2_input2.featureXML,FeatureLinkerUnlabeled_2_input3.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeled_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="second_nearest_gap" value="2.0"/>
        <param name="use_identifications" value="false"/>
        <param name="ignore_charge" value="false"/>
        <param name="ignore_adduct" value="true"/>
        <section name="distance_RT">
          <param name="max_difference" value="100.0"/>
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="max_difference" value="0.3"/>
          <param name="unit" value="Da"/>
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="0.5"/>
          <param name="log_transform" value="disabled"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeled_3_input1.featureXML,FeatureLinkerUnlabeled_3_input2.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeled_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="second_nearest_gap" value="1.5"/>
        <param name="use_identifications" value="false"/>
        <param name="ignore_charge" value="true"/>
        <param name="ignore_adduct" value="true"/>
        <section name="distance_RT">
          <param name="max_difference" value="30.0"/>
          <param name="exponent" value="1.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="max_difference" value="0.3"/>
          <param name="unit" value="Da"/>
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="0.0"/>
          <param name="log_transform" value="disabled"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
      <output name="out" file="FeatureLinkerUnlabeled_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="keep_subelements" value="false"/>
      <section name="algorithm">
        <param name="second_nearest_gap" value="2.0"/>
        <param name="use_identifications" value="true"/>
        <param name="ignore_charge" value="true"/>
        <param name="ignore_adduct" value="true"/>
        <section name="distance_RT">
          <param name="max_difference" value="200.0"/>
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_MZ">
          <param name="max_difference" value="0.5"/>
          <param name="unit" value="Da"/>
          <param name="exponent" value="2.0"/>
          <param name="weight" value="1.0"/>
        </section>
        <section name="distance_intensity">
          <param name="exponent" value="1.0"/>
          <param name="weight" value="0.0"/>
          <param name="log_transform" value="disabled"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FFEval">
</xml>
  <xml name="autotest_FidoAdapter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="keep_zero_group" value="false"/>
        <param name="accuracy" value=""/>
        <param name="log2_states_precalc" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FidoAdapter_1_input.idXML"/>
      <output name="out" file="FidoAdapter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="separate_runs" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="no_cleanup" value="false"/>
      <param name="all_PSMs" value="false"/>
      <param name="group_level" value="false"/>
      <param name="log2_states" value="0"/>
      <section name="prob">
        <param name="protein" value="0.0"/>
        <param name="peptide" value="0.0"/>
        <param name="spurious" value="0.0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="keep_zero_group" value="false"/>
        <param name="accuracy" value=""/>
        <param name="log2_states_precalc" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FidoAdapter_1_input.idXML"/>
      <output name="out" file="FidoAdapter_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="separate_runs" value="true"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="no_cleanup" value="false"/>
      <param name="all_PSMs" value="false"/>
      <param name="group_level" value="false"/>
      <param name="log2_states" value="0"/>
      <section name="prob">
        <param name="protein" value="0.0"/>
        <param name="peptide" value="0.0"/>
        <param name="spurious" value="0.0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="keep_zero_group" value="false"/>
        <param name="accuracy" value=""/>
        <param name="log2_states_precalc" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FidoAdapter_1_input.idXML"/>
      <output name="out" file="FidoAdapter_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="separate_runs" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="no_cleanup" value="false"/>
      <param name="all_PSMs" value="true"/>
      <param name="group_level" value="true"/>
      <param name="log2_states" value="0"/>
      <section name="prob">
        <param name="protein" value="0.0"/>
        <param name="peptide" value="0.0"/>
        <param name="spurious" value="0.0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="keep_zero_group" value="false"/>
        <param name="accuracy" value=""/>
        <param name="log2_states_precalc" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FidoAdapter_4_input.idXML"/>
      <output name="out" file="FidoAdapter_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="separate_runs" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="no_cleanup" value="false"/>
      <param name="all_PSMs" value="false"/>
      <param name="group_level" value="false"/>
      <param name="log2_states" value="0"/>
      <section name="prob">
        <param name="protein" value="0.0"/>
        <param name="peptide" value="0.0"/>
        <param name="spurious" value="0.0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="keep_zero_group" value="false"/>
        <param name="accuracy" value=""/>
        <param name="log2_states_precalc" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FidoAdapter_5_input.idXML"/>
      <output name="out" file="FidoAdapter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="separate_runs" value="false"/>
      <param name="greedy_group_resolution" value="true"/>
      <param name="no_cleanup" value="false"/>
      <param name="all_PSMs" value="false"/>
      <param name="group_level" value="false"/>
      <param name="log2_states" value="0"/>
      <section name="prob">
        <param name="protein" value="0.0"/>
        <param name="peptide" value="0.0"/>
        <param name="spurious" value="0.0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="keep_zero_group" value="false"/>
        <param name="accuracy" value=""/>
        <param name="log2_states_precalc" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FidoAdapter_1_input.idXML"/>
      <output name="out" file="FidoAdapter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="separate_runs" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="no_cleanup" value="false"/>
      <param name="all_PSMs" value="false"/>
      <param name="group_level" value="false"/>
      <param name="log2_states" value="0"/>
      <section name="prob">
        <param name="protein" value="0.9"/>
        <param name="peptide" value="0.01"/>
        <param name="spurious" value="0.0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FileConverter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_1_input.mzData"/>
      <output name="out" file="FileConverter_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_2_input.someInputDTA2D"/>
      <output name="out" file="FileConverter_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_3_input.featureXML"/>
      <output name="out" file="FileConverter_3_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_4_input.mzXML"/>
      <output name="out" file="FileConverter_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_5_input.mzML"/>
      <output name="out" file="FileConverter_5_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
      <param name="out_type" value="mzXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_6_input.mzML"/>
      <output name="out" file="FileConverter_6_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
      <param name="out_type" value="mzXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_7_input.consensusXML"/>
      <output name="out" file="FileConverter_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_8_input.mzML"/>
      <output name="out" file="FileConverter_8_output.mzData" compare="sim_size" delta="5700" ftype="mzdata"/>
      <param name="out_type" value="mzData"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_9_input.consensusXML"/>
      <output name="out" file="FileConverter_9_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_10_input.edta" ftype="edta"/>
      <output name="out" file="FileConverter_10_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_11_input.peplist"/>
      <output name="out" file="FileConverter_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_12_input.peptides.tsv" ftype="tabular"/>
      <output name="out" file="FileConverter_12_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_13_input.peptides.kroenik"/>
      <output name="out" file="FileConverter_13_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_9_output.featureXML"/>
      <output name="out" file="FileConverter_14_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="out_type" value="consensusXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_10_input.edta" ftype="edta"/>
      <output name="out" file="FileConverter_15_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="out_type" value="consensusXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_16_input.edta" ftype="edta"/>
      <output name="out" file="FileConverter_16_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="out_type" value="consensusXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_17_input.consensusXML"/>
      <output name="out" file="FileConverter_17.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="out_type" value="csv"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_17_input.consensusXML"/>
      <output name="out" file="FileConverter_17_output.ibspectra.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="out_type" value="csv"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="true"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_1_input.mzML"/>
      <output name="out" file="FileConverter_19_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_20_input.featureXML"/>
      <output name="out" file="FileConverter_20_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="true"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_4_input.mzXML"/>
      <output name="out" file="FileConverter_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_23_input.mzML"/>
      <output name="out" file="FileConverter_23_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="true"/>
        <param name="lossy_mass_accuracy" value="0.0001"/>
        <param name="process_lowmemory" value="true"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_1_input.mzML"/>
      <output name="out" file="FileConverter_24_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="true"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="true"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_1_input.mzML"/>
      <output name="out" file="FileConverter_25_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="true"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_1_input.mzML"/>
      <output name="out" file="FileConverter_26_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
      <param name="out_type" value="mzXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="true"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_26_output.mzXML"/>
      <output name="out" file="FileConverter_26-2_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
      <param name="out_type" value="mzXML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="true"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_27_input.mzML"/>
      <output name="out" file="FileConverter_27_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="true"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_28_input.mzML"/>
      <output name="out" file="FileConverter_28_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="true"/>
        <param name="lossy_mass_accuracy" value="1e-05"/>
        <param name="process_lowmemory" value="true"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
      <output name="out" file="FileConverter_29_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_29_output.mzML"/>
      <output name="out" file="FileConverter_29.back.tmp" compare="sim_size" delta="5700"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="multiple"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_30_input.mzML"/>
      <output name="out" file="FileConverter_30_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="single"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileConverter_30_output.mzML"/>
      <output name="out" file="FileConverter_31_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="UID_postprocessing" value="ensure"/>
        <param name="TIC_DTA2D" value="false"/>
        <param name="MGF_compact" value="false"/>
        <param name="force_MaxQuant_compatibility" value="false"/>
        <param name="convert_to_chromatograms" value="false"/>
        <param name="force_TPP_compatibility" value="false"/>
        <param name="change_im_format" value="none"/>
        <param name="write_scan_index" value="true"/>
        <param name="lossy_compression" value="false"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="no_peak_picking" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ginkgotoxin-ms-switching.raw"/>
      <output name="out" file="ginkgotoxin-ms-switching_out_tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FileFilter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_1_input.mzML"/>
      <output name="out" file="FileFilter_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":30"/>
      <param name="mz" value=":1000"/>
      <param name="int" value=":20000"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_1_input.mzML"/>
      <output name="out" file="FileFilter_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value="30:"/>
      <param name="mz" value="1000:"/>
      <param name="int" value="100:"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_1_input.mzML"/>
      <output name="out" file="FileFilter_3_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="2"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_4_input.mzML"/>
      <output name="out" file="FileFilter_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="true"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_5_input.featureXML"/>
      <output name="out" file="FileFilter_5_out.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <param name="rt" value=":1000"/>
      <param name="mz" value=":480"/>
      <param name="int" value=":79000"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":0.6"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":3"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_5_input.featureXML"/>
      <output name="out" file="FileFilter_6_out.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <param name="rt" value="1000:"/>
      <param name="mz" value="440:"/>
      <param name="int" value="70000:"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value="0.51:"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value="3:"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_7_input.mzML"/>
      <output name="out" file="FileFilter_7_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value="7000:"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_8_input.consensusXML"/>
      <output name="out" file="FileFilter_8_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="out_type" value="consensusXML"/>
      <param name="rt" value="600:1400"/>
      <param name="mz" value="700:2300"/>
      <param name="int" value="1100:6000"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_9_input.mzML"/>
      <output name="out" file="FileFilter_9_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value="SelectedIonMonitoring"/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_10_input.mzML"/>
      <output name="out" file="FileFilter_10_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value="Collision-induced dissociation"/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_11_input.mzML"/>
      <output name="out" file="FileFilter_11_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value="Plasma desorption"/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_12_input.mzML"/>
      <output name="out" file="FileFilter_12_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="true"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_13_input.consensusXML"/>
      <output name="out" file="FileFilter_13_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value="2"/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_14_input.consensusXML"/>
      <output name="out" file="FileFilter_14_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="out_type" value="consensusXML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value="0 2"/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_15_input.featureXML"/>
      <output name="out" file="FileFilter_15_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featurexml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value="&quot;Oxidation&quot;"/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="true"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_15_input.featureXML"/>
      <output name="out" file="FileFilter_16_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featurexml"/>
      <param name="rt" value="3000:4000"/>
      <param name="mz" value="400:600"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value="&quot;Oxidation&quot;"/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="true"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_15_input.featureXML"/>
      <output name="out" file="FileFilter_17_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featurexml"/>
      <param name="rt" value="3000:4000"/>
      <param name="mz" value="400:600"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="true"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_18_input.consensusXML"/>
      <output name="out" file="FileFilter_18_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="out_type" value="consensusxml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value="&quot;Oxidation&quot;"/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="true"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_18_input.consensusXML"/>
      <output name="out" file="FileFilter_19_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="out_type" value="consensusxml"/>
      <param name="rt" value="3000:4000"/>
      <param name="mz" value="400:600"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="true"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_15_input.featureXML"/>
      <output name="out" file="FileFilter_20_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featurexml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value="&quot;YDL217C&quot;"/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="true"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_15_input.featureXML"/>
      <output name="out" file="FileFilter_21_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featurexml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="true"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="true"/>
        <param name="remove_unassigned_ids" value="true"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_22_input.consensusXML"/>
      <output name="out" file="FileFilter_22_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="out_type" value="consensusxml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value="&quot;distinct_charges&quot; &quot;gt&quot; &quot;1,2&quot;"/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_22_input.consensusXML"/>
      <output name="out" file="FileFilter_22_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="out_type" value="consensusxml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value="&quot;distinct_charges_size&quot; &quot;gt&quot; &quot;2&quot;"/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_22_input.consensusXML"/>
      <output name="out" file="FileFilter_24_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="out_type" value="consensusxml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value="&quot;DOESNOTEXIST&quot; &quot;lt&quot; &quot;whatever&quot;"/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_25_input.mzML.gz"/>
      <output name="out" file="FileFilter_25_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="blacklist" value="FileFilter_25_input.idXML"/>
        <param name="rt" value="1.0"/>
        <param name="mz" value="0.05"/>
        <param name="blacklist_imperfect" value="true"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_25_input.mzML.gz"/>
      <output name="out" file="FileFilter_25_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="blacklist" value="FileFilter_25_input.idXML"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="true"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_28_input.mzML.gz"/>
      <output name="out" file="FileFilter_28_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value="832:836"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="2"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_28_input.mzML.gz"/>
      <output name="out" file="FileFilter_29_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value="832:836"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_28_input.mzML.gz"/>
      <output name="out" file="FileFilter_30_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value="832:836"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_31_34_input.mzML"/>
      <output name="out" file="FileFilter_31_remove_collision_energy.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":2"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_31_34_input.mzML"/>
      <output name="out" file="FileFilter_32_select_collision_energy.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":2"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_31_34_input.mzML"/>
      <output name="out" file="FileFilter_33_remove_isolation_window.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":35"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_31_34_input.mzML"/>
      <output name="out" file="FileFilter_34_select_isolation_window.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":35"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_1_input.mzML"/>
      <output name="out" file="FileFilter_35_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_1_input.mzML"/>
      <output name="out" file="FileFilter_36_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="false"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_1_input.mzML"/>
      <output name="out" file="FileFilter_37_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="linear"/>
          <param name="lossy_mass_accuracy" value="0.0001"/>
          <param name="intensity" value="slof"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_1_input.mzML"/>
      <output name="out" file="FileFilter_38_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="linear"/>
          <param name="lossy_mass_accuracy" value="0.0001"/>
          <param name="intensity" value="pic"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_40_input.mzML"/>
      <output name="out" file="FileFilter_40_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value="positive"/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_40_input.mzML"/>
      <output name="out" file="FileFilter_41_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value="negative"/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_40_input.mzML"/>
      <output name="out" file="FileFilter_42_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_43_input.mzML"/>
      <output name="out" file="FileFilter_43.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_43.tmp.mzML"/>
      <output name="out" file="FileFilter_43.dummy.tmp" compare="sim_size" delta="5700"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_44_input.mzML"/>
      <output name="out" file="FileFilter_44_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzML"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_45_input.featureXML"/>
      <output name="out" file="FileFilter_45_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featurexml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value="&quot;YSFS&quot; &quot;STLIPPPSK(Label:13C(6)15N(2))&quot;"/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_46_input.featureXML"/>
      <output name="out" file="FileFilter_46_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featurexml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value="&quot;YSFS&quot; &quot;STLIPPPSK(Label:13C(6)15N(2))&quot;"/>
        <param name="sequence_comparison_method" value="exact"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_47_input.mzML"/>
      <output name="out" file="FileFilter_47_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="file" value="FileFilter_47_input_select.mzML"/>
          <param name="similarity_threshold" value="0.9"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_47_input.mzML"/>
      <output name="out" file="FileFilter_48_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="false"/>
        <section name="numpress">
          <param name="masstime" value="none"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="none"/>
          <param name="float_da" value="none"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="file" value="FileFilter_47_input_select.mzML"/>
          <param name="similarity_threshold" value="0.9"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="false"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileFilter_49_input.mzML"/>
      <output name="out" file="FileFilter_49_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="rt" value=":"/>
      <param name="mz" value=":"/>
      <param name="int" value=":"/>
      <param name="sort" value="false"/>
      <section name="peak_options">
        <param name="sn" value="0.0"/>
        <param name="rm_pc_charge" value=""/>
        <param name="pc_mz_range" value=":"/>
        <param name="pc_mz_list" value=""/>
        <param name="level" value="1 2 3"/>
        <param name="sort_peaks" value="false"/>
        <param name="no_chromatograms" value="false"/>
        <param name="remove_chromatograms" value="false"/>
        <param name="remove_empty" value="false"/>
        <param name="mz_precision" value="64"/>
        <param name="int_precision" value="32"/>
        <param name="indexed_file" value="true"/>
        <param name="zlib_compression" value="true"/>
        <section name="numpress">
          <param name="masstime" value="linear"/>
          <param name="lossy_mass_accuracy" value="-1.0"/>
          <param name="intensity" value="pic"/>
          <param name="float_da" value="slof"/>
        </section>
      </section>
      <section name="spectra">
        <param name="remove_zoom" value="false"/>
        <param name="remove_mode" value=""/>
        <param name="remove_activation" value=""/>
        <param name="remove_collision_energy" value=":"/>
        <param name="remove_isolation_window_width" value=":"/>
        <param name="select_zoom" value="false"/>
        <param name="select_mode" value=""/>
        <param name="select_activation" value=""/>
        <param name="select_collision_energy" value=":"/>
        <param name="select_isolation_window_width" value=":"/>
        <param name="select_polarity" value=""/>
        <section name="blackorwhitelist">
          <param name="similarity_threshold" value="-1.0"/>
          <param name="rt" value="0.01"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
          <param name="blacklist" value="true"/>
        </section>
      </section>
      <section name="feature">
        <param name="q" value=":"/>
      </section>
      <section name="consensus">
        <param name="map" value=""/>
        <param name="map_and" value="false"/>
        <section name="blackorwhitelist">
          <param name="blacklist" value="true"/>
          <param name="maps" value=""/>
          <param name="rt" value="60.0"/>
          <param name="mz" value="0.01"/>
          <param name="use_ppm_tolerance" value="false"/>
        </section>
      </section>
      <section name="f_and_c">
        <param name="charge" value=":"/>
        <param name="size" value=":"/>
        <param name="remove_meta" value=""/>
      </section>
      <section name="id">
        <param name="remove_clashes" value="false"/>
        <param name="keep_best_score_id" value="false"/>
        <param name="sequences_whitelist" value=""/>
        <param name="sequence_comparison_method" value="substring"/>
        <param name="accessions_whitelist" value=""/>
        <param name="remove_annotated_features" value="false"/>
        <param name="remove_unannotated_features" value="false"/>
        <param name="remove_unassigned_ids" value="false"/>
        <param name="rt" value="0.1"/>
        <param name="mz" value="0.001"/>
        <param name="blacklist_imperfect" value="false"/>
      </section>
      <section name="algorithm">
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FileInfo">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_1_input.dta" ftype="dta"/>
      <output name="out" file="FileInfo_1_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="false"/>
      <param name="p" value="false"/>
      <param name="s" value="false"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_2_input.dta2d" ftype="dta2d"/>
      <output name="out" file="FileInfo_2_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="false"/>
      <param name="p" value="false"/>
      <param name="s" value="false"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_3_input.featureXML"/>
      <output name="out" file="FileInfo_3_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="true"/>
      <param name="p" value="true"/>
      <param name="s" value="true"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_4_input.mzXML"/>
      <output name="out" file="FileInfo_4_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="true"/>
      <param name="p" value="false"/>
      <param name="s" value="false"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_5_input.mzDat"/>
      <output name="out" file="FileInfo_5_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="true"/>
      <param name="p" value="false"/>
      <param name="s" value="true"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_6_input.mzData"/>
      <output name="out" file="FileInfo_6_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="false"/>
      <param name="p" value="false"/>
      <param name="s" value="true"/>
      <param name="d" value="true"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_7_input.consensusXML"/>
      <output name="out" file="FileInfo_7_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="true"/>
      <param name="p" value="true"/>
      <param name="s" value="true"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_9_input.mzML"/>
      <output name="out" file="FileInfo_9_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="true"/>
      <param name="p" value="true"/>
      <param name="s" value="true"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_10_input.idXML"/>
      <output name="out" file="FileInfo_10_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="false"/>
      <param name="p" value="false"/>
      <param name="s" value="false"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_12_input.mzML"/>
      <param name="m" value="false"/>
      <param name="p" value="false"/>
      <param name="s" value="false"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_13_input.consensusXML"/>
      <param name="m" value="false"/>
      <param name="p" value="false"/>
      <param name="s" value="false"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_14_input.mzid"/>
      <output name="out" file="FileInfo_14_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="false"/>
      <param name="p" value="false"/>
      <param name="s" value="false"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="true"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_15_input.mzid"/>
      <output name="out" file="FileInfo_15_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="false"/>
      <param name="p" value="false"/>
      <param name="s" value="false"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="true"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_16_input.trafoXML"/>
      <output name="out" file="FileInfo_16_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="false"/>
      <param name="p" value="false"/>
      <param name="s" value="false"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_17_input.fasta"/>
      <output name="out" file="FileInfo_17_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="false"/>
      <param name="p" value="false"/>
      <param name="s" value="false"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileInfo_18_input.fasta"/>
      <output name="out" file="FileInfo_18_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="m" value="false"/>
      <param name="p" value="false"/>
      <param name="s" value="false"/>
      <param name="d" value="false"/>
      <param name="c" value="false"/>
      <param name="v" value="false"/>
      <param name="i" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FileMerger">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileMerger_2_input1.dta,FileMerger_2_input2.dta" ftype="dta"/>
      <param name="out_type" value="mzML"/>
      <output name="out" file="FileMerger_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="append_method" value="append_rows"/>
      <section name="rt_concat">
        <param name="gap" value="0.0"/>
      </section>
      <section name="raw">
        <param name="rt_auto" value="false"/>
        <param name="rt_custom" value="5.0 10.0"/>
        <param name="rt_filename" value="false"/>
        <param name="ms_level" value="0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileMerger_3_input1.dta,FileMerger_3_input2.dta" ftype="dta"/>
      <param name="out_type" value="mzML"/>
      <output name="out" file="FileMerger_3_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="append_method" value="append_rows"/>
      <section name="rt_concat">
        <param name="gap" value="0.0"/>
      </section>
      <section name="raw">
        <param name="rt_auto" value="true"/>
        <param name="rt_custom" value=""/>
        <param name="rt_filename" value="false"/>
        <param name="ms_level" value="0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileMerger_4_input1.dta2d,FileMerger_4_input2.dta2d" ftype="dta2d"/>
      <param name="out_type" value="mzML"/>
      <output name="out" file="FileMerger_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="append_method" value="append_rows"/>
      <section name="rt_concat">
        <param name="gap" value="0.0"/>
      </section>
      <section name="raw">
        <param name="rt_auto" value="false"/>
        <param name="rt_custom" value=""/>
        <param name="rt_filename" value="false"/>
        <param name="ms_level" value="0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileMerger_5_input_rt1023.331.dta,FileMerger_5_input_rt2044.334.dta,FileMerger_5_input_rt889.32.dta" ftype="dta"/>
      <param name="out_type" value="mzML"/>
      <output name="out" file="FileMerger_5_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="append_method" value="append_rows"/>
      <section name="rt_concat">
        <param name="gap" value="0.0"/>
      </section>
      <section name="raw">
        <param name="rt_auto" value="false"/>
        <param name="rt_custom" value=""/>
        <param name="rt_filename" value="true"/>
        <param name="ms_level" value="2"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileMerger_6_input1.mzML,FileMerger_6_input2.mzML"/>
      <param name="out_type" value="mzML"/>
      <output name="out" file="FileMerger_6_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="append_method" value="append_rows"/>
      <section name="rt_concat">
        <param name="gap" value="0.0"/>
      </section>
      <section name="raw">
        <param name="rt_auto" value="false"/>
        <param name="rt_custom" value=""/>
        <param name="rt_filename" value="false"/>
        <param name="ms_level" value="0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileMerger_7_input1.featureXML,FileMerger_7_input2.featureXML"/>
      <param name="out_type" value="featureXML"/>
      <output name="out" file="FileMerger_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="append_method" value="append_rows"/>
      <section name="rt_concat">
        <param name="gap" value="0.0"/>
      </section>
      <section name="raw">
        <param name="rt_auto" value="false"/>
        <param name="rt_custom" value=""/>
        <param name="rt_filename" value="false"/>
        <param name="ms_level" value="0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileMerger_8_input1.consensusXML,FileMerger_8_input2.consensusXML"/>
      <param name="out_type" value="consensusXML"/>
      <output name="out" file="FileMerger_8_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="append_method" value="append_rows"/>
      <section name="rt_concat">
        <param name="gap" value="0.0"/>
      </section>
      <section name="raw">
        <param name="rt_auto" value="false"/>
        <param name="rt_custom" value=""/>
        <param name="rt_filename" value="false"/>
        <param name="ms_level" value="0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileMerger_9_input1.traML,FileMerger_9_input2.traML"/>
      <param name="out_type" value="traML"/>
      <output name="out" file="FileMerger_9_output.traML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="append_method" value="append_rows"/>
      <section name="rt_concat">
        <param name="gap" value="0.0"/>
      </section>
      <section name="raw">
        <param name="rt_auto" value="false"/>
        <param name="rt_custom" value=""/>
        <param name="rt_filename" value="false"/>
        <param name="ms_level" value="0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileMerger_6_input2.mzML,FileMerger_6_input2_2.mzML"/>
      <param name="out_type" value="mzML"/>
      <output name="out" file="FileMerger_10_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="append_method" value="append_rows"/>
      <section name="rt_concat">
        <param name="gap" value="10.0"/>
      </section>
      <output_collection name="rt_concat_trafo_out" count="2"/>
      <section name="raw">
        <param name="rt_auto" value="false"/>
        <param name="rt_custom" value=""/>
        <param name="rt_filename" value="false"/>
        <param name="ms_level" value="0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="FileMerger_8_input1.consensusXML,FileMerger_8_input2.consensusXML"/>
      <param name="out_type" value="consensusXML"/>
      <output name="out" file="FileMerger_11_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="append_method" value="append_cols"/>
      <section name="rt_concat">
        <param name="gap" value="0.0"/>
      </section>
      <section name="raw">
        <param name="rt_auto" value="false"/>
        <param name="rt_custom" value=""/>
        <param name="rt_filename" value="false"/>
        <param name="ms_level" value="0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_FuzzyDiff">
    <test expect_num_outputs="1">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="whitelist" value="&quot;&lt;?xml-stylesheet&quot;"/>
        <param name="matched_whitelist" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in1" value="FuzzyDiff_3_in1.featureXML"/>
      <param name="in2" value="FuzzyDiff_3_in2.featureXML"/>
      <param name="ratio" value="1.01"/>
      <param name="absdiff" value="0.01"/>
      <param name="verbose" value="1"/>
      <param name="tab_width" value="8"/>
      <param name="first_column" value="1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_GNPSExport">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_cm" value="GNPSExport_single.consensusXML"/>
      <param name="in_mzml" value="GNPSExport_mz1.mzML"/>
      <output name="out" file="GNPSExport_1_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
      <param name="output_type" value="full_spectra"/>
      <param name="precursor_mz_tolerance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <section name="merged_spectra">
        <param name="cos_similarity" value="0.95"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_cm" value="GNPSExport_single.consensusXML"/>
      <param name="in_mzml" value="GNPSExport_mz1.mzML"/>
      <output name="out" file="GNPSExport_2_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
      <param name="output_type" value="merged_spectra"/>
      <param name="precursor_mz_tolerance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <section name="merged_spectra">
        <param name="cos_similarity" value="0.95"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_cm" value="GNPSExport_merged.consensusXML"/>
      <param name="in_mzml" value="GNPSExport_mz1.mzML,GNPSExport_mz2.mzML"/>
      <output name="out" file="GNPSExport_3_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
      <param name="output_type" value="full_spectra"/>
      <param name="precursor_mz_tolerance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <section name="merged_spectra">
        <param name="cos_similarity" value="0.95"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_cm" value="GNPSExport_merged.consensusXML"/>
      <param name="in_mzml" value="GNPSExport_mz1.mzML,GNPSExport_mz2.mzML"/>
      <output name="out" file="GNPSExport_4_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
      <param name="output_type" value="full_spectra"/>
      <param name="precursor_mz_tolerance" value="0.0001"/>
      <param name="precursor_rt_tolerance" value="5.0"/>
      <section name="merged_spectra">
        <param name="cos_similarity" value="0.95"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_HighResPrecursorMassCorrector">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="HighResPrecursorMassCorrector_2860_1103_3.mzML"/>
      <output name="out" file="HighResPrecursorMassCorrector_2860_1103_3_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="feature">
        <param name="in" value="HighResPrecursorMassCorrector_2860_1103_3.featureXML"/>
        <param name="mz_tolerance" value="5.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
        <param name="rt_tolerance" value="0.0"/>
        <param name="max_trace" value="2"/>
        <param name="believe_charge" value="false"/>
        <param name="keep_original" value="false"/>
        <param name="assign_all_matching" value="false"/>
      </section>
      <section name="nearest_peak">
        <param name="mz_tolerance" value="0.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <section name="highest_intensity_peak">
        <param name="mz_tolerance" value="0.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="HighResPrecursorMassCorrector_1035_1178_4.mzML"/>
      <output name="out" file="HighResPrecursorMassCorrector_1035_1178_4_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="feature">
        <param name="in" value="HighResPrecursorMassCorrector_1035_1178_4.featureXML"/>
        <param name="mz_tolerance" value="10.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
        <param name="rt_tolerance" value="0.0"/>
        <param name="max_trace" value="4"/>
        <param name="believe_charge" value="false"/>
        <param name="keep_original" value="false"/>
        <param name="assign_all_matching" value="false"/>
      </section>
      <section name="nearest_peak">
        <param name="mz_tolerance" value="0.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <section name="highest_intensity_peak">
        <param name="mz_tolerance" value="0.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="HighResPrecursorMassCorrector_2538_1091_2.mzML"/>
      <output name="out" file="HighResPrecursorMassCorrector_2538_1091_2_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="feature">
        <param name="in" value="HighResPrecursorMassCorrector_2538_1091_2.featureXML"/>
        <param name="mz_tolerance" value="5.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
        <param name="rt_tolerance" value="0.0"/>
        <param name="max_trace" value="2"/>
        <param name="believe_charge" value="false"/>
        <param name="keep_original" value="false"/>
        <param name="assign_all_matching" value="false"/>
      </section>
      <section name="nearest_peak">
        <param name="mz_tolerance" value="0.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <section name="highest_intensity_peak">
        <param name="mz_tolerance" value="0.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="HighResPrecursorMassCorrector_2810_1091_3.mzML"/>
      <output name="out" file="HighResPrecursorMassCorrector_2810_1091_3_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="feature">
        <param name="in" value="HighResPrecursorMassCorrector_2810_1091_3.featureXML"/>
        <param name="mz_tolerance" value="5.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
        <param name="rt_tolerance" value="0.0"/>
        <param name="max_trace" value="2"/>
        <param name="believe_charge" value="false"/>
        <param name="keep_original" value="false"/>
        <param name="assign_all_matching" value="false"/>
      </section>
      <section name="nearest_peak">
        <param name="mz_tolerance" value="0.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <section name="highest_intensity_peak">
        <param name="mz_tolerance" value="0.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="HighResPrecursorMassCorrector_3070_1191_3.mzML"/>
      <output name="out" file="HighResPrecursorMassCorrector_3070_1191_3_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="feature">
        <param name="in" value="HighResPrecursorMassCorrector_3070_1191_3.featureXML"/>
        <param name="mz_tolerance" value="5.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
        <param name="rt_tolerance" value="0.0"/>
        <param name="max_trace" value="2"/>
        <param name="believe_charge" value="false"/>
        <param name="keep_original" value="false"/>
        <param name="assign_all_matching" value="false"/>
      </section>
      <section name="nearest_peak">
        <param name="mz_tolerance" value="0.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <section name="highest_intensity_peak">
        <param name="mz_tolerance" value="0.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="HighResPrecursorMassCorrector_6.mzML"/>
      <output name="out" file="HighResPrecursorMassCorrector_6_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="feature">
        <param name="mz_tolerance" value="5.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
        <param name="rt_tolerance" value="0.0"/>
        <param name="max_trace" value="2"/>
        <param name="believe_charge" value="false"/>
        <param name="keep_original" value="false"/>
        <param name="assign_all_matching" value="false"/>
      </section>
      <section name="nearest_peak">
        <param name="mz_tolerance" value="0.0"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <section name="highest_intensity_peak">
        <param name="mz_tolerance" value="0.2"/>
        <param name="mz_tolerance_unit" value="ppm"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_IDConflictResolver">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDConflictResolver_1_input.featureXML"/>
      <output name="out" file="IDConflictResolver_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="resolve_between_features" value="off"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDConflictResolver_2_input.consensusXML"/>
      <output name="out" file="IDConflictResolver_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="resolve_between_features" value="off"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDConflictResolver_3_input.consensusXML"/>
      <output name="out" file="IDConflictResolver_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="resolve_between_features" value="off"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDConflictResolver_4_input.featureXML"/>
      <output name="out" file="IDConflictResolver_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="resolve_between_features" value="highest_intensity"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_IDExtractor">
</xml>
  <xml name="autotest_IDFileConverter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_1_input1.mascotXML"/>
      <output name="out" file="IDFileConverter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_file" value="IDFileConverter_1_input2.mzML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PepXMLFile_test.pepxml"/>
      <output name="out" file="IDFileConverter_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_file" value="PepXMLFile_test.mzML"/>
      <param name="mz_name" value="PepXMLFile_test"/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_3_input.protXML"/>
      <output name="out" file="IDFileConverter_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value="scan=(?&lt;SCAN&gt;\d+)"/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_1_input1.mascotXML"/>
      <output name="out" file="IDFileConverter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_file" value="IDFileConverter_1_input2.mzML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_6_input1.pepXML"/>
      <output name="out" file="IDFileConverter_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_file" value="IDFileConverter_1_input2.mzML"/>
      <param name="mz_name" value="F025589.dat.mzML"/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_7_input1.xml"/>
      <output name="out" file="IDFileConverter_7_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_8_input.mzid"/>
      <output name="out" file="IDFileConverter_8_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_9_input.idXML"/>
      <output name="out" file="IDFileConverter_9_output.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
      <param name="out_type" value="mzid"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_10_input.pepXML"/>
      <output name="out" file="IDFileConverter_10_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_11_input.tsv" ftype="tabular"/>
      <output name="out" file="IDFileConverter_11_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_12_input.psms"/>
      <output name="out" file="IDFileConverter_12_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_12_input.psms"/>
      <output name="out" file="IDFileConverter_13_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="PEP"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_12_input.psms"/>
      <output name="out" file="IDFileConverter_14_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="score"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MSGFPlusAdapter_1_out.mzid"/>
      <output name="out" file="IDFileConverter_15_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_file" value="spectra.mzML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_16_input.pepXML"/>
      <output name="out" file="IDFileConverter_16_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_17_input.idXML"/>
      <output name="out" file="IDFileConverter_17_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
      <param name="out_type" value="pepXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_18_input.idXML"/>
      <output name="out" file="IDFileConverter_18_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
      <param name="out_type" value="pepXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_19_input.idXML"/>
      <output name="out" file="IDFileConverter_19_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
      <param name="out_type" value="pepXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_20_input.idXML"/>
      <output name="out" file="IDFileConverter_20_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
      <param name="out_type" value="pepXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_21_input.idXML"/>
      <output name="out" file="IDFileConverter_21_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_file" value="IDMapper_4_input.mzML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.01"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MSGFPlusAdapter_1_out.mzid"/>
      <output name="out" file="IDFileConverter_22_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_file" value="spectra.mzML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_23_input.mzid"/>
      <output name="out" file="IDFileConverter_23_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_24_input.pep.xml"/>
      <output name="out" file="IDFileConverter_24_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_25_input.idXML"/>
      <output name="out" file="IDFileConverter_25_output.pep.xml" compare="sim_size" delta="5700" ftype="pepxml"/>
      <param name="out_type" value="pepXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_proteins_per_peptide" value="false"/>
        <param name="scan_regex" value=""/>
        <param name="no_spectra_data_override" value="false"/>
        <param name="no_spectra_references_override" value="false"/>
        <param name="add_ionmatch_annotation" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_26_input.mzid"/>
      <output name="out" file="IDFileConverter_26_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="mz_name" value=""/>
      <param name="peptideprophet_analyzed" value="false"/>
      <param name="score_type" value="qvalue"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_IDFilter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_1_input.idXML"/>
      <output name="out" file="IDFilter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="proteins" value="IDFilter_1_input.fas"/>
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_3_input.idXML"/>
      <output name="out" file="IDFilter_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="peptides" value="IDFilter_3_2_input.idXML"/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_4_input.idXML"/>
      <output name="out" file="IDFilter_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.08"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_5_input.idXML"/>
      <output name="out" file="IDFilter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="32.0"/>
        <param name="prot" value="25.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_5_input.idXML"/>
      <output name="out" file="IDFilter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="32.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_5_input.idXML"/>
      <output name="out" file="IDFilter_5b_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="25.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_5_input.idXML"/>
      <output name="out" file="IDFilter_5c_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="true"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="25.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_6_input.idXML"/>
      <output name="out" file="IDFilter_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="2"/>
        <param name="n_protein_hits" value="10"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="true"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_7_input.idXML"/>
      <output name="out" file="IDFilter_7_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_8_input.idXML"/>
      <output name="out" file="IDFilter_8_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value="200:350"/>
        <param name="mz" value="999:1000"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_9_input.idXML"/>
      <output name="out" file="IDFilter_9_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.05"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_10_input.idXML"/>
      <output name="out" file="IDFilter_10_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="true"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.3"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_11_input.idXML"/>
      <output name="out" file="IDFilter_11_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="true"/>
      <param name="delete_unreferenced_peptide_hits" value="true"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_12_input.idXML"/>
      <output name="out" file="IDFilter_12_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="fasta" value="IDFilter_12_input.fasta"/>
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_13_input.idXML"/>
      <output name="out" file="IDFilter_13_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="fasta" value="IDFilter_13_input.fasta"/>
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_14_input.idXML"/>
      <output name="out" file="IDFilter_14_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="fasta" value="IDFilter_14_input.fasta"/>
        <param name="enzyme" value="Trypsin/P"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_15_input.idXML"/>
      <output name="out" file="IDFilter_15_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="fasta" value="IDFilter_15_input.fasta"/>
        <param name="enzyme" value="Trypsin/P"/>
        <param name="specificity" value="semi"/>
        <param name="missed_cleavages" value="1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_16_input.idXML"/>
      <output name="out" file="IDFilter_16_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="fasta" value="IDFilter_16_input.fasta"/>
        <param name="enzyme" value="Trypsin/P"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="1"/>
        <param name="methionine_cleavage" value="true"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
      <output name="out" file="IDFilter_17_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":2"/>
        <param name="enzyme" value="Lys-N"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
      <output name="out" file="IDFilter_18_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value="2:"/>
        <param name="enzyme" value="Lys-N"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
      <output name="out" file="IDFilter_19_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value="1:3"/>
        <param name="enzyme" value="Lys-N"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value=""/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
      <output name="out" file="IDFilter_20_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value="1:0"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value="&quot;calcMZ&quot; &quot;gt&quot; &quot;750.0&quot;"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_16_input.idXML"/>
      <output name="out" file="IDFilter_21_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="remove_duplicate_psm" value="false"/>
        <param name="remove_peptide_hits_by_metavalue" value="&quot;end&quot; &quot;ne&quot; &quot;23&quot;"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFilter_16_input.idXML"/>
      <output name="out" file="IDFilter_22_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="var_mods" value="false"/>
      <param name="remove_shared_peptides" value="false"/>
      <param name="keep_unreferenced_protein_hits" value="false"/>
      <param name="remove_decoys" value="false"/>
      <param name="delete_unreferenced_peptide_hits" value="false"/>
      <section name="precursor">
        <param name="rt" value=":"/>
        <param name="mz" value=":"/>
        <param name="length" value=":"/>
        <param name="charge" value=":"/>
      </section>
      <section name="score">
        <param name="pep" value="0.0"/>
        <param name="prot" value="0.0"/>
      </section>
      <section name="whitelist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="blacklist">
        <param name="protein_accessions" value=""/>
        <param name="ignore_modifications" value="false"/>
        <param name="modifications" value=""/>
      </section>
      <section name="in_silico_digestion">
        <param name="enzyme" value="Trypsin"/>
        <param name="specificity" value="full"/>
        <param name="missed_cleavages" value="-1"/>
        <param name="methionine_cleavage" value="false"/>
      </section>
      <section name="missed_cleavages">
        <param name="number_of_missed_cleavages" value=":"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="rt">
        <param name="p_value" value="0.0"/>
        <param name="p_value_1st_dim" value="0.0"/>
      </section>
      <section name="mz">
        <param name="error" value="-1.0"/>
        <param name="unit" value="ppm"/>
      </section>
      <section name="best">
        <param name="n_peptide_hits" value="0"/>
        <param name="n_protein_hits" value="0"/>
        <param name="strict" value="false"/>
        <param name="n_to_m_peptide_hits" value=":"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_IDMapper">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_charge" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="id" value="IDMapper_1_input.idXML"/>
      <param name="in" value="IDMapper_1_input.featureXML"/>
      <output name="out" file="IDMapper_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="rt_tolerance" value="5.0"/>
      <param name="mz_tolerance" value="1.0"/>
      <param name="mz_measure" value="Da"/>
      <param name="mz_reference" value="precursor"/>
      <section name="feature">
        <param name="use_centroid_rt" value="false"/>
        <param name="use_centroid_mz" value="false"/>
      </section>
      <section name="consensus">
        <param name="use_subelements" value="false"/>
        <param name="annotate_ids_with_subelements" value="false"/>
      </section>
      <section name="spectra"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_charge" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="id" value="IDMapper_2_input.idXML"/>
      <param name="in" value="IDMapper_2_input.consensusXML"/>
      <output name="out" file="IDMapper_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="rt_tolerance" value="5.0"/>
      <param name="mz_tolerance" value="1.0"/>
      <param name="mz_measure" value="Da"/>
      <param name="mz_reference" value="precursor"/>
      <section name="feature">
        <param name="use_centroid_rt" value="false"/>
        <param name="use_centroid_mz" value="true"/>
      </section>
      <section name="consensus">
        <param name="use_subelements" value="false"/>
        <param name="annotate_ids_with_subelements" value="false"/>
      </section>
      <section name="spectra"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_charge" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="id" value="IDMapper_3_input.idXML"/>
      <param name="in" value="IDMapper_3_input.featureXML"/>
      <output name="out" file="IDMapper_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="rt_tolerance" value="4.0"/>
      <param name="mz_tolerance" value="3.0"/>
      <param name="mz_measure" value="ppm"/>
      <param name="mz_reference" value="precursor"/>
      <section name="feature">
        <param name="use_centroid_rt" value="false"/>
        <param name="use_centroid_mz" value="true"/>
      </section>
      <section name="consensus">
        <param name="use_subelements" value="false"/>
        <param name="annotate_ids_with_subelements" value="false"/>
      </section>
      <section name="spectra"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_charge" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="id" value="IDMapper_4_input.idXML"/>
      <param name="in" value="IDMapper_4_input.featureXML"/>
      <output name="out" file="IDMapper_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="rt_tolerance" value="10.0"/>
      <param name="mz_tolerance" value="20.0"/>
      <param name="mz_measure" value="ppm"/>
      <param name="mz_reference" value="peptide"/>
      <section name="feature">
        <param name="use_centroid_rt" value="false"/>
        <param name="use_centroid_mz" value="true"/>
      </section>
      <section name="consensus">
        <param name="use_subelements" value="false"/>
        <param name="annotate_ids_with_subelements" value="false"/>
      </section>
      <section name="spectra">
        <param name="_in" value="IDMapper_4_input.mzML"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="ignore_charge" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="id" value="IDMapper_5_input.idXML"/>
      <param name="in" value="IDMapper_5_input.featureXML"/>
      <output name="out" file="IDMapper_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="rt_tolerance" value="20.0"/>
      <param name="mz_tolerance" value="10.0"/>
      <param name="mz_measure" value="ppm"/>
      <param name="mz_reference" value="peptide"/>
      <section name="feature">
        <param name="use_centroid_rt" value="false"/>
        <param name="use_centroid_mz" value="false"/>
      </section>
      <section name="consensus">
        <param name="use_subelements" value="false"/>
        <param name="annotate_ids_with_subelements" value="false"/>
      </section>
      <section name="spectra">
        <param name="_in" value="IDMapper_5_input.mzML"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_IDMassAccuracy">
    <test expect_num_outputs="5">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="number_of_bins" value="10"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="spectra.mzML"/>
      <param name="id_in" value="MSGFPlusAdapter_1_out.idXML"/>
      <output name="out_precursor" file="IDMassAccuracy_1_out_precursor.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="precursor_error_ppm" value="false"/>
      <output name="out_fragment" file="IDMassAccuracy_1_out_fragment.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="fragment_error_ppm" value="false"/>
      <param name="fragment_mass_tolerance" value="0.5"/>
      <output name="out_precursor_fit" file="IDMassAccuracy_1_out_precursor_fit.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <output name="out_fragment_fit" file="IDMassAccuracy_1_out_fragment_fit.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_precursor_FLAG,out_fragment_FLAG,out_precursor_fit_FLAG,out_fragment_fit_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_IDMerger">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDMerger_1_input1.idXML,IDMerger_1_input2.idXML"/>
      <output name="out" file="IDMerger_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="annotate_file_origin" value="true"/>
      <param name="pepxml_protxml" value="false"/>
      <param name="merge_proteins_add_PSMs" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDMerger_2_input1.idXML,IDMerger_2_input2.idXML"/>
      <output name="out" file="IDMerger_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="pepxml_protxml" value="true"/>
      <param name="merge_proteins_add_PSMs" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDMerger_1_input1.idXML,IDMerger_1_input1_2.idXML"/>
      <output name="out" file="IDMerger_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="pepxml_protxml" value="false"/>
      <param name="merge_proteins_add_PSMs" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="degenerated_empty.idXML,degenerated_empty_2.idXML"/>
      <output name="out" file="IDMerger_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="pepxml_protxml" value="false"/>
      <param name="merge_proteins_add_PSMs" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDMerger_2_input1.idXML"/>
      <output name="out" file="IDMerger_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="add_to" value="IDMerger_5_input1.idXML"/>
      <param name="annotate_file_origin" value="false"/>
      <param name="pepxml_protxml" value="false"/>
      <param name="merge_proteins_add_PSMs" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDRipper_3_input1.idXML,IDRipper_3_input2.idXML"/>
      <output name="out" file="IDRipper_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="annotate_file_origin" value="true"/>
      <param name="pepxml_protxml" value="false"/>
      <param name="merge_proteins_add_PSMs" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_IDPosteriorErrorProbability">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="fdr_for_targets_smaller" value="0.05"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDPosteriorErrorProbability_Mascot_input.idXML"/>
      <output name="out" file="IDPosteriorErrorProbability_Mascot_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="split_charge" value="false"/>
      <param name="top_hits_only" value="false"/>
      <param name="ignore_bad_data" value="false"/>
      <param name="prob_correct" value="false"/>
      <section name="fit_algorithm">
        <param name="number_of_bins" value="100"/>
        <param name="incorrectly_assigned" value="Gumbel"/>
        <param name="max_nr_iterations" value="1000"/>
        <param name="neg_log_delta" value="6"/>
        <param name="outlier_handling" value="ignore_iqr_outliers"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="fdr_for_targets_smaller" value="0.05"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDPosteriorErrorProbability_XTandem_input.idXML"/>
      <output name="out" file="IDPosteriorErrorProbability_XTandem_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="split_charge" value="false"/>
      <param name="top_hits_only" value="false"/>
      <param name="ignore_bad_data" value="false"/>
      <param name="prob_correct" value="false"/>
      <section name="fit_algorithm">
        <param name="number_of_bins" value="100"/>
        <param name="incorrectly_assigned" value="Gumbel"/>
        <param name="max_nr_iterations" value="1000"/>
        <param name="neg_log_delta" value="6"/>
        <param name="outlier_handling" value="ignore_iqr_outliers"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="fdr_for_targets_smaller" value="0.05"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDPosteriorErrorProbability_OMSSA_input.idXML"/>
      <output name="out" file="IDPosteriorErrorProbability_OMSSA_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="split_charge" value="false"/>
      <param name="top_hits_only" value="false"/>
      <param name="ignore_bad_data" value="false"/>
      <param name="prob_correct" value="false"/>
      <section name="fit_algorithm">
        <param name="number_of_bins" value="100"/>
        <param name="incorrectly_assigned" value="Gumbel"/>
        <param name="max_nr_iterations" value="1000"/>
        <param name="neg_log_delta" value="6"/>
        <param name="outlier_handling" value="ignore_iqr_outliers"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="fdr_for_targets_smaller" value="0.05"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDPosteriorErrorProbability_OMSSA_input2.idXML"/>
      <output name="out" file="IDPosteriorErrorProbability_OMSSA_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="split_charge" value="true"/>
      <param name="top_hits_only" value="false"/>
      <param name="ignore_bad_data" value="false"/>
      <param name="prob_correct" value="false"/>
      <section name="fit_algorithm">
        <param name="number_of_bins" value="100"/>
        <param name="incorrectly_assigned" value="Gumbel"/>
        <param name="max_nr_iterations" value="1000"/>
        <param name="neg_log_delta" value="6"/>
        <param name="outlier_handling" value="ignore_iqr_outliers"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="fdr_for_targets_smaller" value="0.05"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDPosteriorErrorProbability_XTandem_input2.idXML"/>
      <output name="out" file="IDPosteriorErrorProbability_XTandem_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="split_charge" value="true"/>
      <param name="top_hits_only" value="false"/>
      <param name="ignore_bad_data" value="false"/>
      <param name="prob_correct" value="false"/>
      <section name="fit_algorithm">
        <param name="number_of_bins" value="100"/>
        <param name="incorrectly_assigned" value="Gumbel"/>
        <param name="max_nr_iterations" value="1000"/>
        <param name="neg_log_delta" value="6"/>
        <param name="outlier_handling" value="ignore_iqr_outliers"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="fdr_for_targets_smaller" value="0.05"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDPosteriorErrorProbability_Mascot_input2.idXML"/>
      <output name="out" file="IDPosteriorErrorProbability_Mascot_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="split_charge" value="true"/>
      <param name="top_hits_only" value="false"/>
      <param name="ignore_bad_data" value="false"/>
      <param name="prob_correct" value="false"/>
      <section name="fit_algorithm">
        <param name="number_of_bins" value="100"/>
        <param name="incorrectly_assigned" value="Gumbel"/>
        <param name="max_nr_iterations" value="1000"/>
        <param name="neg_log_delta" value="6"/>
        <param name="outlier_handling" value="ignore_iqr_outliers"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="fdr_for_targets_smaller" value="0.05"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDPosteriorErrorProbability_bad_data.idXML"/>
      <output name="out" file="IDPosteriorErrorProbability_bad_data_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="split_charge" value="false"/>
      <param name="top_hits_only" value="false"/>
      <param name="ignore_bad_data" value="true"/>
      <param name="prob_correct" value="false"/>
      <section name="fit_algorithm">
        <param name="number_of_bins" value="100"/>
        <param name="incorrectly_assigned" value="Gumbel"/>
        <param name="max_nr_iterations" value="1000"/>
        <param name="neg_log_delta" value="6"/>
        <param name="outlier_handling" value="ignore_iqr_outliers"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="fdr_for_targets_smaller" value="0.05"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDPosteriorErrorProbability_OMSSA_input.idXML"/>
      <output name="out" file="IDPosteriorErrorProbability_prob_correct_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="split_charge" value="false"/>
      <param name="top_hits_only" value="false"/>
      <param name="ignore_bad_data" value="false"/>
      <param name="prob_correct" value="true"/>
      <section name="fit_algorithm">
        <param name="number_of_bins" value="100"/>
        <param name="incorrectly_assigned" value="Gumbel"/>
        <param name="max_nr_iterations" value="1000"/>
        <param name="neg_log_delta" value="6"/>
        <param name="outlier_handling" value="ignore_iqr_outliers"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_IDRipper"/>
  <xml name="autotest_IDRTCalibration">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDRTCalibration_1_input.idXML"/>
      <output name="out" file="IDRTCalibration_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="calibrant_1_reference" value="0.1"/>
      <param name="calibrant_2_reference" value="0.9"/>
      <param name="calibrant_1_input" value="10.0"/>
      <param name="calibrant_2_input" value="90.0"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="degenerated_empty.idXML"/>
      <output name="out" file="IDRTCalibration_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="calibrant_1_reference" value="0.1"/>
      <param name="calibrant_2_reference" value="0.9"/>
      <param name="calibrant_1_input" value="10.0"/>
      <param name="calibrant_2_input" value="90.0"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_IDScoreSwitcher">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDFileConverter_12_output.idXML"/>
      <output name="out" file="IDFileConverter_13_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="new_score" value="Percolator_PEP"/>
      <param name="new_score_orientation" value="lower_better"/>
      <param name="new_score_type" value="Posterior Error Probability"/>
      <param name="old_score" value="Percolator_qvalue"/>
      <param name="proteins" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDScoreSwitcher_2_input.idXML"/>
      <output name="out" file="IDScoreSwitcher_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="new_score" value="Posterior Probability_score"/>
      <param name="new_score_orientation" value="higher_better"/>
      <param name="new_score_type" value="Posterior Probability"/>
      <param name="old_score" value=""/>
      <param name="proteins" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_IDSplitter">
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDMapper_1_output.featureXML"/>
      <output name="out" file="IDSplitter_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="id_out" file="IDSplitter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,id_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_InternalCalibration">
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="InternalCalibration_1_BSA1.mzML"/>
      <output name="out" file="InternalCalibration_1_BSA1_out.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="ppm_match_tolerance" value="25.0"/>
      <param name="ms_level" value="1"/>
      <param name="RT_chunking" value="-1.0"/>
      <section name="cal">
        <param name="id_in" value="InternalCalibration_1_BSA1_OMSSA.idXML"/>
        <param name="lock_require_mono" value="false"/>
        <param name="lock_require_iso" value="false"/>
        <param name="model_type" value="linear"/>
      </section>
      <section name="RANSAC">
        <param name="enabled" value="true"/>
        <param name="threshold" value="1.0"/>
        <param name="pc_inliers" value="30"/>
        <param name="iter" value="500"/>
      </section>
      <section name="goodness">
        <param name="median" value="4.0"/>
        <param name="MAD" value="2.0"/>
      </section>
      <section name="quality_control"/>
      <output name="quality_control_models" file="InternalCalibration_1_models.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <output name="quality_control_residuals" file="InternalCalibration_1_residuals.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,models_FLAG,residuals_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="InternalCalibration_2_lockmass.mzML.gz"/>
      <output name="out" file="InternalCalibration_2_lockmass.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="ppm_match_tolerance" value="25.0"/>
      <param name="ms_level" value="1 2 3"/>
      <param name="RT_chunking" value="60.0"/>
      <section name="cal">
        <param name="lock_in" value="InternalCalibration_2_lock.csv" ftype="csv"/>
        <param name="lock_require_mono" value="true"/>
        <param name="lock_require_iso" value="false"/>
        <param name="model_type" value="linear"/>
      </section>
      <section name="RANSAC">
        <param name="enabled" value="false"/>
        <param name="threshold" value="10.0"/>
        <param name="pc_inliers" value="30"/>
        <param name="iter" value="70"/>
      </section>
      <section name="goodness">
        <param name="median" value="4.0"/>
        <param name="MAD" value="2.0"/>
      </section>
      <section name="quality_control"/>
      <output name="quality_control_models" file="InternalCalibration_2_models.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <output name="quality_control_residuals" file="InternalCalibration_2_residuals.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,models_FLAG,residuals_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_IsobaricAnalyzer">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="type" value="itraq4plex"/>
      <param name="in" value="IsobaricAnalyzer_input_1.mzML"/>
      <output name="out" file="IsobaricAnalyzer_output_1.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="extraction">
        <param name="select_activation" value=""/>
        <param name="reporter_mass_shift" value="0.1"/>
        <param name="min_precursor_intensity" value="1.0"/>
        <param name="keep_unannotated_precursor" value="true"/>
        <param name="min_reporter_intensity" value="0.0"/>
        <param name="discard_low_intensity_quantifications" value="false"/>
        <param name="min_precursor_purity" value="0.0"/>
        <param name="precursor_isotope_deviation" value="10.0"/>
        <param name="purity_interpolation" value="true"/>
      </section>
      <section name="itraq4plex">
        <param name="channel_114_description" value="l1"/>
        <param name="channel_115_description" value="l2"/>
        <param name="channel_116_description" value="l3"/>
        <param name="channel_117_description" value="lung"/>
        <param name="reference_channel" value="114"/>
        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
      </section>
      <section name="itraq8plex">
        <param name="channel_113_description" value=""/>
        <param name="channel_114_description" value=""/>
        <param name="channel_115_description" value=""/>
        <param name="channel_116_description" value=""/>
        <param name="channel_117_description" value=""/>
        <param name="channel_118_description" value=""/>
        <param name="channel_119_description" value=""/>
        <param name="channel_121_description" value=""/>
        <param name="reference_channel" value="113"/>
        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
      </section>
      <section name="quantification">
        <param name="isotope_correction" value="true"/>
        <param name="normalization" value="false"/>
      </section>
      <section name="tmt10plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
      </section>
      <section name="tmt11plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131N_description" value=""/>
        <param name="channel_131C_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
      </section>
      <section name="tmt16plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131N_description" value=""/>
        <param name="channel_131C_description" value=""/>
        <param name="channel_132N_description" value=""/>
        <param name="channel_132C_description" value=""/>
        <param name="channel_133N_description" value=""/>
        <param name="channel_133C_description" value=""/>
        <param name="channel_134N_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
      </section>
      <section name="tmt6plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127_description" value=""/>
        <param name="channel_128_description" value=""/>
        <param name="channel_129_description" value=""/>
        <param name="channel_130_description" value=""/>
        <param name="channel_131_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="type" value="itraq4plex"/>
      <param name="in" value="TMTTenPlexMethod_test.mzML"/>
      <output name="out" file="TMTTenPlexMethod_test.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="extraction">
        <param name="select_activation" value="High-energy collision-induced dissociation"/>
        <param name="reporter_mass_shift" value="0.002"/>
        <param name="min_precursor_intensity" value="1.0"/>
        <param name="keep_unannotated_precursor" value="true"/>
        <param name="min_reporter_intensity" value="0.0"/>
        <param name="discard_low_intensity_quantifications" value="false"/>
        <param name="min_precursor_purity" value="0.0"/>
        <param name="precursor_isotope_deviation" value="10.0"/>
        <param name="purity_interpolation" value="true"/>
      </section>
      <section name="itraq4plex">
        <param name="channel_114_description" value=""/>
        <param name="channel_115_description" value=""/>
        <param name="channel_116_description" value=""/>
        <param name="channel_117_description" value=""/>
        <param name="reference_channel" value="114"/>
        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
      </section>
      <section name="itraq8plex">
        <param name="channel_113_description" value=""/>
        <param name="channel_114_description" value=""/>
        <param name="channel_115_description" value=""/>
        <param name="channel_116_description" value=""/>
        <param name="channel_117_description" value=""/>
        <param name="channel_118_description" value=""/>
        <param name="channel_119_description" value=""/>
        <param name="channel_121_description" value=""/>
        <param name="reference_channel" value="113"/>
        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
      </section>
      <section name="quantification">
        <param name="isotope_correction" value="true"/>
        <param name="normalization" value="false"/>
      </section>
      <section name="tmt10plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/5.0/0.0&quot; &quot;0.0/0.2/4.6/0.0&quot; &quot;0.0/0.2/4.6/0.3&quot; &quot;0.0/0.9/4.7/0.2&quot; &quot;0.0/0.5/3.2/0.0&quot; &quot;0.0/0.7/3.3/0.0&quot; &quot;0.0/1.3/2.5/0.0&quot; &quot;0.0/1.2/2.8/2.7&quot; &quot;0.0/1.5/2.0/0.0&quot; &quot;0.0/1.5/1.9/0.0&quot;"/>
      </section>
      <section name="tmt11plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131N_description" value=""/>
        <param name="channel_131C_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
      </section>
      <section name="tmt16plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131N_description" value=""/>
        <param name="channel_131C_description" value=""/>
        <param name="channel_132N_description" value=""/>
        <param name="channel_132C_description" value=""/>
        <param name="channel_133N_description" value=""/>
        <param name="channel_133C_description" value=""/>
        <param name="channel_134N_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
      </section>
      <section name="tmt6plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127_description" value=""/>
        <param name="channel_128_description" value=""/>
        <param name="channel_129_description" value=""/>
        <param name="channel_130_description" value=""/>
        <param name="channel_131_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="type" value="itraq4plex"/>
      <param name="in" value="TMTTenPlexMethod_test.mzML"/>
      <output name="out" file="TMTElevenPlexMethod_test.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="extraction">
        <param name="select_activation" value="High-energy collision-induced dissociation"/>
        <param name="reporter_mass_shift" value="0.002"/>
        <param name="min_precursor_intensity" value="1.0"/>
        <param name="keep_unannotated_precursor" value="true"/>
        <param name="min_reporter_intensity" value="0.0"/>
        <param name="discard_low_intensity_quantifications" value="false"/>
        <param name="min_precursor_purity" value="0.0"/>
        <param name="precursor_isotope_deviation" value="10.0"/>
        <param name="purity_interpolation" value="true"/>
      </section>
      <section name="itraq4plex">
        <param name="channel_114_description" value=""/>
        <param name="channel_115_description" value=""/>
        <param name="channel_116_description" value=""/>
        <param name="channel_117_description" value=""/>
        <param name="reference_channel" value="114"/>
        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
      </section>
      <section name="itraq8plex">
        <param name="channel_113_description" value=""/>
        <param name="channel_114_description" value=""/>
        <param name="channel_115_description" value=""/>
        <param name="channel_116_description" value=""/>
        <param name="channel_117_description" value=""/>
        <param name="channel_118_description" value=""/>
        <param name="channel_119_description" value=""/>
        <param name="channel_121_description" value=""/>
        <param name="reference_channel" value="113"/>
        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
      </section>
      <section name="quantification">
        <param name="isotope_correction" value="true"/>
        <param name="normalization" value="false"/>
      </section>
      <section name="tmt10plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
      </section>
      <section name="tmt11plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131N_description" value=""/>
        <param name="channel_131C_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
      </section>
      <section name="tmt16plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131N_description" value=""/>
        <param name="channel_131C_description" value=""/>
        <param name="channel_132N_description" value=""/>
        <param name="channel_132C_description" value=""/>
        <param name="channel_133N_description" value=""/>
        <param name="channel_133C_description" value=""/>
        <param name="channel_134N_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
      </section>
      <section name="tmt6plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127_description" value=""/>
        <param name="channel_128_description" value=""/>
        <param name="channel_129_description" value=""/>
        <param name="channel_130_description" value=""/>
        <param name="channel_131_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="type" value="tmt10plex"/>
      <param name="in" value="MS3_nonHierarchical.mzML"/>
      <output name="out" file="MS3TMT10Plex_test.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="extraction">
        <param name="select_activation" value="Collision-induced dissociation"/>
        <param name="reporter_mass_shift" value="0.002"/>
        <param name="min_precursor_intensity" value="1.0"/>
        <param name="keep_unannotated_precursor" value="true"/>
        <param name="min_reporter_intensity" value="0.0"/>
        <param name="discard_low_intensity_quantifications" value="false"/>
        <param name="min_precursor_purity" value="0.0"/>
        <param name="precursor_isotope_deviation" value="10.0"/>
        <param name="purity_interpolation" value="true"/>
      </section>
      <section name="itraq4plex">
        <param name="channel_114_description" value=""/>
        <param name="channel_115_description" value=""/>
        <param name="channel_116_description" value=""/>
        <param name="channel_117_description" value=""/>
        <param name="reference_channel" value="114"/>
        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
      </section>
      <section name="itraq8plex">
        <param name="channel_113_description" value=""/>
        <param name="channel_114_description" value=""/>
        <param name="channel_115_description" value=""/>
        <param name="channel_116_description" value=""/>
        <param name="channel_117_description" value=""/>
        <param name="channel_118_description" value=""/>
        <param name="channel_119_description" value=""/>
        <param name="channel_121_description" value=""/>
        <param name="reference_channel" value="113"/>
        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
      </section>
      <section name="quantification">
        <param name="isotope_correction" value="true"/>
        <param name="normalization" value="false"/>
      </section>
      <section name="tmt10plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/5.09/0.0&quot; &quot;0.0/0.25/5.27/0.0&quot; &quot;0.0/0.37/5.36/0.15&quot; &quot;0.0/0.65/4.17/0.1&quot; &quot;0.08/0.49/3.06/0.0&quot; &quot;0.01/0.71/3.07/0.0&quot; &quot;0.0/1.32/2.62/0.0&quot; &quot;0.02/1.28/2.75/2.53&quot; &quot;0.03/2.08/2.23/0.0&quot; &quot;0.08/1.99/1.65/0.0&quot;"/>
      </section>
      <section name="tmt11plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131N_description" value=""/>
        <param name="channel_131C_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
      </section>
      <section name="tmt16plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127N_description" value=""/>
        <param name="channel_127C_description" value=""/>
        <param name="channel_128N_description" value=""/>
        <param name="channel_128C_description" value=""/>
        <param name="channel_129N_description" value=""/>
        <param name="channel_129C_description" value=""/>
        <param name="channel_130N_description" value=""/>
        <param name="channel_130C_description" value=""/>
        <param name="channel_131N_description" value=""/>
        <param name="channel_131C_description" value=""/>
        <param name="channel_132N_description" value=""/>
        <param name="channel_132C_description" value=""/>
        <param name="channel_133N_description" value=""/>
        <param name="channel_133C_description" value=""/>
        <param name="channel_134N_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
      </section>
      <section name="tmt6plex">
        <param name="channel_126_description" value=""/>
        <param name="channel_127_description" value=""/>
        <param name="channel_128_description" value=""/>
        <param name="channel_129_description" value=""/>
        <param name="channel_130_description" value=""/>
        <param name="channel_131_description" value=""/>
        <param name="reference_channel" value="126"/>
        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_LabeledEval">
</xml>
  <xml name="autotest_LowMemPeakPickerHiResRandomAccess">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerHiRes_RandomAccess_input.mzML"/>
      <output name="out" file="LowMemPeakPickerHiRes_RandomAccess_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="1.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value="1"/>
        <param name="report_FWHM" value="false"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_LowMemPeakPickerHiRes">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerHiRes_input.mzML"/>
      <output name="out" file="LowMemPeakPickerHiRes_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="1.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value="1"/>
        <param name="report_FWHM" value="false"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_LuciphorAdapter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="LuciphorAdapter_1_input.mzML"/>
      <param name="id" value="LuciphorAdapter_1_input.idXML"/>
      <output name="out" file="LuciphorAdapter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="fragment_method" value="CID"/>
      <param name="fragment_mass_tolerance" value="0.5"/>
      <param name="fragment_error_units" value="Da"/>
      <param name="min_mz" value="150.0"/>
      <param name="target_modifications" value="Phospho (S),Phospho (T),Phospho (Y)"/>
      <param name="neutral_losses" value="&quot;sty -H3PO4 -97.97690&quot;"/>
      <param name="decoy_mass" value="79.966331"/>
      <param name="decoy_neutral_losses" value="&quot;X -H3PO4 -97.97690&quot;"/>
      <param name="max_charge_state" value="5"/>
      <param name="max_peptide_length" value="40"/>
      <param name="max_num_perm" value="16384"/>
      <param name="modeling_score_threshold" value="0.95"/>
      <param name="scoring_threshold" value="0.0"/>
      <param name="min_num_psms_model" value="1"/>
      <param name="run_mode" value="0"/>
      <param name="rt_tolerance" value="0.01"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MapAlignerIdentification">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerIdentification_1_input1.featureXML,MapAlignerIdentification_1_input2.featureXML"/>
      <output_collection name="out" count="2"/>
      <section name="reference">
        <param name="index" value="0"/>
      </section>
      <section name="algorithm">
        <param name="score_cutoff" value="false"/>
        <param name="min_score" value="0.05"/>
        <param name="min_run_occur" value="2"/>
        <param name="max_rt_shift" value="0.0"/>
        <param name="use_unassigned_peptides" value="true"/>
        <param name="use_feature_rt" value="false"/>
      </section>
      <section name="model">
        <param name="type" value="b_spline"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerIdentification_1_input1.featureXML"/>
      <output_collection name="out" count="1"/>
      <section name="reference">
        <param name="file" value="MapAlignerIdentification_1_input2.featureXML"/>
        <param name="index" value="0"/>
      </section>
      <section name="algorithm">
        <param name="score_cutoff" value="false"/>
        <param name="min_score" value="0.05"/>
        <param name="min_run_occur" value="2"/>
        <param name="max_rt_shift" value="0.0"/>
        <param name="use_unassigned_peptides" value="true"/>
        <param name="use_feature_rt" value="false"/>
      </section>
      <section name="model">
        <param name="type" value="b_spline"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerIdentification_1_input2.featureXML,MapAlignerIdentification_1_input1.featureXML"/>
      <output_collection name="out" count="2"/>
      <section name="reference">
        <param name="index" value="1"/>
      </section>
      <section name="algorithm">
        <param name="score_cutoff" value="false"/>
        <param name="min_score" value="0.05"/>
        <param name="min_run_occur" value="2"/>
        <param name="max_rt_shift" value="0.0"/>
        <param name="use_unassigned_peptides" value="true"/>
        <param name="use_feature_rt" value="false"/>
      </section>
      <section name="model">
        <param name="type" value="b_spline"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerIdentification_1_input1.featureXML,MapAlignerIdentification_1_input2.featureXML"/>
      <output_collection name="out" count="2"/>
      <section name="reference">
        <param name="index" value="2"/>
      </section>
      <section name="algorithm">
        <param name="score_cutoff" value="false"/>
        <param name="min_score" value="0.05"/>
        <param name="min_run_occur" value="2"/>
        <param name="max_rt_shift" value="0.0"/>
        <param name="use_unassigned_peptides" value="true"/>
        <param name="use_feature_rt" value="false"/>
      </section>
      <section name="model">
        <param name="type" value="b_spline"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerIdentification_5_input1.consensusXML,MapAlignerIdentification_5_input2.consensusXML"/>
      <output_collection name="out" count="2"/>
      <section name="reference">
        <param name="index" value="0"/>
      </section>
      <section name="algorithm">
        <param name="score_cutoff" value="false"/>
        <param name="min_score" value="0.05"/>
        <param name="min_run_occur" value="2"/>
        <param name="max_rt_shift" value="0.0"/>
        <param name="use_unassigned_peptides" value="true"/>
        <param name="use_feature_rt" value="false"/>
      </section>
      <section name="model">
        <param name="type" value="b_spline"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerIdentification_1_input1.featureXML"/>
      <output_collection name="trafo_out" count="1"/>
      <section name="reference">
        <param name="file" value="MapAlignerIdentification_1_input2.featureXML"/>
        <param name="index" value="0"/>
      </section>
      <section name="algorithm">
        <param name="score_cutoff" value="false"/>
        <param name="min_score" value="0.05"/>
        <param name="min_run_occur" value="2"/>
        <param name="max_rt_shift" value="0.0"/>
        <param name="use_unassigned_peptides" value="true"/>
        <param name="use_feature_rt" value="false"/>
      </section>
      <section name="model">
        <param name="type" value="b_spline"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MapAlignerPoseClustering">
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerPoseClustering_1_input1.featureXML,MapAlignerPoseClustering_1_input2.featureXML,MapAlignerPoseClustering_1_input3.featureXML"/>
      <output_collection name="out" count="3"/>
      <output_collection name="trafo_out" count="3"/>
      <section name="reference">
        <param name="index" value="0"/>
      </section>
      <section name="algorithm">
        <param name="max_num_peaks_considered" value="400"/>
        <section name="superimposer">
          <param name="mz_pair_max_distance" value="0.5"/>
          <param name="rt_pair_distance_fraction" value="0.1"/>
          <param name="num_used_points" value="2000"/>
          <param name="scaling_bucket_size" value="0.005"/>
          <param name="shift_bucket_size" value="3.0"/>
          <param name="max_shift" value="1000.0"/>
          <param name="max_scaling" value="2.0"/>
          <param name="dump_buckets" value=""/>
          <param name="dump_pairs" value=""/>
        </section>
        <section name="pairfinder">
          <param name="second_nearest_gap" value="2.0"/>
          <param name="use_identifications" value="false"/>
          <param name="ignore_charge" value="true"/>
          <param name="ignore_adduct" value="true"/>
          <section name="distance_RT">
            <param name="max_difference" value="30.0"/>
            <param name="exponent" value="1.0"/>
            <param name="weight" value="1.0"/>
          </section>
          <section name="distance_MZ">
            <param name="max_difference" value="0.3"/>
            <param name="unit" value="Da"/>
            <param name="exponent" value="2.0"/>
            <param name="weight" value="1.0"/>
          </section>
          <section name="distance_intensity">
            <param name="exponent" value="1.0"/>
            <param name="weight" value="0.0"/>
            <param name="log_transform" value="disabled"/>
          </section>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,trafo_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerPoseClustering_2_input1.mzML,MapAlignerPoseClustering_2_input2.mzML,MapAlignerPoseClustering_2_input3.mzML"/>
      <output_collection name="out" count="3"/>
      <section name="reference">
        <param name="index" value="0"/>
      </section>
      <section name="algorithm">
        <param name="max_num_peaks_considered" value="400"/>
        <section name="superimposer">
          <param name="mz_pair_max_distance" value="0.5"/>
          <param name="rt_pair_distance_fraction" value="0.1"/>
          <param name="num_used_points" value="2000"/>
          <param name="scaling_bucket_size" value="0.005"/>
          <param name="shift_bucket_size" value="3.0"/>
          <param name="max_shift" value="1000.0"/>
          <param name="max_scaling" value="2.0"/>
          <param name="dump_buckets" value=""/>
          <param name="dump_pairs" value=""/>
        </section>
        <section name="pairfinder">
          <param name="second_nearest_gap" value="2.0"/>
          <param name="use_identifications" value="false"/>
          <param name="ignore_charge" value="false"/>
          <param name="ignore_adduct" value="true"/>
          <section name="distance_RT">
            <param name="max_difference" value="100.0"/>
            <param name="exponent" value="1.0"/>
            <param name="weight" value="1.0"/>
          </section>
          <section name="distance_MZ">
            <param name="max_difference" value="0.3"/>
            <param name="unit" value="Da"/>
            <param name="exponent" value="2.0"/>
            <param name="weight" value="1.0"/>
          </section>
          <section name="distance_intensity">
            <param name="exponent" value="1.0"/>
            <param name="weight" value="0.0"/>
            <param name="log_transform" value="disabled"/>
          </section>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerPoseClustering_1_input2.featureXML,MapAlignerPoseClustering_1_input3.featureXML"/>
      <output_collection name="out" count="2"/>
      <section name="reference">
        <param name="file" value="MapAlignerPoseClustering_1_input1.featureXML"/>
        <param name="index" value="0"/>
      </section>
      <section name="algorithm">
        <param name="max_num_peaks_considered" value="400"/>
        <section name="superimposer">
          <param name="mz_pair_max_distance" value="0.5"/>
          <param name="rt_pair_distance_fraction" value="0.1"/>
          <param name="num_used_points" value="2000"/>
          <param name="scaling_bucket_size" value="0.005"/>
          <param name="shift_bucket_size" value="3.0"/>
          <param name="max_shift" value="1000.0"/>
          <param name="max_scaling" value="2.0"/>
          <param name="dump_buckets" value=""/>
          <param name="dump_pairs" value=""/>
        </section>
        <section name="pairfinder">
          <param name="second_nearest_gap" value="2.0"/>
          <param name="use_identifications" value="false"/>
          <param name="ignore_charge" value="true"/>
          <param name="ignore_adduct" value="true"/>
          <section name="distance_RT">
            <param name="max_difference" value="30.0"/>
            <param name="exponent" value="1.0"/>
            <param name="weight" value="1.0"/>
          </section>
          <section name="distance_MZ">
            <param name="max_difference" value="0.3"/>
            <param name="unit" value="Da"/>
            <param name="exponent" value="2.0"/>
            <param name="weight" value="1.0"/>
          </section>
          <section name="distance_intensity">
            <param name="exponent" value="1.0"/>
            <param name="weight" value="0.0"/>
            <param name="log_transform" value="disabled"/>
          </section>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerPoseClustering_1_input1.featureXML,MapAlignerPoseClustering_1_input2.featureXML"/>
      <output_collection name="trafo_out" count="2"/>
      <section name="reference">
        <param name="index" value="2"/>
      </section>
      <section name="algorithm">
        <param name="max_num_peaks_considered" value="400"/>
        <section name="superimposer">
          <param name="mz_pair_max_distance" value="0.5"/>
          <param name="rt_pair_distance_fraction" value="0.1"/>
          <param name="num_used_points" value="2000"/>
          <param name="scaling_bucket_size" value="0.005"/>
          <param name="shift_bucket_size" value="3.0"/>
          <param name="max_shift" value="1000.0"/>
          <param name="max_scaling" value="2.0"/>
          <param name="dump_buckets" value=""/>
          <param name="dump_pairs" value=""/>
        </section>
        <section name="pairfinder">
          <param name="second_nearest_gap" value="2.0"/>
          <param name="use_identifications" value="false"/>
          <param name="ignore_charge" value="true"/>
          <param name="ignore_adduct" value="true"/>
          <section name="distance_RT">
            <param name="max_difference" value="30.0"/>
            <param name="exponent" value="1.0"/>
            <param name="weight" value="1.0"/>
          </section>
          <section name="distance_MZ">
            <param name="max_difference" value="0.3"/>
            <param name="unit" value="Da"/>
            <param name="exponent" value="2.0"/>
            <param name="weight" value="1.0"/>
          </section>
          <section name="distance_intensity">
            <param name="exponent" value="1.0"/>
            <param name="weight" value="0.0"/>
            <param name="log_transform" value="disabled"/>
          </section>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MapAlignerSpectrum">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerSpectrum_1_input1.mzML,MapAlignerSpectrum_1_input2.mzML,MapAlignerSpectrum_1_input3.mzML"/>
      <output_collection name="out" count="3"/>
      <section name="algorithm">
        <param name="gapcost" value="1.0"/>
        <param name="affinegapcost" value="0.5"/>
        <param name="cutoff_score" value="0.7"/>
        <param name="bucketsize" value="100"/>
        <param name="anchorpoints" value="100"/>
        <param name="mismatchscore" value="-5.0"/>
        <param name="scorefunction" value="SteinScottImproveScore"/>
      </section>
      <section name="model">
        <param name="type" value="interpolated"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MapAlignerTreeGuided">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerTreeGuided_1_input1.featureXML,MapAlignerTreeGuided_1_input2.featureXML,MapAlignerTreeGuided_1_input3.featureXML"/>
      <output_collection name="out" count="3"/>
      <section name="algorithm">
        <param name="model_type" value="b_spline"/>
        <section name="model">
          <param name="type" value="b_spline"/>
          <section name="linear">
            <param name="symmetric_regression" value="false"/>
            <param name="x_weight" value=""/>
            <param name="y_weight" value=""/>
            <param name="x_datum_min" value="1e-15"/>
            <param name="x_datum_max" value="1000000000000000.0"/>
            <param name="y_datum_min" value="1e-15"/>
            <param name="y_datum_max" value="1000000000000000.0"/>
          </section>
          <section name="b_spline">
            <param name="wavelength" value="0.0"/>
            <param name="num_nodes" value="5"/>
            <param name="extrapolate" value="linear"/>
            <param name="boundary_condition" value="2"/>
          </section>
          <section name="lowess">
            <param name="span" value="0.666666666666667"/>
            <param name="num_iterations" value="3"/>
            <param name="delta" value="-1.0"/>
            <param name="interpolation_type" value="cspline"/>
            <param name="extrapolation_type" value="four-point-linear"/>
          </section>
          <section name="interpolated">
            <param name="interpolation_type" value="cspline"/>
            <param name="extrapolation_type" value="two-point-linear"/>
          </section>
        </section>
        <section name="align_algorithm">
          <param name="score_cutoff" value="false"/>
          <param name="min_score" value="0.05"/>
          <param name="min_run_occur" value="2"/>
          <param name="max_rt_shift" value="0.5"/>
          <param name="use_unassigned_peptides" value="true"/>
          <param name="use_feature_rt" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapAlignerTreeGuided_1_input1.featureXML,MapAlignerTreeGuided_1_input2.featureXML,MapAlignerTreeGuided_1_input3.featureXML"/>
      <output_collection name="trafo_out" count="3"/>
      <section name="algorithm">
        <param name="model_type" value="b_spline"/>
        <section name="model">
          <param name="type" value="b_spline"/>
          <section name="linear">
            <param name="symmetric_regression" value="false"/>
            <param name="x_weight" value=""/>
            <param name="y_weight" value=""/>
            <param name="x_datum_min" value="1e-15"/>
            <param name="x_datum_max" value="1000000000000000.0"/>
            <param name="y_datum_min" value="1e-15"/>
            <param name="y_datum_max" value="1000000000000000.0"/>
          </section>
          <section name="b_spline">
            <param name="wavelength" value="0.0"/>
            <param name="num_nodes" value="5"/>
            <param name="extrapolate" value="linear"/>
            <param name="boundary_condition" value="2"/>
          </section>
          <section name="lowess">
            <param name="span" value="0.666666666666667"/>
            <param name="num_iterations" value="3"/>
            <param name="delta" value="-1.0"/>
            <param name="interpolation_type" value="cspline"/>
            <param name="extrapolation_type" value="four-point-linear"/>
          </section>
          <section name="interpolated">
            <param name="interpolation_type" value="cspline"/>
            <param name="extrapolation_type" value="two-point-linear"/>
          </section>
        </section>
        <section name="align_algorithm">
          <param name="score_cutoff" value="false"/>
          <param name="min_score" value="0.05"/>
          <param name="min_run_occur" value="2"/>
          <param name="max_rt_shift" value="0.5"/>
          <param name="use_unassigned_peptides" value="true"/>
          <param name="use_feature_rt" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MapNormalizer">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapNormalizer_input.mzML"/>
      <output name="out" file="MapNormalizer.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MapRTTransformer">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapRTTransformer_1_input.featureXML"/>
      <output name="out" file="MapRTTransformer_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
      <param name="invert" value="false"/>
      <param name="store_original_rt" value="false"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapRTTransformer_2_input.mzML"/>
      <output name="out" file="MapRTTransformer_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
      <param name="invert" value="false"/>
      <param name="store_original_rt" value="false"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="trafo_in" value="MapAlignerPoseClustering_1_trafo2.trafoXML"/>
      <output name="trafo_out" file="MapRTTransformer_3_trafo.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
      <param name="invert" value="true"/>
      <param name="store_original_rt" value="false"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapRTTransformer_4_input.chrom.mzML"/>
      <output name="out" file="MapRTTransformer_4_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
      <param name="invert" value="false"/>
      <param name="store_original_rt" value="false"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapRTTransformer_1_input.featureXML"/>
      <output name="out" file="MapRTTransformer_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="trafo_in" value="MapRTTransformer_trafo_none.trafoXML"/>
      <param name="invert" value="false"/>
      <param name="store_original_rt" value="false"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapRTTransformer_1_input.featureXML"/>
      <output name="out" file="MapRTTransformer_6_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
      <param name="invert" value="false"/>
      <param name="store_original_rt" value="true"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight" value=""/>
          <param name="y_weight" value=""/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MapStatistics">
</xml>
  <xml name="autotest_MaRaClusterAdapter"/>
  <xml name="autotest_MascotAdapterOnline">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="keep_protein_links" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="spectra_comet.mzML"/>
      <output name="out" file="MascotAdapterOnline_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <section name="Mascot_parameters">
        <param name="database" value="SwissProt"/>
        <param name="search_type" value="MIS"/>
        <param name="enzyme" value="Trypsin"/>
        <param name="instrument" value="Default"/>
        <param name="missed_cleavages" value="1"/>
        <param name="precursor_mass_tolerance" value="3.0"/>
        <param name="precursor_error_units" value="Da"/>
        <param name="fragment_mass_tolerance" value="0.3"/>
        <param name="fragment_error_units" value="Da"/>
        <param name="charges" value="1,2,3"/>
        <param name="taxonomy" value="All entries"/>
        <param name="fixed_modifications" value=""/>
        <param name="variable_modifications" value=""/>
        <param name="special_modifications" value="Cation:Na (DE),Deamidated (NQ),Oxidation (HW),Phospho (ST),Sulfo (ST)"/>
        <param name="mass_type" value="monoisotopic"/>
        <param name="number_of_hits" value="0"/>
        <param name="skip_spectrum_charges" value="false"/>
        <param name="search_title" value="OpenMS_search"/>
        <param name="username" value="OpenMS"/>
        <param name="email" value="openmsjenkins@gmail.com"/>
      </section>
      <section name="Mascot_server">
        <param name="hostname" value="www.matrixscience.com"/>
        <param name="host_port" value="80"/>
        <param name="server_path" value=""/>
        <param name="timeout" value="1500"/>
        <param name="boundary" value="GZWgAaYKjHFeUaLOLEIOMq"/>
        <param name="use_proxy" value="false"/>
        <param name="proxy_host" value=""/>
        <param name="proxy_port" value="0"/>
        <param name="proxy_username" value=""/>
        <param name="proxy_password" value=""/>
        <param name="login" value="false"/>
        <param name="username" value=""/>
        <param name="password" value=""/>
        <param name="use_ssl" value="false"/>
        <param name="export_params" value="_ignoreionsscorebelow=0&amp;_sigthreshold=0.99&amp;_showsubsets=1&amp;show_same_sets=1&amp;report=0&amp;percolate=0&amp;query_master=0"/>
        <param name="skip_export" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MascotAdapter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MascotAdapter_1_input.mzData"/>
      <output name="out" file="output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="mascot_in" value="true"/>
      <param name="mascot_out" value="false"/>
      <param name="instrument" value="ESI-TRAP"/>
      <param name="precursor_mass_tolerance" value="1.3"/>
      <param name="peak_mass_tolerance" value="0.3"/>
      <param name="taxonomy" value=". . . . . . Chordata (vertebrates and relatives)"/>
      <param name="modifications" value="&quot;Carboxymethyl (C)&quot;"/>
      <param name="variable_modifications" value="&quot;Variable_Modifications_TEST_1&quot;"/>
      <param name="charges" value="&quot;1+&quot; &quot;2+&quot; &quot;3+&quot;"/>
      <param name="db" value="MSDB"/>
      <param name="hits" value="AUTO"/>
      <param name="cleavage" value="Trypsin"/>
      <param name="missed_cleavages" value="1"/>
      <param name="sig_threshold" value="0.05"/>
      <param name="pep_homol" value="1.0"/>
      <param name="pep_ident" value="1.0"/>
      <param name="pep_rank" value="1"/>
      <param name="prot_score" value="1.0"/>
      <param name="pep_score" value="1.0"/>
      <param name="pep_exp_z" value="1"/>
      <param name="show_unassigned" value="1"/>
      <param name="first_dim_rt" value="0.0"/>
      <param name="boundary" value="ABCDEFGHIJKMNOPQRSTUVWXYZ"/>
      <param name="mass_type" value="Monoisotopic"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MascotAdapter_2_input.mascotXML"/>
      <output name="out" file="MascotAdapter_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="mascot_in" value="false"/>
      <param name="mascot_out" value="true"/>
      <param name="instrument" value="Default"/>
      <param name="precursor_mass_tolerance" value="2.0"/>
      <param name="peak_mass_tolerance" value="1.0"/>
      <param name="taxonomy" value="All entries"/>
      <param name="modifications" value=""/>
      <param name="variable_modifications" value=""/>
      <param name="charges" value="&quot;1+&quot; &quot;2+&quot; &quot;3+&quot;"/>
      <param name="db" value="MSDB"/>
      <param name="hits" value="AUTO"/>
      <param name="cleavage" value="Trypsin"/>
      <param name="missed_cleavages" value="0"/>
      <param name="sig_threshold" value="0.05"/>
      <param name="pep_homol" value="1.0"/>
      <param name="pep_ident" value="1.0"/>
      <param name="pep_rank" value="1"/>
      <param name="prot_score" value="1.0"/>
      <param name="pep_score" value="1.0"/>
      <param name="pep_exp_z" value="1"/>
      <param name="show_unassigned" value="1"/>
      <param name="first_dim_rt" value="0.0"/>
      <param name="boundary" value=""/>
      <param name="mass_type" value="Monoisotopic"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MassCalculator">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MassCalculator_1_input.txt" ftype="txt"/>
      <param name="in_seq" value=""/>
      <output name="out" file="MassCalculator_1_output.csv" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="charge" value="0 1"/>
      <param name="format" value="table"/>
      <param name="average_mass" value="false"/>
      <param name="fragment_type" value="full"/>
      <param name="separator" value=","/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_seq" value="&quot;LDQWLC(Carbamidomethyl)EKL&quot; &quot;(Glu-&gt;pyro-Glu)EAM(Oxidation)APKHK&quot; &quot;RANVM(Oxidation)DYR&quot; &quot;FGVEQDVDMVFASFIR&quot;"/>
      <output name="out" file="MassCalculator_2_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="charge" value="1 2 3"/>
      <param name="format" value="list"/>
      <param name="average_mass" value="false"/>
      <param name="fragment_type" value="full"/>
      <param name="separator" value=""/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MassTraceExtractor">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MassTraceExtractor_1_input.mzML"/>
      <output name="out" file="MassTraceExtractor_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featurexml"/>
      <section name="algorithm">
        <section name="common">
          <param name="noise_threshold_int" value="10.0"/>
          <param name="chrom_peak_snr" value="3.0"/>
          <param name="chrom_fwhm" value="5.0"/>
        </section>
        <section name="mtd">
          <param name="mass_error_ppm" value="20.0"/>
          <param name="reestimate_mt_sd" value="true"/>
          <param name="quant_method" value="area"/>
          <param name="trace_termination_criterion" value="outlier"/>
          <param name="trace_termination_outliers" value="5"/>
          <param name="min_sample_rate" value="0.5"/>
          <param name="min_trace_length" value="5.0"/>
          <param name="max_trace_length" value="-1.0"/>
        </section>
        <section name="epd">
          <param name="width_filtering" value="off"/>
          <param name="min_fwhm" value="3.0"/>
          <param name="max_fwhm" value="60.0"/>
          <param name="masstrace_snr_filtering" value="false"/>
          <param name="enabled" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MassTraceExtractor_1_input.mzML"/>
      <output name="out" file="MassTraceExtractor_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="out_type" value="featurexml"/>
      <section name="algorithm">
        <section name="common">
          <param name="noise_threshold_int" value="10.0"/>
          <param name="chrom_peak_snr" value="3.0"/>
          <param name="chrom_fwhm" value="5.0"/>
        </section>
        <section name="mtd">
          <param name="mass_error_ppm" value="20.0"/>
          <param name="reestimate_mt_sd" value="true"/>
          <param name="quant_method" value="area"/>
          <param name="trace_termination_criterion" value="outlier"/>
          <param name="trace_termination_outliers" value="5"/>
          <param name="min_sample_rate" value="0.5"/>
          <param name="min_trace_length" value="6.0"/>
          <param name="max_trace_length" value="12.0"/>
        </section>
        <section name="epd">
          <param name="width_filtering" value="off"/>
          <param name="min_fwhm" value="3.0"/>
          <param name="max_fwhm" value="60.0"/>
          <param name="masstrace_snr_filtering" value="false"/>
          <param name="enabled" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MetaboliteAdductDecharger">
</xml>
  <xml name="autotest_MetaboliteSpectralMatcher">
</xml>
  <xml name="autotest_MetaProSIP">
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="min_correlation_distance_to_averagine" value="-1.0"/>
        <param name="pattern_15N_TIC_threshold" value="0.95"/>
        <param name="pattern_13C_TIC_threshold" value="0.95"/>
        <param name="pattern_2H_TIC_threshold" value="0.95"/>
        <param name="pattern_18O_TIC_threshold" value="0.95"/>
        <param name="heatmap_bins" value="20"/>
        <param name="observed_peak_fraction" value="0.5"/>
        <param name="min_consecutive_isotopes" value="2"/>
        <param name="score_plot_yaxis_min" value="0.0"/>
        <param name="collect_method" value="correlation_maximum"/>
        <param name="lowRIA_correlation_threshold" value="-1.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_mzML" value="MetaProSIP_1_input.mzML"/>
      <param name="in_fasta" value="MetaProSIP_1_input.fasta"/>
      <output name="out_csv" file="MetaProSIP_1_output_1.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <output name="out_peptide_centric_csv" file="MetaProSIP_1_output_2.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="in_featureXML" value="MetaProSIP_1_input.featureXML"/>
      <param name="mz_tolerance_ppm" value="10.0"/>
      <param name="rt_tolerance_s" value="30.0"/>
      <param name="intensity_threshold" value="10.0"/>
      <param name="correlation_threshold" value="0.7"/>
      <param name="xic_threshold" value="0.7"/>
      <param name="decomposition_threshold" value="0.7"/>
      <param name="weight_merge_window" value="5.0"/>
      <param name="plot_extension" value="png"/>
      <param name="qc_output_directory" value=""/>
      <param name="labeling_element" value="C"/>
      <param name="use_unassigned_ids" value="false"/>
      <param name="use_averagine_ids" value="false"/>
      <param name="report_natural_peptides" value="false"/>
      <param name="filter_monoisotopic" value="false"/>
      <param name="cluster" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MRMMapper">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MRMMapping_input.chrom.mzML"/>
      <param name="tr" value="MRMMapping_input.TraML"/>
      <output name="out" file="MRMMapping_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="precursor_tolerance" value="0.3"/>
        <param name="product_tolerance" value="0.3"/>
        <param name="map_multiple_assays" value="false"/>
        <param name="error_on_unmapped" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MRMMapping_input.chrom.mzML"/>
      <param name="tr" value="MRMMapping_input_2.TraML"/>
      <output name="out" file="MRMMapping_output_2.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="precursor_tolerance" value="0.01"/>
        <param name="product_tolerance" value="0.01"/>
        <param name="map_multiple_assays" value="false"/>
        <param name="error_on_unmapped" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MRMPairFinder">
</xml>
  <xml name="autotest_MRMTransitionGroupPicker">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MRMTransitionGroupPicker_1_input.mzML"/>
      <param name="tr" value="MRMTransitionGroupPicker_1_input.TraML"/>
      <output name="out" file="MRMTransitionGroupPicker_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="algorithm">
        <param name="stop_after_feature" value="-1"/>
        <param name="stop_after_intensity_ratio" value="0.0001"/>
        <param name="min_peak_width" value="-1.0"/>
        <param name="peak_integration" value="original"/>
        <param name="background_subtraction" value="none"/>
        <param name="recalculate_peaks" value="false"/>
        <param name="use_precursors" value="false"/>
        <param name="use_consensus" value="true"/>
        <param name="recalculate_peaks_max_z" value="1.0"/>
        <param name="minimal_quality" value="-10000.0"/>
        <param name="resample_boundary" value="15.0"/>
        <param name="compute_peak_quality" value="false"/>
        <param name="compute_peak_shape_metrics" value="false"/>
        <param name="compute_total_mi" value="false"/>
        <param name="boundary_selection_method" value="largest"/>
        <section name="PeakPickerMRM">
          <param name="sgolay_frame_length" value="15"/>
          <param name="sgolay_polynomial_order" value="3"/>
          <param name="gauss_width" value="50.0"/>
          <param name="use_gauss" value="true"/>
          <param name="peak_width" value="40.0"/>
          <param name="signal_to_noise" value="1.0"/>
          <param name="sn_win_len" value="1000.0"/>
          <param name="sn_bin_count" value="30"/>
          <param name="write_sn_log_messages" value="false"/>
          <param name="remove_overlapping_peaks" value="true"/>
          <param name="method" value="legacy"/>
        </section>
        <section name="PeakIntegrator">
          <param name="integration_type" value="intensity_sum"/>
          <param name="baseline_type" value="base_to_base"/>
          <param name="fit_EMG" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MRMTransitionGroupPicker_1_input.mzML"/>
      <param name="tr" value="MRMTransitionGroupPicker_1_input.TraML"/>
      <output name="out" file="MRMTransitionGroupPicker_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <section name="algorithm">
        <param name="stop_after_feature" value="-1"/>
        <param name="stop_after_intensity_ratio" value="0.0001"/>
        <param name="min_peak_width" value="-1.0"/>
        <param name="peak_integration" value="original"/>
        <param name="background_subtraction" value="none"/>
        <param name="recalculate_peaks" value="false"/>
        <param name="use_precursors" value="false"/>
        <param name="use_consensus" value="true"/>
        <param name="recalculate_peaks_max_z" value="1.0"/>
        <param name="minimal_quality" value="-10000.0"/>
        <param name="resample_boundary" value="15.0"/>
        <param name="compute_peak_quality" value="false"/>
        <param name="compute_peak_shape_metrics" value="false"/>
        <param name="compute_total_mi" value="true"/>
        <param name="boundary_selection_method" value="largest"/>
        <section name="PeakPickerMRM">
          <param name="sgolay_frame_length" value="15"/>
          <param name="sgolay_polynomial_order" value="3"/>
          <param name="gauss_width" value="50.0"/>
          <param name="use_gauss" value="true"/>
          <param name="peak_width" value="40.0"/>
          <param name="signal_to_noise" value="1.0"/>
          <param name="sn_win_len" value="1000.0"/>
          <param name="sn_bin_count" value="30"/>
          <param name="write_sn_log_messages" value="false"/>
          <param name="remove_overlapping_peaks" value="true"/>
          <param name="method" value="legacy"/>
        </section>
        <section name="PeakIntegrator">
          <param name="integration_type" value="intensity_sum"/>
          <param name="baseline_type" value="base_to_base"/>
          <param name="fit_EMG" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MSFraggerAdapter"/>
  <xml name="autotest_MSGFPlusAdapter">
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_conversion" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="spectra.mzML"/>
      <output name="out" file="MSGFPlusAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="mzid_out" file="MSGFPlusAdapter_1_out2.tmp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
      <param name="database" value="proteins.fasta"/>
      <param name="add_decoys" value="false"/>
      <param name="precursor_mass_tolerance" value="10.0"/>
      <param name="precursor_error_units" value="ppm"/>
      <param name="isotope_error_range" value="0,1"/>
      <param name="fragment_method" value="from_spectrum"/>
      <param name="instrument" value="high_res"/>
      <param name="enzyme" value="Trypsin/P"/>
      <param name="protocol" value="none"/>
      <param name="tryptic" value="fully"/>
      <param name="min_precursor_charge" value="1"/>
      <param name="max_precursor_charge" value="3"/>
      <param name="min_peptide_length" value="6"/>
      <param name="max_peptide_length" value="40"/>
      <param name="matches_per_spec" value="1"/>
      <param name="add_features" value="false"/>
      <param name="max_mods" value="2"/>
      <param name="fixed_modifications" value=""/>
      <param name="variable_modifications" value="Oxidation (M)"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,mzid_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MSSimulator">
</xml>
  <xml name="autotest_MSstatsConverter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="retention_time_summarization_method" value="max"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MSstatsConverter_1_in.consensusXML"/>
      <param name="in_design" value="MSstatsConverter_1_design.tsv" ftype="tabular"/>
      <param name="method" value="LFQ"/>
      <param name="msstats_bioreplicate" value="MSstats_BioReplicate"/>
      <param name="msstats_condition" value="MSstats_Condition"/>
      <param name="msstats_mixture" value="MSstats_Mixture"/>
      <param name="labeled_reference_peptides" value="false"/>
      <output name="out" file="MSstatsConverter_1_out.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="retention_time_summarization_method" value="manual"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MSstatsConverter_2_in.consensusXML"/>
      <param name="in_design" value="MSstatsConverter_2_design.tsv" ftype="tabular"/>
      <param name="method" value="ISO"/>
      <param name="msstats_bioreplicate" value="MSstats_BioReplicate"/>
      <param name="msstats_condition" value="MSstats_Condition"/>
      <param name="msstats_mixture" value="MSstats_Mixture"/>
      <param name="labeled_reference_peptides" value="false"/>
      <output name="out" file="MSstatsConverter_2_out.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="retention_time_summarization_method" value="manual"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MSstatsConverter_3_in.consensusXML"/>
      <param name="in_design" value="MSstatsConverter_3_design.tsv" ftype="tabular"/>
      <param name="method" value="ISO"/>
      <param name="msstats_bioreplicate" value="MSstats_BioReplicate"/>
      <param name="msstats_condition" value="MSstats_Condition"/>
      <param name="msstats_mixture" value="MSstats_Mixture"/>
      <param name="labeled_reference_peptides" value="false"/>
      <output name="out" file="MSstatsConverter_3_out.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MultiplexResolver">
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MultiplexResolver_1_input.consensusXML"/>
      <output name="out" file="MultiplexResolver_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <output name="out_conflicts" file="MultiplexResolver_1_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[][Lys4,Arg6][Lys8,Arg10]"/>
        <param name="missed_cleavages" value="1"/>
        <param name="mass_tolerance" value="0.1"/>
        <param name="mz_tolerance" value="10"/>
        <param name="rt_tolerance" value="5"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MultiplexResolver_2_input.consensusXML"/>
      <output name="out" file="MultiplexResolver_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <output name="out_conflicts" file="MultiplexResolver_2_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[Dimethyl0][Dimethyl4][Dimethyl8]"/>
        <param name="missed_cleavages" value="4"/>
        <param name="mass_tolerance" value="0.1"/>
        <param name="mz_tolerance" value="10"/>
        <param name="rt_tolerance" value="5"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MultiplexResolver_3_input.consensusXML"/>
      <output name="out" file="MultiplexResolver_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <output name="out_conflicts" file="MultiplexResolver_3_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[][Leu3]"/>
        <param name="missed_cleavages" value="2"/>
        <param name="mass_tolerance" value="0.1"/>
        <param name="mz_tolerance" value="10"/>
        <param name="rt_tolerance" value="5"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MultiplexResolver_4_input.consensusXML"/>
      <param name="in_blacklist" value="MultiplexResolver_4_input.mzML"/>
      <output name="out" file="MultiplexResolver_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <output name="out_conflicts" file="MultiplexResolver_4_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <section name="algorithm">
        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
        <param name="missed_cleavages" value="3"/>
        <param name="mass_tolerance" value="0.1"/>
        <param name="mz_tolerance" value="10"/>
        <param name="rt_tolerance" value="10"/>
      </section>
      <section name="labels">
        <param name="Arg6" value="6.0201290268"/>
        <param name="Arg10" value="10.0082686"/>
        <param name="Lys4" value="4.0251069836"/>
        <param name="Lys6" value="6.0201290268"/>
        <param name="Lys8" value="8.0141988132"/>
        <param name="Leu3" value="3.01883"/>
        <param name="Dimethyl0" value="28.0313"/>
        <param name="Dimethyl4" value="32.056407"/>
        <param name="Dimethyl6" value="34.063117"/>
        <param name="Dimethyl8" value="36.07567"/>
        <param name="ICPL0" value="105.021464"/>
        <param name="ICPL4" value="109.046571"/>
        <param name="ICPL6" value="111.041593"/>
        <param name="ICPL10" value="115.0667"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MyriMatchAdapter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="MinPeptideMass" value="0.0"/>
        <param name="MaxPeptideMass" value="10000.0"/>
        <param name="MinPeptideLength" value="5"/>
        <param name="MaxPeptideLength" value="75"/>
        <param name="UseSmartPlusThreeModel" value="false"/>
        <param name="NumIntensityClasses" value="3"/>
        <param name="ClassSizeMultiplier" value="2.0"/>
        <param name="MonoisotopeAdjustmentSet" value="[-1,2]"/>
        <param name="SpectrumListFilters" value=""/>
        <param name="ignoreConfigErrors" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="spectra.mzML"/>
      <output name="out" file="MyriMatchAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="precursor_mass_tolerance" value="5.0"/>
      <param name="precursor_mass_tolerance_unit" value="ppm"/>
      <param name="precursor_mass_tolerance_avg" value="false"/>
      <param name="fragment_mass_tolerance" value="0.3"/>
      <param name="fragment_mass_tolerance_unit" value="Da"/>
      <param name="database" value="proteins.fasta"/>
      <param name="fixed_modifications" value=""/>
      <param name="variable_modifications" value="Oxidation (M)"/>
      <param name="NumChargeStates" value="3"/>
      <param name="TicCutoffPercentage" value="0.98"/>
      <param name="MaxDynamicMods" value="2"/>
      <param name="MaxResultRank" value="5"/>
      <param name="CleavageRules" value=""/>
      <param name="MinTerminiCleavages" value="2"/>
      <param name="MaxMissedCleavages" value="-1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_MzMLSplitter"/>
  <xml name="autotest_MzTabExporter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="first_run_inference_only" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MzTabExporter_1_input.consensusXML"/>
      <output name="out" file="MzTabExporter_1_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <param name="opt_columns" value="subfeatures"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="first_run_inference_only" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MzTabExporter_2_input.idXML"/>
      <output name="out" file="MzTabExporter_2_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <param name="opt_columns" value="subfeatures"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="first_run_inference_only" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MzTabExporter_3_input.featureXML"/>
      <output name="out" file="MzTabExporter_3_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <param name="opt_columns" value="subfeatures"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_NoiseFilterGaussian">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="inmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="NoiseFilterGaussian_1_input.mzML"/>
      <output name="out" file="NoiseFilterGaussian_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="gaussian_width" value="1.0"/>
        <param name="ppm_tolerance" value="10.0"/>
        <param name="use_ppm_tolerance" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="inmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="NoiseFilterGaussian_2_input.chrom.mzML"/>
      <output name="out" file="NoiseFilterGaussian_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="gaussian_width" value="50.0"/>
        <param name="ppm_tolerance" value="10.0"/>
        <param name="use_ppm_tolerance" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="lowmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="NoiseFilterGaussian_1_input.mzML"/>
      <output name="out" file="NoiseFilterGaussian_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="gaussian_width" value="1.0"/>
        <param name="ppm_tolerance" value="10.0"/>
        <param name="use_ppm_tolerance" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="lowmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="NoiseFilterGaussian_2_input.chrom.mzML"/>
      <output name="out" file="NoiseFilterGaussian_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="gaussian_width" value="50.0"/>
        <param name="ppm_tolerance" value="10.0"/>
        <param name="use_ppm_tolerance" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_NoiseFilterSGolay">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="inmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="NoiseFilterSGolay_1_input.mzML"/>
      <output name="out" file="NoiseFilterSGolay_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="frame_length" value="9"/>
        <param name="polynomial_order" value="4"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="inmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="NoiseFilterSGolay_2_input.chrom.mzML"/>
      <output name="out" file="NoiseFilterSGolay_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="frame_length" value="11"/>
        <param name="polynomial_order" value="4"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="lowmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="NoiseFilterSGolay_1_input.mzML"/>
      <output name="out" file="NoiseFilterSGolay_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="frame_length" value="9"/>
        <param name="polynomial_order" value="4"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="lowmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="NoiseFilterSGolay_2_input.chrom.mzML"/>
      <output name="out" file="NoiseFilterSGolay_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="frame_length" value="11"/>
        <param name="polynomial_order" value="4"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_NovorAdapter"/>
  <xml name="autotest_NucleicAcidSearchEngine">
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="decharge_ms2" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="NucleicAcidSearchEngine_1.mzML"/>
      <param name="database" value="NucleicAcidSearchEngine_1.fasta"/>
      <output name="out" file="NucleicAcidSearchEngine_12_out.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <output name="id_out" file="NucleicAcidSearchEngine_11_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <section name="precursor">
        <param name="mass_tolerance" value="5.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="min_charge" value="-2"/>
        <param name="max_charge" value="-14"/>
        <param name="include_unknown_charge" value="true"/>
        <param name="use_avg_mass" value="false"/>
        <param name="use_adducts" value="false"/>
        <param name="potential_adducts" value="&quot;K:+&quot; &quot;Na:+&quot; &quot;Na2:++&quot; &quot;K2:++&quot; &quot;NaK:++&quot; &quot;K3:+++&quot; &quot;Na3:+++&quot; &quot;NaK2:+++&quot; &quot;Na2K:+++&quot;"/>
        <param name="isotopes" value="0 1 2"/>
      </section>
      <section name="fragment">
        <param name="mass_tolerance" value="5.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="ions" value="a-B,c,w,y"/>
      </section>
      <section name="modifications">
        <param name="variable" value=""/>
        <param name="variable_max_per_oligo" value="2"/>
        <param name="resolve_ambiguities" value="false"/>
      </section>
      <section name="oligo">
        <param name="min_size" value="5"/>
        <param name="max_size" value="0"/>
        <param name="missed_cleavages" value="22"/>
        <param name="enzyme" value="no cleavage"/>
      </section>
      <section name="report">
        <param name="top_hits" value="1"/>
      </section>
      <section name="fdr">
        <param name="decoy_pattern" value="DECOY_"/>
        <param name="cutoff" value="0.05"/>
        <param name="remove_decoys" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,id_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OMSSAAdapter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="pc" value="1"/>
        <param name="hs" value="4"/>
        <param name="tez" value="1"/>
        <param name="tom" value="0"/>
        <param name="tem" value="0"/>
        <param name="tex" value="1446.94"/>
        <param name="zt" value="3"/>
        <param name="z1" value="0.95"/>
        <param name="zc" value="1"/>
        <param name="zcc" value="2"/>
        <param name="zoh" value="2"/>
        <param name="no" value="4"/>
        <param name="nox" value="40"/>
        <param name="i" value="1,4"/>
        <param name="sp" value="100"/>
        <param name="sb1" value="1"/>
        <param name="sct" value="0"/>
        <param name="x" value="0"/>
        <param name="hm" value="2"/>
        <param name="ht" value="6"/>
        <param name="mm" value="128"/>
        <param name="mnm" value="false"/>
        <param name="is" value="0.0"/>
        <param name="ir" value="0.0"/>
        <param name="ii" value="0.0"/>
        <param name="chunk_size" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="spectra.mzML"/>
      <output name="out" file="OMSSAAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="precursor_mass_tolerance" value="5.0"/>
      <param name="precursor_error_units" value="ppm"/>
      <param name="fragment_mass_tolerance" value="0.3"/>
      <param name="database" value="proteins.fasta"/>
      <param name="min_precursor_charge" value="1"/>
      <param name="max_precursor_charge" value="3"/>
      <param name="fixed_modifications" value=""/>
      <param name="variable_modifications" value="Oxidation (M)"/>
      <param name="v" value="1"/>
      <param name="enzyme" value="Trypsin"/>
      <param name="hl" value="30"/>
      <param name="he" value="1.0"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OpenPepXLLF">
    <test expect_num_outputs="5">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenPepXLLF_input.mzML"/>
      <param name="database" value="OpenPepXLLF_input.fasta"/>
      <param name="decoy_string" value="decoy"/>
      <param name="decoy_prefix" value="true"/>
      <output name="out_idXML" file="OpenPepXLLF_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="out_mzIdentML" file="OpenPepXLLF_output.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
      <output name="out_xquestxml" file="OpenPepXLLF_output.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
      <output name="out_xquest_specxml" file="OpenPepXLLF_output.spec.xml" compare="sim_size" delta="5700" ftype="spec.xml"/>
      <section name="precursor">
        <param name="mass_tolerance" value="10.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="min_charge" value="3"/>
        <param name="max_charge" value="7"/>
        <param name="corrections" value="2 1 0"/>
      </section>
      <section name="fragment">
        <param name="mass_tolerance" value="20.0"/>
        <param name="mass_tolerance_xlinks" value="20.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
      </section>
      <section name="modifications">
        <param name="fixed" value=""/>
        <param name="variable" value=""/>
        <param name="variable_max_per_peptide" value="2"/>
      </section>
      <section name="peptide">
        <param name="min_size" value="5"/>
        <param name="missed_cleavages" value="2"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="cross_linker">
        <param name="residue1" value="&quot;K&quot; &quot;N-term&quot;"/>
        <param name="residue2" value="&quot;K&quot; &quot;N-term&quot;"/>
        <param name="mass" value="138.0680796"/>
        <param name="mass_mono_link" value="156.07864431 155.094628715"/>
        <param name="name" value="DSS"/>
      </section>
      <section name="algorithm">
        <param name="number_top_hits" value="5"/>
        <param name="deisotope" value="auto"/>
        <param name="use_sequence_tags" value="false"/>
        <param name="sequence_tag_min_length" value="2"/>
      </section>
      <section name="ions">
        <param name="b_ions" value="true"/>
        <param name="y_ions" value="true"/>
        <param name="a_ions" value="false"/>
        <param name="x_ions" value="false"/>
        <param name="c_ions" value="false"/>
        <param name="z_ions" value="false"/>
        <param name="neutral_losses" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquestxml_FLAG,out_xquest_specxml_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenPepXLLF_input2.mzML"/>
      <param name="database" value="OpenPepXLLF_input2.fasta"/>
      <param name="decoy_string" value="decoy_"/>
      <param name="decoy_prefix" value="true"/>
      <output name="out_idXML" file="OpenPepXLLF_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <section name="precursor">
        <param name="mass_tolerance" value="10.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="min_charge" value="3"/>
        <param name="max_charge" value="7"/>
        <param name="corrections" value="1 0"/>
      </section>
      <section name="fragment">
        <param name="mass_tolerance" value="0.2"/>
        <param name="mass_tolerance_xlinks" value="0.3"/>
        <param name="mass_tolerance_unit" value="Da"/>
      </section>
      <section name="modifications">
        <param name="fixed" value="Carbamidomethyl (C)"/>
        <param name="variable" value="Oxidation (M)"/>
        <param name="variable_max_per_peptide" value="1"/>
      </section>
      <section name="peptide">
        <param name="min_size" value="5"/>
        <param name="missed_cleavages" value="1"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="cross_linker">
        <param name="residue1" value="&quot;D&quot; &quot;E&quot; &quot;C-term&quot;"/>
        <param name="residue2" value="&quot;K&quot; &quot;S&quot; &quot;T&quot; &quot;Y&quot; &quot;N-term&quot;"/>
        <param name="mass" value="-18.010595"/>
        <param name="mass_mono_link" value=""/>
        <param name="name" value="DMTMM"/>
      </section>
      <section name="algorithm">
        <param name="number_top_hits" value="1"/>
        <param name="deisotope" value="auto"/>
        <param name="use_sequence_tags" value="false"/>
        <param name="sequence_tag_min_length" value="2"/>
      </section>
      <section name="ions">
        <param name="b_ions" value="true"/>
        <param name="y_ions" value="true"/>
        <param name="a_ions" value="false"/>
        <param name="x_ions" value="false"/>
        <param name="c_ions" value="false"/>
        <param name="z_ions" value="false"/>
        <param name="neutral_losses" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OpenPepXL">
    <test expect_num_outputs="5">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenPepXL_input.mzML"/>
      <param name="consensus" value="OpenPepXL_input.consensusXML"/>
      <param name="database" value="OpenPepXL_input.fasta"/>
      <param name="decoy_string" value="decoy"/>
      <param name="decoy_prefix" value="true"/>
      <output name="out_idXML" file="OpenPepXL_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="out_mzIdentML" file="OpenPepXL_output.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
      <output name="out_xquestxml" file="OpenPepXL_output.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
      <output name="out_xquest_specxml" file="OpenPepXL_output.spec.xml" compare="sim_size" delta="5700" ftype="spec.xml"/>
      <section name="precursor">
        <param name="mass_tolerance" value="10.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="min_charge" value="3"/>
        <param name="max_charge" value="7"/>
        <param name="corrections" value="2 1 0"/>
      </section>
      <section name="fragment">
        <param name="mass_tolerance" value="0.2"/>
        <param name="mass_tolerance_xlinks" value="0.3"/>
        <param name="mass_tolerance_unit" value="Da"/>
      </section>
      <section name="modifications">
        <param name="fixed" value=""/>
        <param name="variable" value=""/>
        <param name="variable_max_per_peptide" value="2"/>
      </section>
      <section name="peptide">
        <param name="min_size" value="5"/>
        <param name="missed_cleavages" value="2"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="cross_linker">
        <param name="residue1" value="&quot;K&quot; &quot;N-term&quot;"/>
        <param name="residue2" value="&quot;K&quot; &quot;N-term&quot;"/>
        <param name="mass_light" value="138.0680796"/>
        <param name="mass_iso_shift" value="12.075321"/>
        <param name="mass_mono_link" value="156.07864431 155.094628715"/>
        <param name="name" value="DSS"/>
      </section>
      <section name="algorithm">
        <param name="number_top_hits" value="5"/>
        <param name="deisotope" value="auto"/>
      </section>
      <section name="ions">
        <param name="b_ions" value="true"/>
        <param name="y_ions" value="true"/>
        <param name="a_ions" value="false"/>
        <param name="x_ions" value="false"/>
        <param name="c_ions" value="false"/>
        <param name="z_ions" value="false"/>
        <param name="neutral_losses" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquestxml_FLAG,out_xquest_specxml_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OpenSwathAnalyzer">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
      <output name="out" file="OpenSwathAnalyzer_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="no_strict" value="false"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="40.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="legacy"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
      <output name="out" file="OpenSwathAnalyzer_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="no_strict" value="false"/>
      <param name="swath_files" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="40.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="legacy"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
      <param name="tr" value="OpenSwathAnalyzer_mod_input.TraML"/>
      <output name="out" file="OpenSwathAnalyzer_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="no_strict" value="false"/>
      <param name="swath_files" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="40.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="true"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="legacy"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="8.0"/>
          <param name="dia_byseries_ppm_diff" value="15.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
      <output name="out" file="OpenSwathAnalyzer_6_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="no_strict" value="false"/>
      <param name="swath_files" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="40.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="true"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="legacy"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="8.0"/>
          <param name="dia_byseries_ppm_diff" value="15.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
      <output name="out" file="OpenSwathAnalyzer_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="no_strict" value="false"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="original"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="40.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="true"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="legacy"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
      <output name="out" file="OpenSwathAnalyzer_8_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="no_strict" value="false"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="40.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="legacy"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="true"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="true"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="true"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
      <output name="out" file="OpenSwathAnalyzer_9_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="no_strict" value="false"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="40.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="legacy"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="true"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
      <output name="out" file="OpenSwathAnalyzer_10_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="no_strict" value="false"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="40.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="legacy"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="true"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="true"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
      <output name="out" file="OpenSwathAnalyzer_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="no_strict" value="false"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="40.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="legacy"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="true"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OpenSwathAssayGenerator">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="max_num_alternative_localizations" value="10000"/>
        <param name="disable_identification_ms2_precursors" value="false"/>
        <param name="disable_identification_specific_losses" value="false"/>
        <param name="enable_identification_unspecific_losses" value="false"/>
        <param name="enable_swath_specifity" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAssayGenerator_input.TraML"/>
      <output name="out" file="OpenSwathAssayGenerator_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <param name="min_transitions" value="6"/>
      <param name="max_transitions" value="6"/>
      <param name="allowed_fragment_types" value="b,y"/>
      <param name="allowed_fragment_charges" value="2,3"/>
      <param name="enable_detection_specific_losses" value="true"/>
      <param name="enable_detection_unspecific_losses" value="false"/>
      <param name="precursor_mz_threshold" value="0.025"/>
      <param name="precursor_lower_mz_limit" value="400.0"/>
      <param name="precursor_upper_mz_limit" value="1200.0"/>
      <param name="product_mz_threshold" value="0.025"/>
      <param name="product_lower_mz_limit" value="350.0"/>
      <param name="product_upper_mz_limit" value="2000.0"/>
      <param name="enable_ipf" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="max_num_alternative_localizations" value="10000"/>
        <param name="disable_identification_ms2_precursors" value="false"/>
        <param name="disable_identification_specific_losses" value="false"/>
        <param name="enable_identification_unspecific_losses" value="false"/>
        <param name="enable_swath_specifity" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAssayGenerator_input_2.TraML"/>
      <output name="out" file="OpenSwathAssayGenerator_output_2.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <param name="min_transitions" value="6"/>
      <param name="max_transitions" value="6"/>
      <param name="allowed_fragment_types" value="b,y"/>
      <param name="allowed_fragment_charges" value="1,2,3,4"/>
      <param name="enable_detection_specific_losses" value="false"/>
      <param name="enable_detection_unspecific_losses" value="false"/>
      <param name="precursor_mz_threshold" value="0.025"/>
      <param name="precursor_lower_mz_limit" value="400.0"/>
      <param name="precursor_upper_mz_limit" value="1200.0"/>
      <param name="product_mz_threshold" value="0.025"/>
      <param name="product_lower_mz_limit" value="350.0"/>
      <param name="product_upper_mz_limit" value="2000.0"/>
      <param name="unimod_file" value="OpenSwathAssayGenerator_input_2_unimod.xml"/>
      <param name="enable_ipf" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="max_num_alternative_localizations" value="10000"/>
        <param name="disable_identification_ms2_precursors" value="false"/>
        <param name="disable_identification_specific_losses" value="false"/>
        <param name="enable_identification_unspecific_losses" value="false"/>
        <param name="enable_swath_specifity" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAssayGenerator_input_2.TraML"/>
      <output name="out" file="OpenSwathAssayGenerator_output_3.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <param name="min_transitions" value="6"/>
      <param name="max_transitions" value="6"/>
      <param name="allowed_fragment_types" value="b,y"/>
      <param name="allowed_fragment_charges" value="1,2,3,4"/>
      <param name="enable_detection_specific_losses" value="false"/>
      <param name="enable_detection_unspecific_losses" value="false"/>
      <param name="precursor_mz_threshold" value="0.025"/>
      <param name="precursor_lower_mz_limit" value="400.0"/>
      <param name="precursor_upper_mz_limit" value="1200.0"/>
      <param name="product_mz_threshold" value="0.025"/>
      <param name="product_lower_mz_limit" value="350.0"/>
      <param name="product_upper_mz_limit" value="2000.0"/>
      <param name="unimod_file" value="OpenSwathAssayGenerator_input_3_unimod.xml"/>
      <param name="enable_ipf" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OpenSwathChromatogramExtractor">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="extraction_function" value="tophat"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
      <param name="tr" value="OpenSwathChromatogramExtractor_input.TraML"/>
      <output name="out" file="OpenSwathChromatogramExtractor_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <param name="rt_window" value="-1.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_window" value="0.05"/>
      <param name="ppm" value="false"/>
      <param name="is_swath" value="false"/>
      <param name="extract_MS1" value="false"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="extraction_function" value="tophat"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
      <param name="tr" value="OpenSwathChromatogramExtractor_input.TraML"/>
      <param name="rt_norm" value="OpenSwathChromatogramExtractor_input.trafoXML"/>
      <output name="out" file="OpenSwathChromatogramExtractor_output_2.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <param name="rt_window" value="50.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_window" value="0.05"/>
      <param name="ppm" value="false"/>
      <param name="is_swath" value="false"/>
      <param name="extract_MS1" value="false"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="extraction_function" value="tophat"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
      <param name="tr" value="OpenSwathChromatogramExtractor_input.TraML"/>
      <output name="out" file="OpenSwathChromatogramExtractor_output_3.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <param name="rt_window" value="-1.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_window" value="0.05"/>
      <param name="ppm" value="false"/>
      <param name="is_swath" value="false"/>
      <param name="extract_MS1" value="true"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="extraction_function" value="tophat"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathChromatogramExtractor_4_input.mzML"/>
      <param name="tr" value="OpenSwathChromatogramExtractor_4_input.TraML"/>
      <output name="out" file="OpenSwathChromatogramExtractor_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <param name="rt_window" value="-1.0"/>
      <param name="ion_mobility_window" value="0.05"/>
      <param name="mz_window" value="0.05"/>
      <param name="ppm" value="false"/>
      <param name="is_swath" value="true"/>
      <param name="extract_MS1" value="false"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="extraction_function" value="tophat"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
      <param name="tr" value="OpenSwathChromatogramExtractor_5_input.TraML"/>
      <output name="out" file="OpenSwathChromatogramExtractor_5_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="min_upper_edge_dist" value="0.0"/>
      <param name="rt_window" value="-1.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_window" value="0.05"/>
      <param name="ppm" value="false"/>
      <param name="is_swath" value="false"/>
      <param name="extract_MS1" value="true"/>
      <section name="model">
        <param name="type" value="linear"/>
        <param name="symmetric_regression" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OpenSwathConfidenceScoring">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
      <param name="lib" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
      <output name="out" file="OpenSwathConfidenceScoring_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="trafo" value="OpenSwathConfidenceScoring_1_input.trafoXML"/>
      <param name="decoys" value="1"/>
      <param name="transitions" value="2"/>
      <section name="GLM">
        <param name="intercept" value="3.87333466"/>
        <param name="delta_rt" value="-0.02898629"/>
        <param name="dist_int" value="-7.75880768"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OpenSwathDecoyGenerator">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="min_decoy_fraction" value="0.8"/>
        <param name="aim_decoy_fraction" value="1.0"/>
        <param name="shuffle_max_attempts" value="30"/>
        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
        <param name="shift_precursor_mz_shift" value="0.0"/>
        <param name="shift_product_mz_shift" value="20.0"/>
        <param name="product_mz_threshold" value="0.025"/>
        <param name="allowed_fragment_types" value="b,y"/>
        <param name="allowed_fragment_charges" value="1,2,3,4"/>
        <param name="enable_detection_specific_losses" value="false"/>
        <param name="enable_detection_unspecific_losses" value="false"/>
        <param name="separate" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathDecoyGenerator_input.TraML"/>
      <output name="out" file="OpenSwathDecoyGenerator_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <param name="method" value="pseudo-reverse"/>
      <param name="decoy_tag" value="DECOY_"/>
      <param name="switchKR" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="min_decoy_fraction" value="0.8"/>
        <param name="aim_decoy_fraction" value="1.0"/>
        <param name="shuffle_max_attempts" value="30"/>
        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
        <param name="shift_precursor_mz_shift" value="0.0"/>
        <param name="shift_product_mz_shift" value="20.0"/>
        <param name="product_mz_threshold" value="0.8"/>
        <param name="allowed_fragment_types" value="b,y"/>
        <param name="allowed_fragment_charges" value="1,2,3,4"/>
        <param name="enable_detection_specific_losses" value="false"/>
        <param name="enable_detection_unspecific_losses" value="false"/>
        <param name="separate" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathDecoyGenerator_input_2.TraML"/>
      <output name="out" file="OpenSwathDecoyGenerator_output_2.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <param name="method" value="pseudo-reverse"/>
      <param name="decoy_tag" value="DECOY_"/>
      <param name="switchKR" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="min_decoy_fraction" value="0.8"/>
        <param name="aim_decoy_fraction" value="1.0"/>
        <param name="shuffle_max_attempts" value="30"/>
        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
        <param name="shift_precursor_mz_shift" value="0.0"/>
        <param name="shift_product_mz_shift" value="20.0"/>
        <param name="product_mz_threshold" value="0.025"/>
        <param name="allowed_fragment_types" value="b,y"/>
        <param name="allowed_fragment_charges" value="1,2,3,4"/>
        <param name="enable_detection_specific_losses" value="false"/>
        <param name="enable_detection_unspecific_losses" value="false"/>
        <param name="separate" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathDecoyGenerator_input_3.TraML"/>
      <output name="out" file="OpenSwathDecoyGenerator_output_3.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <param name="method" value="pseudo-reverse"/>
      <param name="decoy_tag" value="DECOY_"/>
      <param name="switchKR" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="min_decoy_fraction" value="0.4"/>
        <param name="aim_decoy_fraction" value="1.0"/>
        <param name="shuffle_max_attempts" value="30"/>
        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
        <param name="shift_precursor_mz_shift" value="0.0"/>
        <param name="shift_product_mz_shift" value="20.0"/>
        <param name="product_mz_threshold" value="0.025"/>
        <param name="allowed_fragment_types" value="b,y"/>
        <param name="allowed_fragment_charges" value="1,2,3,4"/>
        <param name="enable_detection_specific_losses" value="true"/>
        <param name="enable_detection_unspecific_losses" value="true"/>
        <param name="separate" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathDecoyGenerator_input_4.tsv" ftype="tabular"/>
      <output name="out" file="OpenSwathDecoyGenerator_output_4.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <param name="method" value="pseudo-reverse"/>
      <param name="decoy_tag" value="DECOY_"/>
      <param name="switchKR" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OpenSwathFeatureXMLToTSV">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
      <param name="tr" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
      <output name="out" file="OpenSwathFeatureXMLToTSV_output.short.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="short_format" value="true"/>
      <param name="best_scoring_peptide" value=""/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
      <param name="tr" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
      <output name="out" file="OpenSwathFeatureXMLToTSV_output.long.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="short_format" value="false"/>
      <param name="best_scoring_peptide" value=""/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
      <param name="tr" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
      <output name="out" file="OpenSwathFeatureXMLToTSV_3_output.short.csv" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="short_format" value="true"/>
      <param name="best_scoring_peptide" value="main_var_xx_lda_prelim_score"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OpenSwathFileSplitter"/>
  <xml name="autotest_OpenSwathMzMLFileCacher">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="lowmem_batchsize" value="500"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathMzMLFileCacher_1_input.mzML"/>
      <output name="out" file="OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="lossy_compression" value="true"/>
      <param name="full_meta" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="lowmem_batchsize" value="500"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathMzMLFileCacher_2_input.chrom.mzML"/>
      <output name="out" file="OpenSwathMzMLFileCacher_2_input.chrom.cached.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="lossy_compression" value="true"/>
      <param name="full_meta" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="lossy_mass_accuracy" value="0.0001"/>
        <param name="process_lowmemory" value="false"/>
        <param name="lowmem_batchsize" value="500"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathMzMLFileCacher_1_input.mzML"/>
      <output name="out" file="OpenSwathMzMLFileCacher_3_input.tmp.sqMass" compare="sim_size" delta="5700" ftype="sqmass"/>
      <param name="out_type" value="sqmass"/>
      <param name="lossy_compression" value="true"/>
      <param name="full_meta" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="lowmem_batchsize" value="500"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathMzMLFileCacher_3_input.tmp.sqMass"/>
      <output name="out" file="OpenSwathMzMLFileCacher_3_output.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="lossy_compression" value="true"/>
      <param name="full_meta" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="lowmem_batchsize" value="500"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathMzMLFileCacher_2_input.chrom.mzML"/>
      <output name="out" file="OpenSwathMzMLFileCacher_4_input.tmp.sqMass" compare="sim_size" delta="5700" ftype="sqmass"/>
      <param name="out_type" value="sqmass"/>
      <param name="lossy_compression" value="true"/>
      <param name="full_meta" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="lowmem_batchsize" value="500"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathMzMLFileCacher_4_input.tmp.sqMass"/>
      <output name="out" file="OpenSwathMzMLFileCacher_4_output.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="lossy_compression" value="true"/>
      <param name="full_meta" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="true"/>
        <param name="lowmem_batchsize" value="500"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathMzMLFileCacher_1_input.mzML"/>
      <output name="out" file="OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="lossy_compression" value="true"/>
      <param name="full_meta" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="lowmem_batchsize" value="500"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
      <output name="out" file="OpenSwathAnalyzer_4_swathfile.mzML.cached.tmp" compare="sim_size" delta="5700"/>
      <param name="out_type" value="mzML"/>
      <param name="lossy_compression" value="true"/>
      <param name="full_meta" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="lossy_mass_accuracy" value="-1.0"/>
        <param name="process_lowmemory" value="false"/>
        <param name="lowmem_batchsize" value="500"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
      <output name="out" file="OpenSwathAnalyzer_4_input_chrom.mzML.cached.tmp" compare="sim_size" delta="5700"/>
      <param name="out_type" value="mzML"/>
      <param name="lossy_compression" value="true"/>
      <param name="full_meta" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="lossy_mass_accuracy" value="0.0001"/>
        <param name="process_lowmemory" value="false"/>
        <param name="lowmem_batchsize" value="500"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_14.chrom.tmp.sqMass"/>
      <output name="out" file="OpenSwathWorkflow_14.chrom.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="out_type" value="mzml"/>
      <param name="lossy_compression" value="false"/>
      <param name="full_meta" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OpenSwathRewriteToFeatureXML">
</xml>
  <xml name="autotest_OpenSwathRTNormalizer">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathRTNormalizer_1_input.mzML"/>
      <param name="tr" value="OpenSwathRTNormalizer_1_input.TraML"/>
      <output name="out" file="OpenSwathRTNormalizer_1_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
      <param name="min_rsq" value="0.95"/>
      <param name="min_coverage" value="0.6"/>
      <param name="estimateBestPeptides" value="false"/>
      <section name="RTNormalization">
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <section name="peptideEstimation">
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathRTNormalizer_1_input.mzML"/>
      <param name="tr" value="OpenSwathRTNormalizer_1_input.TraML"/>
      <output name="out" file="OpenSwathRTNormalizer_3_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
      <param name="min_rsq" value="0.95"/>
      <param name="min_coverage" value="0.6"/>
      <param name="estimateBestPeptides" value="true"/>
      <section name="RTNormalization">
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <section name="peptideEstimation">
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="3"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="3"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathRTNormalizer_1_input.mzML"/>
      <param name="tr" value="OpenSwathRTNormalizer_1_input.TraML"/>
      <output name="out" file="OpenSwathRTNormalizer_4_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
      <param name="min_rsq" value="0.95"/>
      <param name="min_coverage" value="0.6"/>
      <param name="estimateBestPeptides" value="false"/>
      <section name="RTNormalization">
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
      </section>
      <section name="algorithm">
        <param name="stop_report_after_feature" value="-1"/>
        <param name="rt_extraction_window" value="-1.0"/>
        <param name="rt_normalization_factor" value="1.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="-1"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="stop_after_intensity_ratio" value="0.0001"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="false"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="1.0"/>
          <param name="minimal_quality" value="-10000.0"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="15"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="50.0"/>
            <param name="use_gauss" value="true"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="1.0"/>
            <param name="sn_win_len" value="1000.0"/>
            <param name="sn_bin_count" value="30"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="false"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="interpolation_step" value="0.2"/>
          <param name="tolerance_stdev_bounding_box" value="3.0"/>
          <param name="max_iteration" value="500"/>
          <section name="statistics">
            <param name="mean" value="1.0"/>
            <param name="variance" value="1.0"/>
          </section>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_elution_model_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <section name="peptideEstimation">
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_OpenSwathWorkflow">
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="false"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_1_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <output name="out_qc" file="OpenSwathWorkflow_1_output.json" compare="sim_size" delta="5700" ftype="json"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG,out_qc_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_2_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="false"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_2_input.mzXML"/>
      <param name="tr" value="OpenSwathWorkflow_2_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_tsv" file="OpenSwathWorkflow_4.tsv.tmp" compare="sim_size" delta="5700" ftype="tabular"/>
      <output name="out_chrom" file="OpenSwathWorkflow_4.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_tsv_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="cache"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="cacheWorkingInMemory"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="swath_windows_file" value="swath_windows.txt" ftype="txt"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="swath_windows_file" value="swath_windows_overlap.txt" ftype="txt"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="true"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_10.featureXML.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_10.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="false"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="550.0"/>
        <param name="irt_mz_extraction_window_unit" value="ppm"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="quadratic_regression_delta_ppm"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_11_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_11_input_2.TraML"/>
      <param name="tr_type" value=""/>
      <param name="tr_irt" value="OpenSwathWorkflow_11_input.TraML"/>
      <output name="out_features" file="OpenSwathWorkflow_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_11_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="true"/>
      <param name="rt_extraction_window" value="-1.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.2"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="none"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="true"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_13_input.pqp.tmp"/>
      <param name="tr_type" value="pqp"/>
      <output name="out_osw" file="OpenSwathWorkflow_13.osw" compare="sim_size" delta="5700" ftype="osw"/>
      <output name="out_chrom" file="OpenSwathWorkflow_13_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_osw_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="sqMass"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_14_input.pqp.tmp"/>
      <param name="tr_type" value="pqp"/>
      <output name="out_osw" file="OpenSwathWorkflow_14.osw" compare="sim_size" delta="5700" ftype="osw"/>
      <output name="out_chrom" file="OpenSwathWorkflow_14.chrom.tmp.sqMass" compare="sim_size" delta="5700" ftype="sqmass"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_osw_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="2"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_15_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_15_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_15_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="true"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="false"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="workingInMemory"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="2"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_16_input.sqMass"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_16_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_16_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="false"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="workingInMemory"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_17_input.tsv" ftype="tabular"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_17.featureXML.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_17.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="0.05"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="true"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="false"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="cache"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_17_input.tsv" ftype="tabular"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_17.featureXML.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_17.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="0.05"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="true"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="false"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="workingInMemory"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_17_input.pqp.tmp"/>
      <param name="tr_type" value="pqp"/>
      <output name="out_features" file="OpenSwathWorkflow_17_b_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_17_b_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="0.05"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_18_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="true"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_19_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="true"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_20_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="true"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="true"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="false"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="normal"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_21_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_21_input.tsv" ftype="tabular"/>
      <param name="tr_type" value=""/>
      <param name="tr_irt" value="OpenSwathWorkflow_21_input.irt.TraML"/>
      <output name="out_features" file="OpenSwathWorkflow_21_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_21_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <output name="Debugging_irt_trafo" file="OpenSwathWorkflow_21_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="true"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="true"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG,irt_trafo_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="sort_swath_maps" value="false"/>
        <param name="use_ms1_traces" value="true"/>
        <param name="enable_uis_scoring" value="false"/>
        <param name="out_chrom_type" value="mzML"/>
        <param name="min_upper_edge_dist" value="0.0"/>
        <param name="extra_rt_extraction_window" value="0.0"/>
        <param name="mz_extraction_window_unit" value="Th"/>
        <param name="mz_extraction_window_ms1_unit" value="Th"/>
        <param name="use_ms1_ion_mobility" value="true"/>
        <param name="matching_window_only" value="true"/>
        <param name="irt_mz_extraction_window" value="0.05"/>
        <param name="irt_mz_extraction_window_unit" value="Th"/>
        <param name="irt_im_extraction_window" value="-1.0"/>
        <param name="min_rsq" value="0.95"/>
        <param name="min_coverage" value="0.6"/>
        <param name="split_file_input" value="false"/>
        <param name="use_elution_model_score" value="false"/>
        <param name="readOptions" value="workingInMemory"/>
        <param name="mz_correction_function" value="none"/>
        <param name="extraction_function" value="tophat"/>
        <param name="batchSize" value="250"/>
        <param name="ms1_isotopes" value="3"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="OpenSwathWorkflow_22_input.mzML"/>
      <param name="tr" value="OpenSwathWorkflow_22_input.tsv" ftype="tabular"/>
      <param name="tr_type" value=""/>
      <output name="out_features" file="OpenSwathWorkflow_22_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <output name="out_chrom" file="OpenSwathWorkflow_22_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="sonar" value="false"/>
      <param name="rt_extraction_window" value="600.0"/>
      <param name="ion_mobility_window" value="-1.0"/>
      <param name="mz_extraction_window" value="0.05"/>
      <param name="mz_extraction_window_ms1" value="0.05"/>
      <param name="im_extraction_window_ms1" value="-1.0"/>
      <section name="Debugging"/>
      <section name="Calibration">
        <param name="ms1_im_calibration" value="false"/>
        <param name="im_correction_function" value="linear"/>
        <param name="debug_im_file" value=""/>
        <param name="debug_mz_file" value=""/>
      </section>
      <section name="Library">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <section name="RTNormalization">
        <param name="alignmentMethod" value="linear"/>
        <param name="outlierMethod" value="iter_residual"/>
        <param name="useIterativeChauvenet" value="false"/>
        <param name="RANSACMaxIterations" value="1000"/>
        <param name="RANSACMaxPercentRTThreshold" value="3"/>
        <param name="RANSACSamplingSize" value="10"/>
        <param name="estimateBestPeptides" value="false"/>
        <param name="InitialQualityCutoff" value="0.5"/>
        <param name="OverallQualityCutoff" value="5.5"/>
        <param name="NrRTBins" value="10"/>
        <param name="MinPeptidesPerBin" value="1"/>
        <param name="MinBinsFilled" value="8"/>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
        </section>
        <section name="b_spline">
          <param name="num_nodes" value="5"/>
        </section>
      </section>
      <section name="Scoring">
        <param name="stop_report_after_feature" value="5"/>
        <param name="rt_normalization_factor" value="100.0"/>
        <param name="quantification_cutoff" value="0.0"/>
        <param name="write_convex_hull" value="false"/>
        <param name="spectrum_addition_method" value="simple"/>
        <param name="add_up_spectra" value="1"/>
        <param name="spacing_for_spectra_resampling" value="0.005"/>
        <param name="uis_threshold_sn" value="0"/>
        <param name="uis_threshold_peak_area" value="0"/>
        <param name="scoring_model" value="default"/>
        <param name="im_extra_drift" value="0.0"/>
        <section name="TransitionGroupPicker">
          <param name="stop_after_feature" value="-1"/>
          <param name="min_peak_width" value="-1.0"/>
          <param name="peak_integration" value="original"/>
          <param name="background_subtraction" value="none"/>
          <param name="recalculate_peaks" value="true"/>
          <param name="use_precursors" value="false"/>
          <param name="use_consensus" value="true"/>
          <param name="recalculate_peaks_max_z" value="0.75"/>
          <param name="minimal_quality" value="-1.5"/>
          <param name="resample_boundary" value="15.0"/>
          <param name="compute_peak_quality" value="true"/>
          <param name="compute_peak_shape_metrics" value="false"/>
          <param name="compute_total_mi" value="false"/>
          <param name="boundary_selection_method" value="largest"/>
          <section name="PeakPickerMRM">
            <param name="sgolay_frame_length" value="11"/>
            <param name="sgolay_polynomial_order" value="3"/>
            <param name="gauss_width" value="30.0"/>
            <param name="use_gauss" value="false"/>
            <param name="peak_width" value="-1.0"/>
            <param name="signal_to_noise" value="0.1"/>
            <param name="write_sn_log_messages" value="false"/>
            <param name="remove_overlapping_peaks" value="true"/>
            <param name="method" value="corrected"/>
          </section>
          <section name="PeakIntegrator">
            <param name="integration_type" value="intensity_sum"/>
            <param name="baseline_type" value="base_to_base"/>
            <param name="fit_EMG" value="false"/>
          </section>
        </section>
        <section name="DIAScoring">
          <param name="dia_extraction_window" value="0.05"/>
          <param name="dia_extraction_unit" value="Th"/>
          <param name="dia_centroided" value="false"/>
          <param name="dia_byseries_intensity_min" value="300.0"/>
          <param name="dia_byseries_ppm_diff" value="10.0"/>
          <param name="dia_nr_isotopes" value="4"/>
          <param name="dia_nr_charges" value="4"/>
          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
        </section>
        <section name="EMGScoring">
          <param name="max_iteration" value="10"/>
        </section>
        <section name="Scores">
          <param name="use_shape_score" value="true"/>
          <param name="use_coelution_score" value="true"/>
          <param name="use_rt_score" value="true"/>
          <param name="use_library_score" value="true"/>
          <param name="use_intensity_score" value="true"/>
          <param name="use_nr_peaks_score" value="true"/>
          <param name="use_total_xic_score" value="true"/>
          <param name="use_total_mi_score" value="false"/>
          <param name="use_sn_score" value="true"/>
          <param name="use_mi_score" value="false"/>
          <param name="use_dia_scores" value="true"/>
          <param name="use_ms1_correlation" value="false"/>
          <param name="use_sonar_scores" value="false"/>
          <param name="use_ion_mobility_scores" value="false"/>
          <param name="use_ms1_fullscan" value="false"/>
          <param name="use_ms1_mi" value="false"/>
          <param name="use_uis_scores" value="false"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_PeakPickerHiRes">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="inmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerHiRes_input.mzML"/>
      <output name="out" file="PeakPickerHiRes_1.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="1.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value="1"/>
        <param name="report_FWHM" value="true"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="inmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerHiRes_2_input.mzML"/>
      <output name="out" file="PeakPickerHiRes_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="1.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value="1"/>
        <param name="report_FWHM" value="true"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="lowmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerHiRes_input.mzML"/>
      <output name="out" file="PeakPickerHiRes_output_lowMem.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="1.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value="1"/>
        <param name="report_FWHM" value="true"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="lowmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerHiRes_2_input.mzML"/>
      <output name="out" file="PeakPickerHiRes_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="1.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value="1"/>
        <param name="report_FWHM" value="true"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="processOption" value="inmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerHiRes_5_input.mzML"/>
      <output name="out" file="PeakPickerHiRes_5_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="0.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value=""/>
        <param name="report_FWHM" value="false"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_PeakPickerIterative">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerIterative_1_input.mzML"/>
      <output name="out" file="PeakPickerIterative_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise_" value="1.0"/>
        <param name="peak_width" value="0.04"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="sn_bin_count_" value="30"/>
        <param name="nr_iterations_" value="5"/>
        <param name="sn_win_len_" value="20.0"/>
        <param name="check_width_internally" value="false"/>
        <param name="ms1_only" value="false"/>
        <param name="clear_meta_data" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerIterative_2_input.mzML"/>
      <output name="out" file="PeakPickerIterative_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise_" value="0.0"/>
        <param name="peak_width" value="0.04"/>
        <param name="spacing_difference" value="2.5"/>
        <param name="sn_bin_count_" value="30"/>
        <param name="nr_iterations_" value="5"/>
        <param name="sn_win_len_" value="20.0"/>
        <param name="check_width_internally" value="true"/>
        <param name="ms1_only" value="false"/>
        <param name="clear_meta_data" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_PeakPickerWavelet">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="write_peak_meta_data" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerWavelet_input.mzML"/>
      <output name="out" file="PeakPickerWavelet_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="3.0"/>
        <param name="centroid_percentage" value="0.6"/>
        <param name="peak_width" value="0.2"/>
        <param name="estimate_peak_width" value="false"/>
        <param name="fwhm_lower_bound_factor" value="0.5"/>
        <param name="fwhm_upper_bound_factor" value="20.0"/>
        <section name="optimization">
          <param name="iterations" value="400"/>
          <section name="penalties">
            <param name="position" value="0.0"/>
            <param name="left_width" value="1.0"/>
            <param name="right_width" value="1.0"/>
            <param name="height" value="1.0"/>
          </section>
          <section name="2d">
            <param name="tolerance_mz" value="2.2"/>
            <param name="max_peak_distance" value="1.2"/>
          </section>
        </section>
        <section name="thresholds">
          <param name="peak_bound" value="100.0"/>
          <param name="peak_bound_ms2_level" value="10.0"/>
          <param name="correlation" value="0.5"/>
          <param name="noise_level" value="0.1"/>
          <param name="search_radius" value="3"/>
        </section>
        <section name="wavelet_transform">
          <param name="spacing" value="0.001"/>
        </section>
        <section name="deconvolution">
          <param name="deconvolution" value="false"/>
          <param name="asym_threshold" value="0.3"/>
          <param name="left_width" value="2.0"/>
          <param name="right_width" value="2.0"/>
          <param name="scaling" value="0.12"/>
          <section name="fitting">
            <param name="fwhm_threshold" value="0.7"/>
            <param name="eps_abs" value="9.999999747378752e-06"/>
            <param name="eps_rel" value="9.999999747378752e-06"/>
            <param name="max_iteration" value="10"/>
            <section name="penalties">
              <param name="position" value="0.0"/>
              <param name="height" value="1.0"/>
              <param name="left_width" value="0.0"/>
              <param name="right_width" value="0.0"/>
            </section>
          </section>
        </section>
        <section name="SignalToNoiseEstimationParameter">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="stdev_mp" value="3.0"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="write_peak_meta_data" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerWavelet_deconv_input.mzML"/>
      <output name="out" file="PeakPickerWavelet_deconv_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="2.0"/>
        <param name="centroid_percentage" value="0.8"/>
        <param name="peak_width" value="0.15"/>
        <param name="estimate_peak_width" value="false"/>
        <param name="fwhm_lower_bound_factor" value="1.0"/>
        <param name="fwhm_upper_bound_factor" value="20.0"/>
        <section name="optimization">
          <param name="iterations" value="400"/>
          <section name="penalties">
            <param name="position" value="0.0"/>
            <param name="left_width" value="1.0"/>
            <param name="right_width" value="1.0"/>
            <param name="height" value="1.0"/>
          </section>
          <section name="2d">
            <param name="tolerance_mz" value="2.2"/>
            <param name="max_peak_distance" value="1.2"/>
          </section>
        </section>
        <section name="thresholds">
          <param name="peak_bound" value="200.0"/>
          <param name="peak_bound_ms2_level" value="50.0"/>
          <param name="correlation" value="0.5"/>
          <param name="noise_level" value="0.1"/>
          <param name="search_radius" value="3"/>
        </section>
        <section name="wavelet_transform">
          <param name="spacing" value="0.001"/>
        </section>
        <section name="deconvolution">
          <param name="deconvolution" value="true"/>
          <param name="asym_threshold" value="0.3"/>
          <param name="left_width" value="2.0"/>
          <param name="right_width" value="2.0"/>
          <param name="scaling" value="0.1"/>
          <section name="fitting">
            <param name="fwhm_threshold" value="0.7"/>
            <param name="eps_abs" value="9.999999747378752e-06"/>
            <param name="eps_rel" value="9.999999747378752e-06"/>
            <param name="max_iteration" value="100"/>
            <section name="penalties">
              <param name="position" value="1.0"/>
              <param name="height" value="1.0"/>
              <param name="left_width" value="0.0"/>
              <param name="right_width" value="0.0"/>
            </section>
          </section>
        </section>
        <section name="SignalToNoiseEstimationParameter">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="stdev_mp" value="3.0"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="write_peak_meta_data" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerWavelet_input.mzML"/>
      <output name="out" file="PeakPickerWavelet_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="3.0"/>
        <param name="centroid_percentage" value="0.6"/>
        <param name="peak_width" value="0.2"/>
        <param name="estimate_peak_width" value="false"/>
        <param name="fwhm_lower_bound_factor" value="0.5"/>
        <param name="fwhm_upper_bound_factor" value="20.0"/>
        <section name="optimization">
          <param name="iterations" value="400"/>
          <section name="penalties">
            <param name="position" value="0.0"/>
            <param name="left_width" value="1.0"/>
            <param name="right_width" value="1.0"/>
            <param name="height" value="1.0"/>
          </section>
          <section name="2d">
            <param name="tolerance_mz" value="2.2"/>
            <param name="max_peak_distance" value="1.2"/>
          </section>
        </section>
        <section name="thresholds">
          <param name="peak_bound" value="100.0"/>
          <param name="peak_bound_ms2_level" value="10.0"/>
          <param name="correlation" value="0.5"/>
          <param name="noise_level" value="0.1"/>
          <param name="search_radius" value="3"/>
        </section>
        <section name="wavelet_transform">
          <param name="spacing" value="0.001"/>
        </section>
        <section name="deconvolution">
          <param name="deconvolution" value="false"/>
          <param name="asym_threshold" value="0.3"/>
          <param name="left_width" value="2.0"/>
          <param name="right_width" value="2.0"/>
          <param name="scaling" value="0.12"/>
          <section name="fitting">
            <param name="fwhm_threshold" value="0.7"/>
            <param name="eps_abs" value="9.999999747378752e-06"/>
            <param name="eps_rel" value="9.999999747378752e-06"/>
            <param name="max_iteration" value="10"/>
            <section name="penalties">
              <param name="position" value="0.0"/>
              <param name="height" value="1.0"/>
              <param name="left_width" value="0.0"/>
              <param name="right_width" value="0.0"/>
            </section>
          </section>
        </section>
        <section name="SignalToNoiseEstimationParameter">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="stdev_mp" value="3.0"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="write_peak_meta_data" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeakPickerWavelet_input.mzML"/>
      <output name="out" file="PeakPickerWavelet_output_noMetaData.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="3.0"/>
        <param name="centroid_percentage" value="0.6"/>
        <param name="peak_width" value="0.2"/>
        <param name="estimate_peak_width" value="false"/>
        <param name="fwhm_lower_bound_factor" value="0.5"/>
        <param name="fwhm_upper_bound_factor" value="20.0"/>
        <section name="optimization">
          <param name="iterations" value="400"/>
          <section name="penalties">
            <param name="position" value="0.0"/>
            <param name="left_width" value="1.0"/>
            <param name="right_width" value="1.0"/>
            <param name="height" value="1.0"/>
          </section>
          <section name="2d">
            <param name="tolerance_mz" value="2.2"/>
            <param name="max_peak_distance" value="1.2"/>
          </section>
        </section>
        <section name="thresholds">
          <param name="peak_bound" value="100.0"/>
          <param name="peak_bound_ms2_level" value="10.0"/>
          <param name="correlation" value="0.5"/>
          <param name="noise_level" value="0.1"/>
          <param name="search_radius" value="3"/>
        </section>
        <section name="wavelet_transform">
          <param name="spacing" value="0.001"/>
        </section>
        <section name="deconvolution">
          <param name="deconvolution" value="false"/>
          <param name="asym_threshold" value="0.3"/>
          <param name="left_width" value="2.0"/>
          <param name="right_width" value="2.0"/>
          <param name="scaling" value="0.12"/>
          <section name="fitting">
            <param name="fwhm_threshold" value="0.7"/>
            <param name="eps_abs" value="9.999999747378752e-06"/>
            <param name="eps_rel" value="9.999999747378752e-06"/>
            <param name="max_iteration" value="10"/>
            <section name="penalties">
              <param name="position" value="0.0"/>
              <param name="height" value="1.0"/>
              <param name="left_width" value="0.0"/>
              <param name="right_width" value="0.0"/>
            </section>
          </section>
        </section>
        <section name="SignalToNoiseEstimationParameter">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="stdev_mp" value="3.0"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_PepNovoAdapter">
</xml>
  <xml name="autotest_PeptideIndexer">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_1.idXML"/>
      <param name="fasta" value="PeptideIndexer_1.fasta"/>
      <output name="out" file="PeptideIndexer_1_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="false"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="true"/>
      <param name="aaa_max" value="4"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="none"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_1.idXML"/>
      <param name="fasta" value="PeptideIndexer_1.fasta"/>
      <output name="out" file="PeptideIndexer_2_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="true"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="true"/>
      <param name="aaa_max" value="4"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="none"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_1.idXML"/>
      <param name="fasta" value="PeptideIndexer_1.fasta"/>
      <output name="out" file="PeptideIndexer_3_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="false"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="true"/>
      <param name="allow_unmatched" value="true"/>
      <param name="aaa_max" value="4"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="none"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_1.idXML"/>
      <param name="fasta" value="PeptideIndexer_1.fasta"/>
      <output name="out" file="PeptideIndexer_4_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="true"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="true"/>
      <param name="aaa_max" value="0"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="none"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_1.idXML"/>
      <param name="fasta" value="PeptideIndexer_1.fasta"/>
      <output name="out" file="PeptideIndexer_5_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="false"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="true"/>
      <param name="aaa_max" value="4"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="none"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_2.idXML"/>
      <param name="fasta" value="PeptideIndexer_1.fasta"/>
      <output name="out" file="PeptideIndexer_6_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="false"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="true"/>
      <param name="aaa_max" value="3"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="none"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_3.idXML"/>
      <param name="fasta" value="PeptideIndexer_1.fasta"/>
      <output name="out" file="PeptideIndexer_7_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value="DECOY_"/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="false"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="true"/>
      <param name="aaa_max" value="4"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="full"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_3.idXML"/>
      <param name="fasta" value="PeptideIndexer_1.fasta"/>
      <output name="out" file="PeptideIndexer_8_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="false"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="true"/>
      <param name="aaa_max" value="4"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="semi"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_3.idXML"/>
      <param name="fasta" value="PeptideIndexer_1.fasta"/>
      <output name="out" file="PeptideIndexer_9_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="false"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="true"/>
      <param name="aaa_max" value="4"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="none"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_10_input.idXML"/>
      <param name="fasta" value="PeptideIndexer_10_input.fasta"/>
      <output name="out" file="PeptideIndexer_10_output.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="true"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="false"/>
      <param name="aaa_max" value="3"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="true"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="full"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_1.idXML"/>
      <param name="fasta" value="PeptideIndexer_1.fasta"/>
      <output name="out" file="PeptideIndexer_12_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="false"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="true"/>
      <param name="aaa_max" value="4"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="none"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="empty.idXML"/>
      <param name="fasta" value="PeptideIndexer_1.fasta"/>
      <output name="out" file="PeptideIndexer_13_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="false"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="false"/>
      <param name="aaa_max" value="4"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="full"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PeptideIndexer_14.idXML"/>
      <param name="fasta" value="PeptideIndexer_2.fasta"/>
      <output name="out" file="PeptideIndexer_14_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value=""/>
      <param name="decoy_string_position" value="prefix"/>
      <param name="missing_decoy_action" value="error"/>
      <param name="write_protein_sequence" value="true"/>
      <param name="write_protein_description" value="false"/>
      <param name="keep_unreferenced_proteins" value="false"/>
      <param name="allow_unmatched" value="false"/>
      <param name="aaa_max" value="4"/>
      <param name="mismatches_max" value="0"/>
      <param name="IL_equivalent" value="false"/>
      <section name="enzyme">
        <param name="name" value="Trypsin"/>
        <param name="specificity" value="none"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_PercolatorAdapter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="generic_feature_set" value="false"/>
        <param name="subset_max_train" value="0"/>
        <param name="cpos" value="0.0"/>
        <param name="cneg" value="0.0"/>
        <param name="testFDR" value="0.5"/>
        <param name="trainFDR" value="0.5"/>
        <param name="maxiter" value="10"/>
        <param name="quick_validation" value="false"/>
        <param name="default_direction" value=""/>
        <param name="verbose" value="2"/>
        <param name="unitnorm" value="false"/>
        <param name="test_each_iteration" value="false"/>
        <param name="override" value="false"/>
        <param name="seed" value="1"/>
        <param name="doc" value="0"/>
        <param name="klammer" value="false"/>
        <param name="decoy_pattern" value="random"/>
        <param name="post_processing_tdc" value="false"/>
        <param name="train_best_positive" value="false"/>
        <param name="ipf_max_peakgroup_pep" value="0.7"/>
        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
        <param name="ipf_min_transition_sn" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PercolatorAdapter_1.idXML"/>
      <output name="out" file="PercolatorAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="out_type" value="idXML"/>
      <param name="enzyme" value="trypsin"/>
      <param name="peptide_level_fdrs" value="false"/>
      <param name="protein_level_fdrs" value="false"/>
      <param name="osw_level" value="ms2"/>
      <param name="score_type" value="q-value"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="generic_feature_set" value="false"/>
        <param name="subset_max_train" value="0"/>
        <param name="cpos" value="0.0"/>
        <param name="cneg" value="0.0"/>
        <param name="testFDR" value="0.01"/>
        <param name="trainFDR" value="0.01"/>
        <param name="maxiter" value="10"/>
        <param name="quick_validation" value="false"/>
        <param name="default_direction" value=""/>
        <param name="verbose" value="2"/>
        <param name="unitnorm" value="false"/>
        <param name="test_each_iteration" value="false"/>
        <param name="override" value="false"/>
        <param name="seed" value="1"/>
        <param name="doc" value="0"/>
        <param name="klammer" value="false"/>
        <param name="decoy_pattern" value="random"/>
        <param name="post_processing_tdc" value="false"/>
        <param name="train_best_positive" value="false"/>
        <param name="ipf_max_peakgroup_pep" value="0.7"/>
        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
        <param name="ipf_min_transition_sn" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_osw" value="PercolatorAdapter_2.osw"/>
      <output name="out" file="PercolatorAdapter_2_out1.osw" compare="sim_size" delta="5700" ftype="osw"/>
      <param name="out_type" value="osw"/>
      <param name="enzyme" value="trypsin"/>
      <param name="peptide_level_fdrs" value="false"/>
      <param name="protein_level_fdrs" value="false"/>
      <param name="osw_level" value="ms1"/>
      <param name="score_type" value="q-value"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="generic_feature_set" value="false"/>
        <param name="subset_max_train" value="0"/>
        <param name="cpos" value="0.0"/>
        <param name="cneg" value="0.0"/>
        <param name="testFDR" value="0.01"/>
        <param name="trainFDR" value="0.01"/>
        <param name="maxiter" value="10"/>
        <param name="quick_validation" value="false"/>
        <param name="default_direction" value=""/>
        <param name="verbose" value="2"/>
        <param name="unitnorm" value="false"/>
        <param name="test_each_iteration" value="false"/>
        <param name="override" value="false"/>
        <param name="seed" value="1"/>
        <param name="doc" value="0"/>
        <param name="klammer" value="false"/>
        <param name="decoy_pattern" value="random"/>
        <param name="post_processing_tdc" value="false"/>
        <param name="train_best_positive" value="false"/>
        <param name="ipf_max_peakgroup_pep" value="0.7"/>
        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
        <param name="ipf_min_transition_sn" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_osw" value="PercolatorAdapter_2_out1.osw"/>
      <output name="out" file="PercolatorAdapter_3_out1.osw" compare="sim_size" delta="5700" ftype="osw"/>
      <param name="out_type" value="osw"/>
      <param name="enzyme" value="trypsin"/>
      <param name="peptide_level_fdrs" value="false"/>
      <param name="protein_level_fdrs" value="false"/>
      <param name="osw_level" value="ms2"/>
      <param name="score_type" value="q-value"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="generic_feature_set" value="false"/>
        <param name="subset_max_train" value="0"/>
        <param name="cpos" value="0.0"/>
        <param name="cneg" value="0.0"/>
        <param name="testFDR" value="0.01"/>
        <param name="trainFDR" value="0.01"/>
        <param name="maxiter" value="10"/>
        <param name="quick_validation" value="false"/>
        <param name="default_direction" value=""/>
        <param name="verbose" value="2"/>
        <param name="unitnorm" value="false"/>
        <param name="test_each_iteration" value="false"/>
        <param name="override" value="false"/>
        <param name="seed" value="1"/>
        <param name="doc" value="0"/>
        <param name="klammer" value="false"/>
        <param name="decoy_pattern" value="random"/>
        <param name="post_processing_tdc" value="false"/>
        <param name="train_best_positive" value="false"/>
        <param name="ipf_max_peakgroup_pep" value="0.7"/>
        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
        <param name="ipf_min_transition_sn" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_osw" value="PercolatorAdapter_3_out1.osw"/>
      <output name="out" file="PercolatorAdapter_4_out1.osw" compare="sim_size" delta="5700" ftype="osw"/>
      <param name="out_type" value="osw"/>
      <param name="enzyme" value="trypsin"/>
      <param name="peptide_level_fdrs" value="false"/>
      <param name="protein_level_fdrs" value="false"/>
      <param name="osw_level" value="transition"/>
      <param name="score_type" value="q-value"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="generic_feature_set" value="false"/>
        <param name="subset_max_train" value="0"/>
        <param name="cpos" value="0.0"/>
        <param name="cneg" value="0.0"/>
        <param name="testFDR" value="0.5"/>
        <param name="trainFDR" value="0.5"/>
        <param name="maxiter" value="10"/>
        <param name="quick_validation" value="false"/>
        <param name="default_direction" value=""/>
        <param name="verbose" value="2"/>
        <param name="unitnorm" value="false"/>
        <param name="test_each_iteration" value="false"/>
        <param name="override" value="false"/>
        <param name="seed" value="1"/>
        <param name="doc" value="0"/>
        <param name="klammer" value="false"/>
        <param name="decoy_pattern" value="random"/>
        <param name="post_processing_tdc" value="false"/>
        <param name="train_best_positive" value="false"/>
        <param name="ipf_max_peakgroup_pep" value="0.7"/>
        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
        <param name="ipf_min_transition_sn" value="0.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PercolatorAdapter_1.idXML"/>
      <output name="out" file="PercolatorAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="out_pin" file="PercolatorAdapter_1_out1.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="out_type" value="idXML"/>
      <param name="enzyme" value="trypsin"/>
      <param name="peptide_level_fdrs" value="false"/>
      <param name="protein_level_fdrs" value="false"/>
      <param name="osw_level" value="ms2"/>
      <param name="score_type" value="q-value"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_pin_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_PhosphoScoring">
</xml>
  <xml name="autotest_PrecursorIonSelector">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="solver" value="GLPK"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PrecursorIonSelector_features.featureXML"/>
      <param name="ids" value="PrecursorIonSelector_ids.idXML"/>
      <param name="num_precursors" value="1"/>
      <param name="load_preprocessing" value="false"/>
      <param name="store_preprocessing" value="false"/>
      <param name="simulation" value="true"/>
      <output name="sim_results" file="PrecursorIonSelector_1_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="db_path" value="PrecursorIonSelector_db.fasta"/>
      <param name="fixed_modifications" value=""/>
      <section name="algorithm">
        <param name="type" value="IPS"/>
        <param name="max_iteration" value="10"/>
        <param name="rt_bin_capacity" value="10"/>
        <param name="step_size" value="1"/>
        <param name="peptide_min_prob" value="0.2"/>
        <param name="sequential_spectrum_order" value="false"/>
        <section name="MIPFormulation">
          <section name="thresholds">
            <param name="min_protein_probability" value="0.2"/>
            <param name="min_protein_id_probability" value="0.95"/>
            <param name="min_pt_weight" value="0.5"/>
            <param name="min_mz" value="500.0"/>
            <param name="max_mz" value="5000.0"/>
            <param name="min_pred_pep_prob" value="0.5"/>
            <param name="min_rt_weight" value="0.5"/>
            <param name="use_peptide_rule" value="true"/>
            <param name="min_peptide_ids" value="2"/>
            <param name="min_peptide_probability" value="0.95"/>
          </section>
          <section name="combined_ilp">
            <param name="k1" value="0.2"/>
            <param name="k2" value="0.2"/>
            <param name="k3" value="0.4"/>
            <param name="scale_matching_probs" value="true"/>
          </section>
          <section name="feature_based">
            <param name="no_intensity_normalization" value="false"/>
            <param name="max_number_precursors_per_feature" value="1"/>
          </section>
        </section>
        <section name="Preprocessing">
          <param name="precursor_mass_tolerance" value="0.9"/>
          <param name="precursor_mass_tolerance_unit" value="Da"/>
          <param name="preprocessed_db_path" value=""/>
          <param name="preprocessed_db_pred_rt_path" value=""/>
          <param name="preprocessed_db_pred_dt_path" value=""/>
          <param name="max_peptides_per_run" value="100000"/>
          <param name="missed_cleavages" value="1"/>
          <param name="taxonomy" value=""/>
          <param name="store_peptide_sequences" value="false"/>
          <section name="rt_settings">
            <param name="min_rt" value="960.0"/>
            <param name="max_rt" value="3840.0"/>
            <param name="rt_step_size" value="30.0"/>
            <param name="gauss_mean" value="-1.0"/>
            <param name="gauss_sigma" value="3.0"/>
          </section>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,sim_results_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="solver" value="GLPK"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PrecursorIonSelector_features.featureXML"/>
      <output name="out" file="PrecursorIonSelector_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="ids" value="PrecursorIonSelector_ids.idXML"/>
      <param name="num_precursors" value="1"/>
      <param name="load_preprocessing" value="false"/>
      <param name="store_preprocessing" value="false"/>
      <param name="simulation" value="false"/>
      <param name="db_path" value="PrecursorIonSelector_db.fasta"/>
      <param name="fixed_modifications" value=""/>
      <section name="algorithm">
        <param name="type" value="IPS"/>
        <param name="max_iteration" value="10"/>
        <param name="rt_bin_capacity" value="10"/>
        <param name="step_size" value="1"/>
        <param name="peptide_min_prob" value="0.2"/>
        <param name="sequential_spectrum_order" value="false"/>
        <section name="MIPFormulation">
          <section name="thresholds">
            <param name="min_protein_probability" value="0.2"/>
            <param name="min_protein_id_probability" value="0.95"/>
            <param name="min_pt_weight" value="0.5"/>
            <param name="min_mz" value="500.0"/>
            <param name="max_mz" value="5000.0"/>
            <param name="min_pred_pep_prob" value="0.5"/>
            <param name="min_rt_weight" value="0.5"/>
            <param name="use_peptide_rule" value="true"/>
            <param name="min_peptide_ids" value="2"/>
            <param name="min_peptide_probability" value="0.95"/>
          </section>
          <section name="combined_ilp">
            <param name="k1" value="0.2"/>
            <param name="k2" value="0.2"/>
            <param name="k3" value="0.4"/>
            <param name="scale_matching_probs" value="true"/>
          </section>
          <section name="feature_based">
            <param name="no_intensity_normalization" value="false"/>
            <param name="max_number_precursors_per_feature" value="1"/>
          </section>
        </section>
        <section name="Preprocessing">
          <param name="precursor_mass_tolerance" value="0.9"/>
          <param name="precursor_mass_tolerance_unit" value="Da"/>
          <param name="preprocessed_db_path" value=""/>
          <param name="preprocessed_db_pred_rt_path" value=""/>
          <param name="preprocessed_db_pred_dt_path" value=""/>
          <param name="max_peptides_per_run" value="100000"/>
          <param name="missed_cleavages" value="1"/>
          <param name="taxonomy" value=""/>
          <param name="store_peptide_sequences" value="false"/>
          <section name="rt_settings">
            <param name="min_rt" value="960.0"/>
            <param name="max_rt" value="3840.0"/>
            <param name="rt_step_size" value="30.0"/>
            <param name="gauss_mean" value="-1.0"/>
            <param name="gauss_sigma" value="3.0"/>
          </section>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_PrecursorMassCorrector">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="max_charge" value="3"/>
        <param name="intensity_threshold" value="-1.0"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PrecursorMassCorrector_1_input.mzML"/>
      <output name="out" file="PrecursorMassCorrector_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="precursor_mass_tolerance" value="1.5"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_ProteinInference">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinInference_1_input.idXML"/>
      <output name="out" file="ProteinInference_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="merge_runs" value="all"/>
      <param name="annotate_indist_groups" value="true"/>
      <section name="Merging">
        <param name="annotate_origin" value="false"/>
      </section>
      <section name="Algorithm">
        <param name="min_peptides_per_protein" value="1"/>
        <param name="score_aggregation_method" value="maximum"/>
        <param name="treat_charge_variants_separately" value="true"/>
        <param name="treat_modification_variants_separately" value="true"/>
        <param name="use_shared_peptides" value="false"/>
        <param name="skip_count_annotation" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_ProteinQuantifier">
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_input.featureXML"/>
      <output name="out" file="ProteinQuantifier_1_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <output name="peptide_out" file="ProteinQuantifier_1_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="3"/>
      <param name="average" value="median"/>
      <param name="include_all" value="false"/>
      <param name="best_charge_and_fraction" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="false"/>
      <param name="ratiosSILAC" value="false"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="false"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_input.featureXML"/>
      <output name="out" file="ProteinQuantifier_2_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <output name="peptide_out" file="ProteinQuantifier_2_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="2"/>
      <param name="average" value="sum"/>
      <param name="include_all" value="true"/>
      <param name="best_charge_and_fraction" value="true"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="false"/>
      <param name="ratiosSILAC" value="false"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="false"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_3_input.featureXML"/>
      <output name="out" file="ProteinQuantifier_3_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <output name="peptide_out" file="ProteinQuantifier_3_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="2"/>
      <param name="average" value="mean"/>
      <param name="include_all" value="true"/>
      <param name="best_charge_and_fraction" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="false"/>
      <param name="ratiosSILAC" value="false"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="false"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
      <output name="out" file="ProteinQuantifier_4_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="0"/>
      <param name="average" value="sum"/>
      <param name="include_all" value="false"/>
      <param name="best_charge_and_fraction" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="false"/>
      <param name="ratiosSILAC" value="false"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="false"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
      <output name="out" file="ProteinQuantifier_5_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="3"/>
      <param name="average" value="sum"/>
      <param name="include_all" value="false"/>
      <param name="best_charge_and_fraction" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="false"/>
      <param name="ratiosSILAC" value="false"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="false"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
      <output name="out" file="ProteinQuantifier_6_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="3"/>
      <param name="average" value="sum"/>
      <param name="include_all" value="true"/>
      <param name="best_charge_and_fraction" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="false"/>
      <param name="ratiosSILAC" value="false"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="false"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
      <output name="out" file="ProteinQuantifier_7_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="0"/>
      <param name="average" value="sum"/>
      <param name="include_all" value="false"/>
      <param name="best_charge_and_fraction" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="false"/>
      <param name="ratiosSILAC" value="false"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="true"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
      <output name="out" file="ProteinQuantifier_8_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="3"/>
      <param name="average" value="sum"/>
      <param name="include_all" value="false"/>
      <param name="best_charge_and_fraction" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="false"/>
      <param name="ratiosSILAC" value="false"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="true"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
      <output name="out" file="ProteinQuantifier_9_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="3"/>
      <param name="average" value="sum"/>
      <param name="include_all" value="true"/>
      <param name="best_charge_and_fraction" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="false"/>
      <param name="ratiosSILAC" value="false"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="true"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
      <output name="out" file="ProteinQuantifier_12_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="3"/>
      <param name="average" value="sum"/>
      <param name="include_all" value="true"/>
      <param name="best_charge_and_fraction" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="true"/>
      <param name="ratiosSILAC" value="false"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="true"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
      <output name="out" file="ProteinQuantifier_13_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="3"/>
      <param name="average" value="sum"/>
      <param name="include_all" value="true"/>
      <param name="best_charge_and_fraction" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="false"/>
      <param name="ratiosSILAC" value="true"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="true"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ProteinQuantifier_input.idXML"/>
      <output name="out" file="ProteinQuantifier_14_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <output name="peptide_out" file="ProteinQuantifier_14_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="top" value="0"/>
      <param name="average" value="sum"/>
      <param name="include_all" value="false"/>
      <param name="best_charge_and_fraction" value="false"/>
      <param name="greedy_group_resolution" value="false"/>
      <param name="ratios" value="false"/>
      <param name="ratiosSILAC" value="false"/>
      <section name="consensus">
        <param name="normalize" value="false"/>
        <param name="fix_peptides" value="false"/>
      </section>
      <section name="format">
        <param name="separator" value=""/>
        <param name="quoting" value="double"/>
        <param name="replacement" value="_"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_ProteinResolver">
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="fasta" value="ProteinResolver_1_input.fasta"/>
      <param name="in" value="ProteinResolver_1_input.consensusXML"/>
      <param name="in_path" value=""/>
      <output name="protein_groups" file="ProteinResolver_1_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <output name="peptide_table" file="ProteinResolver_1_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <output name="protein_table" file="ProteinResolver_1_output3.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <section name="resolver">
        <param name="missed_cleavages" value="2"/>
        <param name="min_length" value="6"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="designer">
        <param name="experiment" value="ExperimentalSetting"/>
        <param name="file" value="File"/>
        <param name="separator" value="tab"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,protein_groups_FLAG,peptide_table_FLAG,protein_table_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_PSMFeatureExtractor">
</xml>
  <xml name="autotest_PTModel">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_positive" value="PTModel_1_input_positive.idXML"/>
      <param name="in_negative" value="PTModel_1_input_negative.idXML"/>
      <output name="out" file="PTModel_1_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="c" value="0.5"/>
      <param name="svm_type" value="C_SVC"/>
      <param name="nu" value="0.5"/>
      <param name="kernel_type" value="OLIGO"/>
      <param name="degree" value="1"/>
      <param name="border_length" value="22"/>
      <param name="k_mer_length" value="1"/>
      <param name="sigma" value="5.0"/>
      <param name="max_positive_count" value="1000"/>
      <param name="max_negative_count" value="1000"/>
      <param name="redundant" value="false"/>
      <param name="additive_cv" value="false"/>
      <section name="cv">
        <param name="skip_cv" value="true"/>
        <param name="number_of_runs" value="10"/>
        <param name="number_of_partitions" value="10"/>
        <param name="degree_start" value="1"/>
        <param name="degree_step_size" value="2"/>
        <param name="degree_stop" value="4"/>
        <param name="c_start" value="1.0"/>
        <param name="c_step_size" value="100.0"/>
        <param name="c_stop" value="1000.0"/>
        <param name="nu_start" value="0.1"/>
        <param name="nu_step_size" value="1.3"/>
        <param name="nu_stop" value="0.9"/>
        <param name="sigma_start" value="1.0"/>
        <param name="sigma_step_size" value="1.3"/>
        <param name="sigma_stop" value="15.0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_QCCalculator">
</xml>
  <xml name="autotest_QCEmbedder">
</xml>
  <xml name="autotest_QCExporter">
</xml>
  <xml name="autotest_QCExtractor">
</xml>
  <xml name="autotest_QCImporter">
</xml>
  <xml name="autotest_QCMerger">
</xml>
  <xml name="autotest_QCShrinker">
</xml>
  <xml name="autotest_QualityControl">
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_cm" value="QualityControl_1_in.consensusXML"/>
      <param name="in_raw" value="QualityControl_1_in1.mzML.gz,QualityControl_1_in2.mzML.gz,QualityControl_1_in3.mzML.gz"/>
      <param name="in_postFDR" value="QualityControl_1_in1.featureXML,QualityControl_1_in2.featureXML,QualityControl_1_in3.featureXML"/>
      <output name="out" file="QualityControl_1_out.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <output name="out_cm" file="QualityControl_1_out.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
      <param name="in_contaminants" value="QualityControl_1.fasta"/>
      <param name="in_trafo" value="QualityControl_1_in1.trafoXML,QualityControl_1_in2.trafoXML,QualityControl_1_in3.trafoXML"/>
      <section name="FragmentMassError">
        <param name="unit" value="auto"/>
        <param name="tolerance" value="20.0"/>
      </section>
      <section name="MS2_id_rate">
        <param name="force_no_fdr" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_cm_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_RNADigestor">
</xml>
  <xml name="autotest_RNAMassCalculator">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_seq" value="&quot;AUCGGC&quot;"/>
      <output name="out" file="RNAMassCalculator_1.txt" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="charge" value="-1 -2"/>
      <param name="format" value="list"/>
      <param name="average_mass" value="false"/>
      <param name="fragment_type" value="full"/>
      <param name="separator" value=""/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_RNPxlSearch">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="RNPxlSearch_1_input.mzML"/>
      <param name="database" value="RNPxlSearch_1_input.fasta"/>
      <output name="out" file="RNPxlSearch_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <section name="precursor">
        <param name="mass_tolerance" value="20.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="min_charge" value="2"/>
        <param name="max_charge" value="5"/>
        <param name="isotopes" value="0 1"/>
      </section>
      <section name="fragment">
        <param name="mass_tolerance" value="20.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
      </section>
      <section name="modifications">
        <param name="fixed" value=""/>
        <param name="variable" value="Oxidation (M)"/>
        <param name="variable_max_per_peptide" value="2"/>
      </section>
      <section name="peptide">
        <param name="min_size" value="6"/>
        <param name="max_size" value="1000000"/>
        <param name="missed_cleavages" value="1"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="report">
        <param name="top_hits" value="1"/>
      </section>
      <section name="RNPxl">
        <param name="length" value="2"/>
        <param name="sequence" value="GUA"/>
        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
        <param name="nt_groups" value=""/>
        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
        <param name="can_cross_link" value="U"/>
        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
        <param name="scoring" value="fast"/>
        <param name="decoys" value="false"/>
        <param name="CysteineAdduct" value="false"/>
        <param name="filter_fractional_mass" value="false"/>
        <param name="carbon_labeled_fragments" value="false"/>
        <param name="only_xl" value="false"/>
        <param name="filter_small_peptide_mass" value="600.0"/>
        <param name="marker_ions_tolerance" value="0.05"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="RNPxlSearch_1_input.mzML"/>
      <param name="database" value="RNPxlSearch_1_input.fasta"/>
      <output name="out" file="RNPxlSearch_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <section name="precursor">
        <param name="mass_tolerance" value="20.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="min_charge" value="2"/>
        <param name="max_charge" value="5"/>
        <param name="isotopes" value="0 1"/>
      </section>
      <section name="fragment">
        <param name="mass_tolerance" value="20.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
      </section>
      <section name="modifications">
        <param name="fixed" value=""/>
        <param name="variable" value="Oxidation (M)"/>
        <param name="variable_max_per_peptide" value="2"/>
      </section>
      <section name="peptide">
        <param name="min_size" value="6"/>
        <param name="max_size" value="1000000"/>
        <param name="missed_cleavages" value="1"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="report">
        <param name="top_hits" value="1"/>
      </section>
      <section name="RNPxl">
        <param name="length" value="2"/>
        <param name="sequence" value="GUA"/>
        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
        <param name="nt_groups" value=""/>
        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
        <param name="can_cross_link" value="U"/>
        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
        <param name="scoring" value="fast"/>
        <param name="decoys" value="true"/>
        <param name="CysteineAdduct" value="false"/>
        <param name="filter_fractional_mass" value="false"/>
        <param name="carbon_labeled_fragments" value="false"/>
        <param name="only_xl" value="false"/>
        <param name="filter_small_peptide_mass" value="600.0"/>
        <param name="marker_ions_tolerance" value="0.05"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="RNPxlSearch_1_input.mzML"/>
      <param name="database" value="RNPxlSearch_1_input.fasta"/>
      <output name="out" file="RNPxlSearch_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="out_tsv" file="RNPxlSearch_3_output2.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <section name="precursor">
        <param name="mass_tolerance" value="10.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="min_charge" value="2"/>
        <param name="max_charge" value="5"/>
        <param name="isotopes" value="0 1"/>
      </section>
      <section name="fragment">
        <param name="mass_tolerance" value="10.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
      </section>
      <section name="modifications">
        <param name="fixed" value=""/>
        <param name="variable" value=""/>
        <param name="variable_max_per_peptide" value="2"/>
      </section>
      <section name="peptide">
        <param name="min_size" value="6"/>
        <param name="max_size" value="1000000"/>
        <param name="missed_cleavages" value="1"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="report">
        <param name="top_hits" value="3"/>
      </section>
      <section name="RNPxl">
        <param name="length" value="2"/>
        <param name="sequence" value=""/>
        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
        <param name="nt_groups" value=""/>
        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
        <param name="can_cross_link" value="U"/>
        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
        <param name="scoring" value="fast"/>
        <param name="decoys" value="false"/>
        <param name="CysteineAdduct" value="false"/>
        <param name="filter_fractional_mass" value="false"/>
        <param name="carbon_labeled_fragments" value="false"/>
        <param name="only_xl" value="false"/>
        <param name="filter_small_peptide_mass" value="600.0"/>
        <param name="marker_ions_tolerance" value="0.05"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_tsv_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="RNPxlSearch_1_input.mzML"/>
      <param name="database" value="RNPxlSearch_1_input.fasta"/>
      <output name="out" file="RNPxlSearch_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="out_tsv" file="RNPxlSearch_4_output2.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <section name="precursor">
        <param name="mass_tolerance" value="10.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="min_charge" value="2"/>
        <param name="max_charge" value="5"/>
        <param name="isotopes" value="0 1"/>
      </section>
      <section name="fragment">
        <param name="mass_tolerance" value="10.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
      </section>
      <section name="modifications">
        <param name="fixed" value=""/>
        <param name="variable" value=""/>
        <param name="variable_max_per_peptide" value="2"/>
      </section>
      <section name="peptide">
        <param name="min_size" value="6"/>
        <param name="max_size" value="1000000"/>
        <param name="missed_cleavages" value="1"/>
        <param name="enzyme" value="Trypsin"/>
      </section>
      <section name="report">
        <param name="top_hits" value="2"/>
      </section>
      <section name="RNPxl">
        <param name="length" value="2"/>
        <param name="sequence" value=""/>
        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
        <param name="nt_groups" value=""/>
        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
        <param name="can_cross_link" value="U"/>
        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
        <param name="scoring" value="fast"/>
        <param name="decoys" value="true"/>
        <param name="CysteineAdduct" value="false"/>
        <param name="filter_fractional_mass" value="false"/>
        <param name="carbon_labeled_fragments" value="false"/>
        <param name="only_xl" value="false"/>
        <param name="filter_small_peptide_mass" value="600.0"/>
        <param name="marker_ions_tolerance" value="0.05"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_tsv_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_RNPxlXICFilter">
</xml>
  <xml name="autotest_RTEvaluation">
</xml>
  <xml name="autotest_RTModel">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="RTModel_1_input.idXML"/>
      <output name="out" file="RTModel_1_output.model" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="svm_type" value="NU_SVR"/>
      <param name="nu" value="0.5"/>
      <param name="p" value="0.1"/>
      <param name="c" value="0.1"/>
      <param name="kernel_type" value="POLY"/>
      <param name="degree" value="1"/>
      <param name="border_length" value="22"/>
      <param name="max_std" value="10.0"/>
      <param name="k_mer_length" value="1"/>
      <param name="sigma" value="5.0"/>
      <param name="total_gradient_time" value="3000.0"/>
      <param name="first_dim_rt" value="false"/>
      <param name="additive_cv" value="false"/>
      <section name="cv">
        <param name="skip_cv" value="true"/>
        <param name="number_of_runs" value="10"/>
        <param name="number_of_partitions" value="10"/>
        <param name="degree_start" value="1"/>
        <param name="degree_step_size" value="2"/>
        <param name="degree_stop" value="4"/>
        <param name="p_start" value="1.0"/>
        <param name="p_step_size" value="10.0"/>
        <param name="p_stop" value="1000.0"/>
        <param name="c_start" value="1.0"/>
        <param name="c_step_size" value="10.0"/>
        <param name="c_stop" value="1000.0"/>
        <param name="nu_start" value="0.3"/>
        <param name="nu_step_size" value="1.2"/>
        <param name="nu_stop" value="0.7"/>
        <param name="sigma_start" value="1.0"/>
        <param name="sigma_step_size" value="1.3"/>
        <param name="sigma_stop" value="15.0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in_positive" value="RTModel_2_input_positive.idXML"/>
      <param name="in_negative" value="RTModel_2_input_negative.idXML"/>
      <output name="out" file="RTModel_2_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="svm_type" value="NU_SVR"/>
      <param name="nu" value="0.5"/>
      <param name="p" value="0.1"/>
      <param name="c" value="0.5"/>
      <param name="kernel_type" value="OLIGO"/>
      <param name="degree" value="1"/>
      <param name="border_length" value="22"/>
      <param name="max_std" value="10.0"/>
      <param name="k_mer_length" value="1"/>
      <param name="sigma" value="5.0"/>
      <param name="total_gradient_time" value="1.0"/>
      <param name="first_dim_rt" value="false"/>
      <param name="additive_cv" value="false"/>
      <section name="cv">
        <param name="skip_cv" value="true"/>
        <param name="number_of_runs" value="10"/>
        <param name="number_of_partitions" value="10"/>
        <param name="degree_start" value="1"/>
        <param name="degree_step_size" value="2"/>
        <param name="degree_stop" value="4"/>
        <param name="p_start" value="1.0"/>
        <param name="p_step_size" value="10.0"/>
        <param name="p_stop" value="1000.0"/>
        <param name="c_start" value="1.0"/>
        <param name="c_step_size" value="10.0"/>
        <param name="c_stop" value="1000.0"/>
        <param name="nu_start" value="0.3"/>
        <param name="nu_step_size" value="1.2"/>
        <param name="nu_stop" value="0.7"/>
        <param name="sigma_start" value="1.0"/>
        <param name="sigma_step_size" value="1.3"/>
        <param name="sigma_stop" value="15.0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="RTModel_3_input.idXML"/>
      <output name="out" file="RTModel_3_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="svm_type" value="NU_SVR"/>
      <param name="nu" value="0.5"/>
      <param name="p" value="0.1"/>
      <param name="c" value="0.001953125"/>
      <param name="kernel_type" value="OLIGO"/>
      <param name="degree" value="1"/>
      <param name="border_length" value="22"/>
      <param name="max_std" value="10.0"/>
      <param name="k_mer_length" value="1"/>
      <param name="sigma" value="1.0"/>
      <param name="total_gradient_time" value="1.0"/>
      <param name="first_dim_rt" value="false"/>
      <param name="additive_cv" value="false"/>
      <section name="cv">
        <param name="skip_cv" value="false"/>
        <param name="number_of_runs" value="1"/>
        <param name="number_of_partitions" value="5"/>
        <param name="degree_start" value="1"/>
        <param name="degree_step_size" value="2"/>
        <param name="degree_stop" value="4"/>
        <param name="p_start" value="1.0"/>
        <param name="p_step_size" value="10.0"/>
        <param name="p_stop" value="1000.0"/>
        <param name="c_start" value="0.001953125"/>
        <param name="c_step_size" value="2.0"/>
        <param name="c_stop" value="0.001953125"/>
        <param name="nu_start" value="0.4"/>
        <param name="nu_step_size" value="1.2"/>
        <param name="nu_stop" value="0.4"/>
        <param name="sigma_start" value="5.0"/>
        <param name="sigma_step_size" value="1.221055"/>
        <param name="sigma_stop" value="5.0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="RTModel_4_input.txt" ftype="txt"/>
      <output name="out" file="RTModel_4_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
      <param name="svm_type" value="NU_SVR"/>
      <param name="nu" value="0.5"/>
      <param name="p" value="0.1"/>
      <param name="c" value="0.001953125"/>
      <param name="kernel_type" value="OLIGO"/>
      <param name="degree" value="1"/>
      <param name="border_length" value="22"/>
      <param name="max_std" value="10.0"/>
      <param name="k_mer_length" value="1"/>
      <param name="sigma" value="1.0"/>
      <param name="total_gradient_time" value="1.0"/>
      <param name="first_dim_rt" value="false"/>
      <param name="additive_cv" value="false"/>
      <section name="cv">
        <param name="skip_cv" value="false"/>
        <param name="number_of_runs" value="1"/>
        <param name="number_of_partitions" value="5"/>
        <param name="degree_start" value="1"/>
        <param name="degree_step_size" value="2"/>
        <param name="degree_stop" value="4"/>
        <param name="p_start" value="1.0"/>
        <param name="p_step_size" value="10.0"/>
        <param name="p_stop" value="1000.0"/>
        <param name="c_start" value="0.001953125"/>
        <param name="c_step_size" value="2.0"/>
        <param name="c_stop" value="0.001953125"/>
        <param name="nu_start" value="0.4"/>
        <param name="nu_step_size" value="1.2"/>
        <param name="nu_stop" value="0.4"/>
        <param name="sigma_start" value="5.0"/>
        <param name="sigma_step_size" value="1.221055"/>
        <param name="sigma_stop" value="5.0"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_SeedListGenerator">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="PepXMLFile_test.mzML"/>
      <output name="out" file="SeedListGenerator_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="use_peptide_mass" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="IDMapper_1_output.featureXML"/>
      <output name="out" file="SeedListGenerator_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
      <param name="use_peptide_mass" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_SemanticValidator">
</xml>
  <xml name="autotest_SequenceCoverageCalculator">
</xml>
  <xml name="autotest_SimpleSearchEngine">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SimpleSearchEngine_1.mzML"/>
      <param name="database" value="SimpleSearchEngine_1.fasta"/>
      <output name="out" file="SimpleSearchEngine_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <section name="Search">
        <param name="enzyme" value="Trypsin"/>
        <section name="precursor">
          <param name="mass_tolerance" value="5.0"/>
          <param name="mass_tolerance_unit" value="ppm"/>
          <param name="min_charge" value="2"/>
          <param name="max_charge" value="5"/>
          <param name="isotopes" value="0 1"/>
        </section>
        <section name="fragment">
          <param name="mass_tolerance" value="0.3"/>
          <param name="mass_tolerance_unit" value="Da"/>
        </section>
        <section name="modifications">
          <param name="fixed" value=""/>
          <param name="variable" value="Oxidation (M)"/>
          <param name="variable_max_per_peptide" value="2"/>
        </section>
        <section name="peptide">
          <param name="min_size" value="7"/>
          <param name="max_size" value="40"/>
          <param name="missed_cleavages" value="1"/>
          <param name="motif" value=""/>
        </section>
        <section name="report">
          <param name="top_hits" value="1"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_SiriusAdapter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="converter_mode" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SiriusAdapter_1_input.mzML"/>
      <output name="out_sirius" file="SiriusAdapter_1_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <param name="out_workspace_directory" value=""/>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="false"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="true"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="converter_mode" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SiriusAdapter_2_input.mzML"/>
      <param name="in_featureinfo" value="SiriusAdapter_2_input.featureXML"/>
      <output name="out_sirius" file="SiriusAdapter_2_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <param name="out_workspace_directory" value=""/>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="3"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="true"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="true"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="converter_mode" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SiriusAdapter_3_input.mzML"/>
      <param name="in_featureinfo" value="SiriusAdapter_3_input.featureXML"/>
      <output name="out_sirius" file="SiriusAdapter_3_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <param name="out_workspace_directory" value=""/>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="3"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="false"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="true"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="converter_mode" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SiriusAdapter_3_input.mzML"/>
      <param name="in_featureinfo" value="SiriusAdapter_3_input.featureXML"/>
      <output name="out_ms" file="SiriusAdapter_5_output.ms" compare="sim_size" delta="5700" ftype="sirius.ms"/>
      <param name="out_workspace_directory" value=""/>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="false"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_ms_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="converter_mode" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SiriusAdapter_4_input.mzML"/>
      <param name="in_featureinfo" value="SiriusAdapter_4_input.featureXML"/>
      <output name="out_ms" file="SiriusAdapter_6_output.ms" compare="sim_size" delta="5700" ftype="sirius.ms"/>
      <param name="out_workspace_directory" value=""/>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="false"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_ms_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="converter_mode" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SiriusAdapter_4_input.mzML"/>
      <param name="in_featureinfo" value="SiriusAdapter_4_input.featureXML"/>
      <output name="out_sirius" file="SiriusAdapter_7_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <param name="out_workspace_directory" value=""/>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="true"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="false"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="3">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="converter_mode" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SiriusAdapter_2_input.mzML"/>
      <param name="in_featureinfo" value="SiriusAdapter_2_input.featureXML"/>
      <output name="out_sirius" file="SiriusAdapter_4_output.tmp" compare="sim_size" delta="5700" ftype="mztab"/>
      <output name="out_fingerid" file="SiriusAdapter_4_foutput.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
      <param name="out_workspace_directory" value=""/>
      <section name="preprocessing">
        <param name="filter_by_num_masstraces" value="1"/>
        <param name="precursor_mz_tolerance" value="0.005"/>
        <param name="precursor_mz_tolerance_unit" value="Da"/>
        <param name="precursor_rt_tolerance" value="5"/>
        <param name="isotope_pattern_iterations" value="3"/>
        <param name="feature_only" value="false"/>
        <param name="no_masstrace_info_isotope_pattern" value="false"/>
      </section>
      <section name="sirius">
        <param name="profile" value="qtof"/>
        <param name="candidates" value="5"/>
        <param name="database" value="all"/>
        <param name="noise" value="0"/>
        <param name="ppm_max" value="10"/>
        <param name="isotope" value="both"/>
        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
        <param name="compound_timeout" value="10"/>
        <param name="tree_timeout" value="0"/>
        <param name="top_n_hits" value="10"/>
        <param name="cores" value="1"/>
        <param name="auto_charge" value="true"/>
        <param name="ion_tree" value="false"/>
        <param name="no_recalibration" value="false"/>
        <param name="most_intense_ms2" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG,out_fingerid_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_SpecLibCreator">
</xml>
  <xml name="autotest_SpecLibSearcher">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SpecLibSearcher_1.mzML"/>
      <param name="lib" value="SpecLibSearcher_1.MSP"/>
      <output_collection name="out" count="1"/>
      <param name="compare_function" value="ZhangSimilarityScore"/>
      <section name="precursor">
        <param name="mass_tolerance" value="3.0"/>
        <param name="mass_tolerance_unit" value="Da"/>
        <param name="min_charge" value="1"/>
        <param name="max_charge" value="5"/>
        <param name="isotopes" value="0 1"/>
      </section>
      <section name="fragment">
        <param name="mass_tolerance" value="10.0"/>
      </section>
      <section name="report">
        <param name="top_hits" value="10"/>
      </section>
      <section name="filter">
        <param name="remove_peaks_below_threshold" value="2.01"/>
        <param name="min_peaks" value="5"/>
        <param name="max_peaks" value="150"/>
        <param name="cut_peaks_below" value="1000"/>
      </section>
      <section name="modifications">
        <param name="fixed" value=""/>
        <param name="variable" value=""/>
        <param name="variable_max_per_peptide" value="2"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_SpectraFilterBernNorm">
</xml>
  <xml name="autotest_SpectraFilterMarkerMower">
</xml>
  <xml name="autotest_SpectraFilterNLargest">
</xml>
  <xml name="autotest_SpectraFilterNormalizer">
</xml>
  <xml name="autotest_SpectraFilterParentPeakMower">
</xml>
  <xml name="autotest_SpectraFilterScaler">
</xml>
  <xml name="autotest_SpectraFilterSqrtMower">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
      <output name="out" file="SpectraFilterSqrtMower_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_SpectraFilterThresholdMower">
</xml>
  <xml name="autotest_SpectraFilterWindowMower">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SpectraFilterWindowMower_1_input.mzML"/>
      <output name="out" file="SpectraFilterWindowMower_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="windowsize" value="50.0"/>
        <param name="peakcount" value="2"/>
        <param name="movetype" value="slide"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="SpectraFilterWindowMower_2_input.mzML"/>
      <output name="out" file="SpectraFilterWindowMower_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <section name="algorithm">
        <param name="windowsize" value="20.0"/>
        <param name="peakcount" value="4"/>
        <param name="movetype" value="slide"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_SpectraMerger">
</xml>
  <xml name="autotest_SpectraSTSearchAdapter"/>
  <xml name="autotest_SvmTheoreticalSpectrumGeneratorTrainer">
</xml>
  <xml name="autotest_TargetedFileConverter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConvertTSVToTraML_1_input.tsv" ftype="tabular"/>
      <output name="out" file="ConvertTSVToTraML_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConvertTSVToTraML_2_input.tsv" ftype="tabular"/>
      <output name="out" file="ConvertTSVToTraML_2_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="minutes"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConvertTSVToTraML_2_input.tsv" ftype="tabular"/>
      <output name="out" file="ConvertTSVToTraML_3_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="seconds"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConvertTSVToTraML_4_input.mrm" ftype="mrm"/>
      <output name="out" file="ConvertTSVToTraML_4_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConvertTSVToTraML_5_input.tsv" ftype="tabular"/>
      <output name="out" file="ConvertTSVToTraML_5_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConvertTSVToTraML_6_input.tsv" ftype="tabular"/>
      <output name="out" file="ConvertTSVToTraML_6_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConvertTSVToTraML_7_input_Skyline.tsv" ftype="tabular"/>
      <output name="out" file="ConvertTSVToTraML_7_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TargetedFileConverter_1_output.pqp.tmp"/>
      <output name="out" file="TargetedFileConverter_1_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TargetedFileConverter_1_output.pqp.tmp"/>
      <output name="out" file="TargetedFileConverter_2_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TargetedFileConverter_3_output.pqp.tmp"/>
      <output name="out" file="TargetedFileConverter_3_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="true"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TargetedFileConverter_3_output.pqp.tmp"/>
      <output name="out" file="TargetedFileConverter_4_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TargetedFileConverter_10_output.TraML.tmp"/>
      <output name="out" file="TargetedFileConverter_10_output.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="out_type" value="tsv"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TargetedFileConverter_11_output.pqp.tmp"/>
      <output name="out" file="TargetedFileConverter_11_input.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TargetedFileConverter_8_output.TraML.tmp"/>
      <output name="out" file="TargetedFileConverter_8_input.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="out_type" value="tsv"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="true"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TargetedFileConverter_9_output.pqp.tmp"/>
      <output name="out" file="TargetedFileConverter_9_input.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="true"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConvertTSVToTraML_output.TraML"/>
      <output name="out" file="ConvertTraMLToTSV_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="out_type" value="tsv"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TargetedFileConverter_12_output.pqp.tmp"/>
      <output name="out" file="TargetedFileConverter_12_input.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="true"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TargetedFileConverter_12_input.tsv" ftype="tabular"/>
      <output name="out" file="TargetedFileConverter_13_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="TraML"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="ConvertTSVToTraML_5_output.TraML"/>
      <output name="out" file="ConvertTraMLToTSV_output_2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
      <param name="out_type" value="tsv"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="legacy_traml_id" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="AssayGeneratorMetabo_ams_uku_output_consensus.tsv" ftype="tabular"/>
      <output name="out" file="AssayGeneratorMetabo_ams_uku_output_consensus_traml.tmp.TraML" compare="sim_size" delta="5700" ftype="traml"/>
      <param name="out_type" value="traml"/>
      <section name="algorithm">
        <param name="retentionTimeInterpretation" value="iRT"/>
        <param name="override_group_label_check" value="false"/>
        <param name="force_invalid_mods" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_TextExporter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TextExporter_1_input.featureXML"/>
      <output name="out" file="TextExporter_1_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="separator" value=""/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="5">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TextExporter_2_input.consensusXML"/>
      <output name="out" file="TextExporter_2_consensus_tsv.tmp" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="separator" value=""/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="true"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="RT_then_MZ"/>
        <param name="sort_by_maps" value="true"/>
        <param name="sort_by_size" value="true"/>
      </section>
      <output name="consensus_centroids" file="TextExporter_2_consensus_centroids.tmp" compare="sim_size" delta="5700" ftype="csv"/>
      <output name="consensus_elements" file="TextExporter_2_consensus_elements.tmp" compare="sim_size" delta="5700" ftype="csv"/>
      <output name="consensus_features" file="TextExporter_2_consensus_features.tmp" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,centroids_FLAG,elements_FLAG,features_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TextExporter_3_input.idXML"/>
      <output name="out" file="TextExporter_3_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="separator" value=""/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TextExporter_3_input.idXML"/>
      <output name="out" file="TextExporter_4_output_proteins.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="separator" value=""/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="true"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TextExporter_5_input.idXML"/>
      <output name="out" file="TextExporter_5_output_peptides.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="separator" value=""/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="true"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="true"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TextExporter_6_input.featureXML"/>
      <output name="out" file="TextExporter_6_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="separator" value=""/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="true"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TextExporter_7_input.consensusXML"/>
      <output name="out" file="TextExporter_7_consensus_tsv.tmp" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="separator" value=""/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="RT_then_MZ"/>
        <param name="sort_by_maps" value="true"/>
        <param name="sort_by_size" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TextExporter_1_input.featureXML"/>
      <output name="out" file="TextExporter_8_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="separator" value=""/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="true"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TextExporter_9_input.idXML"/>
      <output name="out" file="TextExporter_9_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
      <param name="separator" value=""/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="0"/>
        <param name="add_hit_metavalues" value="0"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_TICCalculator">
    <test expect_num_outputs="1">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapNormalizer_output.mzML"/>
      <param name="read_method" value="regular"/>
      <param name="loadData" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="1">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapNormalizer_output.mzML"/>
      <param name="read_method" value="streaming"/>
      <param name="loadData" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="1">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapNormalizer_output.mzML"/>
      <param name="read_method" value="streaming"/>
      <param name="loadData" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="1">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapNormalizer_output.mzML"/>
      <param name="read_method" value="indexed"/>
      <param name="loadData" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="1">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="MapNormalizer_output.mzML"/>
      <param name="read_method" value="indexed_parallel"/>
      <param name="loadData" value="true"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_TOFCalibration">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TOFCalibration_1_input.mzML"/>
      <output name="out" file="TOFCalibration_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="ext_calibrants" value="TOFCalibration_1_calibrants.mzML"/>
      <param name="ref_masses" value="TOFCalibration_ref_masses.txt" ftype="txt"/>
      <param name="tof_const" value="TOFCalibration_const.csv" ftype="csv"/>
      <param name="peak_data" value="false"/>
      <section name="algorithm">
        <section name="PeakPicker">
          <param name="signal_to_noise" value="3.0"/>
          <param name="centroid_percentage" value="0.6"/>
          <param name="peak_width" value="0.15"/>
          <param name="estimate_peak_width" value="false"/>
          <param name="fwhm_lower_bound_factor" value="0.7"/>
          <param name="fwhm_upper_bound_factor" value="20.0"/>
          <section name="optimization">
            <param name="iterations" value="400"/>
            <section name="penalties">
              <param name="position" value="0.0"/>
              <param name="left_width" value="1.0"/>
              <param name="right_width" value="1.0"/>
              <param name="height" value="1.0"/>
            </section>
            <section name="2d">
              <param name="tolerance_mz" value="2.2"/>
              <param name="max_peak_distance" value="1.2"/>
            </section>
          </section>
          <section name="thresholds">
            <param name="peak_bound" value="400.0"/>
            <param name="peak_bound_ms2_level" value="10.0"/>
            <param name="correlation" value="0.0"/>
            <param name="noise_level" value="0.1"/>
            <param name="search_radius" value="3"/>
          </section>
          <section name="wavelet_transform">
            <param name="spacing" value="0.001"/>
          </section>
          <section name="deconvolution">
            <param name="deconvolution" value="false"/>
            <param name="asym_threshold" value="0.3"/>
            <param name="left_width" value="2.0"/>
            <param name="right_width" value="2.0"/>
            <param name="scaling" value="0.12"/>
            <section name="fitting">
              <param name="fwhm_threshold" value="0.7"/>
              <param name="eps_abs" value="9.999999747378752e-06"/>
              <param name="eps_rel" value="9.999999747378752e-06"/>
              <param name="max_iteration" value="10"/>
              <section name="penalties">
                <param name="position" value="0.0"/>
                <param name="height" value="1.0"/>
                <param name="left_width" value="0.0"/>
                <param name="right_width" value="0.0"/>
              </section>
            </section>
          </section>
          <section name="SignalToNoiseEstimationParameter">
            <param name="max_intensity" value="-1"/>
            <param name="auto_max_stdev_factor" value="3.0"/>
            <param name="auto_max_percentile" value="95"/>
            <param name="auto_mode" value="0"/>
            <param name="win_len" value="200.0"/>
            <param name="bin_count" value="30"/>
            <param name="stdev_mp" value="3.0"/>
            <param name="min_required_elements" value="10"/>
            <param name="noise_for_empty_window" value="1e+20"/>
          </section>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="TOFCalibration_2_input.mzML"/>
      <output name="out" file="TOFCalibration_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
      <param name="ext_calibrants" value="TOFCalibration_2_calibrants.mzML"/>
      <param name="ref_masses" value="TOFCalibration_ref_masses.txt" ftype="txt"/>
      <param name="tof_const" value="TOFCalibration_const.csv" ftype="csv"/>
      <param name="peak_data" value="true"/>
      <section name="algorithm">
        <section name="PeakPicker">
          <param name="signal_to_noise" value="3.0"/>
          <param name="centroid_percentage" value="0.6"/>
          <param name="peak_width" value="0.15"/>
          <param name="estimate_peak_width" value="false"/>
          <param name="fwhm_lower_bound_factor" value="0.7"/>
          <param name="fwhm_upper_bound_factor" value="20.0"/>
          <section name="optimization">
            <param name="iterations" value="400"/>
            <section name="penalties">
              <param name="position" value="0.0"/>
              <param name="left_width" value="1.0"/>
              <param name="right_width" value="1.0"/>
              <param name="height" value="1.0"/>
            </section>
            <section name="2d">
              <param name="tolerance_mz" value="2.2"/>
              <param name="max_peak_distance" value="1.2"/>
            </section>
          </section>
          <section name="thresholds">
            <param name="peak_bound" value="400.0"/>
            <param name="peak_bound_ms2_level" value="10.0"/>
            <param name="correlation" value="0.0"/>
            <param name="noise_level" value="0.1"/>
            <param name="search_radius" value="3"/>
          </section>
          <section name="wavelet_transform">
            <param name="spacing" value="0.001"/>
          </section>
          <section name="deconvolution">
            <param name="deconvolution" value="false"/>
            <param name="asym_threshold" value="0.3"/>
            <param name="left_width" value="2.0"/>
            <param name="right_width" value="2.0"/>
            <param name="scaling" value="0.12"/>
            <section name="fitting">
              <param name="fwhm_threshold" value="0.7"/>
              <param name="eps_abs" value="9.999999747378752e-06"/>
              <param name="eps_rel" value="9.999999747378752e-06"/>
              <param name="max_iteration" value="10"/>
              <section name="penalties">
                <param name="position" value="0.0"/>
                <param name="height" value="1.0"/>
                <param name="left_width" value="0.0"/>
                <param name="right_width" value="0.0"/>
              </section>
            </section>
          </section>
          <section name="SignalToNoiseEstimationParameter">
            <param name="max_intensity" value="-1"/>
            <param name="auto_max_stdev_factor" value="3.0"/>
            <param name="auto_max_percentile" value="95"/>
            <param name="auto_mode" value="0"/>
            <param name="win_len" value="200.0"/>
            <param name="bin_count" value="30"/>
            <param name="stdev_mp" value="3.0"/>
            <param name="min_required_elements" value="10"/>
            <param name="noise_for_empty_window" value="1e+20"/>
          </section>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_TransformationEvaluation">
</xml>
  <xml name="autotest_XFDR">
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="XFDR_test_in1.idXML"/>
      <output name="out_idXML" file="XFDR_test_out1_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="out_mzIdentML" file="XFDR_test_out1_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
      <output name="out_xquest" file="XFDR_test_out1_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
      <param name="decoy_string" value="DECOY_"/>
      <param name="minborder" value="-50.0"/>
      <param name="maxborder" value="50.0"/>
      <param name="mindeltas" value="0.0"/>
      <param name="minionsmatched" value="0"/>
      <param name="uniquexl" value="false"/>
      <param name="no_qvalues" value="false"/>
      <param name="minscore" value="-10.0"/>
      <param name="binsize" value="0.1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="XFDR_test_in1.idXML"/>
      <output name="out_idXML" file="XFDR_test_out2_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="out_mzIdentML" file="XFDR_test_out2_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
      <output name="out_xquest" file="XFDR_test_out2_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
      <param name="decoy_string" value="DECOY_"/>
      <param name="minborder" value="-50.0"/>
      <param name="maxborder" value="50.0"/>
      <param name="mindeltas" value="0.0"/>
      <param name="minionsmatched" value="0"/>
      <param name="uniquexl" value="true"/>
      <param name="no_qvalues" value="true"/>
      <param name="minscore" value="-10.0"/>
      <param name="binsize" value="0.1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="XFDR_test_in2.xquest.xml"/>
      <output name="out_idXML" file="XFDR_test_out3_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="out_mzIdentML" file="XFDR_test_out3_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
      <output name="out_xquest" file="XFDR_test_out3_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
      <param name="decoy_string" value="DECOY_"/>
      <param name="minborder" value="-50.0"/>
      <param name="maxborder" value="50.0"/>
      <param name="mindeltas" value="0.0"/>
      <param name="minionsmatched" value="0"/>
      <param name="uniquexl" value="false"/>
      <param name="no_qvalues" value="false"/>
      <param name="minscore" value="0.0"/>
      <param name="binsize" value="0.1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="XFDR_test_in2.xquest.xml"/>
      <output name="out_idXML" file="XFDR_test_out4_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="out_mzIdentML" file="XFDR_test_out4_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
      <output name="out_xquest" file="XFDR_test_out4_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
      <param name="decoy_string" value="DECOY_"/>
      <param name="minborder" value="-3.0"/>
      <param name="maxborder" value="3.0"/>
      <param name="mindeltas" value="0.0"/>
      <param name="minionsmatched" value="0"/>
      <param name="uniquexl" value="false"/>
      <param name="no_qvalues" value="false"/>
      <param name="minscore" value="-10.0"/>
      <param name="binsize" value="0.1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="XFDR_test_in3.xquest.xml"/>
      <output name="out_idXML" file="XFDR_test_out5_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="out_mzIdentML" file="XFDR_test_out5_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
      <output name="out_xquest" file="XFDR_test_out5_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
      <param name="decoy_string" value="DECOY_"/>
      <param name="minborder" value="-3.0"/>
      <param name="maxborder" value="3.0"/>
      <param name="mindeltas" value="0.0"/>
      <param name="minionsmatched" value="0"/>
      <param name="uniquexl" value="false"/>
      <param name="no_qvalues" value="false"/>
      <param name="minscore" value="-10.0"/>
      <param name="binsize" value="0.1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="XFDR_test_in4.idXML"/>
      <output name="out_idXML" file="XFDR_test_out6_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="decoy_string" value="DECOY_"/>
      <param name="minborder" value="-50.0"/>
      <param name="maxborder" value="50.0"/>
      <param name="mindeltas" value="0.0"/>
      <param name="minionsmatched" value="0"/>
      <param name="uniquexl" value="false"/>
      <param name="no_qvalues" value="false"/>
      <param name="minscore" value="-10.0"/>
      <param name="binsize" value="0.1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="4">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="XFDR_test_in2.xquest.xml"/>
      <output name="out_idXML" file="XFDR_test_out7_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <output name="out_mzIdentML" file="XFDR_test_out7_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
      <output name="out_xquest" file="XFDR_test_out7_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
      <param name="decoy_string" value="DECOY_"/>
      <param name="minborder" value="-50.0"/>
      <param name="maxborder" value="50.0"/>
      <param name="mindeltas" value="0.0"/>
      <param name="minionsmatched" value="0"/>
      <param name="uniquexl" value="true"/>
      <param name="no_qvalues" value="false"/>
      <param name="minscore" value="0.0"/>
      <param name="binsize" value="0.1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
  <xml name="autotest_XMLValidator">
</xml>
  <xml name="autotest_XTandemAdapter">
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="spectra.mzML"/>
      <output name="out" file="XTandemAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="database" value="proteins.fasta"/>
      <param name="default_config_file" value="CHEMISTRY/XTandem_default_input.xml"/>
      <param name="ignore_adapter_param" value="false"/>
      <param name="precursor_mass_tolerance" value="5.0"/>
      <param name="fragment_mass_tolerance" value="0.3"/>
      <param name="precursor_error_units" value="ppm"/>
      <param name="fragment_error_units" value="Da"/>
      <param name="max_precursor_charge" value="0"/>
      <param name="no_isotope_error" value="false"/>
      <param name="fixed_modifications" value=""/>
      <param name="variable_modifications" value="Oxidation (M)"/>
      <param name="minimum_fragment_mz" value="150.0"/>
      <param name="enzyme" value="Trypsin"/>
      <param name="missed_cleavages" value="1"/>
      <param name="semi_cleavage" value="false"/>
      <param name="output_results" value="all"/>
      <param name="max_valid_expect" value="0.1"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <test expect_num_outputs="2">
      <conditional name="adv_opts_cond">
        <param name="adv_opts_selector" value="advanced"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </conditional>
      <param name="in" value="spectra.mzML"/>
      <output name="out" file="XTandemAdapter_2_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
      <param name="database" value="proteins.fasta"/>
      <param name="default_config_file" value="CHEMISTRY/XTandem_default_input.xml"/>
      <param name="ignore_adapter_param" value="false"/>
      <param name="precursor_mass_tolerance" value="5.0"/>
      <param name="fragment_mass_tolerance" value="0.3"/>
      <param name="precursor_error_units" value="ppm"/>
      <param name="fragment_error_units" value="Da"/>
      <param name="max_precursor_charge" value="0"/>
      <param name="no_isotope_error" value="false"/>
      <param name="fixed_modifications" value=""/>
      <param name="variable_modifications" value="Oxidation (M)"/>
      <param name="minimum_fragment_mz" value="150.0"/>
      <param name="enzyme" value="Trypsin"/>
      <param name="missed_cleavages" value="1"/>
      <param name="semi_cleavage" value="false"/>
      <param name="output_results" value="valid"/>
      <param name="max_valid_expect" value="1e-14"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </xml>
<xml name="autotest_InspectAdapter"/><xml name="autotest_ProteomicsLFQ"/><xml name="autotest_InclusionExclusionListCreator"/><xml name="autotest_IDDecoyProbability"/><xml name="autotest_RTPredict"/><xml name="autotest_OpenSwathDIAPreScoring"/><xml name="autotest_DigestorMotif"/><xml name="autotest_PTPredict"/></macros>
}>aϽo{׷zoyy{]{5{۾zۦv}}۶aoתgku'x==^zj{/{k޺nsw{{5w]wy>X}^ͫ_^NcUvm{}Ϝ9o>^OW}ϭC}ov|5]}|]zf4{wޓ{uKmowo{ξᄐ-U:޶w=o}ytyݾ{w^o}O]}wwo*W;w_nwoUݻwݞs_Z'Zݽo}yӝvi׳|W]믗s彽I|U}۶{_q[Z<>}}&{z{yuZ}pO{zۻ=}yﯗӳ+}{w}w};}^&zgwRϻOzow{}ow]|>>}+{;]wvZ nw{՟vs>W^ٽ\GCno}o}=K׻ٺwf-}n{kk^ٯ_w}}'NO}}}ݻr7un}kv9{vmޗ_l[wSyݾo7ޛlzVﭵvUx嗍e}w}};smQoz׮t;kmiѺnmZlv;﷢{;}ϝ}{o׾[k{z{go7Ww#w{c_skg}{nos_}v}=}^cni}9{t:]n}Ŷvc}}5y_zA0+wO׻vݻnv;˾{׹&#ۯw[']Yw_{u|Ͻommw}y^w;zyq8wMg{{}}ۯ+m{=owlvMO{}鷾;_o^_7o{צwv}ﯭ:t헬at=ݾ屾^yW{}}W}}s[}{.׫U:>=϶y\mgv=}}oG|ޞݯtz}^i^:j{}_w}D=ZwW2'QG{p}׻:W=K}s{/ݻ}=;{}ѮOj]s{g=y=eͦ[oN꯾^ֻ˻_{tWkws|l:w3}[y}{{u2tow7۵9^ƽN{}WWk}zqwk>|u}}z'|wfPs{7{mv޻}_{y|;9wurfgW޺|J}-]}s{v^_|{vZ>{r}wgknw|r{GZ`ݚ{>;z}k{[aޏn]jޯ^.]v׹]۽u{=oo}N˶;޶[ﵟW6۽=:yq7g}go}w/r>Mt^{nԾjro}oϻ}o=}3ow{Y㷮6Wν5]㭻m>{:j{뾟wowo׊Yo|gִ;>yo.˧fϹϾmlo^}Nv}ow^Gv^^˶.>|}Ǘm[t^k{ev齑m۶=}w|޳]{۽Y{s׭}}u}p{}}_]wϽ_e}lwcڵ>wOO:{׻ݻ{멛Ѿ.m>_}nM{zw_=ί]6o{y|ۯM>}zYdd;ӽϽ'M;ϷϚ)sޛﳖ}so\{iݮy{]:]^swݨ{k{ᯯ{޹wswϮ}uaw>}ZϽvn-m}nwomwLyuuٸnf뻝kwwek7}FTis5v}l[﷾}{= ׳Sko6{}{^wսwջq֯nSizw%ku1u_]{ZzϺ^]Ϸm6[}k/|}{>={_o{AgwnޓspwOvu{rN{۝{>軾=%^]VwwwW9ӽ^z7zg3Ͼ=[z{ww>սǹy}<޵z=kOϯ}ݾ}ojr)v}EuKϽ}.{;vzӺݓnλrm۽^6ޑy$ׯk{}zֵqfwvW羳Ws4{离{}{oݧϷѽs[ݟ_'Yo|۵hmqlzպ|[w{}woywz|m϶w޷{y{>u}{w^ᯟswveu{ޝ|ﯾ*}ޝ{z}zۼ^{}unݳޮ'>{;V^앳^v}wkzTW&{}ϻw}黋}w^w}gyԯzo6}lzw=uDZf}M5{zSwv>{޷޾mm>gsoowWCv۾>>־/yݬm|>;6]_Ou׳qμwoݵ}9kWں-ov|{աwvi9oꊽ=\j^׵cEwϻNwO{}ʷo>on۾=gc}}>{>weȞg\Q}}o-{wSws}]d}GL>Ĩn[woukw]v}7ٯ_g{}7{g׳.޵Qn&N}۽ܫ^}wo[{^wmwzkoC}]}.תRܾݮoYcwWf^^m=sZk]foM־ {yϾ\qGܖ}^\y6{쎏O!vgݩr>{} [}Zݯ{oow|뽽[bIs}&)Ϸ}ǟ{菱}v}{momro̞W5iUwjow^޻>^]>{t{o0na}m޷__^ӯuvz}הl޺knzy}7}}2};}}&vﴶOwm{fz9{o׳j]Uu}_t}{}MU:ﻷ}_>_j:.N[^y}=ʾ_;>Z{}7wt{}-w]=vy={_}};ov=kۯu{{ڶrwz{{:^ou_[}ۦ٢^zn^󷭻]ٗwݝ=}rwܻ|Ny=..Z}tuM5-{{Ƕ﷯5춛>y^u_^zwnN쾻nz}osy}}ﵺwXދzw<7޻>;{ﯻ_m=kgu{{{\F(}鬮}w{>מ}=mj}{]Fv}'\]g};|'Vozǹjj}{ďo{Zswy^{եl{3Ͻ}}|OjWyNonM=j{w_{ӽw-w{}kǣ{^>{Ǿt׾elM}UmZn>g{{`|_}oVcw緣K}{vs}e>}{vkwue}_huOviݽK0Wz=|껷\ݽ}绷_uvί_}۷q}r7{^<}kkݷsG_w^Iݻپ- u{ǻ}ۺ_owo}no}s}j٭)ٮy{_o>ӽnᄑ}u}c}E۵{G}޻K7m{}h4Ҿ/ݯ{޳ݓ=Ͻ-4>{uk}ԍ]o+|wMϸ>>woxV{og}i4xoCsW\uZvٻ{k^^)nkzz|vϽ_{fz6b3lo}}]gx={kOo]nۻ=>Wǽo7ݽ޶[w_Nֳ{o]Ow}ycmso{;}׻y\M_}޻w7۾P޽{wwz{u]z>LӮg;۾_\>=|>v;>n}ק}y޽Yc^{뼻}|w}qݾr}^}ysv{|zڇ1"? x  @hLSC@h0&@*3ʏ5TB!#C@ M0 bhMSѪS&diMhM& 0x0dFL4b4hPɠ4L M0&  1 ? f/?_]eI+0+X4}O5azڥY#k)t@CF9|BzX:gfO v‹Dñ̉Vrw/_8FtVڿ"K̉l:& |9~dcWN;[xI[&X?pk9j84V q"+]J+>Tb4>qtE=zu>pFkV/=#xm,Qd-9QOL$ O(`yvrko3[k_hʻ 5[gD~W!kklgyF;hKH.SׂZ ] eibR*!UmrE jip>:\՝/t\3L2!JpU5{@ 4YY.S\l?f{hD4O)MH)Bh&RipS?I TOrl{)fs43qHZvUnvޣQP2>Li @oӉx F[deq}8a? Z4ַl$c"&4ɬU-`>9#MkQaj~"ey\ q)]J> qxvԌL-Js' `]V8& !z&QٓoAQi.1?[M;bcG&4a]6rFV3B4X }L[ Yqf_INBL#Id$fF '(!)bT6~4ڷ-9;9( ]0@Qntzs5;$h1 E1 l0T9QCM19elI!RKD-Нae0tKYLa:M &1\['c L-*Y9ڌsZOX(ฃ5˻Gs**?i_LfY("s^OKQ2,vl%ȁzM/X\"LV xf,< ㈈e S#=)TKD,8#,VQ1CrNjع)vG4_NH]:M"U:D_TJc4 ?. +Z{!1S̛Vng/v5#t6sw~(N5{v#\RW>1`~AkӚ8)5lS -IY$dYޮ@j0{%ؐTXҌѪNXhlGZ—ғLRRL_%V6Xoph_ߥtkWzB+Uࢨ-BG*7[x6w~l>sLcҋDl5<E~Xu~naF9m fh[*לje?*g'._Ujn=j_Pb%pob3Qw0]B[d5\f[zC!`دA Nڪ M+=|{23&{N85e-wsH&2&f}yd5( H;sQ.">X k<׻Bo2. 5 OQ+K1`JtRIE;%%/q*yyJI0?^z!gG  ~O;E S$*+F`&g0[Lք߻ywh4GѴ3R|({o4Pz<<; 4PՍ4-D[qwPDV  jJ!4,OJXU\-/~䡮zd @1`^w})up;X+{TQ~ycu[c JU?͆FVe[ cPfɵ%jm #` S-wЛA)KFLJck^JtrӞ];b!t/NKvt/ǶAqnlz҉H1MR3i:~ПwQ9ˎ~BrV>0lB, wz/qK? >02=h+X0)2МpR9V:`ߗ> P{4KTcAtގ]xeWTiq%zIEһB%4BlsT"%,?#^qowZ/3*7Aޤ>7`]n&B&7)y "rNR\E+ C51UDA˗82,?9>~է# 9l+ lm`ߦo[$6=( Co~`!CvuM:a=Y\7B0vц4^εcTw9/2?Ts.)௪b.} ^R߾-Jyb vg6X︬PLʑ7GĖw2Ǵnʴ빬ܽS~,퓂dot/1]ݡGԟ,x6̕NyS:c̀N$/]QŸppĶv#pưy-ۗi<<~q"  ^rRga6s&nu %ܰ~~;ŊCF+!6y"F54bBC͂p*TwjY%da!H# آ Ք-Yd iWJޟ?F8+flz9ީzq{q2sB C)2aW7ҝoS+~JAKy <:u 2ꪩ\ T-Q)UA30k֍7Lc8@.k2,㿒4*!`$f2έ%ʛHyaƼB{]?nר 3ܨn)PhUec4?RO&%'?TL!)Aw"=N"ؖ:Nx+ttE/h!V%t:yi!9Uuac-CDG]ͺ&qa)쮏<\8%H?=.=88Djr@\6ݏ03J n{L1?$ʌ߹ȍc.$s6%Mmq (5qKNvuܵ a(e3u0R2\Eg86๝&@)mCwwuN]Eu8uK6uEC7䃐Gы)2h:C""Д p󠙻sd+>YcE c8u&?t˪ẅ́1OC}CMzj1{ mւѓӣ6higVV}:&`T&QUvEHFȕғ R*]U Wq8P_M ?fnطRG0rSkwWXlUUFu͊=i4u$0I$X}] b 9 Ya։M] bDLKh/0_J&S~5kIьmC]>"xobegD:j_6b]:/-'U9Ĝ~"($yb>#EKHny[ˣ}b;#Òᮼ}_tHdFSkgZA/$/CKuz>R8¯HT!h&SJQLH74~ݕ. i[ Bzͳ>m?Cjd qo!C*$Xٌ/c܌壣&N$UawT;9Է:\!bZ7TFD=Ⱦ 8'YG=1xtxdSB=Z!&e vd0,iְ.P̵ognY:)XKOLf"A2VM?vGY՚̟gڅu!Wmf24zt}R/}l|9}1 J ^8S_R7x +?[ QS7[L 3$VOZԅm1`w/j7X"Lu2PEnY ¥  C+_O\: my w#]*-r>*Jdd k#G,8963UQurW47x4)4GЀC.vEPɛj*dW .Qmf <{Ѡ.:4PNPB\|<1l 4lTI!#ᵎռF_F P1u@֜?l*Ⱦ'k~UXci/Lvn S)ۃH;ᅁ|Z]擜$2$^+KhgG.yo cCXgLRx[I,UTԀst/".`[q].cHMJ)#$h|ѐH<1'?q<:K?{ya^Ga_OzK*E # $j\!* 0}UM*bmK(6U/n`yj~T85zt9F2]%7s)PWfgyEg֙:Ӓ apDpDӋMΥU8ӓE"nS0njHyEǔUE¨Ӫ6L{3R2ZSB}9;cp㩼O_ |5W?v-$oh)-"ud^ ћ=Aæ&k3?y/҃Hg:@8_vА~hhN_Q1`QI<ვ:"qg?f 2"W\XS Sul|м 0"w en 8JFMA,'m~:Uɤ]ye~s% \)VԘv$Ƹ=i Xr"A־ hwE 7sf'p=ذ{,X\¯6vX%bAĿ;/ETi+S$cQ٘)M0rtrVa]Etd6ݬ |[DwQ %}{zpI Z#]pW6DhUyODT P7wA>-z'+D'v #ʧ<=)"#..z  .0h!bVRجa^HӤC e Ffx.qެKk3- =R7{N(v |y9-, "QB?nb|`'; mYYF v}ӯg]*WC,4PJ;,R60  O+~0E~~ J$UuS۞sӠXOˏ9`#|+/4}p,B; +O' $94CJ84G;-+}.,7`=VjNdfZI$&82" [8'Prmc4Y~>k_;tN>5]ُMx Q߽]aTetmwAt y 9>yNgI>]cLGB[rmk2'29ܞO)P Fy[b:s-`5"(l150 (S ݾ2hۇb;(g mݮTŃr~ 4׳{Xb}>vũ,b@JYf90s.q%t%ѩCP΍' ~HOaλj8T JK;N geg )g?w(3/ q]nA[q&đ)Űfɭ=.OcGv?a<fEU8 Z&MnTF[BɅ#"Q(2ڱb>h4kmuuϿZӈKtFN1|rAXmbIc/;M1<Ǿ "M`} PzDKPp/pPGzꝙRF5*0 9NɻA|rڒbz?H"X10lҢN`trTtk_/}.07o6-@.`X3 _jQƌ{=~ӫG$Sl᷈dIۊCu Һrϡ-[>%ݡiz4|07#`#F880uuZ8,?tFtiWZǹS(N \wVόIZ3ٯᨇ4uC9tI>1 Icuҫ辌ta8~/@Qn@)䂦(%}cq80 Z7)a=7 der^h ljd Nِ)ġrSD 1Cm]FӬo^bDHo'Y.sT2h^'^]_2z=;m?^QJzfvH,)-8aQ/]Ji9%լb7,E˳jkvw3FTQ+bp|0kΔ%ΕbVo :Y4+ ~V= 2cӦtD(51{ҕ;?bQ4o 0ϓƁ` GXy~B,Dc5^7{ ĴK8K:96ЫEk cXN2EKFz$RCHvB9Һx zfm.j>>/y(XR &nL %~J :_0~6j%`?1Qg36T"zzF(?-@p^T0 bCwMPZiœn[/QHˁ4G˙ユ'܍K!FO㴉z2j(vKxXd:wye&kNk{ T7vXtEÄne񕲉Uvgqxl&A~[[6GB ٚ2TxBb(AEx4gV3Q2ƍYnWQtiAS+׾ROGrkTYa4_$oD,礸zEu("9#̥J<"X21܅Y5m4aFSV|'Svh/ ڨ᳤Wq>2il9 qn&1j2HvN\mfE<C7dPiTSWoӽM|yFS[iᡕvi_4 |#;_RcdKDdFHY zglX2x`6l y\SRD)O.ӈuw$-rdu#[pHߔ|p9^& 1l^9d.;,) E?QG=V؝DyQQ(@j5+/bf$#Ogq`$Qk{L4˪ XKǪYUBbT Œ;ZF Oԕ59P .hff?U01m2H8iBfFYݒ^7\ӹwldVɛan Q7vf'YIBk|VC?xSgE%5ޙWz@ aA8Ƈ] <;h4<.ڍbig, M2E|S.+ore^_HpwdVa%\,R %v=/jhQOG1%^ZAl>PsҟqDжכBֽGX;)~ו3< !Ҝqe9,,u?#(*ď߽ԧGY$1,1c礿ښ,,h *6?b'>Θ;@#^[H7{j0;ʼd#m?BNg 3_HW=wu1~TR!^MۡB+v321 {&ya2 Y@]~X:NgÚq6H鰠o8S;MbT|ϣ;\dY=x0b Wvk]u?fxSE[< b=L_K$ =ڡ9U{At!y,h1 nySJ ]COޓ`f]F1-݈"})d9{`.㻑YNJ$߁UK 9)B{V|%EHF~; hf;= RևC$)c@WAC#ͭEڦ$(۩N++F-%F<)M}:;&+Dc' pNɒ]y,& T֑V yA*vU%ET2j'U.8p 9zܯ/[˵^Sv~)튤&E2=V%qw1ަn7'{\ oAHlFOo9$-a-Wălx<s0r%Qړ`,I.E!Ò׫AGsxZOҡVO%D-E1Gԋ|6 dS1J):PJ';b3x0 ܅,Q̵URuIgX-T5ĹoHLvVCT$RbDɥO,ׄ.jջd,pkɥeZ@"EM u^!WuUE߯cw|.1VtA`z(\ƌƜ(6iܘbA /+N;JScmh&xM>!HzƚUFIlxfk6qQ`/ZSf/9ޝ ZΥ7^y V+tk"] 8j4/luh5s:ē+=c!ǹ;yeR)-x6 d@:hO]!DIyHNМZH# +, ܒGM9Ź`\5IR_Y@#p-_`׾s{!j뷲N[qj_46|b4̿¥HN[Pf*+0>g;yDG Mt(ȭ1uaNf$<@lQuHb]@C;>uc$'ܸMႂAK^~{5T8pCFw7O n|gLcț':vWn&qu="e"z[[*I/zZ Vޚ(IZ?'Ty;N΍M:Fj=xqB߉5&;uvrdBFB eaA~n $YdÉ cfуh>T; V"+_CLذ~l[rywjEbn0Po?5eePZ" 0n$lnQ2):fH:E:%nGЌSqC[~)/WYƉVe-_UM ~(ՉaWWԸzU>#o$rA\xt$l`#Tr~_ASlAzQҍQ8\nHD집0~N[nZwV= lC0d<4`+sHJw%L7,A׭'6qU5(.k3NtO%g^$ub aA'M鶞hK0}^qP8V8zl+.EzI--dP9M/@:|Bn Gx*5iV]l EWͻks#Oe{1۱xOd}U{nTE/d2N7ճ8kSE+AQP+S,cM%( Pw9N4ꘪz>d857|7h7vJK߇ $ sZW3\3 ЈmSAaLx %kpW;mCI3_#O}W2 ,تݧ0M}V-0@0ь HifgK̟@@k&Ź,Jra~PjDf96~~20|ܶkO_/Y@aiw.2\@Z#K3Yd턦R^crfY~6@J`*s s6cTpzu@ vׁGaSR ѫ^{0=kOmCPtD;ʬETcGQ\eaRP;W̾zl=6ү}Do5Jp 9=Bf҇8:i՝ ( };hΰ&=7 @ѫB&թ{7AZbhZOC"7zJۏRv C@ 3JhD%PjZ s۠slQgq̏m&<݆>[(-Ry&GP` azvja3P=-釶YicɢT׹~һɉ1sV{26C:ao]4yfKvȉFN?}j {DDzӢyy~zW> Gm7gvhF!Q Qі#, @E9w77KZ³E_5v"K@PNzBi]i&ADs߁S;F`AJ0+?Y1 9\vKɈ)yGS4TUxSI=M΄mX~<Ʒq#tª]]*5"&E厲Q8HɟY@\T$gТ59mU$j5~oc:mS]`aD?-GE,X3:u9g ϽǹsQZzÐ ,ݳxi,{pb3sĉ5^F15᡾:g"l}%XW w>R-b5ؒXO; k&fFdxwFO_*_abN"9y[Bk[)'%g)Qy@tu%mX%D"BqZV[@F Nz%%PM.cY?mB'lRNĔLI19Mr`IFn`V.J?m׳x]KBTGk}?cs ǻ_.'(蕖\g/ >33p*BDD}:h ԟi8d-NnѨBˢx #(4Uҿȍ`uc$ Jr]8PhdTR UaI[WFȰOaT>fJ"mN8L/|P!Cƿ!d6iw*8E b P&2oRUG UpIIm;l ~A pјc= zYύ)RD5T(!4x8% B?dohRm0\ߞESKOEi;W4W2 6_4TOsH?U9&۰=oF*ǓaGDIDץ\Zw1V>A+1_"_&`7=UIXjP I"30Oϗ`pb˯H^[]^p%LPd:|z#(hsG|fK!txl ֊'YGH]4TwăXoC)^7Te˳q^TvǨ=z2G(MRGՀI`g÷{(h'Y\4tj[J`>>Hd?*PWg [D>RsMDV^ckZP+)XI"oqE/lͶ9(F`W) !]s7W"R4~R&NW7>hYavCIU3׼R.8Vn~^۹K1C.*/߬`Ia^ m: EĈՇNm@~\MZ0)rĎK4IE)KL4mB e} \ka0'K 9 iondɨlO4H^at YMN]2bj`E8SG:Dwdn!yg.L]`?ރ`xN-Muw%fe 3V-e~AO˳XRi)qtwW8+ DԤC;&GEg!G__nljFs6bcjY Gt¸dxU݄CT}&^mcm3:(H̏)"ݶysn/ǖ˹M"'w7ˎ$"%QrI7 Z =C*lUeS~^G\v_[$E-;C@ ^bTf=vpNɗJ4^A|ZK.Ff(a O"*s]o tɁD0HeZU>8Ig~kP Zm_KJ ʑ󉒇X[.z yn{˹A"5v?CK,8BH1FJ"go.?Fem=&:# &Qt^ЄI}/U9;ĄQ{ݬlBԕ}V)Kj~YVC7Ybf`E'M hf& PA[xM5*_ѵLkB" G,RMa sb]#6gB$y m64rom`,$&S?I&V1!S@TePe\>BpXj/!HQ_G%1a z>lWc) RJp`(t<"%wVְqL6+<4 p*-,\1. s{n k%;REvi|W@p.I-x{`(J 2yA@ R z?1X~d\A Ļ a zO: 6yZT;uX39?]0Vld畏V*˗2wtk-<.AzƴA JP'wDg&6`rOmů{.]i 9[>v/z<{Wd OLQxаs߶Iߩ›4]nli|P1If1|_gf̛N p}uIGGpztP0 kv-K.zy0Hط?!a 8*tp>1"g/T6(ĹG;M4yJ™˽`GJ܅w"НXꑤi3)[H.m#؉o؃g,Lجktr쑎ІA3UpWikuI3QJ̫{XҔ|(:(eFs=c#ϯm1 &KyP=B#53F.H}fztpOˆ3hΗ>gJ`"FxϢqXa-nIjgUc1ri}= q0{ݖ g>l>bb  O ةфJ_®4kY eCdz8UIѫэt!2ݴ+b9<HAbOi\"aϸVẸ3z-_%A%&jj L9@gzscЍ_`+ 23 N0+~rMdAD8i;J+I^eHo:5Kz]fvW,x>F:`JBKJ9xQ=~CTL\YL>uNB0&/a.n ݆dWLXԯ3~Ί9GDaJRsP@ mKv zXbqdG_HX2ٹ8g=LYܴG0 iVH|ByINx1A܄mb;xxfjs=^s(q[͎wfȎ]tz6C;_l &"#/n}r =(C@d J/@nW{^*EpLZg9=>d}S_:U.nMZ#x s$a ڌ7iݧ>CZY0%ok P^Zlef,bVC] o9o}"Eω};9om2pRʞ ݈e ]$,! pKԣ[fjpjioO{">_AIx'EXWb* Or\)!,s%~k{lB(xI38WK}D-O+~542hZ\-Iq豩o*U:jg@)f;a~rrșcZY:6@M 0ƽZQ>J!PT-V߱COBT<, H3_ПA>ׅ8.l& _JxfGEE KΓ3@9:E 8t!qdck7EeuHy 0RK+<-ħv-]ZvyxyN#1;mm`rG,`^X||8!+" NkK= o.znO~r->`UP?Ӿ)=?EkRǃ'U+Ft3w\"pvXTR0TgtrS$Ǻ=Әm d/U RQ^N*垏r 'pďsa[ rM3-Lq" ӄ,6Fo9F%Jg;Ls'י믙13[t^)|z%fsAw>(N2];."A$},PLWy JGN_em)8To"ߏ6+F sO8#P؇#/AnsP*ÞYQAfnLDbi[ճ?=32|=t \Q>1BRԥp+犰=7esXWGÛ?4`~NtFÞ=8H 6p#?UZ us(RSfSc +Ffxhдv߱'bi]a\{R&.5}ۏ>wG1 H<[{$9 ؼE曳y>i.zs2kpVQ9PZw+o|{o3wɳ~T~oZ`iRs$Aa:MWۦ[G'6(jM9%L{n{*$7mڇ= Ƿ b&^kS퓼YS{VdJm022[=pbriSmG˨\k-#8c]<;} W%n' \ 򯝵Q^[XN?p-!"ޙtg߽4+ 8BpتPJ=ui gct(B[*Yigjը"4o6hy 9H#g~F3~̵]nh_処u9oeF(9>4وNPK{8'}xgǁMtmͼ^6R |@m~Qp}]9jf6V.]韺xq9 JEj7jm(-UQfc%.8c)C=NaB9ۙ|=/#t>$gmQpj\!Q: U-+ @ya7Hm"WIϱs:Ϛ>mp^2]AqSFB&i'2$H{3@CZNQ㸼 w*/&Wv9ZdziXKUpO!*~! VXE{gGS!'Z+)/6j !82f4ф s 5ts XΊ?ڟS1/_r\| lZ'Y*4N-y8aw츳3oz$+9 #axK^gX,/K{gH%IL/ o1!!fI4xQAlC5 ްJH-E  ,Fj1Ju DrP"RU.Tl4|} w@n 0Ŧj:<BZvJd_؃4 g^&1;L뉲qOuK-J'B_2WverN "k0F# 1t='»6%GJh8k9;޵L{%CEvŸ41㈚]Sޒ|@5wOG$ӈ^EJmC~^M 6gEәs;MjSռ嘋~ύCp0x]|I@2H HGDZx,/8 9^(4bMڂ zn2X;#h:KzLazYb_<5!ebOAfKi%@pc#ͳgjX9? Bxn-o" eYzS[ ݩsRFC0b }R6@sc~L.41@Gz!Ī;nހ` unAiAe!vuAxBהb *@.њ/bJNežei ee^^Ը[sy&i 9_0.=!\z3R[l_Tx:;Ak@׭@ n^gE P;^yG"9+StUu+!V~OG4l 4yy),H = |KT H}a[D&aKqSח Z~d2ZmA_ē* 0϶_me܆MpE ?^af!r^*ϝ@:6Ǯʷcͪ;eZ㝉G~9#bΟ˫˯ī<Cl$o;2SYCI/rJw:v=` v Vy0 >D{MG.4DpKr r}T$Lz>ZhtqVjTXOI=ި$ZxOy?d:㸱zoIFJwpbfy/rfWM.`QH j"03ϰudFkT#0.Lx3Ԁ+sFy.ʹ.SҷU \N@u5r_ԁ +ae39hg{It{> yݢm@_e:R4ntlִlA`**F'Q/ٳ ܭҮ9 UrHߵEAdk75'OADQfO8Ɠ#Y΅G-Sip薘k\oGɂ}!h{VfŔk&=F^vU됩Ku""l2+ e"oٻޛQIxήVC}l$҂.H{ 02"OՏ/:0DN +I2gU=?#.54߼ZXK~c&4$sy6CDĿ8*pN]$(8q@7Y ;哃x@sI-R纒 f0/쿏OcE6q> +%5/C҇RP Pj*tm&GHwFgWUdwˇD{yg*0$ctJ + eOr6ӮG#M솱_a"|O|r1ˉVuGԝ] s9obo3޼-8y"dsNq@wnFkSW V^ Z O'e9$kSN3?o.vTvc兴:=HDطUB1d`HrCxF-ޜ)>Ƶ 3k tv!Y! ^hӬp<{dC"ry,С̒id4eub/]PZJ:ik]v{6JbgR&M:^iLWM B64OA O J\, y)'O&-`gg[zx6d F r ?W)x~h[Nr4M١t)\qD$$18B7XF\.Ca64r%,ǒQ?PAu"l"'/%jԫࡎ ?9(,vAc?@3^_$fT3TVvp?[:e㴂CvlJFX#? ۬|4[J0kQ1nGU&+ ٿk/8꫖&+P 7J3QOBSG\b t.8>kNr+/ Ǭܑ?(7_Dfƣr!f®Qgpr¸5UTJj&"im;U4-GΝ6bx٫h\?5;ܗ]|_mk蛟c$kh)$Nʴ+rFrb3ғ3[RʼnI*c-& \ ƬK:FB!?<% 5~ABEz\ҢnRP\\~ш"Y.hʜ}T-BzQ%L6985lO-\z5 IG;B [.l?)]9hI:h/Ki`R_M:x9$`\okh[QDe%M}bsUZ܅M]OWM^FYE~bVw{ qyWfvjg*.4aahAH6CD<#pw=}CwtMa{L~$ů>7cRxxv z&=zG˭QPMQh;>]FL7[#'G|sD]xpl ު;"̋ךW¶l2T zdF@H[$/+Db5lH#Hct~?{м'XֱQxew?++˷hr) Jr9ѩ1C_=ZhӎNrk0pފ6x-v #TG|#L_=܄2Mkb6IB&1b4n?xC-qif]hh:Ds}k@I>`)ո&0X?P'h OXuN' ! E_W;5 S^1cnQʫ=n mxWyjSM cXD A伇< Ư*!}Q:Q~= ?7.W~\;ܻbuŃש{F9FӊCo:*t)7.x:Cvp,i>%#Č,fDH6UU&٬|nQTɨ;Oov0@0Q.FO( bͅ k:I-=eP]GB<Ed ewPCtWfu l}o Q S; }n|5𶯆U^;:N_"ıɠئ~ HaZX w_Gs/C8cן<6r h}AAsVCDҎ .M4z-+vql+bgFe 7G-y3Y:t/.tsK{=v ACBHTGĺx5뇯v_dS̥ !GW[%zqе( B= `vOR:g5D[#՗9$֍ȗ2/YMk~ PLgcywCVn6m4aHpZ,?9o%Im/"ˀ_7_bL&Kxѩm%ث-0}ц ܛ| 6w Ym4g0viw@K ,%88%XJ{VpVcblS~\yˇ5Na0 yzMd('ziZ+U y_Y9c.U}k(ЙP1\_Deŝ#hb^i:ICe|\WƏ6H77D!>qJ(f=G ~QQ{]HÜޘ 2oYר<֢#йpdɐBP2/~C_7eYl Epkۊ6-KqW2%hUa2Ou8=Hk?).!gUv"c8UbJA)Z-k,MF;<:Q|U՝bR#&Wuw~v_x2FKG-v&f:2A'~5rXmL?{]ޣL0ᛘ*JdBJ %jc^Ho ;:x-wxąhoULBSOHrXW Q!EP= մLCW~Rn1pǸOWe9*wfE!8z});^Zl8o1 cXumkGo ^PYYCZ3PY }G%hs>b7)Bh22ʝl2  ϐuk9 ZfwEvy.ZVѸ90BT#[ZґeHEmIO__* PE*Hz,"Dv.o"UJm`#'y%\M,c둠VQKϗIo P=)u.8Up}spS%S'r`ː{ȍ A95^ߥƠn~rM2xfZ㰎zC*P&j0ܻB~B6Bqq|&2xJan5, 输wo0Ml?LVh3Yg9e-Qwַ6K,TXB4Y> g5طT4eywYG@ ִIvAvQG0S8tPTiv49#4~Sr"ιsy@ <ԑ1pkj_8ۘ{"25b\DB!N_UA> 'C:YeCK qv4kNcq(5J2wŐä%<9R WPhH>N`JaMzEqaE `܈G>1A10Y3nE7 g5:2)& -I=0u$v<]jbTOf[? QԤ`?X!S+5+q3`[8{g,3/ieJ\g㉑ىjj616}ob@Z6BGE<@x!q|^.;Ld摽*2s'wH6Q:cC ݽFL|MzØмW04ݰe\GM!ZzcYЁz~g &sVSni}N*<؀%,i;e}?Tuβ|ڕI oBw#{ĜXT#n%uNWYΑ Њ`&},hXNH)P!M6f{$Z!xP"/AaB^(9? }2AƁYՓ{h؍>QBgty |zr7.;߯>/ ecj&d? >rRW xet抩zdΓw '_tIZ=YEðCQo|yǙ7~g@iǠ-Ai,'Ƥż{n'lv_߱\[VfEf`vD|C՟$k״j|km&j^0]0s<.Rwd)<%)m GW?†w8cYS%/\ޠ :Rh8#ϯU*R ody~HK80r_9.,ӎTip V0'NzfSV$Z#XCw >ec+1~Od Rde3? þ"<3'z&$o>T@), pͬ@c,{aߤ&iyqoq~:ԯb.: ӽwve7b hR7[SiEk-c_Q@ owァw/iԖShÒ(_5Ay0|Bm*mQʰf bsaM=,t>Pr0I3$.p<K3]EznjrǬ~\{ hcM Hb{y =?{fb@qbfdwaj"h^:ʾu,#AY/n6I{©:"`Sie7 +)DU{r_sO5?ԕZDz}SGzQ+&wEʎ#EbThLa 6G 챯|B aРOW}I-%Nv)#WYL]7dG.G0G700yTX>,,%]!Npt_] mR ~J;cXU#)w=Y&lMJЋJOe'l9d4FGuO#g @ <צloe%퇤s:$~ @sѐݮA6ᤫwsfBp0 gX{総v"tNJz74jJ,Y[S}cVu`ĉ4΍S): ܃'!MާZԌ 3Z!vsay;, Rzy$ _ b5'[l=G ,9;{E|Ŕk0.`5 f-x>DC%dm0î>PbVNO Ws d$^%Ɂ*RX8;{ux"nxd8x W_ߗ$Nw55mcRR5P~da@ %mC4(֐{I@*xz;o!(j3wNW۹DhLa]'m_&!].Q&;؇_Ʋ8&^ZMnŒ`M@!b:a;CWZ3ndpYWD/y/e]OR/.R*Vb%t'uZ?DijYREiÛ7 k@pP ٵ Wd3(xx+6@/iKRR `_ʻ:==ZxlpL~Hִfea'W( FvU|'!ϒΓX+UIuwT=ׁfr}Z0Zb*%ib uUZ `W뮃axw]ai˅#9K?&OVeBP7.@!}U [8nh,"]FFĺXԄB!:1+Lx(;2}ՙ),/Aoj|R9qX^E KCۂ3_Dߦ~35t6FJGiq~jɸ9q,w .ʟ)\wThyR=MI_C%S?߫ wz\ UY7I ]^坚?o\f4 7U kgfiXȧc~.J[*p5І{G$"F':D'uA󥧙!lI9[(){*6kIE4zc7Xc![IuI[v};_C;2`)L;rp 9bAnGy{NJIC\>qɛ @֑m8>B {°2N6>&ux}Xhb%@HW8u';dp04pw Ap̌fd'>d ؼN[ZU%40 l141LǫOU<&(/P7u m;Cm,.k$V ?H#hk=x7.jޠȢAbm؏HW~7hAqۨj2!r%NU' e8mXhA8(6^A#aZ~35U8 vԸp.[7TQI@eΨŵSe=(G0, B b^s,9AK-3J29r{BȗMų[~"YⲶzB?j8$]Es3@6qGHuw. i=͇Ei< J`06&T9x;5o2QI٘KV.ޞ1NG ?#p>n\p7ARARz2 | 72J7l?2Nxj%B*ViC!*@op7 Gǭ9홻D{7s `>-8P;?ZHݵl~b9CDHsͬ܆baYx0Ë-a$mՄJaK". v6t +e!m 2Kq83]C>F9bS <b" BݥEs/`~!3[*)/uR6lij;KA- F3b"r(Z#`4Fv+xT_WqCprօ=\Jnf:1$=LfKE&J t b *hd\9#]hQڹ})*VM1 w2jqMn;/+~ 쑉$VtHy7F$3#ܛ6`yZ}\MphH7"a7}ߚlc\ׂb!2S[oC&gB6$6!jvlA#O`nZk6 vh+@EM$V:JpE!#BE&hב%*G5)ul$?~p>,U3GA` z`P-ğ>|jSI۸R}rTMSpÇ+(]6h/ГiK/8BZQIBF:4-Qoh%c[;b+ؕ⃗h MtOs_l [m+zNL"oY Jh٬ 7nrBH =%~`+#@!t 5-'# d ͽ] %dSp2šF1m*zάg߅& g(loA+Kqkls^K7Qa+U5{k=1iʠ?K s+H §+r{h|lV5>X\wA_5CF?#_M7m⊖ٌZLdڦgvi1|:{XRL[9> l΀+AgAJ}I8l(N:ܽF5Q-&Q9&!6P?76iPQ4*s߇Rz{ږi.ȼ޿Z֡q {ob<)2:[9ȡ3pF [H*tPmu$3mFq@}LUKYy[dB\GTtAߢ< u96h3SOUQE%ۘIXTZ =FCA֌1˞/yb{Kx+&n3rq8=S!Kve:hm^~QyK'Rabg +2Q]҂Be=ɚEB[9yIB"ހ oбMMT֖5l1t$xJIۻ\B&svG4>(pVKQFnD^x{[M +M$uD21T:mQ<2f\^.xpQ}q`' ç.~prWa1b8m'zu@㫇U1 W "@Fr)T{s GD6SBZ[XCpw.wOl۪9Ư>{L׳]%f%wnI ڍ%7z\S$&篆>{M!&)ݎ7N邑On=,qrGNoBcLՏl6 JT'(%ۊ].X ɭ VU,H8ٟQ*|o6J6)5dnA]$s|X%tCP9:0:laDh}q8݂{BXS}J&)JH>;`J;ŗ:um>W(,H};NۀO Y(R5Fbxs#-r Z;Fs C޹J(f@ \9uuVp\:cIjF}&M: tw,v] /kUj&Jqc+uԞJPE-#:^\!HxAJd_#岁T AaSɺW&MÝsji(nET#K^dm,x~"=a.?##1Uyiu2apgDz>C !~p*7hkK3=§1tn iBcCS0=<FmP,7^X{eR) oRkS+8ۮ K~_bM >`[5Sn N1"RpUYγA':ȿ55ޱ}*YZ`Y!OKX4Ƥ9^Kc?iA$, ҂x[썊8@ '{2+m ZHʾw?7xNyF[.Yu2p:e{Ş˦SX\z]=%JJgֱ]ǡLW\!I"ΌwĀ#"E寨ҋ1/vY03bYQ(?`GLZWGt0:6ClD;BoKy2\Kl1R%"@O\~5BEFS8D90/i| mgXpX<]Ui7PawsX}3{yMdhr_g&K1 #2F eVb,%n'Щm 26_2/q=zTޤأX Cu5!T)*{4oǰP}(`g`L~'retL3 H2i˄o!c-ύWcٌ"rfb+]}zWy$;^R̍o"pYIvA@yWpkhzt#ûe!xæ+qE!jjf_@X]2:ZV(_!jT(A٪oșø1c oxq0_M+KS]G$+AIwO~-q E#Jk: VfFUI&L%ָq^^gM?7C\ږXaצ"|*IcvmwXzXY݊'p#mN>IBTFL`3tڊ{bbd>na[!xM$T[H7(Ucy8yaCJw-3 ޜȈu5q3؊Dz$PfEf >&&3T9xB^=Zޟ{op9ZZrS ^i;&6߄ڊlD-<㶾ʚf| dO -vj!Ϳ; |vztJ#VfvQ XVE)(מ<].$AOd' !mznl`چ5*L-Fй8HCk@CFe[]|a?!kE%R("Z^Hӣړw& Xz?^#KǃbYBJs'/mg#5OUW3ǘ6B=Ұ'\0< E9}nP˺~D=M'49sL G>Tj$XL! JEd50cbɤ9ܐ{x&{Jsڍ:8l.z7P9KZO8D#u!rI/dm=}wV]H `XsXV~L3=Zi7ݴrnj5ɪ4MP@7ٚ?.1?mp^ɄKRlz9ң1^Sef)"LA2=?8'Oݙ ىv,w2+M›Bv1n#'GrD[뻹b0qվ7m϶Q@\;3^j+tk8KmfX01;c-WA`0;뒁0 w^ j6B]9l'i^"l3kǁ1nKGIZh]vT]&lc]wЙL,U̲t5%|Ac.9ψu p?O %i]\ϦN psuηۃhH"XCy/,;̔J=<O=g&V+S8K {\ }r~=FS0`G /Y\{1J%Ըlۼ F뱲$6|D=MYrT1­U$,R1HfEƽc.͐yw1O{|9tAf J>SS;rF/e"&DҴGpƧU:ߵˀDD3 r|C,ELk{ A A0alvӖ7Z8 s@|LʩcSƛi#hW/?#Γz%Pľ<6E`V P 1(OoIkDS[Z0g]_kJZ[L2 ȯW_U+(}bW9՝:5Z_8MYWΓV?yp} Vt+t©D L>ci#*W~iJ'fC`w0R ޻#7Uce}0tv"='3' ~upΌfC)-z}I8^Nf2*6[ț[g(2SNkq$T_&1U6F!6LtqC@ ǐ4ZEV Nu_k`W|+EsRI(]<$ J8~\ɯnux\nv.:gġ=:L#v?!]0SیS?m_x!$ +k87ֻd[3nT$#$Zq^zz ~NSMgsmE#imǵFkX!i[I`>Jr͍FH Mn(v%KyAٔB0I|EeJ7F>9\Y/jJ%qq27Rr)%06ט YQ$WV4>Ntw4; 4}NǪH8 &AeZ&=k+מ$Ffk`p?.w"Z{TlVRmDn|+ia\4hrv65[;St~8BO$7GMh2ڽ$O a88V@wNBNn8=% o4p oȄ'=ƕb?5D-y6HdXQ* d_“{ <(.}4*v b^ݶ&[U)ek/Ƈ^xiELK)Rbr+9ma.R8jUǝi;!`yO v4jp9"bFY8EM̊?itnjj4 l'[G ;.%D1δLRrgE=(fLy9f|gW8 wTMXrv)_xfW*ĔeN\^'^yuԍM xo1[{g5nrLI"CT7I.fN ? Km=4V=s>9Q403ģ9h[k#]0KjUlHg s6C/&~08%^R"He0*E܊~=m3*G%LI6{x-Uy\0t9! ٥+Ρ{D͘Qo"XPg>&`2Nƽfm"k2#&f~ϵ(\ nj_f^Nc O b\K S7NE79(ԡ$+ƫᰠwC ӡ# HPH.II"Z`9AWG#¦αZ2հV.iѦ0Ɗzn-D>6curpqu!Qڞ)Gq}[h(WЅ[}?/*62vos^>D3'1W{dҲ<6)ҽCqD77vjdG˱;ˏܖw%ir+G4@E@M1 8u}ŕe1Y6;qG"ԶÔ3C!#|HÅE );[C N^)NszH~qqW^J9砭GѴzcXN؛fV-7pRS^*<%j9}G@[5/CA. ,WJeCYK쭥*!CxEi:k&k et8Z~GD;? &ߗ"H\S$|>w:*_FzW䢎R!~THB\[_${lV"`dzJ8 ]j"6-Hc*'<ב(x3L<@@ZR@:ǒ}^&Ee! ua0+އz\^Z(Zq8ח9s JцA2}Q' ɠ0#9g.5@ϣ71|Ȱе>85&#$T_pZu"#CǸ1{a=49@#G^/L IĒ؎|)A8*69q>%>87iF_T|Vm&F&)IM Ooᰦ+D昱M/om?Ɍ}9L^Ie𪯉q\ҞտE̜> R#..&PD,Q¦цE,RrOt6TWh08*Z7ṳT5V+f'CI^Fp ]=6P%)iYb;&6 Σ޴L6H%?|w!=|-/X7znU+ZW;O-A(xnO^ WP N'=.˒q7FKQE*3'dXQpЭhX_Q zp{>41X0^L_  y53 ,SS= ȑwH3ëK8u|% |;]K e(b&K>I^y=B v6Đc+dUKjе"!"wSڹT 'KHlc|!qNe~Zt^x r=hP@#xAppNHLK_Vh 9eMΚ|.p!P\b"ku_`X׉zND62k}cG묣V+Ҿ ? aZ -M:IəXiB#Л 3t|[X.GgE.-9>Su-t,sř?Y3[&>'JN[`@>'3DF]讓^ײvU56Ppo-^kNĒt`BY0+e۟[CK蘆v9~PMN(lnXƨOcu!3gU,z^k ذG-(1Oehp[?xL }>UŰ*G'hP׻2A!Ѕ%jzouUh')̭6l2__R^2>U㌖+ʦqE`Pת`6Ȃq )b"3D&ZK5ER:IH1 3Ney'OC]dUup ƴR |lq]CrWcwp_hk;uPӓg5C@툣eY_I\E\"p%~nE fAI2Z$W|pu ݅E 3%=NVzu&0fo,P׋X< ֔P,..?sӉKLSa0<'kUf] jQC4𿱪l$K-c?>Dm *0*<)̀@=I}CA]s# !.U; HF[r*n#/}pe TlZKPuoؾ^ZHbL1^sa0lGʹ@`2\HjΡ+|m茡] ?<12Cw H]y .hL5RiաF1R -R\)hu8WC^TNʘkRGn)WM?F6tۦ^Y4_b^x|TÎɘ爐e90^é0'D½ |lclI=zٱu#pBx\ ׾9.l78$(hO5 \[!;M={jK^b"ZEJ]ͶUY{E.E.(>{p%rwj04_ѦO5 4Ibw͆|1||=6f<<`ukmao^g&d샑s҃ :4Ozv}{ ٥~j哚!'W_ԅt |iMQ⑧ rFe޼ܼ` APm$=5SF7s1ㅟu-h2e$6mFd?{a#uY`6EcO3/J1׀߮w/+u4Tm4NUSC@3z\+ڒ)xY%X,H2 $ x"S@p`k$LejFoem|Z,w❐w"l-¬ucZc&ܲZTʷl rZ]eL/tNJuc|{UxϔUdV%5#* Hoت 02N'3OdSRpZUاhYɎ]0 .ҼiPsd/H=U(B \Qlna~vþ̻ChdnCKݺkڬFsnS*2b +HSpxLDm#zFΥ#;CuxRA;k?hghяۺ6iVxQ6B̀ƯLZ65J'M{#?\X^-:g =C.u@+=eޚ\)R[;t ?(ՠ<ƈLn>ހZ0E1D!~ [1X{D8iN4#/F'͟i.kOJG3fqD^s+ACvRnFhKxZEԡ끄 = :F[5$aFtp-qnNֈobQa%5H ik4;l~ KH+^'Nl}ېWkS w0ye 8h~Pʫ8$gDe7LH6xPA1kJKeV.HlVsFd`kT߈\Q/?Eч5[ , EƋ8PKGuB &{uP?}8ɈQ qVAXe12]SLf9=T<fp B srk#4LZ4kx9 !yfv8/_JML:Z+fOڪZE\kd$y.DH: 5ː \ t 7*g?:Of흿jyJ‚4 1@ i F mNxo8L3tpj?z}=lV~2ѤIf}5 B 3;E<Ԛ#>h<%$b5ȟ*b|aTF&Y>?f-pfТM?iu.FdV{-7P,Z35s>GA.::z7M _O RqHS R]yȎ; %A՘I=am(+a<1OjF9cad!19pIW1sq>꾈p4k: ̔TNtJs SG0 ُL] ;)+l tv:JoPH}zoB! [D`-àqVRVLڎ勬 z&/sR<-A g[]q􏓡FGJY=ٷѕk\ۑTޒΊH ł1|u2gZW۴%@wo;/2H q #(Q59& qHw$qf[NG::rKc%߬Oר ~\l@1J ⇪WbNy0b ߥm>ۓAFCP[N+W#Rߵ"=Q:EZYrGU*M N\'݄r? r}OCZ<Gͧ?o ՗67T>ӻǸ{,yZl}*??e!>$yK) Bfgt6.? /W9{XXU-is -`GpWfš~~-V?a$<6+^a+jӅDž e-si`VJIB\gEY=RӸ{F1] oȪ帍M/Afa~@(xQ8s^-E1AQ#8SCYg8LLc`oFXPz]?*y#)u ,ЋLQCM6>$ ?hjXz0S/"‚IX>+@j|bi"ѼPXN?.zʊpiɯ.5lihm՚|%?ڸq9^ "ȃbϸrݬ*av=]/b{FEw@a0$^vXu< 1qB7NhB_x݇\7X2ah}o//4"$Gh$287VUCr{f 6>C`'(Gvt*P}TX"SUl2(?A4 |DGjkZ  DYt,2U=l iJ(Lfv /n4kNQQh[[V?"}|Z)QzQlyZb` u;v6%jMQS`g[ 2&w*(*lMT#*`젒tVAJțBLp(]rn_Km {)785Fw/i(E:~LƄ6P쯵Iצ>J\e`h\5(;8#yb&4bxʾ # [hi[҇^$ ;AFoQ й\-@ lz.tPJމAwqbޓ>#ǁ{kQy[_ 4$>Z[^}Z3 CI@Jnp.wow9ԵN㢠&ػB‹jhoyjJ]7C͆`0 ,r8~aoaLFPˀN:n3h~~yD8d8)^*z'1"TH@zhL%6GmT]MAg p+|}9k,i5RhF;Z'\v6 efރ U`/ƌݚVz,`Veҷ:u$7i"cOnP/Q%i@c*/mS*K+pB};Fѿ{t7X}Ƹ^%v996!> lV*G{C\bbB^W 5lGO"[X"fwJBXlI ֡-$k4X|Qx’H>蘣bzY/.d (bV }`>l_ꮅ*T .cthV˔2n 7ۯ 3`C;F@[6Mۦ!C|NZ(&sk\u2p`(?o/s'(@߬<3r|5} ~=zЍY ;_c#sBj)sr+3͸r׮=Z8١34wh'@흀ըaET rpk=<ӀJQv' '$/xSRh{ZrB '4a#4 ɚ| ;SM&hjBn duu204.PE* cuNk:^Y Lx^a}ȁK)5lx 1ziqyb>FJ\aqdZ~{INGrosQHwm=VWu* K|YӍ ).YDװmngI+ZQ Dêe\M!+L +-#Bg{sfn6eKq:K_?/ijIOu5qr2+ё׽>^p#-۰/lQU [[Ra=dSYgRq!nYݝ6/"ЅJ=n߻֡\]XKa ?Qh%R9D`{AGogr1iev\_O#\e Z{ M@&[ʎT+SWX{#G_QgZM7(! ,Vu_{?O̢~H\1fzB* |O}iX-T{DXє)*T!qx{ ܐ,:4|+g$cY._oaIN``.B MWpPĚN*?>c` S۩k)yF~*𸰷l6McOk wsHN/a{ }ꠄ5F]Nu>`i}`r0՝vSf[)EN?Ai_ۑR@Ͱ3tJE}pK$Z8ihiKHΔ5@=iOQ&moԣ6AK0KlciwC.|s9-َR& 'W!_._h2 (kYa#˴UN_^s@ni*t1/5@~j̤aDJ|5DfC)D2?+)l6!1*j$h4"Eeæ ]89sQUb'ܜG-9\oH>&EehqKE:~^ܗόHHn [2fOu^6+B|<ֺmGnHb,4 '>-!o~)HHrY:LQ0>3M&yf^(w 1Ps~ ;1JziNjGCÂ۪3[=d2[;aw?\OY!9^L0ZoB|)g)'ڿ=91{ ,XHɟaڅo*zzhTdI9Q5dw%3|P+.ADw$"Dn> eGEtj2#Dw!ݦsmAܧ9L_E/od%X4X3H_#y62A]O>O_ZT|2rJ;;a f#ʶ19U NJK'Bm)G=w>kFneoӼC:}s :1j΢ _Z~?PŽLѮ$69z!Nj<'Oy \h j@kf!E>Dž)2159 76k8lnOl83wo(bCyfO9jx1m4ĊmfY?4"0Gw;?)v uy>MaQFmX̀ʦ%\ݾdv E Uq5= kQpM_v\Kƍ(dVSwaQ:Qj~1N=)D36 {\`"i侠'ڝa9KiJnA39`8r1!8uωbk,ڞW/AĊ {,:0-ʧzxdJusbJXBіڶ_2K$%4?a{&frִ.l XwBO^u]AHH|M4k:)E~l\?U]e{qSuvn]a̙$hhcHdƽ$,ByS!ygI衈CDƂt.wMgM̹oMuéx(8*0-6o. y;9[2T\#LP;oHB)9v'd ;޺F BDj)sDZSM52t0$o,^R\KUw}YE_v "f6`jQr_,IOBTY-@Lo5/,eg2߻y)2~ѕ 0gCZԦC/.˜dK> pr؆Du qSKy8)c[g+n! Gho.Qd!XC0h4`z7X'NU*pf^T\ ?.1ry5OfOȏvR]<ɓcn&<&8HPcVҎgŌ Poҥ<{ӹHOÎVz Ĝt=n?6:,CMǑ8߉ЂHP_YN H;T9W"@R9:댥ܨ𶹩(` `4]}糞Lsrqw&:9Ja_.DOAJ6ʈEgŽ5`s`aǰ'.6l`ާ^nP2c  a'tΉ%Tmh(/tS>@qoʎ8Ò⢻BP_r2wdwnOaq(Zr;u| rk')nA7u6%~$̶!꘸$2y\$8D$ڥܦ ?d~=bVc}-}),\SAHNx&+ʎ6RԂmeG_6\+ğIQ\4=`D3&-4)ڮU@!= 4X Cf,.׉\_2ibʰ }tݎԆ3@=o#Spde[x❺K=w}iBÚGn^.g%;akN1ts: [& 㖶OnzW)  9! 8Ρ&<76,/2{("Fu:RK{z^9PgFF,NDAEl; Dq2VKvWtj}z,djNև8pWV!ᖀ,? `QQA>,^a]n?ȌUFYCpm񙬦bn.Џt )#ă=yl OD% ԃ")s_>R.qpG`23ؓ$,- 'ڬ,K"~{5O™*ݹ!Hds$#n͒L>k(nZW3է:Sj ,?mI9|jp F*wvDΥ'5zc͡%^6ʜ~DmͷcVaqCfW[S+q]XO [K٠hh{è~\Xvj c0D_E>)JXqvU=܀a+~Ć ÛZ1vSq4jzB:ՙ+)>s`h ݯ~fr|n Z;!~}5%KĠ N<z<Vވdr KN#B@H*m( #x9Փ-Ve`T.uGMgem?̊{Ƴ8t宲 æn4?ۚ.:S;s5>JN(A"+n'd?[$0g44h-Ӗ9)y9ĴJbq]BmmӸ? XvfDx.g&N%׵]V*Qys{j03֎.laPd@M]:Y|xzv?FK;g?Z) ȉ)`t+ƣTȊAEn7S4TtfK (>8ߧU)TpG BvΥu!F@b +h[e2Ga_U,Lag7#o?b{3$D#;ѭ+H/c/7xR}AgjSpjT@O$I c @0مhК5!f5@XX/:xUׯed>"D9HY׋ɢyVĺbL "E"0@=vtFﺍ}F&6=b1/@o.f2]T5|1w[Qʧ` QrreC.syD(Bb_ ES /:ܦF?fSc{E;E=3@S=R:,cؓ\24.ϵ߅8ӉSYȢB.L~oov=_0%tV`i1g7Аq(q0 3 e${ uG!8d@S0Rŭ>K{#^~IHo[o maN&Qg͖ċDQ Xї=ȧt%/&H8yWJX5cEg#뚹|J\ǞyW׾scک`cѠ[(Lh3O z8u?+Z]9+N eR $QS"32K\+6f?L-IS.{eQY6]->yhcd{WB]Sn"$lFnT mu5Y( F(۫\wrV_Tx AK3.U{'k*.wuD4ƣ1)XH03wRUA:('H!i8~;OIGL0ՂH|p>1}E8Z&ܱ <С ,h۾AFRH:Ň: ~ĩigE|60?S[l*еde~fwf"?[&"?D\?G%6l94]`>8o+|Q_ גǂfN_!Db02Aͳ fus%`:jL JƛNU=S!+FI⺵#5CఒWl*wsHb"M 9W' xNI\淄/L?Ns[L:rԯV$8gX 1k2#x|"Yk6Vxtܠԝ=͈,y(9}c^UVMXX>o˲6@ %t?ٌr$;"PJŽ*]C25G/ 1ۣ1x$ 3pO~U`j y_EPFVo;&٩rjnLiaYLtag(?K6o8m/˸}֢= @|ِ:E@{Li%בc8'_H;(tI"SPz늳#ڷkij-p$gz>;r~0e~*п 6oƎaJO~\ ,*;@V⫺L5#稪 0jࣴ%23Ёj55faA+Qr4DMg's!)]0754t|Iqb5Qn?1 H1.WFkېєޘ`p7>Vߎl3L4ՓYz0H~vnR%ζY|ԙR ;$ ˗+*="|&密bMvB?o jy=IqhXQ&e(f|Q=Y: >g<3-i!( |&v\{jcx oGᅤI фj XD2SE< S= &~WJ3!$Z!7T͈~/@)H3v S?$nT%#mVJ!,= ܾZ4\8(7a$5KyYkBG}_8g 4,UUfK[h?zJS<1 ڵ$-~+eۙDTtb 9xx,CQд[ҦFjI_IT4T2~g(U.8|e[R% ,ܵ+GKuAˋdּ#X/'c<(Q~#Ԧ=j/TO :}ebc%F}[H^Y'Ew"ΙUlxjhƫv'sl*tJd$ -1yքca\ ,?Y rH \w0%63x&67Q_;5oRldj[-%=f?,TfT}2=S0¦˩Hw c `Ʌj48mIFə6쇸 xӆ RMr~!R?1|㦌P_d;[* h^2{[R#K]A~Aʷ@ K-M`V~d)5"q^o2T8'W{B)Hh/hw/N 'Ӎʜ}Rǟin{f4E!H9kDS#+hokj_ty-?yu0;S)GQZ{ {F)%O86HT0+Ͻ?k|n"CQtKhq!.}K'բԗU-n_g'%_dز$6j}K I vE *?gGE,,PrsoA ,lQ^6{ x8p# &=)㛒p#IF0œ߁.]Q+8 mAX02qj{}&}0bK[^TB"ߦC/·HlvJԡ/;Yԛ-3:;1?O.E\,+o(Mt'M櫑)GD/l FlSrk1qm<"fQuZ !Z@G'1y/iŹ$):{򩩓 Z^ gu7 3[V-.|ĂBpC>M I\xy4Hoq/ ۶]Fй\ҡ!/G/~rp!NxU=1GpiՆb@ᡖ$ᨼDo*ؘjJj_ьS. wUz7oJԧQ +PFȶ~ӹ[z`æU" 9 ˨DC$@] hΛ'N䔹ɍi:fF#>W5TW:I 3 mPD:P<#҉>|DP=wZ2O׻'K( `LWw῝@ +ϓE~0ml%UDڨ%{2n6~#O B>Q;~n"o;+EE 1\wf -IxGLѥn.fOBmuLECǐ: ,mxv?[ ʮ]m  $27c_*`c66|3v(U# _} T8,WxETJGkbn> Gft[1uf C3^Jmb}:§ z㧠u?ݔng\[~(̝4V ˣq#|_()[MI ]s> !^c H~oZLt'U, `PኄW#QكEO6V;t`8GVwڣ158̐9_ QՎs|}*2x))ތFۺ, _9djǘP 9 ԋ6i*Ew>jqJzkl& >^XY՟(u-rl$0:ciWiiu mKtJ׷ڏ'7p4̮ JvSNX}iS/:!z,v\5*(YgYᄉ >@0J>j_s70hm8~SQvHcd}E(Cvh醙= /bl[)X&-,N(!f(䁇}mx:#;}*'??K\6}Q:r`qW|q8֌n[o8)a aEdinKjl†AI~ha>skw/dDSXCD(eQUj+'Y(g R1NRZ; SdN10hYn^4igtYru ź^@[iepঞq/EЎCS4QSW?"Rޯg%S>*G{#'4OWI/ndMo uXM5 .QȦkh. m 8h;} 4Wt-~<>6!851CLˡChN4rG'cl$,n/iĨsiLCJjB{a()r╎S2y3__Ft C9tVѐSؼ̙,GhТ^ڨ!kIQ(V-BNZYUKSEܖE=v{C#t)\V#$i i35:nh԰u"o]wZCR-2x*%B_izفAgD: Н QB{y /6&JE7TG 1?tճ.fL!蒎ݨ z/ ^ b8<%47=G^8'g.̴, R#AMnmK?#\Z̞nw]~Xk,z0heهif˕AT} 10.6aǵϛ"ܚ%M*Rahevai,}]N! y鏏8" ?!IM{Ga]K,temr ?$h"m,?!U56*7o37qS]mիܠsg22WdP" GHPQl38w Z(wX*\@c5hV6˂?/"`9{j0Ku"JWPeV'0ϛOkq ZqB&S;F Hk+ LP$FY:aQPs,#}kw@IET&Q^eЊᣢF Cz2s5Y7p&|kjOJ*'0()-kV^l I2y B<װWD/9J9i'[>\_!ח06S oBvt׽ޫfXwJ[M(阬z^XbP_Px%J2Ńx]D[%Q<۳GVt:> g;04SaN_d ͞#nF;X֔F`7JU347qݫ&.MN[|IsSZ5>A͖GG6+%dS :wyca5J@_~Gέ )@0C8]ƙ(/P@ѾyK]"U'Ǫd $@ i;0o_J&s9.h]+e{jSEȽ΋#mxB$gt{F7Q._)DxivkeoKGLLx j&dXp3^`)~䭇k˝3`qW;o[m}UǸb2Ĉ5,h+Q}!ֶr'JEǹ%DYhr@Ԍοbu@*b,֘wT,ˆvSYݴT Nd4+fjeMcyRF=XSܰ}hЈZ<Җy ܺ{"cF.rBUqbo ytXQlx-x_$+Fn鐮Up? jcKo0 2 . -ҋqeOoH:OԂ h &6mɰ1 2+"pWsjDZ.6巩4[lxTOHܒ|ʹG~7|5=q8-aBoVo^C {j(h 뗥`0NZk;N#,!_&xXf!Qu٘nGR ɻ?!le *1Ys,V]S3OE_\)D+4!4W " ~|O.7jO~SX 3>?gڠg1sփk1.ĸwD]χ@a}bF~ {@2&)j!2)QԶЖ1Dg;^zN,C+z.JMr)* T~߮.g6*$(Af Ei\faS*r"( ˏC ׹krnmԮV4RӃ?T(H(B чg&U ;jQJI(]~4Vd6V?! wo/Ni~L-]+65Ve(]s[xmw|n~9xHk%%yw[yz>G%nXWtdӧ:Fɚ-\ v.o.R ~+3ECܐSp=,h=uG,ŽVz%hJ 2}x~>D)غ`j7KK( cbR@>bt5\XQgg 4 cÛu`KڡpIhUćbܰfivȋX Džd9rvHh~;aMڟ[k`ƦD/3L7WnQ ];"RX (k{ҔU-8yCL?q7% twL"uo%Cwܢ]8O [ 0ՊJ?iJ|QR@)Hd,E-,[78E)YH:g}wF[ ]@\ʍ XJ@\XtpȐ94QP-bu0-㗧`QC}趑Q5e߲y;S&/{:_8iόBZyXqvoQdAg(o^ 1(kİ{ R%۴ ~{}S&aa:#MlAq&LdU8KNY\nͭ,Cw֡L> 63|2=Cp0<#x3{GL6rB@%Νu!T6/E/w~3A~LTiʲÕ'' 3o75 U,8U^ATݝ=)n}[+BO}J'J/` Z$Z- Fh3Ô(gC\ r;Q*:ɿot@~68?tJ@WseXM s'ʝb1"^TӔѬٌ>̩&$uYf]Ai68e;1,/.Ƃ nmβ0?=!08rkbh8!T3EG|FHq`_ DE+Pl C]Fo'KsެC76)Rnɼ19eIRNы`QV4cv q*xtR/ӢK☷LjBp%sMI&`EF>dd2M2:L}JiU 1,KEw%;>Xt)^'g۵!ςg.f2˗+C.4vhDR{a:Fkm˳ Ke`W:1YAhjE#?6yɢ}=)ۿQ1Zօ[]/ |"Q"ˍ`fላ$Qw$K*n4-Vhs\!ݔn8VT\cMcDz_4 8`YAr4,nVvNB_ "4~ +'h+Pi2kQQe}vΝl65 hΨL}N2lV~x&yW ,J2lJDY |U z 5h@ 7[?#p ʻ6>VOƓ匭ʽ@ ܊t_V&|&S=Q/t0W `a?_?'z?t[cCRQ9ti_jh-x(*yȤ:{f s?kL',!`eTQ  fԀvH-d3f84)8 ͳ {)}Z#D`0ׅ: #73V=T)u _F?eUdy ED⅑ y=HQ6!v"?a4 @||{omP, U.#-RP0)\0/"wyJ9߬:gnmYPziЁao:O"7a maKq{7AekJ޻l#[ בΖM#i1hosFCasVX}Tq< 'U+ b7]GiTYc14ڷww ytkUwÆrsm)l-* q2q7o0TzUDAUw@}䗯_.(z@cROsFRHj'ՙb "$z1PWֿבn_yqѕzS=5Ȅ6$.)"27&@ tܧH쏃|VnA?h;F4DyQ\AZfҏ'h( U$Yp񁪬JQ0@0o w9T݂==hꙢWt=37B' oQWu2ctw?)`ے26@aԉwR`2 _gZuê")ߢ_=;L]#T`ʇr! ^7Ueq'JkNrg_NO`^>2<<1*3J>D+}R.Y?{fg\t-~hzY{uopt8惓*s>{6v1P :ھQx) a'V/)mFrQMlUe84gꂲ`a8TѾ SQ^,r$%cLsye8ly?H CMf 0ND~e($7sApHqKA a["WU0JȶKrُis" rReؽ~<{BtŭN;BttId4JIDl(\gS /αVvFq^j'v40$Eg=813oa5Q Jgzr7l{y?ڕXxBz^0&o:kjwl= 槞5FP\yL7 R8W#;r]~33r%C?}p76\i ϔZY 3&Ф:ۓQё̣Shz=֔sЯn~~ (=6ԳA&Vg _o.J:2ިcХ̩~Od@IY,QTh%&۴utXxPWTɭ1-i=P2R^]uM ˘̕P/}}?cSh-rb>y?LxA1ZA AX%M^ CAp @TG5s|W%"oE++צ>ۋu1QP0-לJ4ܿ?| BV쥊L҉'==P}c PAݱ߆H (XvP6NN[@*ZYb]D2<]6UM!? q*G8 ]wZB}E^;Yد?@A _f쫻KreLMw0 &t'ZVq[0^~:NGj#\Y;[ danv `Y12зsE=)' Q [Qd zQ!Еo%!iiP)v@KkdrME_'[x"snA_`T@}HHlA?*.uWZUiƾ£%:wk,cA _rH@CH7ОB[=CKrbg4eN[1ИeԞNzU2*n}G%i orA6~:E*>TЀC5GMT\OsK 7 ?+RBdo72 I[u0K7sIFS5^f0@뫂?尭1,:o#^QpHBnQS%01v=ZG۸_eba5/6RCݮ)A hGThW~\LoiіvU%bnxGH_3.3k7PkŴF"uCNOi6>hR^Q*'HwKPZg^#[qB7讆8?Nt18NI˵r 1=K1'γ@)F"霅a֧Ak/^BQLϿdF,w R g}XJ8pk#ncJRT2~(8P  b*]JH0X+Xr8غ$Xq{œeE!0&uT> Ax2ve%uVѮ#rͰ9{*ƘJq{8 mKIړP\@]_=|+vݖFF5r&+)9NpfU)"w廽%V6Pd3.j+&ĢW6!ς5_as!][R+鄬K+B5R}nxhz,A>~Fz&լ _Wz_ qnl$} +Pf9˟Qtܻ4BRɭw?#Wb劜͖!Fr*N%*k ]ue5 :)08ÕhB>He>:O8." _a ZMVǢ PL*Dr5BzKk_,7`%僰͋.;D*qJ7l)9g$d, Pٛ~DmLw̗^/z+#.%#r;J-9,x=Y,ag{4=d 7J+(R}}) }Zׁ3&$bn]b"^'Y'U]k(T&P(h5~m7+F|U" Ɖ ѾVhGV/GUNa3TS '6X?~oefNR>KQ$j]8 jB~(K(#vO}ecےRw/gf/Й ]Ŵ$4 @ֆl8r9^"{$i"nEjk_&4sH|3Up>}޾fuyRPSu{C‽I2YQu >' .63(f$N-N 4Wb.ʔI %amvv Jw' p!R}uX$8UA^h/5wo͟ѿ̟Kbv2IPڍ-̕wB<17%27U^c;zf^bXՆ21߱l(U*N'K>B0( r0Ii }( ( D \}oo?E<#q`I"M,=)^ˉDCi\Za0RIn!;щbCԪh!Jj׺d凙}9<Z|,֜*_q*ے)uGX]dq-+IwR >M^@x¬nPtlďhFaŴy_== ,^W(h+KUG- Ddx_h4dWRd L˪:F-r& h/ިS;á WyTH?JLim xn&DL?Oy\yM7ij:{`yܟ JLT6 g s dB艨`O?ab}|"^ & R6 _7(,o߼%5/FቤQQ &Ti>le{ ݁Wćx i3i*+G4YW#u!YˏP;)t|54[ByjkkWBnvE=g<0&y΍EVILXjLlLA!򩶨I϶[!rjM|up]!Ɲ'i֪J}8]aJ{LEJc˸S jKP[<]Z];V? }_/FQyl?er$iO65`]1M[֑+ߜ%5%GK >EA`[yтBƗ$>}"f*f~}k\B;-3 {bqF'.ùy6o0hP׻G%9v^3ӭ H͆qWRރ.W<ZJx:G"hſρKa6gLk iKMŒ9t[^¨GU0lV(KCqꋑFE͑K_ Sz;S0OAƖXLj؋`+P1y.D bfԻ"1sd$ ԑq&}qBPSQ9%=?.bfq40LTį#N0Ф"Y0 Fdlpv~0ceĴ?~q`[` {6 PdbĞȔ &͘$F:+FZm%Q@ O؛#"9u|TƩUYwk"c$4wag6Oӯy #I#'?xݤ0"L6`Yl/`7~L4~SaPn !̗d4l{ #U1k[6IAN^buBɔYc N yCK17Sʗ! T4ŖDsz}wNehY(=!6h lqKs9ˈ6YG0@aZQ;z΃M"V!2 ( 0R1C*ļ9(*E !oӑ4\"+/IAmrL+#1D' lH.fQ-MD^lK=Ƿf 82:QyXw*\[}EDKEkt}pNJ v ]͵#0Y4,wql[;M<`fz*NTzI_˃|96&ixRy=MUgo"tsp#qE|}"N+_F}ToVkYcM 0{W8(7UZB,RQBB=%ڥ{IBOtE*1vES:*YX粖AfBZΌeQ)q%*%ECCO&fUko ?;ܼ§K{{WT.GEe- lt2\' .Bt+#-R/ɔ-8s]dуLRb[?=\RQS+Cf"ʞwzc),Oeg*9JlAӚ3#` sYJI\=0 NN>ePdKd%zQH+T.&E:=IX=}mͪB,ϱ 7.$zf lAIPlLߐ݄^5݀Yۭ$U~7G4\ l|}f$(?KVUe718]#QZwwRQ63X,ʅ Yvi*5ۧ~jE8#VVu_9p!S 6T(xcj|*mX魭}\"p߲h(/qG2*×[aBdZ?ɃeX+}"6b< %ߤ.q9|>1 q$6 OO-A~'l .[A1Ps_Dǰ |,Aj³1I]/@E2Rbvߧد/˃Ώ %Afa3s10C[;d∎ (sb;SW5Ȗ7< fDGǺBsm 9#,C)N?#?A 7KeوObTM%h#tͭCF2<YD !uQl@ ce;E^swނv L@{"V n/ھU<4Ӗݟ]S}ܒm#mdX÷*k-`4!hl'r̳-(*J@|AyJ(HΕV )]%i#92 I H}Vnu'iYmD)c߳,W1c^k,p/?pbXn>SGe&lt(kuU>k m]a&+NsWZJq&x3<),WIy:- 6r4z ,IsfDټ l{iYݽPX |KϲҙLOQ " |jKL`&a "XYp @/򿆍#csNR}TH}h?Tme$-x]{.Z,gΣEcS(zXd"&;0 weHzv_X{NnÅcuw7"8} ( Tܕ;jj+sq<q>W!$Jl[+Ůx =31%\6k&C*GE(22Lwd˥/Tj0IVμK7]wŀĚq4\=3v2 /S~m5w6f:0ިhudP`Xݗ臼zl"zLfI><bӿdeU}29&;j8ؾ:.= sϚf&'nFך"K;rQ>nTJ'>Ztb&q+D|hD(h3pYc}UX츠ռxRCJH:2FiG}qZ,zF=`{jB (=ZNX.~\Gd蟊{pF\J3)xqiOr9d_.%?] aC2qjYrMUOb`6Y,%IX-i5Qo֧ 5}٨x0PvGdqtw-p| v% &*aN8P|>qG?(w_k f%عXQ b\:R vͺE+yQ=f>,8;}ED7+y$.$ےSa72qNp#Q^*`Y_\N& :&9]ӐJKy4\ۋGhW&r/7?2&Vݝa`qX s57j|E)bѧB{gjJYҷ4᭮ E.L9ZbVZ tBECmrv ˻Wx͢ݶԠT%(m{[ UJ$\Odem{@Ų; J[ħ;O)h5d6_MCۛ$j fgh/\+ltd~頉_]_^z la:`bʼ~w7!# WYWY!9Q ?B:%?)l8:do_JH".yRr %) `Kf ȭ\8lzq]T d0JR M{y3kVψy$d49k!Z}fhm41 K=>PpZa#EdKh}*?% .`S *`3rs6B %=A۽giDor&G<6?"56.5[l*ȯi׫:/Kg\'^bQs!q8, 2c,yOp.wrFf}si&Yī\#g^U|خF K//mH=T2I'"~h*|O%fKH ЂWzyUW:^-BKa!q-+b[K 0t%+hj-!F""kN2W+UDRJ*\4UiYOed µ ""(!LʓQm&^y/PIke;]bG,} ƥ%Xrny@;9.χjz\By1s Ypm[cVQ?OYP C}/&6 Qؓɚ1c.' ̞k@/G.EE~aX0L:ZNs&|h @^H4ژ4J6ʇFh`]wJt1:0u5L=9Xk%YZv 8'8(%k}킡5ħ -bjs5l7f[Vݲ12)#&,ozq @foR0%rW;ho\ ϳ DL@7N14&L5}XND_t~-5Gg#FSfMyNу0CW=Y:c1-T77aư-~lJ8<(F֏rK?mT d ?U(C{bQmlDѰJ {=a{p쿐w;Mr'kⱚ~+724"JZ)+&@qJjm7%r @d:b /.j%>j`]_ij:j&۽FZGqDNN.V~U"k1o]螇Pޕ8GfP X͓ U|Bj= &DGX~Cd m$r9Ԫ5W#%N-eZߘI v U$aʾESARm'ךPLRE(OP . yxƜw {]n>WdlgCT?3Lvܫֽ`bҼ"FHsh[ESv> ΁*[|\fs i1e;eLNkN辿9k2FF,?)06)( ')`͔j<ۇp0־CBW/H2a p)v sI`.jyHחMf%B9륷o/5w^.4&P9YZ{S԰]8Hь{d)V:t7",@5vr#6hWn[Y'}9WҼ8h<3s/ ɰ`p0; ,_#jz.Y+_#<Nj܌fTKq"eIl1LYM*DVE$XG\Ux"rBHw-MPGMT.5*`8mBM_ ;akgu^/#Q:^Uq!{p>mZ$TS= 3tHXK>w[i63h;%ntA3NwkL`zXc?ͭHO+ ^\ZkC4JLp?aKųcEp G18,(K `4D/iJ'ڋ–Iνp$#q3h.C0Dm-=k=miձo]7A%Urr+;q?/4Vd(St짡t Ɠ^¤_2|$KV;2NW(E7r~>3et@k0j 3y'kk4dA r4&r-SJY_Xg5c:xf{XDC9Zc?{Tj 9 Tusd=V|?7^&\pٵr'.Zo&7tSID÷Ҿ¶J7[* Хؓ2 'jS޵@K !Zn/GlC5/6@f:lqzNz8@"¶9n607%n.Z1Fo *'$HY!~Tfxx:<մu^݈FUAv l7rFb$̌MILLat, UID lGRsy[ũ~ۿ3-k;gc8ȝ$Ak{`x8>_x{)܅G|^Cy[¹6#?L^Oɸ1zj? F!`%}v/ qkYvY[aPLgG,/j@9* bm iv>9N %9kt>O)Ҝƭdr/ƭ\#pu1n,DAlo$h/zO_akl 4vԬKeXntInvs^=ʋqbwE&ZP3"o\TP pݛ&珖n݇ۂqo?KsYl$0i*'"WMya= ]ivF/P)U&cK57g`~{6~,e3XU#vD>sxL=ǚkKs聮o(t2[Bt6-eGQyDGȃY_oTtV]WqI"LӘ0!',֖l>f>T?̴[k J+Twsz/]cszSW@|h#!;`[]7紑ppQYv.ؗ5$,f l]r5t Z)'2^e>[ʊyQA'Dm,QadQ'yr`):%b 0 ;2}K?+22T@'Od(tU"+7DZ0+d?tc++`[DZCSt5A.ێ;p.pER[CeeN"љi!e'[oBÞZAd:TZ6ۭ)uGh6d!}2]5ɒ%LHk Cgx$C F%!O'm4tZ)lBNWd:#tIY&ExP{G٥^0O1wNlQ5ICA E\"4Go)=WsGx@K|Eؘb.? ~V9E8j9TSR/NH+-G1#C[3rm4U GJhfb(sÎ۲} EŠPۯ@=t~"$V?8W%c$VΉ'q8$>Mȏ/MB*^uXxc^RQ9{u ?VhDnS5x"Rc+32k**i MWLBH}doq vaܓ蟥 >-_1(_ Ya;?|%(wʇbdHi#\Z.*Le$X$ &nϟ {]z[ +{!cjfgt{CWqWZVq"9=PA\ Lj0Q} H:tΌv%~E P5̠'OKD+dd4gY@Tzql]8h@wߒ8 dFpjn%bcd-͸;z8!;~TbϪ˫VKq5:E(:_p,=ẇnQ@zL8žќҪ.v/xA0j*;> LM-sdjQvR乘HF\DIE-" I!}&E,5LN.^7vғmG U_)ni UӂkPQF&ϒ( b44`bTObzDIg>O m-+n׻,mUAozHBLwv1 Hj#tؒw5W]G1gYj'~G&ޛϜT؈lٴ,r0 ܢոʱ^QȠ|GT.[f"j{S1NW{zSȩKB0d#C+QStPg9I Y:>fD[#f}|_]]u+DelF`rw2)c|LM4;^ 5u랟 i'tr7VLZ;7I@PzͿ(2ykz-俧{ҙl+nWrLw DUnX ;j DNCSZVq%og pV-y-L^|,>73왪TNB,NpUTro3[OAjs&7)Z]WU<"/کHK #oj w1 .!|u"{W-KB3WwW~鹐*@/USK"Q 68J[0(a: . uYzޕ!2wƁ)|s rcgX"@+'IpSB? `1V1wDB>Ʊ*8{*rV$KFZ^o@p}Ҏz=DlMwXc'EA\T)(OyQ{iwpxъf۠gej(ٲd%8 pI7d}|?v]CN0EZá3Eߎ+w`zdă S*ZSxBSmW o:`uUb7saȪJxْ݅O(s\H*d;? Ÿ1xDg a <-+rΡW1g<9Z@b &Rwssy1΋y5T?>a I![:7&ENqqβg?By`!_E'nu%mKu/rGCC.*.Y<fMcHz<$-rAՂLU8 >,tDOp+.!cQVr^ A: +dxgb6)NH7НMRv"YL2A"OnbJ0Q{C!vo&TBYtD# '!>|5X1MqodHC]e!5ؐu4^oPB#dPTXEz]/?E)X{l:<٣K)tQ,$"ֹ}}x0V_mɄ5x)"E^ڥBj+6UH35$I;\Tz_(Ц%Ӂ.q& 'Q whkUD󩇰d*;>^}t(5=n 0$3w䈎>5nx Zs5q&P8ǯB3 F@.%BqF+Iǐ>9`8E_N$K\ck >Eމ,6mB4b4A_^~b'd.PooV-gy?:K&>O=JZ & RԱi9?"׫{="}]1Ff6rBK>*݉dKL>[ŴAD /ؽB7#sd6$^,A2$5L"*Wك9@VTW&[%Hé 놪n.xv I([-w6xf2w(.΢ٷߨ:bPDuh"DHK/)Ю7|¬Udg$D(j;5ZWڕ!39V']U6RU՗CاhO)( ک1媶N29VJP[Cv ,Ǜ/֕繩 ZB3tnD-[C`ۮڪ9":4, Hc\gھ]moMBϞLh 6c: EXW O+$`ѝܼa[l Gk.# Nh 鐰$f[ )cA&+{fԲZqb ŗ xD3WڃQ|&U Sq6YKỵ+6Yvf4je֖T#Bf0(EA\ߔBus]Ƕkvf*̱ྋq)w}WAl̥] 1F.aGf&hX jNNc/"GP3^ȫzz7J9ɓCZ,-桞 H+9ud]R]B5r6G 兹i%XAN,MN,|Oٯ1!5RZTpk%xLX'9 IJUo sKw[#,"Zh'ː<>z0 Tl h)R>L5+ƕj5d3܉GwYI]јJļoJ9y+X13D_([*+7儼u MS_}#!(k.o4ݾj:zev/~3,n뇡*a2)$XKxе9@WsR GiP/:rB?{Oy`r9 ]CЪC'5@]nODu%]}o4@K> 1F;͞Qxh:4lGX3 #Sđs( S4cjjCl0jV_\ >6>3WEj .8.d1on8%1R&]}]Ia\JWj-ؗ5"JXV>:xYfsӰhN4#h񷍦$)OnBƷ. w*tBs'#'3ޑ*Ȼr%~"H3-k.P'r}lIN6@}_%.?4s3HcOݸ!"(Qu o~+]=(RȣocUp{GvHO|>`6ի7X+Ek4 23z=-Znjws)>!\]o?a6aٹyCئ;PL|۔WPlVuG6i`*=ej =ë A $<Sw\Ks5#1S Gd]FX^ beQn֡&M~j&TROq"vTT-8\e1%Y VN( :.V8fo1V c\< ];{>B5gKa%ZZ{K/Zm5Y| XHb{"3ESҀ_<IJjOh6a~[g̋ӎx",>ݓ ¬יPTlzMNEe͊ޫ)!Eע2>sz9|ﶘ^Dc`K=",$-o\, MmmLevl&!ClJ7$~';?vi]p9;&Ӭ|-d+ܔU֦& ww<6 $׼^>`כ}6r~v ̡em{S?&H-X,M7D%vTl^*+X2>;٥ֺ&l7u`D~N9oɆKbԤ*A}tVmS_?dӾp病QDE6NAXd81#W]~F3ԸT3\0,b2 ZA܏-$9?M;WՇXj&0i("Y&" [Z3.5jbi7VxE;dY$mS$= #Y #'iiQhK- @Ln&PTCv<ܽEߨ0m,e`)KgC׉=U4ZY "u%ktiyfM3&j[Q49MUV oj2C}rq/Do>$/v8x+6jŅmime< Z]zX˟8dj p3tSI>)bhjD?ڸ-so[χXA`]dIyRAbck10:Ȣ,xݿ>2 m}>4#K_bh%yR n)76|ƿ|7'$`1]%͒\j`CzkFӄ?-3ɿ l/ϕE7K`L_%~v9Se^4@c u4ӤWX.^;?mu7^Ivd7_[0- Y!v"3(id jfLU+JGoދjuH:{&KZġ=N)ֱT; SϬaH$-]P806%c[+S䃃i_I fwt)%PP?R5[ aeMZE~}o!#㋯G+ʖnmG ЌBR&*̱v"+c+?l'ʼϕ"}1)h3rzP5`;bp&dx$Ɯ sUU ؜ߺ[ybe$ppyZ L7)Zf=ONYv#!Zt:LTnt5%eLϢ6& ʙ˖r,VKz+l wU+WjsM&P0d<b< `+A)AZ ]̊z&1~ x(ph*bm/.t3D Dn( p"l9>Ii:ndX\TtCט8)"Fa=p:=$<#D8̍v~O8^F0[KڹIIIQ tRAb/>*nP'9y.qʟ cXox2A_f`gHp2@pjWEȭ79T>w-/I].Tx Y1Ȩ:2 E.3۲P"n+H0!SlڰXG&Gt{2}l&^Vcy.$ lbdB݌?B$"BdM6I> j Q)>PLjA֎ ٓpZ; ' Q.굕u^h2hI y:/HkyfUV`Cٖ8!2F(Nl ?do˱%py#RZR21ӭ:z0iT7v4x}XaC2V&&2u5ݭ&%ޝ-P떆N v(Ln 1jxaw@qstܟ&2`ȕJeN|o:O7wȳA&Z: [?YCY)},b?-9m,vuwGcR M:b릓SĠX(`X^`&AalCrwӓQxШve@Ms=XS ƀHv+[t=W㝓O㐊#^e9).heБD^U2c7a6X?@Gq)+(z #oZ :D ;nO~`ϭz"z@[sIBDftLT-ɵ)/,e, UY07evE5!u ,C,XtKŊNp[A{z"AE}y}ioy}T{1n7O꒘&P;f$#WO:%543& 34|s~?kd;ݾ86TG~µ;jS&o\Ar{MME)INF O/Q{t(6TJ`G2(GݨF-S+K׃a%뿝2۷Lʩ*ֽR̋TmyNV<Ă疟ؐQ rAwE}UϞ[hMPr`xwl:)@`ظ@OfjG⢭/r?d('̖Gː>[P◵ ^kjИR(+nr”ET:^G֯ k,@䆈 58x5 :{Vm8<+Bu#3kaVcS/.e(ʪ]-W))#*eZK6@Ac5 g'MHBFJzoN!w*&}i{zNɔl4)lf$XJki剃TLpf .+ Ʈխ^>Vd0K-zʂ:CyA+71may(8wȷJsЯ. ZfN7%=WL F2u IhLW'we.; $BVJ\տ3=gt烠."¡|e,5 %cRn{j?d̚'-lV[^g1<;diɎ /ܑVl̕|i?ؤ9G08eaIA3ؒ \S7~+M}#àc|P Ѡ=kyT*Ў9G\p `fEa{L< 39A{n.Q3G$Au_?$|8C_7k{twح|-;J "^0v0X=GU.LkOw->k/=![ d(QF¯R wz5z4N_a i98BDtW Q*Q]]$)[.$ oT/ҙ7pbr/v" e,5:pd?u)2y<1ܸYNnR 8YT6+K #$tlqO| 17z/Ht: ׏>e +?f'>7$$kse.^e} ~+l$4(LQ7 -8( heUO7#g-t|y1kBco38VŪ +wTfC67eg"Vb~C{ F6dWh`:|\(mJ#ذ r5B}ZţdAj4!=ti&02 5xT7wUQ=Th{exmJ 5 &'tSXY(_'i@k469ku<zҐ<Q*] Fl*6'Ga.K {FH}^$S^,ؚ4ezDg*l- M>٭&(,tKaqļ:`KNK ΁ ChD[/^U\`D%KBY\]^H}1p;+]=8aiG;N:iIsP;N(xt-^6((SJy0aB|Rvę'ؘQ8jb'5$mg!LךmޢcSFqVdlV#ˮ[nyEZ86Wa^:Kj7pv6pW;e xd5!_D` g0́jtZ⠩;{L)dxZVxg_2Uq C QWB{I1by(UC1"xE"K _+-^5 EѿBEc2ҥ.ï{*~)(ksH#oNpStNFGv-=ԇ[̐WWֳJҧ@'ܵ玹1ٰc}܀r\chEF߹ uc""\]5Nh3Й9 BQW=݁j%I ]7Gh W_qF7Txoxc<8pS%=T3 8hȘ/]H-oε[܊?dG86D3*JYSjϙ}T Dа#ʤ$vT%4p8l 5/͟Y)H)<ƲS]**}!Y+쭡ã=5I:4 '2ty;Ds ҹi.K7о)壢R& =&t X*XGHƠby2Q!*^7Xw+Փȑ3Fxe\ͭo~ @wV325aO~\.0k i>+Z =5x ]4 ptW#:xT+(۔Z!33g.Y #?>.*Jh4]x% ws8]dŖ#R%noKiʸmbm%(׸ݯޓ%i<΍p#ֿs3L gmkz%~h?'[L'/1&E4Yh<810uȗil'KGbˢذe`{0ǣW(WvH1t_H, ]L`*y-T@? fb$ С!v&$\s5'BvS5"?%V׾S Tw%2f#?g#pj1OV (i ˌ(]-1oި}+="c~a~3 Z6/ч+^? Nk J9N[98}إ^]N0<i' FhHn_cRxk!wm+v%A]9`ȍs{2k_nVba\@|xYÖDR ݚ(A}MJ28Ev*mZ s!c<0.cK_i ˃lʌ}N%Q 7hSj .'jRIWȓSO hfu{/V@q3%2grNl3Hz^s?0 (մ;;k0nEP|d=vczEOYp!. nfz$Up4ߔP#iZh;n؉h0v1dtic= vOw=J(v5,/WS̑e)Ҏu5"\ ;RCΊ :ւ}66?kHneA%q; @2 C12ӌ %SriJ`:h-}NQ.nrGMke&}CA`mP)nK+a&i+4 Lp31' 8:OBrIm~>jU1r*rуw:oM[/hVGNZtwQX9q9P 7G}9tiO]F\]EB9Z &QymzrΙQ^ܢ2O.Dc__g 1:zx=R2"d:{,Ji=Pz\Ue< ZKVLpaEowE|!s@Yx9dJ ؤ!N\:Op2BYK`)+'ک pX`rqh[~;/,4g;x`ŝo(Eĵ*/9( S6[[ob4lsn@.n{xMZ֖IH>q{>tژጸqLH( LI["Z|[tn ϋtU|P h_L$8nԸ!u8&̰U @9,$E@o"svևSxOE<0}]k ˎJOa`0(_>cOcXQȃh6:1E{ S>B,wϛ()瀏[9$F1z]ﹰzk3rg&U,Ń?sx$?Kl3M38R'HϣXr>m08zp(ٮ "Mwqx:<rQ=)4Y?HORWeq뾀ד]9|q W_za.XR}w!͑[|2W!=9v^)AL¨kE.wS 1+n0Mx]x)xdh$l+Z`?&2X ?6-3"~ߎvaY"wI{0bo"$'Цg6+__[0LcÞQA9 , 4*f|T`X;^X0αʧiE$cLl5.Z `؍Dg'4XQܘ ov,߯~p=ԈAX&ه]\xeH!&"STQ1 _oTѮMisػ{Mt[wLԬ͹ӛIkC5ȘtWv% >k: 4T=-h qR.V2shb:b>Xp#5S?dZ ~-wUZ3f̝,6`{c2X(Y O6,rSGeq s-IE>@ ӄ,`a:YCV*n:*9mXܦ0]lrP)TXml`xL}>I,R(9wf am8(/T=Ɂ@%ëgV:4BY"Jֵ[^?)i!>~KZ5d)ګKhkm&x !_ߺarۋ8 8WbH ZXL8\ztt,P@ Uk;d|qJ}y!SCax?&-N&& lFJz >8r+UշNq#K D<Ÿ|F3Jm$evqheD2LGhE}mP^*B"Ҭf+cO ]<'f>|k)7IlC?B7Ѝ(!qQD\>\ɽW\+ɏȰGڲu ^cwZDV/I]["778 0Tk-$ ^ #04N!)vIu\?IWt,pO2%~QmНŔp>db=Hn\Ed˱%c\5k<m1rGs[t77e}uz+y0®. ]ҞM<V܀܇xJ8FоEn=f1dEpoa3`?6}NOpʲuoTݹ#|UPbEE z@T~  =X6d_f㒪psz86q{m,0 ,+egA4yCXKGE'>$VZӭv9)NQhSxkBE$P{`&Ȧbڔw)Q*HGd_FT^jgAj_|j$; =6 zjw8le 4e` +VqzdV=b0\ Y 5Lm^U٤ 3{0)E-ѤPɫ|V3B^Buiya{_uZ1am'=kn DD簂񺫕sɪ@..qʺ;Gb Cz`S,PN]iK«K"*NOư2ȶ1b _]VvCGuCFO>CyC`UP_igp"_tоAز~ez[ny) TX8G :.Yx8O#rkG˱܌%'79?haHğhVgn$d,,j/%:#{;P:Ic+8JPxX ‹ M#gĻOO\ƞPbS6e8/@ZHCk<No!P~icuWS@^R <7 2Э_H%[ pEm#1(B"O(D HOi"N}:$t.ĺ'zȺ+9B'x> V!ucM,lYrëЂZռz7 'oQ)ґef*U RPLo#v1lpXHIC?s`yJ5xR,>mߓ$N6hNjUKz8|`),RTexI5%s,a$)ez3.v>ނ^9\-O oƟ.v}F[  M֔\tf|ejȧ'"J$bVsQSsϑ&j#:;]CD}{ds$VAcx9=jP$-&AJ!3IH2Ԅbb k; |2hW,)0́R 0[um=(N)$9.w؉H?*mn1f5 Lj4 PP0&KvU'VJpZ\^~-"@s 1,C.8lVQ-d A*(0c:OJ13x{^HJ>b jr L)XNƥR}8 #jI^)si*@|:VJʙzqx R K&e`>s:"saG2pưd0 G7ԉ rAVJ`v }Z АΝӏG_MS9|&KQoo9Hu1xgɮȏҗ E Z˶"܁F2f5ro!r`Z&1uc~샷))0I*.MIiv0PpN N0|”lt]>d{<q}.NUXAqOX<1˾ωMbQ[(  Bx%r+3_k7g-5Ͽp\t=1Cf){30+dsǾ܇` 1v,R26W~GyF6xy3#~qz6 2w+vs, v`Qq8ͮ 3ϧ-gі+$K\8] IiZZțj}]+jch@fSmh[QţIy;O XeQз $WBo;`n ־ij-erܐ&sJ-W䴛63ƑK)4$8c.lJ3i aWnbx= yG>8NfBvæ9:I@ı7L|puiC.aۧ lB{ѩpKxj"-'o1`ϳA~N,؆7k>ELݯʔxÈ bA*=E3avRxvqitRgikyVTGFC_6Q#OMV*tĕ3&>Dz6`G[2 6/c٪JcSe==*x7!Vd U^{.]ڥ5!!Q'0Icwam@X=|W8 ;)=r|P-U"Ĝ W *s.l^>28x,ׯ$VLi.uo鎛;9ٱ$t+NT p$_hk3գiQ118Oi:l]3o"MR-62_zBP-Q>8\A52#6O@w/H*^w&XƃCJX!^o} 63gɈ/frI }Rԭ\*Έ{f[ O>IX'|zvA3IUo0ҍ09HJZRT[s ׺ ܅imu!H W!H`K^cw ҇fh+a4K\ܶ0p^5ѵEȊ+ l {1.gdi0*nu&m&pk8WC":tsl7 5ejbafZ~!wF WNwh4ClH~/Gg9b{| u岋*2e$gqæOEֲwNL_,zh hQkl!ߓf%T@uY,DB5tT5)$łyz+oӲ]{L>{3jsɏ"7VsKl \*Y#;^JO{gNϥT͏/cc0oXgՔ$Lc[=\1x`v-F)9-SHLL)d Ư_o؀Ϩ,ߑV OHݒF2*8yh6ߧ8VC F1t<ʕ55:$R*񕣹⽢C˫̨\P/V;) N@`4B3!z6ʜI4jI=Hbt"|yZ}Ah.p9@ m˃y;#}UI :rL3# +/VON/Cxеu'IP$29JT ْ/nC;G{e"k)4>}.;,!Oj`&VrY\?5t&lsG~&'~-RC0#k|z`ڂAa;eBFϬy :[9 2x"VX [-Nt?h*[S1IRL ੟`\5p>,ⵎ8~bZ4dJ\*;%XO_]eol8Eu59o"oGP̥]`K^".=+&X!#d?-F,-U$"peP&d|ZCXH0p`7;?y~Z_3ؤ6EHh 3'O]*WPg9'x7ڥ*vBΨ:{u˯n+;c pOi_<@)x:v6F{?uhMzk0yك*@i~GPvnФ4}A#`V+>51NC8\;nʚ7rڧy<a&dSo2+CnwILwJ]J Ci6yk s].Gx8Y=ADM8z-SaSh 2<@22PV eLU0ZkC{),C$DؠA{7z{v6f8l],wku77~ ىw#($6C47}<ٺtc7 @`.?fAQb-՞X±gyz+dO>.3 TL87/cF謜}8Ȫ+(6w+T4=5ئ/s^rRDoOviSBpn|@"T_[9jfc'("D.^aa^`GoXsÉdmTچ aDl~-LD~)z qXۃ'۟2C1.7uYLUDvALb;ޝ/6 =GK 9q\Ȱã6ppRX  'Ҍ~zvWPYWZ ߯B]TI`x10W"f.BnkECøGa hxavBCEl68ln4m_Xr~i*͛C)糷6 |'J% L)H"ko(Cce?E@aDA;`,52pai40Fs+nUd\<ಖwu[FD9a*Ek%|j6,Z2}ڭԺ)|PI4 nWȦkLM kgJDiJsLtʢ0N؏pk "uw%-5"]| ]b|_$ݼ_]Vw5$0Rڀ .O4LijY $CMdjʙ}FOAutNǢ[<*1Θ RO.H N+eT1 C]OGAވ .<Pf-Iڼ3A]$/R.Ux0yר>׺={@_ca[ 8YԼK_MH^z'΃جlWCja æ6Tϧ&R9eappyڮ:k{941r0v.Xs/_9c^! Tm䳟~inziNǽ6UFJE{aROyH8Û`Fl̽aTWO7~.]1(ܦW;e22-5XT{N!ag<Ftq)< ~9Eۼܿ< HI~Ggct* )%=%rUs͕ƬN A D]YZ?XRĻQ*wkCX_V܉h3R59u:t5;s|Ąe9ߣ`s )R# UG 'zIdL{v'^b}9;V]mv]ˆ;88' z ϥ ǔ5BSo&6&_ZqA^MwnnWD~ll LƝA*fGP }H JSئpdm쇮[km88 {8~#cjxןcCR_/M9tC}^J҉1.@yWKS ?-\R߆'&Ck"c̒BEѦ-)W",Os8ĦxM g@2c{FռlMl}kebJA&t{Z[0odc1D=+Q T l+UEst;-#FF5Tt@S^B{Xǐ} om{%gJR ~6El2SJDįTjqjofMd>5&ƛ}_Хd8)ʮU^r }< /eHʏ/MixSw{:XL0p$%薂şA7uӋ Kp\Zn#I)Ty }$JAl=kX?D'vA7/‘? ҝOAGOr]/m!wsrC.^_iQ:M$r"s j3/Wyfr08VK@gr [VfgZ^Ͱ_c 8Dx 1,$·y85E7 &l}hvnC,ʕlj8"U^l>뚉HJY1{1Tu\0o7V 1u=/ڃZu @,ї g,2@/0o wYL{Ȼ<١kSҏ2%qW9u nı K52}]uLu֏)Q)/E \Sz$_ $|<`W07P_JgǛ@ƌ>|K%\*ՌmdGw飯>PucMP193gf;LxEv)r&b%:̦3\HJsN-l6=(aS}V"~qlAUV(HrAxnt$OIZ{4}+Qf;\N&^k9vꊫЀ\]bd~'5F}E|{E0%&aZ:QIQ=^{юG9 gT ;bl!-~±%'}UDi>,l },iJϹ3߁lOp?y6t&~1 ,H3;frD<g$* Or (!.+#*FY`s~Mj?s ykxPCD5zܩ+ #06Yܮ斜~zZ 9}Ċ>V@8aF[&iXM Qxpz4񃾿g-Jhd/ͯ G3qhX>!cͬ" $XIhyC!XrN3őIwr kjO7tY?-sVXJ} N)f B*Sx'kUK&3c߿ed$uq> 1˘(-U u7H[8Vq /, V;U) ..J1>>wA oƵ;խe7( e7zD!ʯ%RRzw^] w[6-$ȃm{[#+ NZ YW6 G,42 Pҁ3`|!N$A,\"qJ{ŋ})Ilwۄ&[AL! 50 >&ޠ"fА޸ll +_p-fTp83ѻ[k[P)]ymaJz{t &F$IYGoڻML[Ք!VK`!``e*/6nrGĥꐨ})heB{uOЅdd"F`(UgTcLTJyӑs$3A%k%\9΁eIgW x_Tj[ ةf\^x*T }bAwB=aR%VE ĵg /O'\W*%OD[0%EƲ'Ni!jWn%ő> 3 vy X([Lx0M{pG#돍I+8W4?0Uёyy2SLuf_pR|3[e@JED TXT?}l&N;!bTΘFhƂ5Yv%By5n5@z 0J뮺h27])`AE T#1`%SY:N`}L/_݁՞|'!`ESSP$17C}[jv#wXXW`uЉ2_ CM23n~Rkh\vk;ᙔnUmF,9:Rn|<ߪ.8b\#ce/C96#OGMh/3iJeNzS2 g77|B#YսsШ|aB5qܜq/7Cjap=ԹuAݰ+{+ݐ~P$M#OB> 8lv 1!1ݠjj[3ם8H1CMngܦGvhZ'8p9XX6yͨvhbV"ʽ_hpy4r痾W'f݂xVQ6%7(0@XEܩB#1Wrc/+>_(NyB S!9V46iQZ ,ۢ7 pHܨq^WKL86=wrv>]Oy(fS>Žs%B!NCRu0\L?*1Q|3&nNF"d.aS4xbMHiEȼ$H;y"rU.Y XE,GANxrd|NEEJ.,2&^S0R X> %/ zM*A';}NnsZ>FBIjV« ޗj*]8[6MQ$W|MTU^g!̴U$Gid^sRE2]1ԏ#o ix+rG9f'A<݃Q(θ hc9JA+KH:KvA_KA"ѬT^řxgEWY ]7i8!tE ϶/d=Jy[DC2|țΰ:}ELWK/ 27{x '!ٻ{fp-:@$R~lRq!Y8h'IHz7Y$I1zLx/q}@}!p)"Vcm;t:q6vp:xR4&Z a#a'D%Rڦ9@RS?gn *yc5̕e@Eqh xbܢ= <˾G\gr&7cJP|ż0oho&-zf ~Pxjen1d"TG_HOӐM3?:?,@8Ok]z\Iäq뵲8hIvѼ֤j9*'^it oK+\TՁyT'o`wjN- -BwTXdeK5i7yn-tJ.iJERg]6.uxzTkzktHdB 8؂z p\=a?6 wg qMYжc$ ITeH>WlL4|J]*s<; |F!yqwp3YTf/O([_[Z'1/N5DI\eHuf?:St׵o싓N֭ ]x]0IݩT$h,wythL'6/'YTQXjB#sTѓZL Ĵ-Y~gr=`tE?s\#LypM?߂=J In;0G^ nyw(S2"~0Ԟ^м@J`?;^*ք YW2+|!zs].1@'c-,[Ds[L/JS@%2 WxftF|F&)IZ%+ҊJD%X6_Ops"{~ê!n j:rHcwNHGI0RuKzJ' /}}67SIQXTb<“:ݬDbI{XOi:CUYl?O _XWӌe;U`Ur76{I换s$gQw"Cij|duǐnd\E3='rz8ǒK5~w{E֣- R@xYEL|# pKw"\zx!ͫ !MNWxKǘ棕@b1Wx28ħer z{1ՉbRf"qnTp+^#?!h]9B^:M 7*{do:C.Dd/fN@n n=ZJ)bw\ V=6N.̂ +q>;Ds-3j`h `ՍY i/UC-̧Yfq#ә|TkHci ]nEƴ 5=􀂮U;6 t7~zcmVDeE_gi›yܠGvuh_T K4|'2\MM ߆a=Gk*c$ߨޮEN]yl. A$Vk 0-KҭP[fIZE xqLn, wd`)g)#tApg\jO{7%G = h%>X.yXQ䯯e] x*#sxp=0ϕنT¼ x>_ L=='b0:S{6-G3,r.'[u`jh >]VY-i%u|-b$R+JC X?iz)L'➆8շaөR|1 ]c#iE׊Ђvz+qk|c)TwPK%yʜ&4%4\PZݐϰf~Pd QF_[A%bC2Lb&@)'"F} 9qӹ/(l`Q #<*إ6 'BS tS "uw:5W:GOK\w@AWϷЍ *[,J3UeN5tjB3a,-=# \U48r?Qoaؗ|JבyZxi ɤ˲uQ( FMȎ;![ o%,A1&< uq\h 0is`cI D'mR(8eaF`tc#.(i|L &bzR%HoWBK U7 5^4Q'(% --ܛEk;).d$֦R 0R {֥*%{ӕϋ+2/Z?\^^$ՙ}9&{yXV:1HfrGP+-UlsSM" X%cbYq+u6.6 kɋ 2=%gDg߉( d~r'IT ѷhaEKeXQ3_FqX`#VkrS;X&eE/jlg[|;"曦B!~k% ua}3WM}Yӕ%7wRl ґ YR ^mſŚV.e}VC@#NMK_O1A69!酫I׮IcC )MZf*uyD>0hPu9AUlvC1Xbσd+,N,T ٷpϚp5H!Pb-B[#E;KULO;8,a9fs*ik4Oe^{0(6f6*Th"bDql+.bܚ@diCI_uvj66 G'4͉K r1 ?Q8{šDD!oJ~Umz} mc p-Aaےo59ѮS vO,҆\2ܻ S{8kslXqS̏,!phSRA Vf;#OL8\w=h.oDf@t5W"JOWln3R7D/<=c&Fb{R$)B&gXoGX5m-8ٌΑȒҀ_fۂJo.YϸDS2Ɩ${q(wk%$4P7GU(^l"(y;BqL)]g]y൫IO Ō9v6 pI8.E'ދ`Ex"34_ϟzC)+8/:*hH{9\a7U7IՑ9~fcQ]: nTf˂~ 2n& ɮ{O{,޵s v{LәWz^dMdhkE] ^sD!Cl-0hS! {`ݖNe*ިGRos? HCxUޭG_nI0}>7SYlB@N . hIV)@*HHutp69mSKt4w'$R]m p=q`YP+Ps]d~uᐖMZԂPBZt_ e;P`Z{R,ݩ?(o$q.MTkr7Gx.!aʪʔK@c8W6|eŊ`nF6RQJsD7}GKG.$jWH-H)+]c8Ŏ]E:3Ky4Mˮ3PQt'p0EY'׎-bkHC[ؕ5keZf8]c#K,d`RՏ"]\1RV\ƬU rA0:HPAOqzSK*:ϧ_$kuSV\<@YyQNT8ߤi/C-1ۼm*av^FlG$uS2Cqc5p)> ȥ%:}0/~ʩS"K8-0['dk)5=^}F$y* h2jAR`8bK}:?tU sZN)L$P=|q~u˟zN+`h ~ L*_b6e?3T;-j(B-P._uﰨoF5Q賃(P;Ic!LnFՆKbmm}}37&]zAMJx n2 e|qEX^"_ʸJXƶ fZ-%2;De]JW-}HeCAw>;KqmTؑ 1eJp6L3\xtq.h@^"(.,H,' 3z> bJ *>[餔Q>s{Wd Ӊ[hw76#AZIOJƎς{ ]`A#9SJ*v^+}&c9fYZ4k)bq ٗ]%I6AIIWq,Y*kLj.jWb\JrPC'c̅zWsB8hӫ|fJ7 %89}㺑RS~鲺Ż$62]:j*Qå͉ooϪQ>_pߕÍΎ= 21Pñ3i\Xs1Av=a WzSd"^ֶ&O-V^d;d(#ۗOap=sc.37FWO;Ž4tRuh"ј_JŨ@A&(NdR7{ \J5?KQWWP0kq2 Eel(֊r,(s:oYq¿I[9>727ĖOZ x qb ٻI>ՇR/;P*[h!/v]4>t  (ݏ%/v6lePkE;DRmKĠakfUtCm=Pa h+( *rhŇY]B @"4RT.~wJ;'.q}?/詎)ObJfvJ5~x?mJ M1cțs zd/߲*N"+Iɳ||~hC}'7pj82LL4ӗڌX:3Buj}S1Wz:tn3X0Ah Zt~nDM*O,JޓX~-gRzm#|ZQu! ?&L`}UlEEa]2Ц !UJM*x+p 1stg35ƞ3%M<9"E21 wxZ@urXOXtou:zCTw=̯7ǵ i+ AXbۘ'Lm 5mܺRY={{a ;qPr޹l;~5Y?KP<7(pڒre(`u# AD@KVR}En W5w@)/K1:cL(/5ҡ ']9?n0UDy>X#T>įqMJ18~fb%ތl[5\űQ8nS=1 ժ&S;1oǕqVhpK?Mwև#C'QG||"yU/$=B^P$"S%'آm̖"h(L\\̟A92*Ҵbv0[##P+ڃb%:VvyPm@ڧw;V'g0LK7W"7/f_3|åbAW_:"½^zpO̠RigT(P.r S /g3*cLCưT+B @/h5$xM#8 0æzQ޴Kmwr4Xg)0|_y͆!b&HE nOSQ<-Xa+s^|$&P̕&O)fHND("SskA,pM1* AXw0fm0}q|&RXWکxE}(L{ȑ鮸CC/Sj MuT_oB2.Vb쩞ʍ\;")4E3ҺO].u^+8H 1 I$.zW3+>Vht67 '- K}E+_є\goȣBx ݏ[*C3`! پð%,iӗQ,Ff?Ԓ22%Lb1O5ERߖ&E򼮥hk.w7>O5F]{CN) |R˕GFMdҍ12o;lTȀ{[ w$e+HJKw9 FYdځ!O oܹZJLy GY^f9rWB{0y}FTLC5}RzOG:Jy7W}CӳM]9,U@43%&EjV9"!e6KaE Hqard;!7"X.^*5y'SO2 tn[{P%@wNVgE0BQcw+<:,0^ӣI|1籄qFmGˈo/Iz#\1T&~x*ME!L#;;wzX|\@ܙLOJIސiP2Uy <((fwdcWJQ_Y6ua0"zƺCvЛmJkaU5WFyiĵErEG׬": fTåV*,;FjP rÌ1!cyR-rʮshN8&ʙ%Mt8ym]mOvh gzOΥm ܷ:Ľ^}įYZbѨ&S(7A%gZZX J+<T efsVi>5XV\\'ր& sWd#EpPȑ)gq@o0ݜd29`cRSO[B{X 7lKĒ[QV-jq+Ί 3A4L[c}$ܵo iZR3G] m3jU4i2[ճ6"71:,\8*]*DHnp.O1{ȰM+sMڹZuz X'ZĄΑ0_ 5C;g{ͻ? ~ķ[`)=yd..t8oL A0I 7ؔ[eZ߰ .c"Gσ.rТr6t:.}'uȻ 6n EkS$XKc_juµM'-7rz)ד˾\2F#rw^N %a׍+b$gUcސ9l[=xpJ;s.>A-r:+ qۃiQEL.;.XY)rrkz}'~*(SㅛQ?d@4%o68aX3МU}Sf^`KWϺ!PWiU~1&Q:I6sD.VEmoO¦exPq2~(<+x $?a_ZE^mLyΆRpԝ_Kw*z+s5H/җ@2-`: x?r8>d*g1&]_mR> 󕗺 2E\T<bU1qG#jՊ,yNrF(t~ixQ;Ur8c@4 qÏ4Wޠ<~D $= *߄&J$IjNTb}]g 2]DxxlpXYT]xY2~zLgv&Fcd Mj䶡Ӡf~' ؞DY1;\[AiX7AZB'`KXDv X Qߣc,1l"ϪE;6⦹#]*orU0CtWAN-f׾`tkfqZ#,މW<2d:ϾJ|N&sf0@~H 8&pK @rNa'e@HY E.c7-<ĹG\Wd JG(GEs7$4:7@L!~3"IZUoԄXj~ zF.2S=d=oԁLE;ppUy kuq(XPpXR}=-=DBT{؆*&w ~vP/AdQaE<keh}Fw6ej>Y.ju6&RZ.Rݐ8M)MSj&[?*T9P pOo69G(LTxˠXGjV>6KDNhA(O "z\(a՟ 1)}J}L*ͽCvl0u]Ki[i]/~{oG^&%Yfᒘhmr z 1XS%_4l>QtqԳ[0 yY |5nE[)KD>0!Ӓ*~ݘ_D)fg*ض OyMt9یL?#~B7ʊiJz>MB_>0?OvhCp< U"3~^C/}ue 8Ç(Hsᦉ[kWn< oDQ}9j+Э.%>!O~s;;΄¹o ;|FU]_:(][ZnVVܟwCl '&lpֶ؄B VHe[AÕ%->D yʢ6{*}U_Ľ.3'Եs]on <6t7e~֎pZ!ou9f$j4x~R2ͅ8yU\@)@Zwh) DW#YNoѦlQ[c:AټuJs$Bw÷ t$7pmߒuYh\\?oSCnDtv;LqKYx@p:G@h}M?bք{^yl'G7"Bpe >i1n3차e #qD豸B_W caoGY"-^&X zd' ?6Sٹ缿Ayi08LS6J%: MiwVr#|_"[\z4+TgDg>O=`6+ \/n ݞH\2wk-' z Fv%cO(qN?mg*5N{WO#Yޞв8t(d0xm&PG^*1`Wth!YJ.#67j0? ij`eaztZT_73^Fsg~L@ZD!AFɳ>t5Խ}IA8ݙ3A- T%4-sjA/ҷkҏ- *Hy2Ū)(uj]ݎp)>|'HSՍU9t"xX"QXBŻ [a_`&UIx2=0*_(M~'G c; ;s2tj윴#`=qIItt^3S?#CEqB+v̂q\oi -k}: #]̮Rt:Quy!Ł6 8ϿlAF. #º:chW=_f/И+ WwaU xuiw%' =Ku^Х,b P)ͷr!%[$Q< ,tl0 4SxY QmLR7.pGtb12 |#[4Oᕠw!`AnzM׸!-P΍h (QOJ9ԛ:͡*\S&o3eR_>T6g GR="fKE A^长F^gl!ʱIaB`!{K"Բ)@ ^x:j P5"y>\A.(R!Tt['G7xƮvт m: s'vTE&Fj 0yM_Q FRDr:5b6rIK8H פʠY%9%X:Sۍ8׹&1̃C]>=3L[K̇)LLاKyZ,b~ `V̆EP%+ɐ~tݿD$~7^똲) u.' [74bUlJj^c$,쑻+i1B*=sJ t~Lzefʄ){>pT6uM5OqJ^ڝlE bʔIو8jRUYgzLFp `vI'@F̓J;i> B^e/Na/$> nK>IuQT~6.R3pf u6A4ɀ0B Ά!̗>ܔ%#YNh{#崼b@nQ6B %d>2No ݥKa3rʼdl 5&a/qf cR۵o^XF0qP_gw Wm{*3O?BTD9v14~ zRHۓojwiҾ)e~ szA,Ab'w`0z奘ZԜj#<˴:BG/#x )8P) ޹Kqg7 Hդ7rh(>IrKj|*%n6/8ѡNtײJBݑt!)NTx%M{zSo(bq k'2c ů0MMuqb&qP[fM-O?pw* Vo Z̯M6ةӬ+[=IBE]u$ud~W#=5]A5un+;xFJ&b;K-~R= m7gja6Hގc*⤳RQ Z*ki)+L_/jp0(EMⵌnᦅ1)#JlOi`yǷǖr΢jdH7 f-Bg^n߇ OEmaho6FW7,?Y67c@yz>'8`JS]57{8m28=h&Q3]}+(<\YܫlaC&{YGBbԃ@#ysAF|Y? I@W/k6S6,+·i&c@Rg[YSy:,JozW7nQP`Xsi79ZfRuJY|LUU'W.Z As>E";xܕTcnۆ1=6PC Ǥ /Co^ 4U Q>.xBq֬o2eV`hVR]\$w|bgdio?hMB Wp&Ĕk+h;`.kGJ9L5V_ KvsnurUYzEF8 J AR؃4G7T3O"n!*^bL .@LpV9m>P-ܭ̜Z4WU5$8ON2`߰4apigW>'`S1N3kЅ|-Bnys+BuNeŘ]TKo! 뫤}NcM nZ\"=))̋FtB_е Rc*ŜA\X҇ڧ3Qs@ j dO>,Ey4i95cZ^ƚrAuQzP([ $>6#^Ԋ@|cFSqG'FHaMJՂuUY'k[m6IB9 Еr\$B 63]D1kA'"5)l"=]"&>O8d6Ԙ_3a(0Y! pBCbB 뼘̖J#䌓m񮭞+*1=gɍQ1IZkSՐla癦)$T-~G*#n^VƠ+\Xux]\chkc ˜^ˀˮ,$9q1!]`-I0Qd*7x%e|o9=bTК 9\}IS}QW{a`v`.aX0wMi} &t&FX ?śA#0U2TncjAD __D"zIi?:I\kqM'B⎩Yc9YX^Yg!ߟ@E?|]1gmH.qMcWB ]ꞇYn*u5cޅL9)IԼOod(`5vSPЅCSsS6,-m?sכl) |)+Ӣ$dVm{4T:wL7goNޖ$A5k*ھǩwIt{A&wQ{腪jtɴk6b*x߬Qz2eR%mJ Z/Sb{HmW>N"R]I`&](jr{vj@°DAoָ5-#[""J)ܞ Y<O2B<D&<u.(%Oo_9I q_(B1N$+!T_ؙ|,#SFha^ &ޮ"D#V}9{7eaKQ~VbCGbEغEO>fgbY⍫?E{U,v\fn\s|e5T/{iWF)'7;0cV<ڐj0 lоEZ" !Y@?I/0N{|Wi5C~Ê#0R[K8Zp²{<=zQy)ir2^O(1D `^;Vw7D7^qP%*5L9^7\1RW(yVNzD0c.$K܌{ρ(Xb1|accɤe;0I'iN/v:; w·aDsXS<#E?q^KwQ1;ۈ&fA☱ :TaeMLfr;q9)j[ 17C +Bw/ 0 ڝű"2%TT7y_~{H{+tzgJhL~[Sl5/tu؄Mnnhj9ƇPuM=*- \jh,PҎ݉F9ǁL )GmO5a5/P}N =dLC2iDUbMxTO:P LŮƱмBH]K_9@}Ǘy'Kh\3MYϐ%:!KaW[YG)ed8y)4/۠>:CԿ?`Q0(fRR 2dG׎k@sW= k7E+g1WB\O,Q1F~^6'dR_g8GEG7ov~3 9 c y(Mo8>*eZ+a5 ^(ɪ2A֔gIb` Oj@\Ë֋Urm+ ^1gM]!I(u7f8?*VVkY?+ ~ȦLu3$zҲ}4#D+ f5:ez^hx 3 ']cTQKi+6ؕՍLx\C.ᒪ1`t q]2$"+a6۫r\Jځj8V4%DΜUl OC "/ &'%1_i;RcBXeNyiOp;g2晤o2BF!T]W7|8j>nxti6A<|'/Im#v` <~%7}(A -l=,frenr[ǟ  A'@y+LLn(r-Z -tcɼ)ᏸ]p >OZJUöN;#6U4_"wʌ8*ϗvtCi8 ?z;+|W0€s&HS˭8*Pt]df`޺-#-VHG8ջ:ېvV0b"-UN&IdD4OSrj*NoIC>F?3߆I$Xٳa3D@J=Ž B/$UnJ/g+yUnndLiRA^@KHSLE|cOؾrG#KO,ۖКeJ|(nB/|FgKvts)&06ׯxuYyMj} s^%l!3΄m'w1" ~)m#Xi%߮5 UvNDAafGl<>m8Cs{7_1<{We//4030i4~' IL-\Ƨ)s4dH=rwKG`l#`lN2k.f'OmW s"%@ږ"Y=v]~(:пp [Kԏ63@K-ߟ__ђ xj|y tuJw`qP-x՟>ϸk[Ctw' I}٪蹢IMvrC=g*J|S-j!@;PBiE-"}KQbk=xLGyk,L!:髍`Cå7~TØu,Z܄˽[^lD9/Bkd*q"1wJ"xYNݿP5'q.?)N[IL:g_{^%45yLpN>k٠Vw"\ưpapw^ 7C팴 LJxz,,Q A[f%aZ>n۶G<$AYcV_<@Zw5ǷjbAosP#3* -L[I 6Xa7TYV`.]XRl< &$ibzy[:=Gϯl-HW X%ps1ŜLJD_) Ɵmghw WwYjK8 |x'/<.śih"KO*8~8ƪŧ#$o&꓇)FX'zj_tMrNr\dAv'Esb|6)xSzˁִI3XT{v7bJ>o[\rypc͠'v[eƨ"~@ #gtՌEͥ/(J LC?{pRMUZ>^oN< Cvadk*^W@6c]xv꟩tkʫDEU"!e3҄~z.IKV/<>7m4;ՀQ9'"zRH1MP!(rVH]#GvN) z*"[9A3t蛛*D0 :7δԅuRR dW{ё$w_{+Dx$T/ypF 2"-'mP6sZ%w<\AvSi,6&Jfp5 _s/^EC٭ Ah8sF24b\ի_|#K#܄X[x(~ǘ+A8=Ec+2UIJ5J&<{L:^s>|ف1 ujF6Q`]Oxb礱Vh%woh4~(AsIibd xU) XבjzT 6GfApi`iҺCimVݴM|0GC &לwOwg=ۅٯ\@n$+_|J/e\IXɕW>I{o]"%;RSk\$~m^3Ħݱ,f:D!}kD>*2ۍn?=bpE )-ʀs ڽ[Er!䂬'JMO1P7`{0$GR<*,u%5}`ᬾ)YqH<b^zx"@{:yKy:l؅CQ:IJ[ Jhp!D\˿ 3aS:m[LC"QT(b eh̊&t,7,ɬW1V42?ù rs~rèY{Jږi,0 p(LY ;3]V{5l@/'G<׏r]kéiCx%5L+9Q B +oC-˿ZFrYӏ lWnB. sf+V ܫվ ~-ii| Zq D,41AG5@| OP"~W#F/ 4,U#Jd' & dj=ҳuZ/^d&Riҷ?,:ބܝBk';^(?uZYd=7n^gǼ)$PAoWy0DᢛR1Nπ >JC^|梉Po@2Mh鏑-ͮoe@A#e$k߬JvED/X(s9v Uw4[˚VlTf k1U+ t1pSo<#XO_̋9uCbS2E(|啟m^|=^$A_ma4l2ҸRS#S}MRS*-h\ I7eFh u,puҤ3)z [K=*m{MS}3}oFdw2)2_̓%( NB wi?MN@,WTK#+ttoiÂ>. ?Yj g0ӭ\P" _Cb՘- 3,5m1^2QL6BNY-F&χ+.2WςrS+ɠcxtWon잶{QFVdiK􊠏2ەč2;[0GVy%q#j$bp|a#@PAC}L ccLţ(03:G,rn{T,:ĹCdc? jPX^a*4&Du3|_G <DPjSܣ$\j;P:PY.Cy}C2M»H*p5*q0lt28ovr&oJK;̘w.XZi2x_b%mFQoP&b Ycр&9Fsr/In_&^沮֌StnSJ $ *FT|q^ݜGmnávuv42O9 .nm "T/B8m# #{O _U{&:ܑ#K`?7䈝-Z:>dJةBK*PǼ~@BS-|B8Z7; jvg>ð?LZZ XP+\ACнxCJOW#6IYkzd酥/P(U70\=sfJKVI1Au`&R|?8QH(*[uiE_%"uo( 9fD🀠iQh}hW"SWkZ1:IՌ#ֶ1`y[J`yHO[i ȆzhqWKT'TlA$:6d;ǩ)_}Ej)jT'4 p񚁡d2 hB81E#-6Fw HsC.Ĵm|UgM`4ufa r8,)$9c%족W@ˣullx_f7Kkm$O!,i/YS㚏N,@902pvt^]'(Tx,BN2P$1wt*|YUve2nsMg`W'ZS=w3if^"1 wӧ)pۤcJ08 CS0ۦ}LtϮ^ D΁S6\b\ 9laF?羻FfjSI:+oc`F1e#\-1RN:)D]ĚL0'`Րh`zUcჁ|8#CH?/=E',4@藓P$qנ39կ?3Wt?#s/Z> mpxFch(젹e쥛MӲI=BT{zpM \;OIxYǟ!;XgV/^úK+X;]U@'DQ*=$oKk30O(damʪT)ӆ9(+*R7R&wwO~ѐ'I3f(3 }lּ dvp {l'bwmoWHX.ߢU"K^#G!#a^s\4}E1 g h2wЗ B,Y媃ʰȽ(嚵 ɓNƟ8\rfq DqbA='^}bU'HSM)ܽdx7Nsj LX0 3'5̙2'^L]8?SIϏ]O-NPϫ~]?A4B)`':GH)TtA.֛"HlQD#mӮ%v 3_.; <e䠵mbw; E#6Q A#xi˷ 0i0n:,9ųZʊ=˅AG~C5E9޻lŠ7da[6.kdۯTg2n%E9ʨce'6͗QƑ$8:yT?S%unksٻ˖)bm)njkĕEc%Jko~$s&+ a_\`z?нC`Fم6ꈧg_I?}0۱V7*k)ȼE ބY .Ȩ5:OQX[80Fe ז+ι'iXem`]<򟤓gD8]fBõRTsIp%vhĞK(G[W}hB9'gy h:B_8OCYVeEglAjcx>\0|uT@zL;LwEdGxkteފ#AacrQt{m8@p rR@drˏ@v\hy쉚K֌I_"g ׶/gAvycRjxp Cʏ-euYsccC ]nAO7Q%~8(8Zkt Lz%XťS+:I+ؔ\2WćR Rf> Ns~Ie OŕTs3v<11-)bP*N"ĺ/ kD65mO[{kh~;R*-AqH*aΰmr}zHOmZt iԛjN3\jmرM%:5ijҏ߹$HA%1X&΢EBό^3G0f7lydg}x*!)ogǠpޱU=Ϭ#ccA|񾹂B+M,#D+iOQj^#hJ*XKMa^sZ.Z^DE/ ӄN d盉?gsK]P8wo499DJ'b+h1F#=wqOݜ)zZ,l6aIO{Ngh-?/ ٓDT}IڷX|*X{0wxzqZ!~6F  ˿Q ^{cȪgj)NZrbw?GX QKX!eˆ KRG5h.}1?u%~ÛF)Vg@}fNBD@$ڕSOrϙFMm! FcE inRltW)m/@u(Lqs2}`|r[vBj< јy!J# 5,u *Ij@=K;rU,Du,"D֌U V-WLέ[k56^\[FD/um:>c<¢Snu] >?/сgUIJ_I\)߆W 3pS߱ Z,j"PїB Mv\;Ԫl3dYu$f׺e'U*uϸBà&c}_{X{$iiX_^ wo|ب)W{JfxvcFXoJ^Mb%"ʄ;!^'`\F^т[g`ī͗Go\Xqe#$`-[}m#|^8ڴiYKu 8J߼lRȻƖ/\,"w( Cz꿾Nh.687VY0j.P1 ,kIkPJ|/ȸvxYAP\X*_AE;h6 ݟ Z݅aWA2f|1AyOPWm<-+ǭ=a1e^r\&#KT17/ :oxTk#%sX9YU;I"F M8k{*QV1:N3V)r<6\5ڱBa,, \}1P7ƯLPs*dڨ;JpE=xA0KM^$*jWRL&E+V֎u(~X'Sn.U+Rd~΁ m`zҨy.h$&q&g.a`S$D<{?.7[UjlB)Kj;W8OKiQ~ƨ.|Y;(8:6:y!m]*),yX'M#X5%ȳnCC̨BYw@Ð-9uʫy( 0~W)Sڀ:av>ӓp@ގ0Ů;^w}0.om)QdkL^Cf ݊7pTHKȀRZjӽ`,B-rԭR?$+k=;dF 4딽ʼn9L4oWa+;%9\"+"y!c =jƃUba R+5eD ~s<Qwj'vxH.I;%)F?ш!  )Im { w.!6,C, l Մ9J*9AiپHq%hRXT%= 'r$,8f4'L,|GdffK||^,3^ TUրlE>_u8:q ix,W56}H葄eF&%ʲ!4'"K4fʣ4Ԃ B+0'VD[)(y?F`Af g0/w XG "р0zpim[SDM 7kG"c%/31$13#ȱ.u"[ Ǐ{yd Aׁa˂:걬K5yE9{W-zbKKa} 3S͚z.LDWԻ̚^Hwu6}mJ|vq6O N9j tM0]< ӚJvC˽+=Tͻs/I]Ts;g}>]79*>(Ja33CeUkkM,튶菬>۳Q{OThJgPgb`9[sX7D}0AGWCU@+Lnd/WOP {5k4uS7h/? Y鳸7ũtGT<4`2X}",Ba.+- 2r#ro yKS3Pˌ=s3Hm\8b yGPܩƩWw.79+9+_Sr|©F yDAXx_#UtUyD-(NY|-s.(a{Y8*y.JX^>9$8 &Hi 5 AZ؀Ov<1DB艒Qh36F[&iUX7y!fߪgHz!%Иs6# gL4wПw-GBSkqG6lvm|->Z;8aq tLJJ%{ae9PZY>T.-f~G:EX~T򡽾/ #Dž~24 H#˰A-SÍ%#/-7P+k&)}ya԰~kxD<:?'oޮ^1H22qݕ;c|ځE/. lCW!DFF(!7lvToP7muE(K:,Q~ll%:ylVUFQi4^*Aɞ!Il Z1ej9K3mGW,pCp/>$Lj;<*jsNj^wȭ=3THG)-$L#ڋwS`ۮOWwBh7ˑD$D-؎ a[f '1k]c^ O 64B[o5$Q|"dvZ504hXՊ7r,-EE/4hjO]U ~P DN#%E.CDT@@-coU׬8n~H* z%𙸼'C2~ƱzkLB lUz ʤݏp;(Yy7Xڤ`1N82ae jMѦk~"NpRЋtFk$"7{ʨ0e֑npFd߄(V{G߷,*2C=j8h3aŊD_6k"JThBϦ|tt1Н;o񢻳F 9ZGZ Jj8%ҾOD65⥯hܮ_ȍw Gu@#1-K>|ّ#ø}Cb5!$Qp3 Se6*h"__A,fv\{]+Zl'kɳxT5FOؕdY*Yجo<􇘵K+JBHjWKA JSS.Qܶ+2e8eFMcTnoY{8GK0PnNRh\ޑr~䏸g!aVN|Y"\Khm4Jʼ:CJZ梕 cI. ~2^ 89ukk~iNP,K8,^2z/(Vh81^YO"ܪ04ܮ=`i/4 9B"h3!IДi젢=lH2`*&\n%%oKnꖛA*r~ ߎ0x/+nlSPZ/G\:bvna^Fayj{W@sabU5hZ'5~qI~-KKSxWrzzzDd7/[1&9e~ {=(:vU'PPY.=S1H:]X:sVcxvs:OsZ5,I;5\wW!=Q.ccy2aܘkL+=`ِkQ|[cҫ]b Iͯc ݕgMDv[&˿ CL?,~6Bx+FbF8{d7LՓ)O>#f׀)E,L rDA4XcW TBڌ[ϔgmQ3٤ Z fr0J7!YCj5Q ryoA-7wmL+w&3PE5Tu(yl^fr3VnD.O@ǟC8? @Gfw VdVE*JAGO5A`Ly]Ύvmil~tZ) bBkB\?eFb .WW.H^D(H5Nؑ.!F?JNTw/<"|hS/ gX#;<>IkdcGHɧEU?@uq qߥ} PsTԧQ ;w buѩS*aZ@k LZŒ3ߋe$L=XAʆU'مU;&Ĉ1_u9kh'Y0 65ũ,w;)̠/WHG П>AhF՞06 ƽ'Jy=qMN8E;Ri>?2A}< 00Ht%φ_crE5oNLr +-])&еO,I$B8>Iw!ب V$:6 &'j9I8Y@6w˓V/phV3HkbR=Z&{tœn9&SAEC_+ |8; ,TaB981'K#ă!m5ɤ?=~"D„m>#Z$):gؿA$bl8OqW]$$(:g5ه}i\!X3Q&&hZS|pq;J/.F .+pU)p9WXݏyxdi7 v}<һBʇ𜶶.d7E'1el3'ڿ#YJ6 XM`^&|H{& $_ |p^=˨~q6/4kWJ1%&]MNb䣹LgsZKKP7fﲢX G+]7b4W_+̂jDbPLH#noJkR;n"~*Ωn!jnScWuC }Dp t |=|~g6RتkݷWvدJz~Um H17M!F0]w1fp$m fK>_€Ϛ U1.@m{l$7b#Cn:GNo,Յk<0j:WLj(Iv>N=.5dQL7ҕI.ua}9qՃ~ }/ȇ/DC/-s'y PZzs@׈Pت3 c/vQɆlofP Ąe^_$ feSsOf@2o[ Eֈe>Y5^㠣g0jmǝB6›& 'Q^2IZQZw.Aͦt}Lg:'X\= @=$N0_S&#od1pɗ*dI^TxGKze&j`M{\4?^*zyqz%.1d* d#yoq6 p:r-AK#_cDMh?R9 )^ȷ?4ҀulQXFLѰVqإ/T-Ӥɬ'>=^QPA;@z8JjZ!mN7u WQA[Q=oݻ4JhkA A_qb1]?`mѳ$Vٮx!S9čB1 cY_܌ON%1Sf'cG49BU;-P⬀j&t@ÍI*e{" =5IV<;@OθD @]p}Qh}sڱ Oa]uKQYGAH?S›R7 C~ Ď۝f?B3ߤT|LxzTׯRov:rU5Ș\xuS,r~ 3< v6I9ۅ(} |FM9~VFZnMTnQ A]ORWޘ%–|M\qR)Kɩϩ3,b3p<-*CF gCpGO6i;\7NpqEƅ=n߉mX! e 4oy~㛦6)r2TOMkJq R]W7wgcp KOx',Z*^/w[QBk^@l#m&KT)/ Ǐ#hⵒa-D%59`V WgFcsF0!\^w`ow& *,lwWPɤ̿rUEݮ<[e e)rfg䎷q#1Cl5xrIt:=DJus1k%] sCR!ZMjUSt9l1#  EЗK&=6`Nz'l>&"㹦&hWJXgi* 4l&H7IPU 郤-脶X*v=9 ל"b#GgA#K̖GUw`ub7?7U>*\FsR U!{y^/,XMf`Sr7r2{m炵և_f\vB3$Anw:sgc9zfo [WcB|U'~gfd?⼐ Mw9l_ȄFΪ%JGUC_Ob,S]EiDcr D_Օ8UXk1whE∝Ra-?ӅMxn!: xU :4eS4K ٶr;Adm'z!Ԟ{È#~@?a-uI[F<2ֿ9czb)pFf]( << dor> Ai%C|TI 1fO.i⨚!4fbP\ ܗ5-Ha[kb q"nh`\T|`ҮB5D]{Jr xGb}jFXLm֢T/ed50p`-Uo#ޏP˷24pA f'UK@g/5fZI ʓ>?s! uݔhH3YH?Gt=ctA*UGjAt %r_.0u ϯ͠4Sf \,U23 |Ǵ#3 vz Y0=Se}TD}UXk"$Et֢8>mɕ,*Џ (T] #ſeNuRo֌BkKu=_*³eQ|tQ{@v}UVWp^W1ÌqMfٳݦ'EeyLqa ފsRRo|j> tH(-a~ov&KZS7?5W"UQnmY'M+XTQIݟn8sl"gʷ  tuv F $%%Jv{XAUehpM~gbP ֬ ݖja+3BEQAϵNs3M5Uw#6q19Fհ<Ф[HJ/Γ6hԱq ~>–~dQ6y~o`5N!"Xy8ɴYVJnғnsgeEWȑw2s00Q65o@M\A1&CBĀ o[\J޻5M$d yŨU]5.A;!RV [kUΧtT'5` PrMDٸPfh\uu#J^xϨs^@U\7x~"6k1U&8M݈$. Gmm-r`3X׾I];x%oaqhݡ]nwf$|Gd!Dlܻx3UG/ɺ7bUDsxk 13(;0{o>oŧՂ+MtˏrE"rk PT| x:'s&wp(U:I2`ns?3r4of^c~I90Lo:y!<^*a;IAl.JQv1E 6!)S u(5";#{fxuzi("`3ބOGYk(FR=8d K3M W{0b-3>o@ұw=Jl%8JW!<[;LsH;8.^ݏdٺK1lI.]g k JTu pG "Z1E' 9MF*]mdc!mx "Q h'gF2h=B}Jvtz{ ﯱNg:N'L+N;ҶL!_2E䔉2( k,ꗞo͖cG~p+wZKZ4]Imř3zcP@3[_-VZAx`bUNhEυM3|w72 n&BPWFڣ(0{-ųOϞ7s /&gӄL0ɧo5 0@By~v4s"EʧR {-CVUafѨ_oZ dgV+ge+fںk.s3н?,TN5~Oh/=ohPr'35A% G[wXGS)4htWOji%?n19x{ଯpOY[;Y`Ka 0 P=č(l66XMz=+1m94c`lSFLiqYr#J@z~|bK7ofxzgvüY'iO1]ω, duJsSc7ōycS \\1_^x1_ٯx dSY+ox`T"Ԍە@Uz`V>Y_89c@Bxqw_7e^F7q!Z[F>-%eW-rre|^a!lCYG؞yl⽽z~355X`b)jU+v_ O5OMM9ue5NDm5Hp_ude$cbhuXVvPoKf/>xD|1ͳϪ}gL)țK66bguVdtަ}o+d8\8TNɜOlYR3QGx1ɖ $n_vFb#O (I ݎ> Iטhw#\(r \h: e:RTհ.vv%TOF0179w[al^wFǗa _ yCjn.(wU!I^MͲ!o0U5v=ݪr;c{:E^ZTՉFnH[Kȅ%h'8tTŗv_ɽxCB0Tf&O,e}@yb Ň"ė7;̗-Ɛ ba h tp O}BPAy&cFm}0.9%wP[#c:Ƴ2kjY2\ALOI4K ΑW6A9xbDz#Rӛ<"pDE sC(V _!_W` Sa}_E]UaÝlOlϥ @OWg7<Lb]3cR?K<lט:%B\*P}e%cDy;Mhǚ EB^{?'ݼ>q^="'k'! ";orN}EbUK >Hu~&Ы/Es&kfWLB0*k嚦Kvʳ[yH㵵A%̼4xK! x(g+yiEJÄyjkUJNNY2fQ=z٫Tr 0l& gqTY"@h>@[Y5bzgunn_΀S_Zʓ?p%91ڶnIi!F1"}ZOȸ4L;JYhB:RWev |0yk)&2?Eʑr5 LFcL(gלl7ڢ\c8y__B|_LG\cm,xDCJHxJ|u}E'Cs{!7$>:kk+G#Z*.1#a Ss{AO:\>=Zu^gS?s,a1Jd(HrݵW X(lU_1󈋵e 7h̊䏍%05 z ˰Ntv&oDZ.l s]\겫25Ɉ,psvQ\rVDŽJtZMsn` |Mu2M˪qy~Ǒ0Xh\{"c2FjO9wN]1V^ r%2XyXL"\Э|91$<RFҴ )ߛ>lSGo?.`Y,L1@I*Ji}zi*QFlBjX۩!T|?b]@r,pIȕpW%.F$~6:`Ѫ8L͔ qŃwrz R|Pp%crm/TfR*m2hPz#6m* ;D{isn צy-4BUI*eTasP.){$c (Y6"{B3{-_Wb/_Zww͛emF jT(.(ic.LE|Ǥ$V@PFm3srJ[6/qqA2V`>F5wċi =ѩą#W . -&O+.CPG/kBd&Lդ;Aʾ '71דY,z%a埡أZb&D]ًQyw\W"GQGeܔ08SnoEV\13~XBA[ t8+ȣժZ5>J `51Cmlx9x3ex3ڮ ŗ4("Lmdֶo-p68#?{*ኚۧD;G?̓Ա!9GBaJ-e nf8~ vn1C{(bRNQIG [LDrP aQD=BX_a?ēɼ#i+^,ou?:E<ъ= zTq,uOE1bFʊ0`6@A\w~}$A֘] iʜSyCfCè]l\3P ߆EIBgѦ@J/Xde4(&3C eoHpg9ޭwTCﳸ3Į2=MT%hI2jKח^)Dpl r)mT_Qo -gX,\ِ8r\ )n<y-!ޭa Ȱpeޫ43z[`E]b; "3tW&Nʂl3Օ%&hM(찲v 0O>Yw~y/" lP! ||,#x=w4JT_Q1xP>7!6f+ΗgPS3+ Q@ qqEvXgyS)xha}Kz++]o.$.AI&s^q{x)I1=,CE>XDK>&JvbmwqGfe[f·' p`KzDX@;?J/ʄ`]U\EV(nqf\sQϽ$+|)^+05xI%ގ苮0u {ko@RG Vβz~=8D kq-t$WR&g<_Yr%4++y,w:'.c%ۄX\~uи&jSaХm)tM#撔Hݾ96TX TѠM#/ڂjZ`0YtO*+a4n :D6j/MU9?:2d8Ҋrl̻0T7)wt [Dd} 3d [>?:"̅ܘ>eg_oMx{A(;|LIW!s{Dh#W)Mc+djKLk x蛒!C!KsCMJSi-- N>Ao{o{ZJۿ?\y݀?π-1x, Eu8h 0(W۽c~BZګe=!y"qu7 k9H^C2Sjni0'Lw40L?5ͅ{'͘#|WM?o')Z/ gyȯ=E@:.7T2~aKG\'&JG{ Ciq&~[ *kNJ!)A~}=Q*ƨA"S"Sgp? n g ķ*4#f w X-YqF^̽C1KKV.8Nd]OkP,Ï=*<VBmn=`() >K?v7ʱ`-kn^+w z{BdKȔ@H?OI!XA_w𿐷7Q+Jy"X$VnEb~Ϛ/xmDžq˸Y/rDEu5}C}y_$E%FlSRQ>s[t>$P6leGk$[8F4FY ,PIyC ڨpE>9njӫǝLۉYǀVH]eQ[ 6U/fǯNl9(%s9cx]kF_0KW/a ϳųɇah J('/)_9Q̓lꭣ", 8{d?Ȭ,Sܥ\6󶼲-'MP,PǼ9-ྴ(#J bR I-b1/Q[5s,GӦBUoIpڠT/71:mim#j0#u3D\. uUߋƣ^ *URT-c ibO{fr+! :ISqk? @7FjZC#rC]NGs z@p+ yߌy۾1X)ٜOz2$M,BxMGq +Tdć6t~VK$=*N%^EHҧJߕ"!\!&h!{̾Ճ:+=f}ۼ'Mq83I`Rl@Y2!S!ǽ ư~PtJn4$2^@V-p(:b rSI΁/1h><8We77kRzٔB3S1=`ޤ Aӵ>E^ b؃3_ZT$ԬI+ǡ:$R?pt'?ܸ=PS *–==o{[N$r{!"AzmǓƐ1S|sñ0ua OrXwR1  W)qlGB4+Pf׻|׎pG\4R뽔-Dm;q38gZ"zym W-qX,?}: E3mKX83:xI{2FDG^+ NeI o-?Ԭ&cjZ~v3"W )#Ee"%;j{0^yge7?vƛ 1ɀy^vpP:Uw!p)*pvC;EqW[԰T%*ܽ˯A]w>OG7vc<e8<诣`K6} O=gxS^2 K&{%H+7jgxa|ġTn~Ypңש:#ESe\(}ڛ`ƋǖB_YIR=_~kFlkTofyOD[GIRa -C̟Ո?F#ej)޶Sfhuo:9np&.9êOԨkz/SFm%f@ [qsZe0SQ: ob^Զob;` 􏊱 I Cj|NYfҏF`^FBa_VTTb8f5-pm-!宾{X 9}f4}ѳrGJ:sd'hu"(v?%(ՃC~b6T'ϕP.wQ䩠FFz#ZuS:r8/ vO[gɜL{f\c&h'kz.!mr/m~=n6:kUeLS' F;n碧`XҜ Mص1W;-#t3z2YSØ]BzNyx)%(_B[xtozJvw50Y8QPu2|7"I.]TD+J\)/Wmz 4V?x*Ȥρ-L qljEM0!(!lV|:97*'U8S'OKOalB7JزLƅ]ywerܴIF"@E2?bnӝط_lbt鲶3cjr^1TFM4XDJohǨ1fB0Fb:{>XN”@+ Jrgz Hgh%jP۲hߎΧy5GUL+1uv]f+^}hJg mDNv@bvYS1v.^OT/Sg"]~B{D@k~: L(,v99)nm[:9j.6(E+6h(k5:u%o%f Z/7iB^𖮴B䰤€i$}5a{T@AH[h?ρɰ|5sULk엤q))̯;vWuIvLU'\"z0AJGAJNH|_Cԣsw[hإp監^KY(<\a-* Y3*wip.w+*Yj+"T ? M@m6Q*MڙTyӹykZ͡Ei <ޙXON`ϾIB>Ʊ-E72K{ip|$y'u$_Ɩ^v2 6,Hl[nvakgR"Mj5bNl&cۏR&@՛YiɹqB3ȥ|]K y˒'Xnb]-tT8TE4GT+?egymJKzUѪ~"W-(GKFcKGXz쫫W|/R(0"XhQzc0[).pB6 e/7֤)͚ZVmLU5]Y}D"Jg[P:xJO0JAJIlsC>BGmJnKյژ”QTEN, VDiFTEn & au^)ӏx)-PʉS6Ur>$34u[T ueֈuM`{lYhVa!E7AOzE vySLE; Φ{gPZ:G^)Ci8ӡ"Аǯf,Ppf'QSQ-Պ6OjiձRAQbȨ8#7ꮇ-‘fYyIK*7;)ԩ~6T;oёnT H:,Scz U81sZS=T|JenǛ۷)AuF]cm׭= ̢͙6LVRГj[qf}Ů hFlGpscq^J(.1{4Jޣ"A уpؐp R%oO,0 DWiJaN? 5ӷaueXOD\HSAxDn` Qw␸܉o0l>$YlИ* N?ъ<1VLMf:cv$cP&fOY[\ Qtc(W{GozCvOLݤEOlelyqϵo5<A=3rb**Eo!(EwQk~5N%/,y߻H\ηm(~~g-B\)5~N ? SM6饉Q _B >9t>6,6i2L,=u3)3 ._]`{dK$Ḫ^aW:̖T[?orwM4FlG%̵b&OLuv-l^~>$r=F}hט3h[L c1rjNTlCZ1e0f^zG Δؕ1i#JykrM@E?g;RCڇ0~"EM7d0R Tk\IQW7H Ò_7EUuۿVNdVg@⡚i nvƱ_Dyb1@*wɪzeIM'ڳ;\(CB)SA7Th' ܐBCbA8˕Rkc#ZSzioX۷ne "g]fXP5x&uF, ]E-Z`ZQ.RAkd)kM]ᦀn|*Ŧp-Al `VzxHX卓f&ãql7Jn7R]HCcJ8vov(.kWN=)-P sHvVxEi'qDItX'kQK8fRGq< ]{Xdȟ N]ΨpR`*8]FQē@ޑyw'd'8v:d]<|UVӇRz+T eUb޷$*2}GDIM.Fd8C5`AgIc/[psL-g#yU| o%~sNnd56eX#?Rf Ts"Ӥ^^n?64(%U`v^]I|A#'+3(s cK ^L8ȇN_wn &y1E cQүqH48񏛷K(ʗI|rk3hTdM[,"mx`/e5I"+DQOg\T{b^QMϲ犜J,H2"66g(zlZ/J $ڟ(g H87D€xzHdi] 33۔\̩ZW6AZQՏSƹbS iUț&+ǖ8;bZB1p[㣞 e|ga~3ݟV( d"uѻ#ؐNNȇ]( GM}qfҹܚaQ4hXj܍a(٧#ƋoFa TV)Em3XSbpr/͉'ѧi6tvDq5DeB_خ?L5J#`T2%31vE1'5*8pB"wLdMQY'r C!7]c+E`yg^o⻀pToEZ̧||# cmY5g\W zg9L!w",V[QQ>%=.ˏ݇76MuCqA3ZI#Im2sN4`d&[]sVcqXO [Uz^ 79:zېE8NJQEf >{yVĖp-.qx0޷mdF/nh&'?ߏ4xw&5lt8=EFh'1Zk8ʡAא$Z =dIQlQbN1I#X7ƃ:BZ6}IO-q2_ARK w*$\[es(Oao6|r,mΗ}ƕN%\s#,H#(qP 8 %^aacv`ܯ"$ tڃ -)!3dS8^! }ʞ3D%D?hx]eӃ'Dةd5+>tbx CÌ! K!6fe]?X@n]aȰh&[Nݔ{#LȣM3fi~g>+H u}a^PK,MsGģJzi*ޒJ+لASIzSO˦4t@[\SL4 ^Z檝|[\z,{n; =&tgxI$o!NvC;͉u9k˼r%ob%2Ǟ5p# (?x4Ik3 -yOț< "6ך%k 6y2r߲dDJQ;rK (o00$?n T;7qs[u N>-9uF5ρ CFCI\7]uV݌t ΐa=3dj|F jXM]R1o!5RqMC]>Si]lm$nXr!Ǿ><(t®"-T.^~$"`Gcͥb]bH6SrGP:.]fҞU5X9ͨO?LGv axk"g(SH5p$ j6[kD޽*WY$`' 9[9*VL6 &{5T| ݑ\Rҥ 8pfc8Hx䇉v/CdQ2qc,Kr6 a=BtaY0XcL~[S7 yVmYq mK0"?J>UDVjբS^vng {>4~!ؓ;d$lf#X(s'$l聴qh^[39ؚ0SasH"DոO0=LGedžK"-լ-8V<,H. oo~}_Jx `O[)bN0FJTBN5!@һ&970Myb7?&Ĩ:}E[i5km3b T4UE-4ϝ'QerԹ,"NO7'3R& ))u7y@q0խ"KBWxkGf峲7v5 Nl*0o>rlRu2CP) tCXW0< )+$'ODJ%{v w`$u(Hl2 sx%1j>~v"auU'e`gn Ac,Vud^P\6#H,Kk50;ALLH6Ik\\.[(RGߴV]VF;pQ9nZ|k` h-8zqWϓ-/^ש7{'e-a8\ylVS%R?BBrZWߚ0~EYozѠ߸&Z!QYcAԡx"ysDpu͍MHx4PZW3BʐL ׻\q6@99'pIǞS/ȁ yS'm a4qCRVw'kfw_b'ڱRo*gX}@9kՠ,@?B~)4eW7iӼl[<'I;P4(pf(lzKĨGdPx6!P) wB=0H5zzy<]$Ry!LOkw6ތ W-Lwi/ig5)JT:8yН~qOrY]{]t5.osz* p o.%#2"}xh=vaqj @~DJwIm1 BZ)!ӎ67iLl:޵Bjh f< u5dbţ\l^sZzR+Yէ#ra\-%{a8/F$ޘP]fMS_`L~w[p9|QXIm|7)d.,Kcpǵlkp9 -׀lb#1S]wo[4jDDE,M8 #y4L.66bQhZ mK?S\S!\by6Hd=F0=^J`A nbF5{oilLkˇR]'YnW^:NpyV6N+&cw2\(YC9WH0a5˄sHqC#&oJˆ \{Й_|/K*䐸QXz]=4 ='ADZ{ KI/:h~}Gh*o*JcpLKOoSas |!,}U3pk8pIH`<!g,eN?}_UbHsu &5mdque=^A!w\K:('4ƓyiU"Q0vQ5Nl>+&A:!)["O$ ɦ)潫JDrEZD1;JzY3|h]:@,vвhX/|;0pe)Cj Q4>ERFh,A;`Hh3#Sc$+ZSWMqKboY/1H"DpH0)Q0M*wCŞ݆yF\rl <+|y 3dWhFvf6d=hFh-ܒqhR?ح\8dvꝐY7M;!Dډ|_akjwXoeʙ_]d"cX/Gңɍ<,9{8BjK3X%#aN{p=nJo}UgCtE hp+I3XԲgI Yۡ@LF?OAB2VͶwDZx#g3(I9+ c]g8XK4f>a ɒCKHQOn&ᢺ v"J4GMTL+™n$p%u+])7-;$yD:رЮPzkz]ʎURqhTLˁ|-,e0[o,X}1f{,cm9&NO&c^#@7B`n:_pHaߪ@t市rHzb0R;ߝo[!ihr } RƋFϘH9Nv(ypi^ .ۑ 𤔻[geT)/K~2P~F/VUb 9耢F]g\I3eYSslNؔt+$ߢiIDSҎ a]^ p(.L)޲kzq K|4eeK3t,!.:r$#h9Ż0r;6x*Gx8 o`W- =?23 |I5T67s^A_4&M "z)Gfa&ΪNp{Z4{ ?ۡMr>ΓcKASR V/uၖwy$[ ۵$kWyt;!DE~ļ>_[{ O!+Ly0d%5޽B^QuHe^6|3э[Fk IFDڥiqU2.3]jcc>$jkWc?V-= `ŒxnP%Ve<𔱌+_֗ m) f&CAKzQ1W7B`XvL-s˜E%[ma\pƕi|Bmb%J /˕jʈA<ڐh­x"G(?rK̀IR :&Y-d1s7evJB$ǗՔsR0\WJ2,KW!!hkkT21PJ>=o'xs̡w%FGJq,-bMPBS9a>2XmᥪQ뙴6ma]+.V0j@j#c^&ҵUT&7WC9Hx~#}ؽq- ,x:NF*k$*󽉔ra!tQ-'+W3#/M@=tD6sPG ΁}%quv[cN$QRi=C@ܜ3L4v)Fi'Dҏ^ iQ6d"Ԝ;6iˋ9!Th"wOqG|1>,ktC?l?!_% w ~YA/J=3di(S#&#fTjgpeJ(rt誆E eO[Π Q6ʿ`\"FJC"-.ws4+M*CΉ'LZ «>ly(zT< &$|dOoP D=80Ĺj2eB8Ҫ,u,,fCH=auO$)pDhoĂY$c{]|I>hCw=Yeb1R !aA֋fև'+Vb޺B+D~bh]Ayr-S0cAuR q;5pX2QP":}lM1aa!3xT¢:РWK}5gi )yƌԊ.#d(lakmU`yTġ@X >йա K-0=vЙX=P  |ݩ,fqFehm &e[JdV;dPh#i5;&󷦺=L5yK9|!ݼb%EO[as܎*d+t\~CHB+e#s4:jX|Fqi&%#h~HӲ=ҡ! #+7ƖTz~D:rB#q)}dᒭ<Ĺ0{xKDiQf=dDZYԑm⯄N ꒜MH='EB n&M[ }؞Gs/\Jux *>>k"3/N6Z< #au]qQLPemU0n%vQp#R7eG {g5 ]KMdO/RF5 Z$7;V0,L!1pHQA,QgJ}*O[ æIStf~g~ڈr2:_jw쑑${!ټp;OA$Ĉ CI;6S`ߪ`9W(㮬25caCAYb,h@ })Nvt֤2- >F[,s' H Ȼ?"V U(9Y4HG?BX" 0:o6j@!ۻ5.yZ W&+8Yl5)Xc·gmNGxԫnI¦3짳O(``AoB(#ygTM(-qg' l_"8919vиwKߏu)NB4[BA]*N]%7@s@dsWmTnh'N+oǯH:EjF~^&-S!J'3cEYJbn1 ;ɡF<%BھKFnKdђ›-#7fh$D@lfdcI,VuZ^fc:% 7Qy;Stsa^Ebf=jQfYD0#lOE~[M)&P1CqCe뺾B:X -X¬^M*d_Kă(^l`j;sNDޡ7_\G vr\х I<~+̟lk.gSMuK/ln)b%4%vCǔ8rҘ^; :p*w-nnG~+) :F4M (< g%W{=TM a,mkj1X]i@$ә҅Y4/l.{{jQ ~z6 *I,&,IhݚV럹8or aŗ(H &6?5yea$S~^t ЊeT z-<*/4wP:TcԿ9ͩ]RiJ|0X"}Xﶻ(q$T+&fFܥE_H[e8~b ء a=+)E+eT3_1{HhՔeߵİ I!܎?6n<Ze|0>G59z=M,5_5'V*HX|黍!eajxoVi)R.6hɝnRRˊل;|1+x`d^Bn{#cO3f`d'ϗtUI/Q1NGKcSVt#-"c݅U\)C!s#xV&vBhDڜ'8X^V/>_4+&$xߦRU_$ih\]ZzfXoɾۦ UJbͪA} ߰B#$hH=+9¤T佮rop[7(.ڊSck;{޺ *~Cxne FJm.r*lͫѤ+i0Qv=9码<*sV8.59>cuGjrU 9ch='YNguabLr\׸(|ϖnD={h3J]x|Љ(gL+[B h9MP#5O(jszTt@Ԏw'y;Ǫ|c̏~K g/0ejTk{>ګou7RE(Qf]H6&n? ^gXP.rsM6CHlv8h+KAF,$.H\pd]#aq_nsp@Ct[/&P?4k--[>_qsEz'v4T"M{R.m5rL\%XLw*R1 /zj$c{t$!حXͶ4ٜ׌{2[:ԨtI@ ^'uhJkV1;3?X`_SJ".Aɚ_ja/bV*$h\ǭu ^A#l& F*71XF4sI wps•[!!OnV8~ #\z8Fp  +brA)G!,\kg[[jP5r3UedX.xWA [RJ}ϯGi'D&lz6unz{"ޱC8 jdK nc3>Vhx6U`2`uȇ|{Zz>Y~bS2ڇ}yEQ"bZNlyJŞʺ*qi{Zq'E:׭W_+]桞m{GXS/}*곱;7ER;/1V_BKEiB(^3 11)K JU 5 'e .rKF.dR#b|!MH$t{}XU=@/&w %x$7k|dL_3Jd/M<ζZw̝)ULGSѠƙɶQy,8֮AU.<` >-?b(IYK˸$F4zh[ {\6-ƚ ߸S~LmGs,||afdoid&~t W/OHZYnUIHkq7xk [GCȚhBhGogZ"c:%Ym3u~%se@>4˸&hU^UX}fOku+l*}Ne2C X-\* _-΋E<ؐ-Ǫ?-_@[EWʬABfڔ6k3=lObeR3Zd7Lp |([zQo~ |t0H,(Zj"yi\,I$mmkl |92̱<ǾC}X͵9w `R*ӾO`n ? 4JaEQ0҈]D~` 6`<0{ S7w7twH!u;̤}u̔tX夊K;L~yJ`}aO$P+SB CȇeEmH{d1x-FžqQ8ds+p JOf=BfY{m~G؈c{D8tW/SQlmi#Z6g>3U>GHT"ZmzIS]L-3C6ft'dQv4R0MYIWBe!d!7onܒUw2$LDa*L5D3iQcB40QS Ў|.b_CN<R^°MY0򡪟c(<|Kt2=8|R3~OT+_ßmsy=9-^%%_l,gN3kz"aL|?!D^%pKab"{S*|O![ Haڤp|^DB G)[ZlՖ%7?8ј~?2W YѢEZ7=I |ǣr).U[:Ld޸>v П8~s!H74H5Y^ qBa2qƬpױ>}{unЅ_Zo_V~u6z4T {7H1gLaq%4zuf!63Վٺ ,+#Ys-gf@;fgZݦNc͸bXZ \G290Q19`\ b Jy˧v)m6aͶB[ y7HzYӣ[J܉tc)8|YS=Ҧ  083;1O_r_hOڱn|> фnopid9(4|,Y*vo<8 MT:X Qsه8ʖhh:"k*"[.w/HUpIr O=ō\Ela%n#6vM*oi ~,?-yB#F??:漕"1>;`nΤ] Ҝ_B </?*EQZ[Bp\8^hMFciLQ/rnlM]ۨFz'a 3#Rg X)y͡ij:F+ K_ ieD'gڀ ]dbb#_\*f2ECP*ZT^> 'XtͨVXp;| ]$?GX*x>qy9XPbK nyMƆ874m^II]ct_oˤ1=JpwLFVRXTőN<{vVہ7D$aI\@9sb#Lz fq_vbтoNB^۩{Z}]ѝ`AÏ\7e?ԭC|oB\١F~pF}!N99Pemmڃѥ,ʪ'Q*ΚMﷳX5vm )h;T5l͹@ ZhO^a@"8$iM>Y/ew¸UYU;yuEH )yDB%gbђ7\  ,d_d._܌d)\J? NV+TulqKl^N `7U?񫎳sP M23ȱ9$*\3_C^)c5셐j'p5X0AEȆc8WwYFM=\ l].c̙rZ1 $Z&g%STF~]99,V/AH}{O[di$>*2|dEK@AI6$~ơ[NMt"A0[ 9-.9bmG ^ m@0\a4Bǐ -*UY\"x)~S[gUzC+(n9˳TйQaӲ]p1NVq%b&C?Ccum=S٪JMȅ+;]*yԊ4BD)͛JHQ $ @8,7ZV~6$hjF|WdxrIsu/6_np0 (zUu0oU0ODj;1/:jߦ6 )ŸRxXc&Fg-qîGfN3D_0FsەEކCu>ȡg%-3 H.* 9!랛n"ח+Xiy9iRu9>*b042*v}m1N|QfA'pA )/hm/`"DaMI7G9[(O~jt(`s>>n0#wJ|4ٞ)$w f~[$Q~{6!lMP-z\1qsY%+C&ENs/z"@ W#dꅹ=w^1ӅFVpWc|w'Bq<1z;`7OڿRg6IPMl~ /beeN)m D%whI&;X7P.k)"|fRDf$wĢef7I"\B+6k J*/X[+O=`Z~78t=V~\AwC&JQgaA |s:KsuBTH><0@Jz%yZ9_K A!E%1U18#IS/ @ Ű)cͩEPcgʷϽZR8qEVC{᫨O%:Z뷻*glP%N%sL&hdઇ)ZN Ʃ͔JR kS$("'g圇b!ltڒ]] 4ۥY7$wLyÕ]p?ՓFku$M%1 *&^ G4^%+>Uy1@@'W&|j+ gE1oQ@:nIZ@3sƺȯ}4U!GvnHthDq<xю#)i&,ALI-e<0gȡEKW倍<=ޚlT#AP\80GPPG(Qo|=z:ƿ$* x)kSTlƒPv'0QGU*!לN? 筮j3gpzjv5$  h`gvF=Pawೱ%?D_8a힓ݠ90(5:,U.H Ek` P}bO ٢ԭ<磑qOzzgy-B\Qޢ }a JPRt㥄v"I4O Ku?šoIw b\b fAOM.[@x^nU ktKz5$#ό./gM)Am*_oxs b~ts{Pbז֓uU>c@o:V} .&Tg^h%nBS*I 1pyßftM8fǍY*pv m ص[k[]Roq̔^Q/ͨP Bp݃ f"Y ۉȺ6Y,WDqg|\fc;ae/[KH'dᕓ@~bQٞdLb^`5g(|lcy}~W"}P[Ϻ6yYU7,:7`<^BJikjvhNjLٛD!?h6%Sv)8k Q8%=8Hٕo6}2Y"3|2C)o kpsmVo9KaK%A='ږ,6A>=Zʟ* qp+@sN&gJ#B sLDţEIy+f"_bRĞ?z)TBUfx9^Y5 CvB bc΃Y!tJsdѾ;ܸ{aZu6j6A5e)1|n79BڀeuAe6Npn;@,T|Ij R2Q71]9S, (\ƛo _2搎7w7<.FƉLך%*\9$ h%:. Hm>s ™IPPnhDr2./wT{U|!ysAӻݶ FJ}(}j(qs^_򑞮S3s~C&Aa&+3l`s +VrݟyK ky.(JvSJVUhI>}7=ڡN8)d1و؟4 RVhŒ[x~{e-ˑ/s!Eo<`;fށ^[Cd;]XU n|qSծjbǔ:24{̀Ld,`2ϊ1M AD۾nRfi&4R Ј1,,1/:=0.[~T>K$$ t0VjN< YC6ʀpgmp-|TݡjWtW=ϔ$evs#{ٽ+E>8 dp#>H$/Yס#v"G$8E&rhmR-2ގ@`ȿh|<# Dmgp5Gb$ጡ(9Vqifgٕ"Naԕn>54z-1ْv?~Llw,[iL7]Qw4GB8p-RHwtWqۜ07+3g, 2?3bjm,בk‹<[Q}(0Q6/Phb,y -[qJ20Q`^ak%1Ef Odx|᯳_%=P/mS".9V%0wT{!H0gRODjn Lk{r66`W@1}\ SVT)Z=vi)64}#8ZG̤RQ&-hr?, l+g*Ql?JtON Jm/]!r o?lwi*3MB_.I3Χzҝe|?O)[/ub̿na"CdJ ptI3d(vq45Ҁ)4,rX1!Uga[v⳶)?Q~lKd޻g~L ;6峞9"瑸U^obA ݭ/"%!EoKC~kP6|~\)![̖I)t~[@@1R{bu}n_ľ4;?+sg.o`(YQ 7ق0S8a U#r,"zA ,Y郦y-+\WyD !FvD [KCR !8=2wi0k}YKeő y8; Wš4)TF[@./Ar[,yX&τbZR6xh\K0 NQ(LP1bGqQ`NXwT6"fZm'Qn t¸W擆#JyWp]DzfUjUoLf|3#x< W|xWfUcZ^r.^mS"&K0\٠Y~Q( O(dەs7tT$0A9s#wc;[1<#ڕk07F W04F"g`܀y4h򴠭/zX .~ xўޛ@zq72 [M^w5*m0jrNIb2Q1CR&H.Sv3j;~AX| *J4z%ǘrU+ĵ?r6 W)sE Bq/ѓ@#s:RV]:%L݁V]+37_I9fp^/#ZcD)FUɊvl3c:gXhjNζ"tNJϗ_̼ll]hsd(|e*pWY@Y8&/n]zma"mZFZ ;Q.*mBo ( >W t>F y!//' D "8:Yk GĪ 7W#˂:}{Z< nQWr9ⴛRӨPVx΢d@/-9`/T&(ؑM« xNI|m5ssEg23 . ), v@vzgNp1@n!bNP?<a 0X 3GgUʹfǹ,h,O @}I7O#.7Jw~̩QgWO{?ٸ`/D_OC󱔌߲8#:dYSdɘ4wӨtfl݄o~jj t B@(_HռwX\ط»yՌ†7Qq2-TGݪ~-'@81;is<Y2$( 4M/ĎbW7Fcֲ}Q6ا+Ehv.z2Y\?8Gbz $$ = p[ѝ e,"mg!tx̶!NQ B9̮ƛ80gJވۻOs]~}k{z# @&z5UT;[3-XކhQ(!b"٦}wyymT@'hDdqA_ \|e8-oX,}|66QqΗo^G:&bj!ijcQ~\$tΈn`14j-8J],"5_ubJn\E)x/?6\f2Ārp^ ]fn>_JJ h u fIy +\NlI1]i@*U4kdϔQ.'Yma;Lݭ3NH ?).5hJ5~7Oa2?D nS.h4Y "5;{]@c/R2b~t\|Ms)K{$9QSt3Ip,DˋU)@Cȉ[ֵ(D46f8'rzs8M] š܏RX ;ZsȽ{T= r^odkkf*^sCK 0fBܿs:CTWo 8LE&Յ ^O;{dW{>R~Ǝ4]z~evŠ6;沿*H(؂!A3RITȵͲqYI3߻󘮈 KԺl01*_ޮ(D-%<ō1N?`wMKx:Rx_()rP;Ʃ(z+}w{p,$xg/ P0A}dPbg1pa_)}M}MVc@@p|ʖ̓.?zh6QԼ֡l4FՖF&{LUw$BUK\#D0dZ.]|B}Cu2pCwA*.GϞ Y\]+>̣KKXtkJY! Zꆼޤџ-ʾUNL _+ ♮Lyr:'Z6RS'Y7"FWN8;cC&ʔ3>hilh֨{U͘\'VV:n[CmA9xFexLV73*E";x|~al>\OG gC~Iu=ėgh_!KHJm4<ʪU,,9ClHn0_z8Q:7܁ww{k <0IZI:zwq©3WdV\~2F~+|,}mDIzT¯+a,kg# ݤ׈_c÷[p:|8a3W0PUA}8OluEd2LO!^p9ӫRb _8>sp-JϠ !W{f}"{nLj}C$iZKe.g !w7FnEس( Z'8S`C|:o`v$=%ok|gjӘ\;w`6T/`~w ;=@Xtÿ dnaֽ,ݿ/R9b7aXTOZޱ]><2qq@ưY}pԞPi 964yO  Rb@OO}~ak,׼J7yo8:'8~ah֚otpk5svwDo%t^\. 7e*|3mZnBRb9ccDa 5JObH_t!;u`eb9SNOAWFOAwRM8,ʤmD\ /8dz}L?]eDX+Y`8#ab lӆ(B:fYq[:VMRk:EHfvQ{o]~grX#CNQO`%sg#޸`1jRzq\ٵLEL iXh2LɏL{=NYu7@ LCw')Y;H/L&='eϰ3&b ΘvOXcP!HN}dylRnDܮ'.~a\)~m 8+. 7sVx$Ò&APd3 x8Lr[c)M?gWBJgΞ IEmqi0ޚBsq9VH7,] ^]ݶh-}F$Mjyy|e 3:!꘱(H}ͰJ}$c,K55^`C>*= l:Iه?`!*8:ZCKd_ e#d0/2J4Wh Po[q_ /S%Ү\Jaeue+ *' %Rd0s$dH-ZO?4d'_iH tĤq0l--?sZfQ AGG۾ ,π{Lg3k1kQ7I 17*4 ^8fʥ7)zG/mO$`Uc ?_) ׂbCRz^qշ!66J3ՂPd4//$YFh#cW'ҨѴHdNOΐi NYђwQ)Ӿܲl-;p&2J̞\%ԾRuP#(1[vS )JWTs"ޫć1*tQw[Yޛ[c^![€q<6Kc>2D ޤIy;m8'wqZ8-Jt8!E۸6Y=CȭGRS\:%!ٶA_\uWIXߗ$4nW݌:_v>ct1 3"a_ 5T?n72 q+'T*NolWlqZ n;2,ީU_ӶL>UYJ?uȫl!86ƯD;ǓxwPg1X8Xc):уŇ9:jo^tigE}aQ߲=@i\j JWo%ںrPy#+ ^9[,[*a".,c@({;'ARcAfI4"/jҷgv%ێݣPa9:d|k+,Eդ̀sKÂ0f142}Kl]i"ѫ z|.dG?ݤ2P@aȜݑYK g6Xg''rZ\]ĵyVԎԾnחL[4a SS[M>5hYʽsW IjGnEז@S)qPN}fGiWrostsd_DBKG cB@,.?L0{T8yiD 6CMx'#gv T| 'Co?ekRy@ yJVyvؐa'hQ+GS ~26ah,#xikMU}V"-M|DZO7stSk$Dt\KZ0`HulK\jn_^l.׌0T_uwcu}^1f ]^Cږ)nj,[PT7l3}wd׊Z-t'+vn(1ˤ^^aM+p`m䗾R%;E7@#S-,șNP h罼Ϲﲈ.!ΈƇS,H5*"D.̽#,tF5KR lA[V|{qo粝HUJP\S50 oᜋ@mrNV^uTĒY4LwP"gnۍ5_`']cH.+<3>6y\5CpJ ?xs}ѱ׋l;jCR֌-yZ[´Yq0K:Am<*6(Ɇِ6M ؘ6<.qzY_qg\g^q!&%HDRn: X>s\ťz F[T_ku?I[Bfd Zh!,) =aTdgKZP y< @ lV(+{5j6ƲU"}:d@#acCLF;cBę<%9r5k0հEeٷЩW8ٖjb6cN5,е k.*4,tMWKfFW5 59㫲XKɷL_ϫ ' zlBZ#(.!k&Z;"H6p#]r8rxT~ $3w6+ԇ5}~5@Ǡndܺ"~UFڶ;EJ Ps'5t><.߾AdB\yW͖8Y>m;7Iw3:Zt.TLh,>oХ'\V)UƒvuP/\4/,ٿWv|4k:_@v:RNlS]ib-\ڧQתF;hd 4 u|Tl͕FmkW>ނ̓֨V{ )e͐f01.⟋୍- Ʈ`zTj|'aLv sDscnl#,K]G+/N3Ye/cۖ nJhedk|N$v]t>>KJ%JC2p.{_"=6(3ii ǑxH9NH*v~Kn Nv=Ϣ:VeXMحL Ot 2x#11Ipn\NWICTb#[5<$j,'To>-e's -2I./B+b[WBk%v͚!j0(T݊¾ 7Y=YCecm0MPQkϒ [-8񷎩{A.B Y▩l5M UnvDyS\D?TFϏ .}RҷwXkLA6JO띔CQ]"0?-bTW*V[k_;I=Z1]\A~uʢ 4B*dljmE.&Ξ~TwNIjo#lەL; Khb-clWL y 73I]+?9L~ rtPmK؍}.pcͨ=5E- BIڷi9-T/}2V}a\ ӌ?X[y''">wޅMX603%YؼOĴDP^I'4Sԯm8Zގsz{ie٫`۴&.*}u:vIc!JkG z q2 0< I: I CjiH%Rx*x)9*RCmkSex^3 Ǝ YKwt%EGq⣔71`햦>km , G6|1NPLRXL6M/bG3#a0qtDT8e[f˒ (.T0W/\凸#)#J(7ViIz9se&*VOT 7){,p{ Q`\@5 Ҳ^H:߼xhyJPU۬]!0Q0 ֝;ާtym/ƪOq WmE'z/z pF;!&}BAy-4@Ǣ GR~l/O[?ϿLPAIϊnC& r4Ff | {[+F)+UR6j@5MЮ7p2a2"M(X ʚqsӼ}]ɒ9=mWo3mYu߉qXy!@(;\jP$ :}nݷ!ڨD:.!dM1_P <Ѻ͜Flq@N x²{ªmxi"ZrXh},ϐF蕩ًE.J=ҒʝC~0aFq2y噉o.v0%8{|z}rqӃ۷L+b|oΰhN>X/+eW*z bUblRRZ*vaI=y ޫ4[0aw x*P I@As>dى3#t͆?o s[Зz@,\&b#+~ ʂ퉿T_P T{\I_I}&q>*Ď>='} tZIH^B4RȊjNbvUS܆(u[E>iyڒg9 JvW$' kj>e"p9'y4kJ&R97 o&U! FNejµs6e_yT vǪcMj!#M )*btIR5mk]njiU U iVYw/Werb!8磒waj睘/nx=^VvWU="/b{T]y^P S3=9ɂ_Gb zfxM!f)Р@R(ʌ<C!_Ἕii02of^?`7s%0Q=L<~ *W0n{Mチ J}ToZ xY8E'1S 6.=?oAь~h:Ӈ~ -l@Q]hQ5V^S ڝ#t!#uT\K7Jj^q 4?y<*6~B!+E_F4WIVkR(G}fW=g-EO-0eyr*zN7]j<+^v|qRkCz\SlG}lʉ>ݧfx-A 9k8d*5t c>*cLA?z-m/ԍ4/|ݮ< sƏQdMꩫt뵟D73B&H_)^.s벴o\y,.bTWD}'$U(Ɣn&/ϩ-U^>^b*>U/lxP) ]7n* 'U-Į:}yeJ8h]ݍ3DXʑdJ:'2BÛ9]goŒggd  ˤ#7c'enԜ+5〱)  BaAY)n׆UM,쎑U[KA>x-jM^.H[Kp\V>-6~XWFd1 aq-uU 1J J Պ$g XǔzLedYk6ڨNK]kZ|Ʀ禇*kzsALld 4q8+n曎M.m-*`PTk!3= m* c|Iͬ)zi :[ġpJS H[>,:&V3"ps:GYmL1;1H=Oq~UUlP=!I7xuFTOFt)H|^O7xɺ舖q_WA~ 9RfӜIG:ۚ=K#{䡤#(J $` nPnZ/Ϗex@U⿺#>z$g6yvCyN. з;.}fZus3ڟ;g[)5S asQc?7@94S^+rYcAj_X}elC@{ o|:{uʉD~Oᱤ YxqqFM bGRh9ǻPEs?B? vcfaeO rsR ;}|0L׭ff124RckbRu$?"*woB&Ċ4=P ^B> ڜ,3j2%*6}'[,Qb왚T%EAݠi|8-vq^-T-K#ݺ5rwb+bG6E"iD&MT цs@4:}q%#uǫR/B?~Œ<~qQP.i@l>-gwddx$xs/buU%>s]lc/Wh%8BJ| #(SzѦ_uoD8%Bq؆u $gZcݡ&R0;"Uq"?UtinV5V@HtJ8O7HkfI7PM1D>BOth?_SoEB8*S{Bf:v+;BŗO@接Ӓ%zv)4 P"mUp_v ^c>zw.C9iv~+LL=9=HυUlG3 i= KKoCOyVs)|?G]w?~L(K0l%_5GO6 tm z~nX&SI9CTј7ߗp& Z 0۫/ !vLWǧ4 gP`d|fBI7{QJ}K+!ٲ_$n9[:@D? ] )N-̃?pR?`|~ύ݃[1s^٫uˈH?ÁkǛ3PJM[w#! i}ZFb-LHu.*EjOeDvKuG-v)րalpB0qZYUo%W_?V=ixlE Rw"j3 ulBה]Qt=KġP:wEm / B:dx.WZ>Ɔ1 C{X=Hv"`5;l5ȳ "PA+9'/Z" Oت>º=2P0LgMwMQ$pE(w#} ǴQ+cHPGȗAM$x]|Fƫh3~0&rt&ye!,1&%8R9O"u)YO8MZۮTВIN| ½AޖgkM,DSδ!1-OkI;6U'8llN]/*LC!vŠxJc6"z`{oeT8Qw+iMJTb~=BKgrx12 GU=:E ly& ʉ!RR/!T ߭2)&޲l]' 6w뛏dk&5N5u5`3}Jƈ߼z - mka 0NtvSӨ%6niN@Ȃb UK鯧_N̅~쳑f۬WP/ ~X|i 譆Rq٣W$XtP0 _(L'Kad?`vgC휿H^5]~|9Hv<ͪ䋤J,l!h#5XZS۩\4`3KGIЫW]X>1Z  _բ7ԘUb`q)Ki͝q,vF g1n)~(H3sS.B,EiVMWO#Mg+1/ W.aA2W,m{BQyESrIdc,]!^x+ox}l9ݲ $yQLCIؒ稹vܴI霵fʞLaG4Skq~L8{H+ֿkD"sdN{(|k.PW?#Znsn⨯HGuR)zsb(?cm<ώN'{HW ⦼#spd$gnj+#R'>y_ N+$~4Y~۷U@rUߘn vƐd fMmfӍS"һ5QU8k/GPz0]%TǯĻoZ JPoV0c &970*e֔^JTύ6Nn!vТ6! 450i?q$bU'TCE4sMHhXH/>puQ K1~_Rˮ!+:@/TkIRc3ȵK@xFQ܁>~lY73>h y'RDSӾ8 $u;:cBM2ؒ0rLA YlG =$+Cʷc m2m(4GG6@jatZ۰&?rIh1:nE$@lp~2%̳7Aj]꾔H]n{F#YHp_U>%:"׮i_:r3Jq{i,ҥIl@/.M(ܕ ,c 焳0e]ƨƇM|gh^|ABfr{ 7 7gB~i@>EAӌ[9 0i|6l3v>"e^S %Mh3%K62s#x2SS) qW6QY""Pm bUL]NW(e~XQ)\j+exی]omij-ҏ>; ۄ:/Ӄ[{lRh ݻA_<-$frշi\aJgcch.aya~N8|HM]unHu>a A}_I /qKO Msq0|Y  NVՓfpy0/9ֳ U>'QQld'-:a$L~g a 6NM{T^a(+n+Dm+gJZ:,Y;3 "b{C&opB3CZ.g'HWK9#-A`,ŦHhqRNI]`k5)W4{n?0|X-<$tc5*Iiy'ko@/Tmp1C;IA0n o.IVj+rBFphMNG\'JqPHm(EEy\pV@^`J7҂m"dha$K\>4U/R k?#k!_nB@N|zZW^a ?^T-7% J){^j!S2)\i]`]UrP|z߈lI~Ix$^_(=/!'`m?eg#`;1yXskkVƁt_tP/<؆hNڀFE, a |;OP2'&%-MBG7/$P0@7D7D\aqPLGڨҸX7ux|Sr NUA&5|gi%,@HN~y(wXU+0ŝQTd|Wb8rYI~M]pcU^ht a,⬈_ r0RϽ~Ws C_:3V_+;U-6d?+Dn5E$)%΍ҿB q/v?a{N_T3*؞(Uv1W}EM("y&=G#毟0T` '#rU # ;B߁?DݬsΕ}Ÿ`V_k? vld뚵,hݮ C쑖ѕES&0UdK,NLjn;u[{8$N 긽E;6GC'FɯySvǙ{N޽KDg! S:X9I-I[jaX4XIEX9N^}V"Ls:vT02)#Yd6'Kk* -mڨ"Mjf1eje* 7QxO "%5 ;sJ*ܑRDcTDﶚPMgu*){۾)&οY<(=aPD$=ȗ~@Uӧ^W j:ư4WA C֔zw{8Cq}ɛa'[xvg`7x>5Wz3އ[//2FAr{mx0Al*M2Xd 520ؼA}X SG Oz02dwß/#.9!&ٹGg ] E^@6gQ􅗈N\X ֩P%0IzP AmQڂl~'Čm8Jl%)CSő>~c!wз{-]P ia9VYrz7ٗN;5AQd$ K⚖>$?q.o EG>|G]ޞ,|43# ?唼; gQEcvSn&`o3.Ū.zZ1]bS 8ɊP+{j$׫C}FhGNh_#aY%SaG0J==+Pۛ-F}v k5N Lș= E*D~·JYl,K#]VEm]F{&+Eg|[mUXCݐfgPdƌ7J17&ȖV [ڃ!E,E{JLPųSw,Q TӸ ,%H_sGaM<ZOgй ݥ|rXh3;[BD\ A",]Gꦪ! &b^;6")rBaVLb 2iƕ=/: hbŃvmCn-ܜc#~K_MOR@!=X1 1ڧEѶ>$7Y'֥l/8ޖGT|F>W0 !Mp~T|Y`뛪2! qH@밲G`!4,H2f̗?խ;  B ~7M Ƒ]R BK2U謁2Z'i#"E;Wa&dI]%E0ևT=N ڰg6$9;а}8Hc'x53!i󵧕=w\#qwiEJ(3x0jns``&hXݥH)I+,u;X%Z+ѽTzI {"A0 `($j|W Թ%B!<8+[4 DH/@aP֠`th1vQ+A#, P1NTb3dEzl?ܼm;I,O!/C {: ޑE [I=GUNSKEG$mÔ$z&>tIO0ԥM08N#Z;]Eɮ+6,ި6us/졥7KiL᫬D|+ƃ/":{y2 1AZ`HԲ>$gv4UoO0{J A[La\ɡ<Tܛx +q?dZ'4}LcX89]XMT"VSD9lLyV%#s5EջW7d)y \w0/8% 2iR[TzӐJG$ %Wosth+\/ aW4u \th| j],[-$>Vg;JAḷɦlQ=KJ4Je*WrheV1R[\vcxwޏXtб_8^4@ei/9<QwkQqL,1N$AH5Bm;PHJ9,2OX[U[ih~ I䂡;6GR5-QQwأ*(FhP GI[=[NPEGnj=cj8~PcP6 ͇lREOM9䖯҅q}m 9JkV?(qmt6# V7j 0 nū>RiCC(YߑA̴jQ&qSC‹,%%XH4S,de~Q{h&,"+S^3_ Kwc6JPe< 0UA{“}aJ>%ZbuYWFhg~ $ƃ~ !/ Uo@6gYO,ݶ2(jP'Dbӽ}#(s ѭS̸1l8%S1hH*^-^,L 'r"43hQx آijP5h>N{7AI1߽)-hW>lBQzIk6]:PVHי^([Ό]4^РsfTkc4u+Z,uFzNפcWRF|aOx=0*R{i,&Kh|C$!9]B FbQF;IA:6Dzc7?YO/f rs\H.O#10^MGӓ\ʦpx*&yTVn&q=drȇ(% w`~ΣΏ1&|]Y8 lP50C~g C;Bn$? x"jk+ &R,Z3 L)cj@@ 0ҾQ惸dQ& l݃Pk`.pn;z Q>hu]o4Oh3&Eyr(nTrÑ"l"ݕ6CI!$йi2ȉXaS\q:GH $]OG +)YPL$n8Y痊p9-$!sɨrFܽnTfSo ?`2MLCo-|m$~0]Qs=837x_{9#;l +"e71@:=tUg o/8Ϩ2<$P4:;GZXL'uʀ!&k 4/Xrw8[JZXqʹlO E( ff - Q&4Uԗ?? d$ zb;eQFG"&SQi|^gBpʭܶQ[CގۥOA}\u/ mH舿bfONBw( ,p 1b3T2[7_VnʇPIj2߸zBK\h<͓GI I5F/K%ZcĚOJG)3 ڱ#234J,@`YUwck0=<=S&| X)^ZxkxNƃpgv~ G6 2<O)1*o렵pL[GQZ7SϜkc 3DLƿ}u(pSHk@={>"Sf%eg1AO=j`{hDÈ^PTV PyqAخ`M)ɖ1*KôtfK#Y)ć E@\\÷N ;8~Jnf4n7x2nQV( !3wE4E>73ާ&~{͂pKX8҆8"Y6h1E6O׹,wb߹ Atm(>t'A5m1E9wfߒ_]"JHжÄdK] tAaݓ23η%-}.\"\t"~-"P\]Q8C$ 9pm~~D9=%xEZNFcq9% /㘘iMK}DT G mwhU P%:B?]fjT7rjqOeCH]vKz+o=]G69KAfn`> ǙluZY;:yΪfFznmd;b"bf=R{jwL%=]*nEf]~ΆUN3b~k@`p0v/Ѳ[|nQWxY IjGj$>k(Hp0V\ ԍdY̭VTQ"$ eQ..= q5ꄉZ;Ê&@XUȹs߆T} go2񼳆*׀ZSE͓4Da IFn(?nZ>ɟ q> C)wUFm)}(sd~mk|rL.`(\4ɏG1Ï[y '&= 7Wjcw ޻riG_] !7ׂ>k. ɏLXY;20Ƴ"hej)L tHË90K;6d {5#Rp)3 nšNJFYyJT7gK'x/NP +MY *(SL~^pb@Ney4aQ;|4b~ȗk{: F@5DISoSg ,'5pen,@y;VD ieyLsEڵ\|uh 'HM9 3\cpVl%UG 3K4gRrfP ݢ5$[Dϰitja\I ]IɋRgI|K69/]=$+5}L㔻F@pf퍚ꥬDoܡo|yȨg%z?\0F6PFkbk~yqZy5cZ!Cno sv}ݮ$?5zeh }T"xޝt7Hp^1طD1T jt(=z|_q{*<\Pb5}M;ao-X":o(JR~Ug`'jq]1,R(N`D]f$,܈"~IKDҏQ dCGfّh78BX\< BeVM^fS+{??J6.2u\%H>Ǖ:Lr IoN4-Zc_`!w:3 ʄF:j&P:>5p%DC lN;GtfK ~si G`\M)48 `"]Wd {zl P!p/ r$%<Q0(LD?GT>MKcg(O7a3'w`NƅB#wt$+}ŸXm|z$!%OcAzQw:Wk^փv=\ln40O tzJ:WJ/]aϞuхIuX:m=ߓXx4!gcG25ѻ/H n:>a(^׼o|XsuV K?xtt5=ѝy1#W{t;vz%,M P㣕~sU"&1rY?FnLHuI3 z$?CrDHAH vCu ;y jn!Jm+v@XcFsҿ 9;Sz*-`EG͒I$v[| 9jJUuP\D_ؔg0|'FTjS7F0@L8j !̌3о,0)BSy6)5ԃ%cD(%PJ_^EC B~l:w黥u5l0~NS,g$5kT'y+0LNL^(S~ŗЄv;쬕QG*!h^ێ~7~=Ө"To &72IZb1eh>yI331>.O[Ѯ::G(?S\')fm a6$B&%d*&< Wvz04+ C ۷yd^-15KZPQvNCֆA8QYj_c쳊 ,sR[,l!62&".J hW=#eaX*OJZv!i ?x9^qC_Hsh$EEP5;N @W=vSJ3,Tu -p {;7%m+Dw\>ygá,% 0}`R,e16֨0e ks /d)>BWޜݖw{d,=Je#W:"#Z Ԫ}CvvV TnΛprHj#G^F'HH%]gRW lCa묷E^0VƯ UBi=܍xGzzmͤ/_9E)ݤ26rmL%@r9 7FvFەBT(kI4nO8 ^K R{(N(kM*Eݿ\2ܔQ@^U@ 2 FuGY}iXU脢قށ8}uҨ̾} FWXI rQ$B)]o\Ȇ!0QB= SѺy˴6\s,EP>t=ϸa(K4Ȥĺzʚ*OM~Gٚ<$x rkwO@jNfś:q " mhm/ƀ7ȉ85~j}GUg=Hd$-N%dxFE 2ljЦbI|+Mv =TȜq>}=bc CbT-.(jdJG2ɓE9*iWw6:΂R㾼pwbGGD!^xQzdryrۼ%eơKH'KF; vd$%sGgfoiQԟRg8jhPQmVi\C +h9C6Z`a^k1aXjrXqr;9.}%̙>4pǔBtdOD3=txW.M˄wX;N* eCĊ"ntz6@m4 ;’&j6yo(_f/xc^[7n?xf>dps[TmHY"t9 /HI Hb/-%ݺolIL&\<5υSXK5gfyrO9&|:[gLM}O+>kOwU@2,5xFЫr"H=+{}Džyջ>/սQ e4bnm,Lf5 g\ @%4,PADd߈r"i9L.F&COyrDd)nX[%>Ls/u^) #L#r梞~Yn2#ZdxA/ lYsW;1&LC8DŪ=}ZN Q""ĕ!] :ZۅPh!#-D/}(B%;vXl$HVUmtWt [Е"}/5UqՎUc¥b^P+5FJu. {Ɲ t!ykd" !_:IL`r`5rMi\Q}U=*&+&͕[Ϊ:baU_10EIT6N#f0' von:Q gU&J>T3sDҜnxdUCLdҪM{!*uNG9r48zLxr1 |5l`sC'f8.7}>d)0B %ULp}{o+8c 8t fΣ}J{-ʅ(X:Ͼak潒-mw B ?9? ?rTϫX?E0iCaH56Y@XO 7181dv i`rqoe6ЁNV|@GiYfD}^TU|%nMbm12&PLf:eY}#z3 B{tX9TqݞA-"bQRS`MyEv8ZyK7S]oXzp-m ST) #蠬#:&2l12-yuZt}gV]iGh:jHEI3㚣gWUwFaO;FL+hmA.<YL90Ρ/Ģ`xk%Y$ E.6a9h+n21Nt"B+1BWb~hTc/^VU&a})2)Y'j"'丮JH *LoNR<[|5zo5nst+uu.dAaǶ#,t <,m)"m#}7dݏP6O17%pK\ai#ՂKٗXs W? Ipϑc%8a=$E pYt$]a!|_|ˠ>ux┓#QJW﵎v:(/~,_U5ߧivnGd4GкM%܈t H'Lr>AYx\.ߢ%QP 9 G#9o Nd*Yr?e3w!cұ}jT }eE6#CV(Bbu%OW^d~P_幤o][h.ALhJ"OWfH˛aik k<ڠjaWhphǕ5(' m%/:MoZ-)R8(L}(B;qѿVŒa9=(Y0 r%UWM=9D1枀\s(=,BWLN?TMx2,f)cL1zsF3 a TGG(4l='&v=ׯM^k'3 :2C_q.OE 2 ]Xg\nYL(a@:$Pr_] U,9qC8JdvWIq,~Nz# ́pBy sp)V_2 m7”Hˀ$Ɨz>8}нrWoBuM"_\'Ls9{aXnӉfn^*XՆ%WN $ 렡rTRlmHY  T(9*e/[I;`N.FLeۨtTr U_U:/loh25E춙?]ƗuVa= ||@6&ϧ={0pWCz\?;Fcܱ+  "ˆmX#kaasFK2x2cXSS\Ud5-)Ck$)mw@0cM(ŗ%0'P.3kѴuw&ܝev+iyQ2r펋B-"Usc VT'0 fX?N0b6w$yRJC+u",b>2L +Fovwh4(B/ΠMXV\adwR4PRh} pߏJUdY5gPd}*|A'`RL.EUm /JH9UT*&,@.dtʳ9Wir6  r 0H`^=d?`)NOql!33IJgr(G /eǨ عSQ/e 6v!RE찙i9䭜zx)QOvQM;ǣ81[Sύn$2lUr|#Br@4!·֋fE}U4,GOWˁ@ʠ 9 |V>`;,+ s-!7#Ly4+93#V^"H+ˇ ܐ/}xTAMuկg¬;NЎ(䔾i+ǻZď33>،ֹ!nPNazϡ{c |"V8Bekcjrk[X r*!ꚧny7`+ewpv߱y5 m̈2tRZt 5oXd}!(OT)W U"Pq O{-;MڕZj0ATNb6K~nLl=_% *Q?O|D I(5}A,٨$d[0Bx_GbGc0 k(tQ yx"ѧGNoEc|v"Fm<0t-Ϯ]+J[<{68hd>y56V01{"ɍձ.!v0^?ܬj XpbSXsE7,,ܞElp9Wu7]`;渕U8vqV`!zMIm.Ȗvt:J.GL:ԵJ?nb=mP3\P,zۋ''ek-!q\ JZLKJ6Wm͏U}$ᵵi?˹'->K["`;S[j,32Xynzs>]㍍K-J+C].{> Ge8}3y+@~iD_4Hb2x$eҀj[u#T)-koӴg,;vg7'7~_>O_N\ZzUS˼~%B82~ \ʋ*kIFL#xYoXđb hpdx THhIhѾ35/@E< hi7LWT_MϥƕEb{dK];ml֩K`p`(Ǝ]ط/8G)~g8kͦ UIEI[t"GS}v[ MrSmlJQW;!IQ$$Zci.SC1Kiq5,oZF s)ycIZ$VKB<|xY]HHTJCR |4|(ZX'`b=|r,hQkZWFY ]Mz"=4ڸw6}+, HSHPV&Lސ-/XHa|"`.[,|F>XR2CB[٫si>_0ۤPnƾl"4tS ԀWI-6r:lS>Up5Nh2RLCP[*ogcY{۔myUyO{sNS.pFGO|8T+QP"jgYtGPe/AeC:4ox]N/ncJ? h΢a_.r%(m[ë4.״rij5\Fl Q~/75ԋԛi\j#cQ?{9b IW,aozlF_igGcBJ0{AKwXdӾbn7UlxV ֤RTmsj9ȞU~ݧdb9*t"v8 C$dk D= h5ܩ>#Ay,Va iI=?} NR_@MX Yq.G㷇AwTz/ȿ+yXf29Fm8Sۍ![z VeձVI7:zokvw>f7sbWojT|X)&?Tc{AXz#'a c֌NU?dz58T53exPPjH*偔E+|qٜгk1B;*`su(|59T @u4d_Fg"WݧeGieUWAgڴ&5*c:u`QQAd[s "SMV>Z-g{Ûix=}'O07mt!vnd JijJpS߅);8ko\wiN+~+? ㄵ>PgySqnK"-<',Ua%>R}큵.B38ߥc\YK=_!YLK{X,j(PY PE=[i9{zq@:0؃"2P_?  "2a>bP]1:&v}7>m/ܓ1))LWm A俷}Z"Mo̓]kEȃS{#mOBtz[~7hf;JļP&mƬ_]ɳwtI5Ä}oOnbz}~"_{Gr#Mm\çEeɵ,-{ `a%.HDpPr<=ŏV1\|fřW%UEhb؃(O^wZ~dܼ"բ% Q#R7ih2$DXUA"TK/cpdE]֒`/#emu$2W տq3Jݏ{]9iz8c$K>pUtj#yM&d96 OEChKs~EoxIDBPtOwqT@poßZZ'f<7p?C7H*Fq7Me=YcXB$F0IB \?|)#@T LD?.s8ySl6q#m_ZYyJ{*ۇ(D5u?J"@--2Ơ  1!T#Vk{e?TUgP9pB`kVHZГ Ys!gK ^l5 5m >rdUʍH]yC:vQ"ֽ'\9Y+F0GpŽ!H" HšhGtWM*mD1zlm\N@Iu7?LRZɻvpuO_CEACyBrz=zf$ "cNLbEL#$׀ pg9v\ȞpﶌIXZ6?w)/}^L4_*%ź#KcJA<`W'Z D2JI I:Yo>h )2T#MH%3d}fz7\! Pg`O󟊓F'W8J-' XiD ,[uEZ(V϶bVwP^NfYvDjia -a+Od{O$rTx9"޸3haF/( &28@5M) mj=-y;А}6f k}^c)v Q-d>gH姰* g:H(DS9|݇һ#C"BN]ۤ6)W^OG|M"5JY&I ?X_XY4^|Mp:tt2 @v70˄sp`h5m0#ډl Y>b)"leB#8VgT`^i-Q/N<Hvf8@MQeR ??YΐznUuUZp]BS`Ub pv{tM wWU-$t v _YKLy^B- @'8s L=Je&O3׾phy0r~ht!ΧzE-Y.y'\2HS! XQm]sL}!RjE&H1wo o_$a%FnT+6̊%$O,= !@̀کOlEl$vk Vǔ =twڬr-S㏑1s I0%^6SϡEr+CH 1x1~R`Keښ=4#O ^c|]7eAS!< Vۯ'r xϢâ߂0^?T{"S"ҽ4 vwka%@tU(yV ƶh"nWHͨ ?7inpHnXKE<Ȋ%WQĝh?i((ޢ]skFHGWҠy^Ui>zHS!@6$ROu׬ʣlmK[(/H.wF4Y]5"@o 6eZ}%wuKZH&:Z2-4/.Tc`ܨkbRu]ueu {%A9B׌7 By{Ue q3;L91oc5 E"ǵ8ؿ{%oɯ3}$XiO ]TdЍ(3# M#(sd텛$X7d6d665(t6[]nuS"NjP3lt{8ՑsH^f񞷩{e,AzyLME ݠ'op34 .48ժ.i3[cdm\Ψ`*fEry4?#Ӯ!=4iu%Z"; .N;nqUqGO8\$"'s9$d̙EϮ &M1fwhM$~E"CеhO9nwI}KlK":ag6;Zm{#zI㨰ZϠ멁s X!37[{+j$C'x[׎hU'6 %J:o,o>V3;ba;6UOlRJZ*}8@NWi/ji?&t |b7b ;`Wd1Fm'"2HLk5AKX:/!^bڝWĦR'QMܫ%,z)4`:#4ܵm4<Ha#l櫤}:쏞{9l􏩍`W QoHOM_|Hu/@:ּshjT5},nHe}:!ȤztAa)ewɚvx&ưʇۅD"=Ag5Hp:,o!jL. $T~PPUY*:d]|\ߺi xd+[L`O`IgCvCy/<+z. Hdȿ@E@i !E: ۞t8d U/SV'\x}Kt|bqx*q4\ 6Lh͔OoH{!RӬ9!1j/̀=$@Ŵiױ^~c^aYe"䙦PxTS b1Ћa[>M0A(z|0p(E5Yq'v ITl,p5/i7u1e/UUp\FFG5~ma*~C\I+aY?pΝԙFsa~i4) 8?>G2>l<|b=$0R~1MhI- {X=PXt{Sݒb~XcvLwVM'CH|ozFt h"6@{0KGt t4)\k:W0O dĉo'cR=٠܉W86+tE^3 e5 6̪+< il3oyyEJDX:Ja.$P~_sn\02.~7^^l<4iC v̐LF4ߎQIZ+5eP }:grJ/{(1I^gXydFAn1Ь\L!wl <{37X ?i.1rGnFp@eqEE74g  o{"- v ޖ7[(w FHmmKi7As | yy9fQiLC¤ޭ6)w^欄&fm=hqk}Yp/T8$Tc&~ȷgKnHP#,ZFP#޳P!a-riܵCsO;qrKRdsn Nk8 ճ ISkFV2tb RBK$l#e~$s#ClJ$Z+#' Y%=E`- ٴRЕbh1Zt@Mbr(i'$`^Y!Vq =}NxA3(<ηd]w+ o{ c,ټ u~5ohH$۴Y?R5E@HZrVlrxSSh,;fPP/S*.*ϊg Պ=aop.{u<|6/%Y7?IL䤳J惘WH~+:<\+chɿɃ? ͽ@h4 %S[]6$hTweC!$[ϫ Z"K^ׅP|aMpb&*w@v(`p@3rbq;ʔӐ'`"MVY].yI}N7,;ftdVĖVb4J!ЃTJ{=,]"\Psz:Pӷ51r<=]Ag1+ vd z˽ɹ]F{L K: Ԕ\-iC؂:1BGŇ3 C̀htN^ܮ`;H*rA^W KݏXyqɣGݾ DH5n!e7aql$Dٲ x{K-u6V Z@N4FI/vA=s~fM yYp6h߻wHშ 〸pE78|&<!JLq@[[i+e\Ym+K1= O=ٍ":!G!D7GlvQ]/т[;mtޖ*vL`LW<|4a) R:4zBUPpCX!rΟxE>@w $;i4v܈ $y8J$Y^kv´_#fp4f|b(:õv(Y,_<݊T ̷#˚лE}aqagoO`f4X{ᰝGS U4_6"79Œ$ #-;h:%B3| 0m%["tmE,1O/7#1۵+lXk )[s[Q>Z+wJ* ۶$n6ӊĢi%׽p3" N+"Mf*rHG  K:7ZsT/ցA=(5Iܴ:P]2٪sdl"K+.0RkeN H.>5@A}arAkx67圔1YTX7TG&R0O (Y>>6qɌ=2gr[.3yԠvw~E&ho1Je!\2+|Rk<.6wX  _ݹIZU&)^V[ @=mq&Q=6 og<p@ Zw5䗠-8 ZO)Cu8=r!XYsdϿ>!WصOt{P|Cfi *BgdF9W0: KMHm%zNE)#c?ao4Z:W,\v08DNu^ɘ'm@"i5܄ek @A+,ء .`XY *L_Otcb?isZo6j5%1^BŸ$lTҫ2 ld}}Yi`eF*: Cm](2kwf@7W "|b'!pߑFh{N,@0$Z!|"2gOD_̾[ I$H[MaHG4,Eyt1w]d7u< u 'H&[I&}-unDorslimx 7/V}la|rV%iۂRn1)qG7ۙ7<7C"i(zͪoI{ЊG /QA)+=%Ь ,Uu^;ei*%'ΩB GY\0it2.Ot9CLm5GV?OMUN P/(@>2in..5) * cHTt8 1ppOKYӭNBm) >*rLtg:Ṃt c$[KZ]z7IcK栠0߼ A)m@%i/"ULjac=߮'8Y9$w+ISrf_[Un 0?[뾯6id{G}IHkỷc4 伉߷>#4biܚšAWL"d-zX3Cͺ3lz 5;6 @gwU@NdC/$˘OeI/iL=QwƜ!? eLs,;6A۴h8ﻸJ\{:׊')EWW8WQO,Uehd.׏2%wS}Xg̸\H=a,Ux;+OGғ CSxhu{T rm8TH8=w+*Hǿ)454gfp! Z_TQH 4Ż1WqMެOvy`[7`R7_7;&`3m K<3>NmvlȻ@rƦNxEtׯrM/,X:'iIWyL,A-C-[.cW\2Ll=`T~ʁzbxA#x8Kƴd..NFBe!+PXx.rN%֒=5$lW 0}g ,I/_8~kw\-kx[`ӛEsL!9^F, 0̏p #bv$,6(XŰE3C?_[3).l 05}B  Znk;N7pgDp^Z! 4lƀ쓠 ZM*{szyxY䋾 c81 FM*^}DO%e~s jħ"_dp)64)N{R0G{ANbj,g.M+/VLh(&Kj5h  k$Au9׶ߋz-!>qٙ9W!p81Ȕ Ed!ӄ7!^s+S/<`dM؅s#jƢl)FW,M@M[͢JF~8R0#cĀg,T~><" & Ntrй4ákD'8r̸W, - v-a:rxʾT} 5C`Rɲ6ڶ3,2AؚvЉA14C|0jt) Xq`P]ry/@"͠}iN\kL!2]L|K&z8`kB@ 9dRm 8MHLN}~.ړRP %c^q=!wMCJ{,H4"%5hdP9>@e%dL)2my쉽 Z+EiUzYUB-~l˺(WɃ̲52)5Yw 9Ճ ֢^/њ 4d$)-4š:ݱC (SzJ0vBѻc l `FI*@$H"xy8Rto.'%y$ǖ%8v4RlI|:D+*"vy 61))_=~'CA $Ff-K-":׳i|gaerFI3o9Yk4'U-6)ϵl?;V!,9/kWb c O2|1՞k*:a<ؚl$4c<ت&&?ُͻexh,Ruf!`>7#[Mn>>L.}7,hp w50C)In12t R΋`\l#/-dK\E:]eYiYH.g(r{0r#Ľp.|V4)Z70hyP~/8->O!?#/|4jځ3Q{.&GJHB.M[/RA lMzUIDab[JUIɯEyibUvHѳ0̏Y}4yܹxw $-]VDc0UJ֕{u(ugtnyW|7`F@DQ#2mq $@%/6 DPE,VCQ3)i&,ꐽb>,Z0N0-NS뛘 CȲGbTNP)-Ss4;>>)9q>K6A[~: +6VT+/Gk*([`[I`Lk>Omu!Byl$cwb;HJTdߕܻ?/sI \qy9kcCƳ$ys^N<@b͹ [J쁖m*\n05dT~!:Ɇ5+8}YMKl7zF-\ ,j\n-M^Q3\~&B=2+v!`DjC9.ZoP:iqَ#tZyX+ tVයQDi$,Fu.;HM3~ skITS;kveH9m`M:&"j[agK7Ḝk2i NzNB4]auY9ұ.EQ /VÑ 2 x|P4Z[6'4Н2;d3DюaߖGM_ Ox旤^lnhk]!@ް&̅_7_zT3}T,{#*Hâ=(Ëed6Oq5z#TQ*|+ m6N1$?IȮ`+D5ZTBy=;Na)Q,XO( zq[|$U6pvfw2}[qE;л1ӝ#'%uEhS0C|àxI)ZlVH])Pi#^>qf"ʖm%F?pfRu""&[51ۧ4[†BK|Ѳ"GȲ35ZZeEvuޭۈT4X؞7V(] w.iI>i#D%#z[ _Iqwb$?\ibQ;\5DFwhtyBLC=&-&'x,|^}ĆoJq cR?eDgA},v iz^lqkaz 9ڶ- YQs&A4wǒDPA'|=ow@ DbɊ%қcF(8Wי`N&B]NCL4brjb*`asr =?efNJVo>2 Cpⰽ8UM=kGXMsM%3䲲a]!hwq,{"s`nOȐ~v ` Z1r${z@`;}Oz.Ffr sufυ0PPi6o|4]JQأهnxOϬ3+#g: \c$ՀaGOꕝk =n:̈IO\ŖB w`fLa'l|֤rh< AK/r3'GSP9;F welZլu̚뤉ޮElqt? O"@UGt%jn,:#Kan[x7$m4 ط`>$}>؅h 4Z| Aᆬ/gXYz-Sê!/IYߵ+K]wiO}=}-Ik0y+/0A"[>,D3H&cwu0ku񷯌DsTG%O#W;FT_};}S?F÷dC41|!441˓)\LɊ%c6m TgD3 jWLzYumIvi`p6,=@Y$^,Έ#8=@QG& \V+ó҆[[`%I$e߉?5WWy[7jfVڨ=󥁴@M+sIp"[> -RL=yU[/vcLAG~]JXϐ|ab~E٬[hu{(8Gig Ti ^P62geڎI@"{v k q(ِ^JɯCqI22j<"*gKrs:kZBxPz+o4יF@KZHcxߪcހini4_ܝc*; na#~5k/-^مqCxp+9UYQ_Ag]tksr|uB5g^>aZˡpY,zQuj;0Ζ8D5DXaL}:5C)xiح>|&1gW:Fwҧ]av袠axMhgmAʵdHW9'PxQY/Aͦchx> y*J.K)s\ K,h2U9&c+-/MbFs!] |S q/LY .Yocޣ̹X46{͈5ܤɡ7T,>FM<.؏75xv:ȦnML-φUӜ6Ч?O =#nyTHak4+0_pJt9xMeHs~u;J)pg6B\M" TwmJöb l4"zrC9|(&IPe3w5UΠ]D)tP?F?FLg_~jT2T{m _[۩Tybp%Ñ'ϽHf13XE,@覢]}4YΞ?J?"<|*yFy,n{U5N|87qv! *=ȐIG/tDfm)  6ɚOK] mXIp2/!g鎅ZNr%vѭ$~}C&wQ4ļ_?<^2eay/K@K3KoŭkSgj-1=Kn@ f.%J8;D4T j 8-矊v3%B7+^(KD70K lx)MAGB6&ɭ6W7QQ$rЋ&nAžN`j.klX0o`T[zTϔ@o]BKƟ UhUMQ?.)ѓ60~C٩2 vϬfvR\l=2 iV&窂*ɋ$ܙ9o10%I,oO- DLb&>f Gѿ]͡?ܻ!6ډCVY, ?$gk##gS,̊t5¯Q4p|*p=e"Vu*h#X!qGezlތ8ihOOktNAACdd_P?<ԔB^65XN[vhX^}vbwB8TM<(GWA3xCn/ p+X WX_J8Hux r>׷>nD1fU}4ˡ?$^p.q_Rb|jLPeE lkh̔fYeW>l!I}M*jXFH)Gso˟^b)E<5ŽT0j6ijDc=KaԐ #s3RvL_ /au+ZAuǮRI$^?d)G۠b$*4v#;d\cB-.rӛKf71fSqq|$٪U/M?U]\Q}CŪŶJ{Z'hG%Ұ%~.CFI=Ћ`͵T d#ԃFŪ]@ vBqRU`>UpAճݧ //&<{]ylT mG $MՀ;g3`+Kqt}6crj\gŬMsG(j v Wm$bVA<mD kE71f@sdYeR#q}1"DG}it&;z0A=js[g>h_ ein,N>O }(`)ȉu(] _?FG5\1%}{$[-<``,FDOZ6JVlLff6&sV^B a7F/0 Ordo&5`m8a1 =L4MF\hZ'CGHH"p5BPqU!K9]vUlo$>KҞסĄlyCb1Gf$aw 1)kpUȣ ޻t""eB.c!>btA9G& |y>֣Z2&ۦWXecyv.|ifCCIC%ёgV< oʋ76T7H^~5 3:-kMhS\p MR- pA܈4EtP^5޾dߋ%'·m_$et_N׽7<ĒbF'w2n A9\u,n.$ig+ KL+x1m$O 4E9 q1h fsX 'ʜWnv1}O=Y۔Q̓ ÇwKF7waSEMEIj`qA&0t?'6_C]-sIYt Yݛ9#[UuhnADZ#HQU!_ohmH8 fD-yF+#̢jū6][^7}z<8{Un+VʌqSj&YH% J6beI )KJƝx e^;Ե;ICn05Xꑯ  Io;. 3gu!\hS>3k]ú˾<ޟDYA`6#60nXm`#XE!89` (P~`,/u¶) } O)Eo[('bR^9맻 ;1=3DJRl`i$Tmk댃v~>ꋑv^z~g`\(OHxɿ6w' R]G~V+b-7N"6JNlYyKgugxËz%VHAS RV4d`mkV:q>~Ty8ٛ4$^@͐$@]Bw?Y8]uluv(x*r}$k>Nt; 0?'x1kͥ~GNʠ@:ŇOWF{F;>˪U0o&oH63C.-#Ż>R95Df&e(FMUgOɕJuf{QjshFM¡ @sCO[a$$)6kajM4hCLLME؜A{PLd~w廸ǮH0aGUղJO| 'H H=Q>9- b}*@JƇ]5! zaLV>R,c@f`*R_!`*=y|A$AKQ8)(K.% Wk7I58Ѐޝg^BH3c fiNFxV;#6f52GsU.nz'4Q&C:=/) &и`++_W,%`Hv⌔#"l+:hpj ͋8r߸2 R&X}Xa}% ЇGKYs)s; X^Ky_B>8i-_h|؏c45]sʗW+p^mv We߭b~7v񄲂4qx^p+0A9[bսW5A5*c Iq!+^܏P8 bK:1;.%N*hCJlVW U=~?:Fp׃S!~Mnwhyd X)hRQX?L+LB $X rd85m8p/y,pD"PDkWahdGNXUy/ȡ6*?M̜^HpއJLλ÷,Ԭ!.޾Z]l|8֟o[igD@j_ruhm|#GP>׊~5Ws=R5KZNE(XY\ 0=\,N4g=Di]Rɉ;[[, Cps ވ @x^ 65p[hTeh$k! #f0Z*v%;݃)_`6|,֐?t/s MZ0U_B@B$Y%g Qc,{ふ{V:Ƥ6T܅$ #2 eEO $ŚbG[e' F-%I 0mٗC=Pנ2D.S>ܨHr֛FƁ#+{4~:HP*މp;e KjY;U PNY-R6b *`!L瓈eC!Yc2$||UݏL_ mcJYVyx\fp z59Mn1CamU$==TB|mWW:wMTt`^3Jt~/$aVS>OGG(m~gZ^AJ~F>[_EWGn GרW^쩔wSѓ{nqWVYiAr+`0) Eq%$i+ :A rZxM(]^i!'Li)tESX)|haD2[FUٲ!BCWlĹff&>V+ń+D8vEseP)*._k4%&E> $呡3JF#hNosHEXȕ\8l!e!0Hb{[y9vڀ;>ec+")b Qlr~^GԱbT`jGHj<$m!^F9`N9ՋN%eتF ohCL(!Kt>m=хXf+ˊݔxySVk/}dkyX sHށ׏X}"'rqX *>!ȩȏ닃Dy؇PL&Ͻa#8:cEup=%\̢U(R PO:l̙+`Gwƕi[Th|oETJgzaaCNKR\ #6̱DzeA؃E3H@\^ySjpui(~R׼!HKޚpݓDžB+O[D̲$c2I۾BdaUOT;bĩ# r5ʱ8JteyA=7nnّjd!>>ȶ~rг 3 w!fWwH\E Aj2#`X'W*hs55/?!pɥ"϶-ЕW~PYd'xp Y/ S芗Jƪo H?}V-YK.5!C=?nz0b;\J/ۏIt{I;G|5R$,'q?.%H+@yV=Nked t$Sg)-ZŊv2׺ijss$HGط$y7S"GmݶoE*9Ow`L?RL^9pdV;>[+{ ie(R>kX/d5[|c~437#R'xXa-#ʪm- ݥ:tHv*RP] F}^ZgaYs<V7֙A1;}a4ȴKa4;&8vaPCG;qkjW!^MSDwōڢiS+ZFᕣha:< ;Lp\0*];yH5XԸEyf8M;c'[dF`-7eSd#I`QγD^@hqPaPK4#G'"r*xG7_eXt`P&TX Gz] ֏SB'.m:VgW,$l!#'m\ E^`*"AU[]~сhL݁C|*ך?,ߡc=]f4).UY>MCR& ihazX%%kvB"37*\U" B3DVM5[佈ǎQ^$\jeP (tt`h]'9^{O2g뚇)#4l0g[Q~qRiRXqMFvnX/M7)37IYҚ%#7֬Ȕ&s7a=)[3Ql[, ?퀨Lע?-/x!F mi!)%&^Co{KKX1:7* )rxטe dc-n\=M^TL]GE:_8e$PօCu_2=«fF-ʚPyAJܗs$vby[Jٜ 床Jڣ4uE 4ha]~_MxQKͯSamz%BsxCM  /Oad__T4_'hᩕ?.Jס6m&0+Qf5~G =07tc-$|Rzz]Vیxql3Q>>ѕ 4JIq- 2|>!$>K.HGietcbB%ntN/(2c8?u.> kUrUR[YY}4Y*E60DmK5n1>j#?Y80uf^Իe?}|/oA4%}\PUa\$#GTSi(pkţ=AEV{Z ~~ܝǍ(u2lM+;R&Rz.*wєHdiT 'һv%0*qkR"ɳR6n_+ښਹrYY%~c~?8QU4DǠnR|1J+=/d)o-29DaZT! &)}!d$|ip^z)!<(zdDƟá`*S2g{Ƈ #3$ٜݮ)Mf)`6xm?}bDQ?Umk C0[< DW;U?X:*K(}yHrP,II ׼& FH6@yL~(T5 \>NB1F)]=*҇zT߂17(|J= ;2n >w[mnNK=4jVfҔ^S*/Ͼ/3 d+p(d57L̶N(Bv:vbrIu-uI{ka~h]K(c)K[)b&>c_"Ȭ`@`HMzFh_I|!+%ȐqAM>0wSvH qԣC >I]} +^ȒT%A|6!/{.N,j6_>VdBeCB}5>"DNftSk-:@ J|-̆fe͐䲝#Ǥ3VǟQ$NWqYϞFELRn9&Ιa 6i? $rq0 :q|H}P RJXJ~2y{9jvEϑgʌ  4TD$Z L0[$zxU oי.Сw%,٥!;8|Zg,Ɖ~lܦ-oŵ8vF3h1U먆hL%mFA|_1_7J-yzvUkǨ6~@υݕ%R_6IŶ A7"BaH2?htﶂD-=E^ bn[2Hw_3A: \@B侘="y`E|(*M8O4S[ə !5̅Km;$RiΆjBmtm"!sJ7˲wJ+:"Ӈ'nJb`sEDWl-ބKHEaUk 0:.f^cPmEv,L,O5-1r G)7 ݠ>i郄PHS B 5e/Qh0b#^}lXBRxbWD yai-(eCTlPw }9ݏ<mvT DbCr|ҿ k*CatD)HfƏm4-2y?mO5;S| go믨%OAISOz&Fi'Zi?-< `NK.(NYoѫ@ރPF\ZÕup 3X%C.ɋ5WwV1[Âҳdo5϶8a\TB>LKGDC ^5XS1)$"T}msCQOnW0FOj.^Ɏ ΅5ӆ , bޔxao#c;ۘDI?T91{uy㩫FK|WaU( ;kԔtFMcx9S^-֝?sVT}$1A(Rlg;(f z%7\›V(0us*_Y?$3yc^Q7Ұ Ife`1acUG>oFhfӄ F9BO\J 'nk g֟蠳&d߄Z!%5'fF$.d3y"始|P$j̦˜o;qor tx~u~{+۟ _X;q˥%].-}]8唶8PvE7,FƱ^X=Yܟ4dHb xklW(eWzzgT b.4.^d?kY$NBwFN,j|;ZW$hO(-;4+Y:ç\;-~l.l]),7 ]D҉1t/݊|$'qqgCtl8\ y2jx <LiFዋހ@TnyӉ6xܱxVYY62rܾ rqoϵ [{=#ɖkh)o=e*NCV6a/4-h-huDM$Gj=i2Nn? =X (7KEW EkG ,s!ř7#[DN{G͊IZ~9g ~X9n>;y2{6EpL 7uMͱ>o|A)&FDeΩY9 K7nZ8FxvY*w֘}^!sA,2IMKu5yH9\a>Z19vÄB(]r9t{BW7;?3 .gQs< 4_w!@:*o#:JU@D}"umR7'V 9p)Ah2~W$+/4@xgcHM7? ,Q%S5_/P!VvF*Rh#N~f> ŧIPesđXƕ%HuuA'MF(pD~Ƶ0p9DƊQcN (fDI ĺ!5t6R[+-Ά>:l.63 bxUJE}nRAfm1PͮiG6 O |*>ʼp / xhVV[$tmW Rxp;`3j4 h2a4{U<_~Qekncu"akG5ÄO nvT~s_c˲6Z yX{dgTo.t$g+Ң c&_Vבvn!aIiY:Tg{PŬTv&i\O^Q,~ àJNjtFJx Ohee(,s2޼@Vo4NJ;E @g'ME00 nд bPLL113+ØxECem4-Rӳ{vC_#\L n6Ď0[J{(h)CN_ke6E"BҬ4wŠSHvwI ՞P 5F׮bp4JA,W'u0TƽHrj}A4VP{p*ɸGM/7]F%TaDzKh8bHhCyG402*;Oc>RG3JQXO^tczol̢ېaFBG{H5S"4!tX+'8k]m,ʜT}׬hB^ ( Jg6Q ڭysCdnbvTQսJ'W8xvޗ:''fHBtDP{}9ʏ$U;O nÔF $>]hcY\kgyKB=V|Ǖ|L"cWcZO-? ng@ҨTǘ:i6JҰ$ >&59م͌iU/9j~%p%&TYUȾRJ|ǡPuth#"[C$v11>@Rnn$yuQi]Ρ,(ioKOZ'L4V;w8^̨0,V'EAFkh=_ʄc헪5'0jHmAf!.qϦ4XrY@Dk7!.lyVJq(JyJj۳dDŦzIg#TL|W8!b+]%PI(ᅆvUOdL9yJ^;[KRweW Z_R+8Lsƹ˅Ai̴iY n^ɟWs "&&;6"B=!$:TDmN<ز'4ҩ'u];csML&f!WFBS8},:/vsHQWag/eպEYMa[oN*L{ xժF`[º4y9FEW^;P k-pM[JYjƮX>~')'?kTf3lY!YlO846'<xNp)@;u/U,d 41\ EQ'J["]y6rȴSUB<)o1LgHvz͔I/v>i,ϻ3c6YК+tյ}҅|OJ,Х(KRw=`e>?` bbq*[?^FT3n'MP ؘZ;hxeP҆lz @qAËl\@@GIϲgLZX 9~g.{|>y(D;+TUȮq:< h Y×2Y'c oMJsOѿ _ym4 5&J;o r9cU"uw|*2 9\:+UK60K&0:N"hQ%%2#Ԑ9 7v4R|;b BR^ qj5WqAq3/Z_[8wNa~[BN cNQƬW/;.M -LDmI*jicB(?KiW0<]bQFw3q<勈mz#iP#:]6p6u,;MrkX}Khb濤Hdw9]h#.82$ԆJҝt ^M;vlDD`{=Qm[fLP_ti0?ä9ixn_pyiGcgy$$L\~͹ƄըƛPRmJtḚ!'%0>m;* h{@䐒cR["iˉf穆Rb{JwC6)B }O̪ \{ I/e @o_aHLe;ß|*l5AT)ne&?u t`{ 0__bF4l 'R]_6)6,nGRkE- s<)r."ְfTLS>5քag|F hHAZqk3GQ=̖sNeXtsQL8A֋qC}m bK1J:>-J;Ӕ D<[kUdeٓs3Wtqv>iwJzr\eˬ ,;s 8iΞ`,gakb;TgWQfCdHƳLB/MwIFi)4qб6Cs=2\9_3'F8\޿/i`ֶ/JŊyDՁDǜ&;M(`:@zޢvc0#lܓ6!)#DW=QۿYk蹦|[#yX8!ғHQOyxWGF{(aٌdhWng‘48@xlẻ鹀9U[M 75N`;V!`ZU5٤J2+ľHICL4e?Aifɯ]OQ>)9Ms(_S RWڱ ̙$hBЌ)aI1?-|w53O|%= m0To'dtSnW]Mކ+= VonhVD~Z> 6N ݌g2t0=@Rmz ݔv`IgN60wq)w]X5I;xsi%,G_qUd_C$pxC"2yT8newKtQxT_r~LusIFXk]q0̪;p:H R/A_TOG@1$/g YPS2 p,8T>7- ڞ~%viϯnSp޽)ཝ4z\0V)(P13ٵQJ\WD/6 .&]C}כ2 lcmd!伶`oTʄ+Կu/~9SiD BVoIz3 C\Q:>!\iuC$cB]SŰ%+"J IhИD ztA',6l?vk7VtCQc\CF [U&gE( D]-Ŏ@W&QѸқ6ض]L1f ߉ j ;z @:ܻj2٩u\wwE Sp:zrw yAR6$}s5sF҃KSٺ%׿X с]&pu+6?,;=#%D <&報 b%̅;@nhVO o+OScE I6(j/Mzx=Re GrOSig$[̨O|.}E5fBg29 P,~0+ |udxf"!S[!\P=ьPp`R[oK췉gd:rpq벐 ޶rLr0 Phy+>%VSVwt-:+M$}}H[#xqn_jn2bT6mNrKwlzl'Y~qж=u'-W\>_MZ c`2tUzmSW` x:R_6ڵ`Ԏ̲H(]K-y~LWE& YÈm p+lkT6^TBymq-=Ĺ^7=+^D>}PpUP㛠ZL>}DK 9k [p[.Eyх7ߑ QXsB1Oq6Z3_ ߣ< z-4,H~JRkm;,O4,6s$` Aز%{-;>⿵ePiHBQ S]I4 2<^-To|jpp3V[(F\?}Ew!} Po?ȯLj⩬hS\ST@Dih[8!B V(PЀ鱈2~@N2?stxgCZ)hJ2{O6kilN3"u0#aJP%E;i gK(}:E\BaXB1eS{W,VxnﳼYH1UXf}g_GlMEy1zvG,dڲE1rѪI6S6k,U}S46d lи" *4y-?jg']kĬQ-7ŕegY=M \!Lou-a"txLv ;*ﮟ𿛑ŶtǣcR/n뾻o_ eQJ+n}z%*!1vmT:rZvXmɃ-J‡5v%<tnuccT|XFX+s1敡:m0C/[4%٪W)XW1ډ*#P)`MQ=>>.ba<)JmwS(W ?EІ6ICYM89[I|v&XG߂tVQt^k_d E3}Y BMQ1<2ɸށܽV9Qu-0shz+#΁+{y4l ZX%Mk; O|P4lF@AC3;:aZ2ӀaY?à5&~`t^s1& 1*7 pLK%w#t*PlaaCRjkZk"% cq}F!.RAC1Mxʆ pL+ Y// XEQХd;L?+O$MoO1 f.bJGb01ǽ̿mV;FE}^EfVKߥ 0Qw[2397 Q{d+L% ? ;~lla#Z $ZtA?["ֻD꾀CiysP's{iOB]LٴG~nzX:֤H+c)ϭL,G ȴj6.:r Ly84;FBWq4$GmG}w>?Ր)aΥJu's8t7fOQLd:S;]A|h|ZFZMՈgV^{DiloϺv~Xd@4 u2~r.wZӛ8JmgI.{m12Csg'R>M]"Z4%"jb5X~$Xs` >613M] 1E.6 !>]Iz4<8t,Lh!؎34=lJR p";A͚RGS~w"WDṫYT{Oyh؊G^@+6"oZ.<?x2-zyD5J5V+Zn7>Ȉ?l^08Īwzb^J>y{# GRÊq@,=vb*K1‚NJU=J'3!T|ww)TP4gR G>V,#V]ڈ'LV+n(ؾWV|}P)Klʨ^+IEQZ~QZڨO[QSx&sT [Ӑv.8koZOL'ϩbR 23tF"3OoVg6LDX넔3IRs\Uaj\LJɇ_~dJ\}H!v'/(G=äcIoo]Ͽ}iG儲Si4 o!Z7+ ]^x8 q–UXoQ B#S$:ְ{FuRu|"gl}Dpn5QZM5A?;+6ԉ"3߂~}zdr2״Yev]l4i 7:"#IV2݈)00\{A'A $hbܽ ˽.8K {KJͧ58du~zk;@ uOʢVdaH {5hDŔN; vW?ЊSZU!o0(-OD.K,=G{V 4-Te<9u3'W1Djz!vuT҇l$562c'e Qvs q%&;IBwICT!Rj/B1G=\Z%Y`s:u'(SX5 7KZzEC4|u:cx# 1MxsĬ0Uu-1R[H'^.E:;=G~F?\nELIme"%%*?0TLy[ % otP xq֋+o<tzBuAaczwc"|+P$,or d2Y\Ss )@R)N4b_G.RNvJЄ;ZY%"6R$)\ 2q6ԌgW4#@` ZhEPx1ݥwz^X{!:*_KmvH* sƣf>~81 +vҊΏyOn%6:#WAz~${">Ӱ mKT֢k#5N5B_h{T<7WX2()H" +֛njÑnj>y @k܋(xSx:ںk+?(tv?’9 rF@S܇g8E9kKWQCѫB3](ąT[OEwgSpsLV5(B}.+'8=h%{k՞.sA"8tE;5`W ͳ_&&]"ur]얼obDPBr[T[#yFVN3:z/?&JQ؀xk&~ND3xaW<X"5z[.kDX' _5=[pȂ Hb$*)\[Ha+1&FtL[5 o*>o 7iEˑ?4 %=NiDFߍ?yk Lhl\Lss.j&^Lfp#9ƾ7xî=A }/}fRJ.[B1mf _ S,L<$%0`"K︢_}6s(.HI|štܟ|y}`хe-dLKz*Mb4jF1=-DOeB!|,NW⤓K.y rfj^TqH2vʭ)e|b_⇧Kvǽ$wvb;wX/>+nW /4GKnxq}SU|'+=ch|^Da,6v D!C/p?(v{^54;zWey#Ï@& ؝0qX_.* #}(I ð+Nځj}(S"C!W/ }? ^у("=S@ZkBP!Y%Ȏ 'nXu.̦Q?&ĭM4>"Y)$]v1Uo;}A#J._iOͼtҸ;ӓ|tu(xP8K$XQY]و8ĭ%{#A!-)pDE%wrx@LNvڿ=Fqz\Е%r$Nv±O#>PI׽rWLisDb'ؿKd}L;PO LdVaIvRmk@9xOȃjUh= #v`|KΈ!\ zB2 䂄?wXXk;52Ƥٗ[zUg`\=>}ሡFm&.Z:`;I*O{!ycMI[aZLM-踤KXoHkQ,Gft08i_ecØ ѓ#x ſk&Y0pO|ƪa {`.LNNqٮf6=hca=}evu/1 :֎^Efp+ H(M1pN+x6}=;H!C_{Tz |m T)Y9e`27mdzXXhSK<6 hR,ǻ/$ Be!@Қu"d կ6 h)1]hF s9 <@O0v WȾQNM?i>pi_XO/pp ¼ݢdonfo~{Q=!މ1}Bի@ր.ʴB9 ,PUYu(!9QƩp531JWI& /E+JRߗju!uVK#(5VY 1#ehB*:ђҲLB*|Tk<Qx@RF^FG%T#2|D*gwX/_!$,uG5l3D(6;J#{l}c0vK|>VU'! Y86|MC(EL0=1 ӚVo_Sb\plHಮ$ZK҄['A,rkPlMς/Xm,R8g_Y !xGP]PFӝ6M77DмWrHn>,ͬdW @r?d<#hz!=G ?=.Cy$uO~ЫM/UsoqfGE|t]`zхR]rt΂¹ =1TGl]׌!ʓ|o.Y+iogt:s9iL}qTU+ ؐ^t  Z¸Eė|Ԟ@կEIm$Yۇb\@s6jJ|j3 U*f0mj6>h79ٱp3"4R %2\IuK˖ :šQom͍ *eUg.@3?Bc98MH|P*tO82W2u Cyd֭һ_1ӕ_`G(-mLv;=;WQ?) di{nڞix59zIzCR8NwtX(g\{T# %HU3@n 9(~7kt&`縱P ]pě_D:@ YMkMkR`9Eέq:kV;ظj2lS9@,d%e*-8.Mw5]W%35@=ޱ!~Kk[}= ̈]:մᩚ z=d<%t#- '&_Z?mjoJɁӸjG7t.WbAASy{'CEm;`[=WE%R_xa/4i$7 k:o;*;㾪c5c>c; We 6t)#%]Ǥ"jm3<Hiʔ5^6]Qu!]eQM9%jo Mz/[~ 1w8(;ttٛ gMi XG K%ƈz7'+`9qsD%MdƗ? 8i< vsGs;X(t'@:m{~S֍t*{R:pȣ$[tboss>Ah ܎ yDAAIDr>J4E9AEtky6tzC83>h_ KV֕Y,3L6cBqm'GR'*vݫbY`F;ήi<صl&1 z̩{ZU[$CY##$1<{ZV+2Wvml׿1b ׊er*urIY nth[#ҙ 1 UKIƔDyU]C/0;z7w^ajB06sy6L&"z1.s@cl6 30h]#XzF;6?N ([m5P@\!e.9cÜ兼-cHzGgl"?%6[z4ož}n%"SE&b~5{{^wiuilj7*  []|W"3BK7@jgj1MgTܐ̫867 6#i\h ^^'l3eAB!oߴ9Ka zك(s*df?²/[MCqdT7׊v]^˳G2)ysy0D Zg҅8 *g,1!; œ$a&uH"Hu Qy\_D'w#"Zܚ^`d);3n( mp%9LDHͶwaRa7Hi.)50`;" W<.#,41Lb/Q荐Mԅ10䵊qU3՜פF:)LHg#9>Wr2h֫YYL]u%AbR11軉O5k-Hq\qr7r1#o<ZĩR#]QNqFLNG "|BAzI z%Da!z[gfnlq-ʸ.%J`HxNh`NS׊~O3 p ''?O6OݶLv+AkOb[m %Еk(-%=݆*?| tt]8kH+Dr ܼw$"gnU<.U͵*ȼsq6fJn5Sy/ lށHQb{MA;4[~S*ypOCCHK Nn<2gB~ KR+x_ˈصy'1j\" T91 O7^  81A1w| F> `τG\]m&fK/,?A7ٕExpSxϪh`f}[mcgq:^/-$O/of"4-&Jw83|Y 5cqYO=1_ Wvkׯ. #*_/K'MnX'+ *67d0IclVGy9lPH3F0c%6S!d&,\C_7p#dQI jKV~!ap6vۍȿywC GTc [8ދn&iFOwIk9^KI5i@h{YneP#71Qppz# S`U̔bI~lVAإ丏ɿ̑(OA޻g k%B`MJ6s}V]"M? ś 9AaFj\9%Vԩ=p 8OkkrUэ7JCEmۅ?eP89Gx7k`i?~2iΉ&җ!4>qH$B`(ڗ0ė^+C7{{?,Q/)L< V&cVĝ5IzMiQ]=Sq( \wF_gh'()C|jURLoRڥx :SQNm@3ISm'|T}oa\(ξk7lpkpGg#Lܧ/g*-;Du7v8 "2gcS!`b;2 gukvAL/+#%.vt,~=Q0_҆lC^#>,vA뿡Z qdc<F iU,tY9Zי|sk &4֖rܯ.,!uъxcKX(8co;l o?knjxG"a=="Q͜ km(A@VK W@6BM"'f ʫg:p=|̡_U ~ge1EOr>'~2C)&\Yx_*8[+,kx;8:vբR)Ɠwx%xoBHZU[f+MHYW4 "L1FӋj֑i&WNjnDa5|wD 9\coİ鐛f+j4*H#.0cbEp.c4[ZkԺtk<ׇ cQ{ pfϔE{*s߃dx?t"!I>RP25RJ[$r nl;^18sHV!҄A{}}Sݺ۵.b5ϗ^nDz6~4 m@怶%yy9xWmt:w>ˣز6Gz/w.ýWzpGy8˭ 3N A7 _Ӵ߼zn5:p%UWuix1(("k%y61~ -(VӶMc:Im凭*@H]!ÂƇ(d7piFVgm6Xw5!6V${~K4a@$[I BTN#QfS,:_uCC`/ %#,"O:ڵA8KT)k 5I< >2ޑeOG2ZN ??UqBHq*O!y9SLՏA}۪|JYس2Og'wՄCT1Pʹk}~d膠t' !x7 _{H .$Wu8]&&X".t`ZA)!ߏ̍7*QP ו}vto?,d6t0R"<^Z#1#l E'y{9]muDPZ]8| N(wae\qJ%Cq?޷h. uduZO9}-f9FqoIV,|qG^0-YV%)ߤΧM"o9RzErIsZƭ/:&`3C"]{ҿ폝vDfuƙ ! \rYDڈT3fh]\ϩk&+vr]zqɟLha{߃5b$9ڥqCGVo2acB2!DkH,BBH_|~l/fgwD)NDqH@}XBc~iv>PgBz03S17l=P]جfT">ISд*ΈԹ]g-d <䑇.nH'^n\o+J^c6>^R3k*?SD9rGb`6kuu!]p#`(!Ĺp$͕QvD2E_rQ/\H ewW6 Z$keRt(+8>.4r 9~ު *J8/pPFr緗z+)TK[Y5 ~ vGA#p4kc1C oV |,$'S&=>to!h|XywC/kB5yzS jc E&,^X6g"۫4!ڋ6 x%iL iGf'8:M&2a^P@j^XVUH#n1tk,Fy:xeSHA2w%2w)Ff"Uէ={)Xfd[m uxYn(TЩчxFβ!‹%bR]NП6!~xUFu{XmEnMbjW6m9vbgV 1d3mbԱUɇ/&.R8o%(3N97hTI)z(50hr-}pZo+M@y ϬQG>B+ǒBљۚ?aZHY N;mtCؠ' )xj'\E/2,76[~!\a> ̯rDT.ktYz;5D^> , ܙ e$HiӺ ȭte&e :vfhΥU "#TjYD+|ofDr7C7󢆣S"2GcJT-#S ב!wC!v9&̰01AƭT.1B}5!~%u~!$Y& Bm4 (\6LlhqFzS&]=uƃ ܁w;VY :ciq"!UjE3SM @ĥY>Bf8(<<gj_zch ?6҂pfU88Bki,YH֨qG8aXPm9{VFT])xcgJ/$"hW*E"{՚DA/trcU!Fµ#~'y۽*P dQHm Cgapm} U>t;px32bMw&齰(R[Omvc>Ĕ{0Bw{s^Y2r,w+rɴ3o~Mo$+po"O+rj; Cwy/J5P$KS!jBXgch*-tNYӴ)rb *RQ jr+*7E08۩ZӐ'|:ga@"?dU.px9}q&SrIbEONߴ!elɩN2#%re$%X<)h}iz<cҖBq@5kxwD&:i9% bM|bkā{Q5(L@ .RrUjMdϭ745W-wuҵ(-.fNSk8XRS1ZLKG`KYuLQC[Y >L I[h=Kv13]:PaC;X8.;b-,l>X*^$CzNxt?T)tLFkݤ1\kWWo|{݇ *7jh:fPىk%פIlgԞ~_|Tc EK[-d+Qe5 ]_]!{H^J\M'wz;IR!qGh H-ēUhl"S+ʑ@Bz%Xu]G,VsAiߌ$͵̺y4'V;y^Ury殰Nle< .tWvQw H(/kV d$ irol|4$0v:P?GaWt-e$u'yjא4"u.Rl$g5߰7sV|AX8 zE)"&7eCWp9!mbR iJz rEgC;+v9V_4sO`UM:ygYeCߠ{{}7(#cX؋!so X.wB;;C(gaYByJA<}A:9q6b<a`觚b.,IՋ+YFq򧡀lhr"\=}7#!ZqˆUlD"ȁiO5[EX;Se6 0ԴMIı<Ѳsp%w1~2Kdzatz!͜&D1we! 1=uٗ'%N8Dbq􆣕䘣Ux e\٧s2yYB164Zp i?s/Fڂ46ʒ-F OBˇ<2eM}!{_sI9nm)c2ee md{ BRlIN2JsAoD,Rn'4 :1;|d|MjʱϠ}v躔Emkޘ '*}TRBw$Pd۠ 4򖟶}_ 3Aj1w~K^n27* +]gl/B@= 4)\"1Eۈ 0^(J`@j{駤ngl4{x{Ybt,sE)?ܗ 0%(|}Ω($LՆg̊ kđPgv2cy*gwɕ1E>k' 3`)p@+B&By L"\jHqDSqtXVoR=)7^鍟;"!܉ʱd/HQ"a`@& {BBZZohn:?詼o$ğH-IqÊ5y%*68lEF81$z Z6g^Z YS3A\qtV{y k%}oXS`q duY%4ިZtjw1Ǫw~ mzCB1xO'хhIjE<~ !8s ,HQEe('7|RjɗV^N Lr;/ّr$n^hhXdcV}$WWS#}4C&N>aUA1f1nsݗ2:g ~2 A190=MA!?ٷVC@`dF^͛G%O;xtgOٵ+we`2)IA Mu VВ5͸1̦ zy?y}KߟO45f!nyX~,^-W;{0b+)~2v`4/z1$\f>FS54[:%$"?]ՃҘ,on1ʠ |ܧҝru!1F&ȕY 5b7> ' (]Tޕs?T,#4XԞ~J/#M0YmL8:9"^vļQ)=b1Pz;}PK.򯫶a={X۹e$w-z]SXUa‘3"=BoH iIB«]$Lj"~2al}g?S ui=٬4o5 i&r3]B>VDWw+_).ل _C?1Ż)Nfݵ_']JQ9HZ2o^Z)70` =*g7vf_4o N PAR ʣ_9tpJS.x$$Fȶ(ҩPg:_dn5,?t5>MTQVbDҐkOE 7[HXDrSPtU5/N4YM@qGrvI6w/ ]*V`zWw[,Қ#"*S.+5)$ -V8tcғ{|2ijUXDDq+Ce!ЯTah%NPMNa(Jpa:$gK: ^R/'%E%iijnۨZT YݵScb`S<.Oi~U}lj)A;3"BF`+~na@ 3x6Αk^#}ۇ*}#7q olA*ܗ< U\VXH@8z*ЗDǂN٢݆oRVDIKƿ߂]={?TZ>#Jmw+qY b8{mVY~/mbf`@<| ><z"LhE(]W,R9-WZ'R^ˡ0H!ޅ&54~E߂E>鏎WtrU ~DhߞjƦi^hʁͽb#h q`0vcRCvo$|<-ɶLr؃ kEN-8Ui6jc A6qrżalR;Uq'l~S*-Bo}ԭDƳNẍ́dR"~{ ޹KX1;Jh"V/J8&v WOȓ3̶N]kOtߝvHvW`4xUb槗 5&^ux*eV2e|8yaM =k3H,G5SoJX4/s kȄd',6CHLo7 BP{-ZRsXC9&t_Nf9OZ:mtaA¤{ E-ū+xSNr%zD4ъE\LZXsk5-?WrU~GoMp?tDlĘ'}瘜K5CLQν>be0lmT<:*J>Boi/2geb=K'U`P񡉹XTC} Jp)jZs'}FDq -:p[ݿI:τS]Q$#5rkbul#+sB=ue+d$~'B>N1F,.{C-(w+,`%vQ@-ġ L ;z[ _[o49CJO,5,î/ Ae5?&qӠ:5QD&_ /&\oh ,8EmKj!dQpT_'h\j&\]nty'F9{aޛ&'[é$2\x+uP%0sF">v8~5ϑw ^(lzK˩9=y4:lhFQplifhuj&ت>WށXzYxŒ+_!q[\Θf_ <-r:Zu؝d/d??9J8́7pjdr `s-EJivmw(&Q92" w eş/?*8?T׹ZIlIL+% VD{4sŤAajA:ad]8zZGoy4WՕNcޭ}VlmpsyWߓ.b.wnh p@ţYQCj={5'zVbH M bYO{Q>Ӯk{ pmDcks=IwJe/";>yuC]V7av lߢL\Pew T+Uw,*~Ϸ ~{Lvn)K"F<:y[ʫ+oB##mATw *%o%qEM?n -p}Y뛸Ir>V֕u&)c]M(iߍI5 28{H.ܻ B`l~B8?͙ @.aPG _`խ!TtVI*''w?] Ó?ǹd>s'[ҡ1)oc%{^:"HS֟}]H|e1 t!-7u&g;ds;ebeh%ٝ)b{p_#Q%G%c)2yb ֊S=jq(J@yȀ̂dp]PB+ ڧ,~xOJ3qtȣ\.=K2a{fwnQzw+K\,Z[Am95(YLQך_M } fyѐ,<"GO5?jݎv/x)$-J," uL`WeRe B ǻJҸ;d!Fi(nWUaJJ05at7*gfC~֣e1(l8E(Q IuH!+aPlPJ"2QIτxJ4'Spt-,襙 evEp6X߷+.{zCKlh1>I]IѪqk{GN眑?y}_wVhiXvnH-k{aL:|M_Rbl# %ԿW-[]H+|T-`ԋ16TכG  * ~8JՆ2!LjLv`n[˱Ew=Iw`a'}>Tצ0SnJj<6W?ˊЮAt)٠j0^l4̆,c=ς$ܗN@] E޼@'MY'6qKln߯{ҫ̒EݞZ$?aWחq1JQT予EԶ~r&ªcs ' ZPlO_Ԡd.2-={ @GDC?k#a<$8{ppV  같QĒ 6D7[TwKwd4uW]S!ҙR#Tƃ"Դ{m~tIqu=wvՃ۷BIp5kJVce[:GOkITBr[ɪY3reƞIb7M*}p9}+zVX?,ܣ̈Y& v-䆪ᥘGY`P&xLK4U;'̴x'?7M^I"z"_VJ*1 ظ3Eٺ 5N\nCG#BAnӶy[<5(VLU-BB$̕;0~~Fl3X/N.XJ(У@_ ;.S T\C.ĚoZ wXyjϯ[)rjE }|XԀ β45ٺX-Uh=Ezڵdq?`,;dʗI@-Hd5%7Va|rF'mR  cl}Ab׶@JŚ;;k ]Cˬ+fœM%IGJbƳ640MfLsS@ҹ7R$<- 쾝k fQlP츇&`\JkiHEI9< ْT9Pa=;l>!]+7q{|}yyF`\ެǔR\\F^Zّ_FjYϙ%?sNG}d ڱ'LfCcR#Tp)!nN42%`_deSٳ|k 7B6KNrYOamm m{`4" "HJ DpUUT]RkN;d"ʕVET|Y!#hɮ]_Kbpu*k>jAi:T)=ϽmFIaR³\v4>WMi[_g;~Bƫіs(* ˶ShbBؠœ(`?A|TZ5^2u ؑ1vɿ N-ц jqї1h|ֲc!_瀸Q;d2+Խ~CAĝ3@U6E8m!/7T?!)1 P"HSQ' V[v1sZ<ׄm;w6;¶pE5a߫ W J=S:ɾ߂6$IX2kv!}o^]a@>\6y6J9Z\رF,(ULd<ORD@}L5$fvF+G?t?l3hRp9</y$ p&{a1"45 fo~ewy~4unχcxKH(Яc%gS1Vh&>e\$bv0}j}?.Ye[o oAzo4exZ=̳{`.O~ `auâeD@`Oaa 20%@/IX:{ޏ9 ̮mQR%}ћIoT́ʘN>03Na{5IJH/&?L6sTG&7bwI kM'4c@p{CzEւ.آܹ4L64 OADlq(gfqw5 ѫ0=ߒՊr8GV׉QzAPⱍN5aaM>^5S}ώyY-8k?n;Bۨ`NݶoU:7μzuK%êWue .rj/5r!sQ~Ə5q-rOGRo1qY7a}6wɕuSgz*9͆ ` B%iiLn.,q\RϝХ5 eƗzKXrVӠ _FVSq tgY2!J 5|

h(_a6Nyėc9}/ޛƳ9|6X_>*Jh /ݏwm<7-j|wQ"^JmCm6l2UvR2D0mye"? Sݎ_a}y/L3DQ`P0Y ^zmVmBa[Cvivٳ> '1u%e.n#)6=:8=pCK k[0(~G5-/D-<%/4 *1t k-h37BdXbVeKcD[1i9Ĝ55A$%# Wru/|7+uٕRv3gߎρs !=Pb "(|n Rs4:YS>_),Ҧnԯ]sLpmjf)ϏO'ZCP5U'$Q0L K*aI:xL!IYʪ`.G ?R968z˭O/@z~" '=E2ҁ b(Np4< עIW+Oq'OtR,=2A^ҷO{AJ͉-&9m;).=Ј$Cv.om`Qdtq4نIԴf_fXu$0 5yP-o\h++[ lLwd FNS)i^̑v*~/Вe?F m8*2Bŏ/E\gjW .h5} 7u5QYg-,9` 5{-ӻp |kqz'YIA8kɆ&BٚOYEh#"g}:].!4V|vB \2@ E:WiVe4`ӹVmoX2|;H"JѭppT?!沟~SWE@p,+=4 =C#C.LWP<-Bvr,$8hdOLZ?a՟V\V܄SS!+U3+jR Z]m}yPr:cԳxHx", ghՊCqT#vgYo"\&Ȱطݠ _1Ȁi|; ZԱI# s3V%+Tm?vwsn sߦ=l-reVǿ(]ߗaǶ"K%hl2[Cmc$ٍRoL]W,z0+gm5^u䚖,t {;Ϳ!ux7')uD4&w '+OS6RؒUab:rfknXirP07Zi%IǥSqul!!+J:qA|q&36%G.06XWDCBO 0ELtKbՏVe{UMOd+&uюLfDཋ P%β0qm4{EIUV*ZrծDǠaz_&q4{<| F&. ɘX)gr^ Wdp;ϧ `_i4Z?8=VDsڝ0x v4B"kcAgP' ilЫ],bNJjh?ŮPPzRVHi|o䞣}vS4?n}o5jFҒA 3aO!=a;ڠnҕ)Ur$i[GqTי3ь1UJ\?Kxq9fg*;Lj(RGեtؓ0Y~ȾS5)hJ<h g?B8!`.؅8%n=u䱝,J4䊖[^UƆ< >`ɢͨ[HJ+zW`O:[nR^ jW0 Mj{6v%`[L+r?j#8R&K ':QV{R6|aùI p-m&݄20TqWcCwVE[nk_F~\5Kljoʮ8"݆o'mK7rجڴm )7J;Y9Wŧh?#}ɧtEORv|!nE\Jyq#Ȥ7Zn|)v(}6,hi3y%n܄^r5{uCUw):2# y@y;Æ@f(FN4$Zv:0@|[1ٹhqMI':ټI˿VSV;"8%M>Hru1u}'it#01.-FdXԾѭMqPRFGpJy}a|5#\kRd@]XdҴC`>2L,z@HDA%a$ro# kZPY|ѥXC*q}5:~Ι[w? 37'i bJT{7ʬI߭׫sf&3E.1`8d&`/˻ [U ?9X=vtN%fV,@MaSklգЯqG"rsH(Fz*2*4>_B.^vh&Z\z9w.9sMu)@gL,i=]`IqS s1An0tiOkw9I= lU~urpBzd&˕9gfpb.gҩb 8[Z.O,I;Yϊdf<"X㙀!A3ٮƿ $'N_p*ZI0U<7{ai VsnodKԹqhFWiH-Q>%iIfkcVv[؈cIKX:PA TOGEܭ\uX`/N#QYժW ek-Jlgci]!)L^Y&VIʵ?by>p c= U3Ȍz#JH>=(qeؤ1|5d`a˟MV0:`)lJW 2Fʗ;cjU0A+孵_)5P'֗I?ȇ#|3X@~MjQ u1ً.#/ӻ]ԐcDLXbnx|n(AUO+i. A[im*#EY5"xaEVD&Ua05&g({7QMF8ݛ>+8Q?g.^D˄*zyA,.f2"P[q/ IXc'] # xK6~4A^?F&VS J Wi-QKh4hXy0L&RDOa&R)pW~~RqʁpzZդwnNHeIiGak4[m檭[\5#>7,G;vv U;nnz(U!b@tfkʰ'|xOC갃{ITA ̱^Ȯ,l=\gА;rTjk*wk3mγ nS,$1ieOæqgi^ӭJşJUg <.oP3'qoO8_91t[ 9Ɋ5dl'"g*3 0E̱^F,6(KV7 {iYxF;N!";xkuh}R8g>%_\!s@ ɲ^ |ZjAZX 6%HG (';iepPNz#x&[s6b%@WYv ~Dz,0߲$~j5r ~u XҔiQgj9E% EDnVyi{ű)} rIXgg_ g`Ĵ60+7`v$.K?z7&q:o,{[PgѲ3`%UI,`d-Jޭ cݩ)eC+ Vtnu&QݿXl1h >LQvN*N. X]x\k}xZĆ5x(DjQK!9jN), iÐ{y;4]K\rAR>:Hs麴%F4GVZ0u \Ke6uv1;'~LR)PpzNMj$͙i$H]Ml*. pHGE'Xn&mS:Oh7? pa*Y~j2ד}@&w|ZNYA (GU6VtSKbm/K%o!ϕI| 1l"Jه7bH|h9ӏ1|pXQ[HaKnׅ֪BshMxHF^=6Jk}z^;T:Q{#NJ_rk?>p A~OLDk۴:A@Q*3?tR\_\aȝG3VP bKtMompv}1^.McbwW9G$j{b=ַQ>&}>!@!Yd;iG($)F'[[L'K}lbӛW25Xx} _ქ#ZVZ2xMK!t~U\j[J!ِ玆דou3oASˡcq[3逼Nm;7mcgcK:J ?}j~7v n+gdy.RH\#֗I&kx0`a0}};>a u5dV0ۺZAE!ocC{L.$k:2I?/`<!}蕉[ ]fxت'O{aMN 8O K7E5 ;)dc3Z27Y;/|j LT71yM7+X}LgF /Ho\gWI"ICV.S">pO0t5@̦) 7L:1y!`c, f]c9T\D:]êN0FmܬvB(GSaAʙ8wwp w+Pt֔9i;|+6N2{'ECq @Kt S=WnL뙾_6C Ge̒^7jOR56 ^/r=Rtv ,m2*#OMaxژ ›cVRpZf g1)d/sxʨܥ5vߔBV۬zEKCJZT55fS8UK+Z޵ VWC&0m8GA\k%DO "'ݎ0\?]pJ^U;֯ OahVWn7gvXD d~D?Hw+יJ-Xafh9çǐ]P?v>09Yl~Z9K`7v0=@q𲾲M'P1S{tfޫ/HB<͹vW+/6DGoQW+WHXf1 jq;'}gY84o?η=ˠ#>QidV ~lה=kSt͈Y؎Q5ФLˆ66$R?-KƗ+DT ?IǹD+|J!rۧ| 3M- 9RПE<юl\Si,6BڿW .Ԏ` 9[gWv7U k!rr(⳰+wKliMM0ۛʎQBa֖?btlAf`9J1g]XVbM[#>`R'/}5%F1}Ժ5ot#D͛h"/Ehjɠ_0&'ZaeHF6[v?i{,< 2$$)[MVJo'L>l{ɂ*Єߪ]K%en@5 s8 ja #%I+<>Eo"h&s;wtڧ?hCpN;ao^K}_2Zx:¼_.BA-=:uA{ !?#0捳3W@8Z9 °h|]ؽȍ=&ՍW F(2dܮ_v*M!b*_W72Y-3D:7)sZQF %{ۍ-2(yc_}!Prރ&Ä;8H; &eSKy q,|[>a]" *{v ): `VHeqIcܵ?^2s8C#w wO1%gGJ 9=1n<=fɾ_z\v!5ɌV216؜~P0>)L;0\ G-P%+Ԕ@žv RR^?b5?iZy*yV9>|UgO~mE_}!8<``fbHjUm ۑ iHȴe{^@{0< jhKO1H.c"T51P67Ge &q%{)dF[.H$"`}HXC\ŷ6OI.oj0x /){ l" Pj@i Ӗxk wWC!EĚd8ئ]&hIqئj.˜RSJs2"6`J܊lڳas!y蚃|Ak "}%eV/@!kWÈ.=k|CSǼT n&ߏ[5&WW#ˌg܂-DBojy CxaD3gLum #ao}gxQ)N<{9P\}_4?:y4fM>̿j"ĂV8+2 7KqX" *L?h׶9n&y<ѪJXʗl:J]l*f82sh!;'켄aEPpe>?m-ߩn9U5W2՞)fBN56)y@yqT0%Iv|b2wE!:hVt\=NZ$UmK7^d-|8Q~Ȝ 00d ٯH'Ɖw=| {]b!,WjXk`#O*l  ߻"QG0FwE*UC(Cٗʆ)xGaRfb%ۙᵻM$xI*0diԡX;#O 3~\1KmGD@q,Bi ɗ5 V4T?]w{ $-zA·;6q罎'.*9{|n"h3d(xؠ`PP{e[ yOJ71wYoE&F_!D uۄ54{Yf Yr*~ ,"qf&-M%)>rp! N!T1+sXt,?TO =GlE FJ9q7=U9@!2hٻvATskwjvwM%?9#C6V2ƱqO|ZY:SާZvc5d۳ȀP=>2~d{)VYG0_Á\|ԪւiC 3ޡ\/hNH8[_nda{U3XU'YK-Bs\pCۼUnta B"p 0rkS7]+u 'ZdSd:{q}b?Q(}k(z( .w^1|;/Dšcy#(n`/ [ tR--kQpcwx4i惑Z/j]-+ĵFݶYt}AˣV8Վg+{BYTԽX'^(= 8) |TT(qiɽWq/v uPq[56IQMNߍ->xLf"ĺxM<GwLm{򙯎ijf`$Q@pR$8]2+8j%HL&d`l.ao}kHSR_USFii)69Fّ|3y՞L>7埮r͚ͦGL֩c;e?*/b$߭AЕ( xn~M:_S5JI#iReSCG^D312&Y?ӌdCKҢ˿ɐ5m,x.>ESk B1PިbPs ׺_qMG*DfpLFOmX(\ . &##0:Q %!s~E8+'Zܳd^TY1X `Uy{mC)DAnvv\(`ya Z;3 rp׀6g Ӿ8W͆Ŕ-׹BV Y hlQhkuhn$j:=h}Y d٫g֊-1<ٚFv;d )0 3GU@5jj\|kqBP)&ڣcw㦱$$ ۽XKV $%>p.7L$[ LHIˁ!>K]'LرH{T w-GiE]]B>BI0L(]ۭiB 6g`%XoՔ~ܹ/[KblYbHay11-}v6 p{g+Pʕu'8[ј0?l+Sctdt?*0x7a OvIΠ8ExẰ'ML&Vͮ-W%ӈ=UV"KQa%8oU]@9U.+5K NE)LlB?Ղљ@R[ UUc$4Y-z}ewX;:hztЕ5ݶ5S/T"ߞ'̷^椭EƙBKY'Jkz'-Eg`$Mir8n>Bo9._{k\O6Z6 $YjPl0r'[o'";ED^ǩQ'#b"zyx4ًi&H\=a2Z {6. 'ڵ;t5k7FC(d ?UBc`[=#HQ嚰!>EP~V "KzWV3%l6>`E,i_1o OP?[,{h/6xǕ9Fl?\`."5)D÷udLwPqK!8EEu0~Meݱ8aM"*>MrgS,d7"92غE3vPZjC#K;cPml;YNfTBft3A%d*߽YpnFST2d&sP{ʰ$3kەB>pc׏^qV8<2UlGQ?8Ewpf&B{l) dJ}A0g: ~8I dߴ/9\0]KYO#'٫,˶u5c,6RcC6X O2i\/W.b7t <Q+dXC4,!J73fh@kp]PDNDrg$D>G ":ɦ~P| 0mNB?=蜺*KvY_uفf-_ vs\ۏIe&u]X܉]$lCu020敥7ϰdLеŪKhPA:q#B9n-~Y&6B -?q'{TKJyŇLvY.:ƞSxwlH8v+ ۗ Y>^xr*+rOJQ/,[TئĞe%dо{*u3'&Σ 2B::̞1ϺB]LV_j%tuq:J L>A AgH>_4 =睆ȱXuwf~Uj U$Eʲ.%aiL$]MLMiXdWýs /ʜ (Oc:?RW=&Չ-cpM uN)L*x-YT#7S v-=6dH5x<]ր,$r/OK[E)Klg6< ֟S&6t;GĞ_脴UNu_VhrNd7;q eHV J+ۛCC#@̀7PrȩȀySq6vo)W0{Ci\ě04g#B \S$d45\?НmdwbI+Haɥ, = ] IVrW]O& F+e9l1,{H +=}DyghozҍTÛC zH$O i4̰-mE0՘NF0)1:(V1 X@يP0>(8q?Z:L2R`'4T1Ŷ x!j+gIP|O*P7<ey"8ժV6RPc-P45K} 1*XPfn)-P{f\Ӫ1|_2&3DÈ{qev?` H\Gr )& @ˤrqCN3.n3~@'u Cp-UDۦ@7“`jle}%RTl'>6Mh.cMe֜^OB AEgzuFVaD J;i6 ~)$Eȗ۔($]{\3+5 uLK=T3[˧*yhl=W*و; L1~At'|z5uy4{TI̠_Eᾪ@"];q3+/q)(72FxWwUjC*-# ~ǥDC@:}QYXY!hF'v6d}~H )uQPN#CQCWl!d)A}A|RCz9)Qa3j 7߯Wr 3u|냞Oz+?M},Y@wo,]nbla2qHUYR7ɱ\pd"TߓƯp@NTH9is&r|`w߁WtɃ#X#R\Dy]jgKj<&߷<yG}@TwQ$; 6<+,{+Qvmh p*RX$]5v8ά&a+‰*.ym>" ~ oCժT H篴'^ymB ?}dnQAټ#NN+TQ/~PZ8_u*됎r "؄>ŧ%ZPQ)&|NQ؉+%X>;6vӅJP~X"x;Iuvy?TৗԊFq peqDxKk2__`<ձF3\t8&{Np8Tv[ts X,S՗n_w({*r!``mw`D{΃3VC& Y&'MAD?@޴{Lu܈汼n`Cd/>v3PLe[ۘ8qJ`P;q>*Bܱi!~0 CUOS2DEg/կwm']m8FE(J U2h+-=38,JA=w $>߉c3jTV-Z#(Nli [$9|4{DBPuN;GUrT|f܌Ivڢ-NXp#>Am];ZR]Qjo_N)*%lͶDI[zM :ݭx$4cۅ{}n?qqsÌO=:+i`gR=O= 9w|UP8@OE氯y(zQq UJtvc[iq^p}tЅ1oy_˷l `:w˭N؞dk(vPfX Q ٳ0R"ӶO8~OVpg{fw7Sѧ93)7ݸZ~&-0Tv+c] j$X4&u0~mvUV9D5݊snrCœSjpNzLb"L:zbf2`a Ќf*>ɾAj" *dUTW* ^jᵼ*ϜC i%Q6BWz*!-.1`n_hڰ 4BAwi66י#KZO6:q)ۍ.]ϐۗ y&[eAOCn먞o`M\\1xAM6 Q<+-G@,{HN>ne񔲪: wj5ITt^Ϯ_c.h+q81o^L`#wۂ/ 2 d2ZbgM^~_HoBr68T YDjU QԪn Tg/`dn_ 3ʸ73q,ʛ lt9 *Or3#z|.7ٔ$!2x1 tX`X!5#[,g\V56٧6  o_@YiGA%7?hp~|Q`KrU3~sDC5O2J􀺦MO4~X4j-pTq KBӞs2!f7+zMQ cڀrz,[K=m<{ ,c}gFHfvNp /mw5ߌ0)c޽ЦUrٽ~Ty;~jE{SAW@~*w2yJ'ce. rW "H7H+&3(AFX]աGjYt1]N@}!iפ "-1ZN\kJ|.tP_7q4PI\E lTMT m©ȴ@@qK,, JGB3ڳ _UR(_rEsu;CK5VUĤZNrskkǎu4$NOX;~ N$Td/pa>@jU/q{ &}K#f̲a,+, Rۑ;b # w U+~0y w{p4%?씸 d(Ѣq2k!HpeluZzC՛=[ш}yegb_4\j<;I GEqH~6B$ߝvY~5?kxoP@*e ½ 4z9&Mo`2|= : T,;۩HJs6#%k],~@0n?3*ub8%8Aɳ#"ӻA3))1/4}g}? wUl;J1k>O(뀊hQBa6ͯ0(WOD8^2׬#XqG`~-Ʉ);y|7sػޗO/kD41jra[I.U ^Xe&J I ܷ 33PEYQ/>t+Ku"~}qGN_a6'ؠ9EՒ Ȫ_byמQ)T%^'P-8؁eI|F@X2x:B!-{Ag~4X%q0 f 9Z+0vGoiAn˧1zde>@B@v" VY핗lܨ AL M(<W.Sԓ!SП8nhmّX6xsVl.O2Q/Qg(ğ&XPv,3 B0V3RWTwf6/3   44ٹzWotY{c/ Y#?Oڰhc*9  _v+ttxKDbǹz?訋%YH v.%1 8"G-_#aO]z7JKREz)C>C-MMo|p |(lsRhfUx15GjV, ZWX4$T؏K)98h40Xa#}AX 8PWGAqh-ܯFCDCa5*K" cF\=@9[ъ{ݫj\B~Z/JobR`&~iQ0$JCmP]JQS*r_^=cp)h&5o 'Uڵ?7TmPN0UhK ׾Ij oIx*=F]\tcx^ۑpAgZŐ#x'_{kI4Kk3QjP g7HʭVs1$^cgTb/=P.(dzkgAVFm0/FjwzK!_HͭƖm?HQX < Jy*mպpV8: 3G|>6ܙ>?7L=H(N.l(zzj!BO5<"*^^@thfY Di;!Ma=[k_xA%"v.Mik R bEY:Du𷃳uW2=SX:2rI{@֙\I&L8F{ZșW_qgua؛([،nN2=0JQt 92QaB1!}?FnbM[V6Ԕ HjďdMn\Va;G)*' WpZG=.Jg2ӊĜp_VP#R3/ӂrgX7O17ǯ&]Ѷȱxr,n Mg 2Żs$qj&޷Σa@opYSg&S>su:¬q$R-=M `59WbP@\(7X+B[R٨A7}*O]j2L6>Q[Xߪ4'j-<7붌y򤯹 jiҤx0}̉{ʦJE`d)sm`@e,CH'ɂw$F䋗ܓrdlrjѩǪGEqpL*l-N9ᅑ:$6cn ~w} SBEaχw:jT%%7_)!.R\ Zu{ }o'}'6hz)dZc2rH/ .M KW{`'=3yC6;",\/|IhȆ!SݺevMne;@:s )p{|: WV9O /[ BKkB#nS'yAdKH;aN;HCCm%y{Uݚ H]UHD˷?HNƴ_gtt\rЯq D:V]Uk.W>mRhG`b!Ȇ۵?]j bVsb5QWxISU!xXؾ@Ay󝔅6pn>Lo9^Z{0%!v(D7խRz{CXe1x*`gfQ'*d64 XGQ5Rgn #Mj&ÔyOi }LjG;Njd/NxIXO¬ȿk!$S3E#(`<=va~,^l(rS-?jGKq,+ ?@g5x"brei]j&`)mĎPAH2"Uc4>Tf֕펯B )SۧZ8n~̌=noA)%Xg1v|m:u%^t[dʆC*,}H*ğcGo[O,XJ1Fafen)<<މ|۵d| ԧtC/sJ9蠋C#?}0o$ɶfx/gܥyyd7"/6Oci_KpY TM*p0ӈP32%~$^95%/ gUS( {KoRcuMsaf% uCUZ:SmI-bn؛/Ú ߚ2*-լboN!_*@~7m͵w!9%k- 4>x 8}>6T 7%= UW,ίMA=bGWܮk{P]\Y'tjal;_5!zbU|'(~H~fx"_i>`] eēƼƗ+`:HA?Ȃ}EQbU}D1Ƨŧ@5e#·vL%ovA;MZ,97r[CS`z "]as!c`ұj5}3_xKDJ5Q~RKK2bopG VLzO1-j-=-(x9F22#pE2-h~>qD n^{ѝ/@[?e:Zot)O%LP(摻bjoIYmhE㘬f]ާ<%:o\I,Q£Wn~\XLB&Q+af~4>S _D?^lHC F(j|lB=<".]wyPvyAMl5j1ɯ.9 ZAɆ-:yfe^tLDb pe8u[/ A0dÜA0quܭ8"_:*ͷleȸ Vn$>m}$Œ$ZЇ dS9g%]6KG(qw^7Iܨu-Ya Af/^" g9K6ꈿ޸_]>2<}!F)F;ԏ$du/_U+b SH"R9/ kL{|!?d{>pD]lb֖.V!tftA<H*-Y$.l[fv , T\;sjG%Rj9Kkp°4 ;7~`e]1,[Z1/?(wL'Omn$(p`5WU~?;2ę+zP..Q/Խ}zh;X{(8 &Xد kD9i̖M |)ǣ0BY".-Lgbv)!e4|vIܑuuyǖTY.ơc%B,'rޗz8Cf|O҈z5=A/u{Ugw4nI*w8 nN2h B}tA259 z?RN2X2*岟4?"5j P;(.{7Ѐ[ɭi<+.H®DɊ/:@"srs0bq&B#NSjú{{ 4 d7x(lV*o)N EGhw-R$I^"ȞDt:x2F(ї%&u@6H9.b*dNBp;Ձ+p?/yD񢍯[n5fv*]1T,;jls` $LcN&.E βZ-F(ùS΢Wq7B\+6PU}k`X i=>Y UkYp8P'28%Eu\H9ۋmBe61?8;ñes# iT\HwK|mN NCP38Ƃ?WI83-{js|hʄQ?hI1BtM`"A^FW FHBmYʬi@U #bjW[{y.;PR0Q ֵ>n?0wZh puF8z CL^ȩ-5ѕµP&GOR=o x,Br9Srl9 /yݘ9ն6u8 Zw(% ozsZ|nX0\)APVG?VXr̳@~$%OuaZUUi+՟j8͊vyYMbz-4w1.{~ pL_)ާihr(1^9&a]mW5'eS:5lCkB,gb~bayS{R#-.9_lA[bL旟tX^hi肘YOik;NB׌вVYV Iw{vKT5ΊWl'HTޮݼSMِ7,No;I%ˡ@[5tCTi zH7z~S \v[K҃D[YSe}Qˌ 1:Z @m#?9,Vߏjpgtjzzn|2NQAI\;4츼ΕdWz0Ԕ//a$Fv=8=&[7A@?8Qu SZ?VjM^ei$螃6I>d`2<҉KRE DxJFUB"9+peB˧ i¾N>짶y=־hr7[n%bO0A*FE:$Ph<_6N-NSi풨+H?!WϙaXJiMYT7 =H5Gb\E&k|kukZ9 Jȶ}gK\ֲ =52bx>-p<=B@9 @z+%,4= 0B*^tm\vN}j'{Y ڽ+{i![|ڜԶZ M5#_V(n5ϑ&³cO# pBD⇗9 $ygtOTLvʅ4kd.2PE&dWRd<Ƀ g™$xKG跉2e`"px: k^ŷN}K7$r\?'1g5I7H.*$g&?HcaJ/vū?_Ĺ'¥w)zg u' 5+o:HC)XgMYlc:{C8u2QAGtwcu j%pqȦJ&U }oS$z~ԯ1vNvL\P6b-ci.]S9m6_dK"l.C~V|aocLp7Ǒ c2P?iDflvE]#;^.nk8]^x T!g+:3sjkۻz30X"CAK;4nhC;~ٯ/R :tmp :?o!jrҠQ#cHC,QW@g_od|Ko%>@_kg~C$k~#:La;`ϙ+Kۧ;@pˋ6]5z AfvR]Oz/u;g2@4 h*N 4u =8] р~΄fo ͜T~p`תDk׃Ƃ\1Hko}Mzqh$h,q%4}uXM:wa4rX ,D\Zk!D7.4TGR uT#n\/?,1h'bZc8] њ.'ýeg 4;$Y]rz0ۖw֥$umUPT0]c+9FOf](d40|k6*.L% S±xYA>,unPע@zxj}exqɣ 輺l@>F̾@|k RErI&{1vͤÐ*>8wͥXlSQʃq`s4Q*x2LUsB\$a6 ^_<ܢ&z*QˆWS9v\s\!茷=<7oXIQ!k@oQc .w}|n^.baH{m>py&'z6g|ɴQ+ː|0Dh =קMV(IѹPDlaʗ_[(wq,k)vҵ S7S>: R93 R?|F_5O"{l6ɳb}]|J[Z۾++AFɣarq0S ,cBNyulVmZL5(?G>d$Q<,̦\ML\JsH6N{f[kI0~-Ոn4x0:bP<AhzXDJc>HgCfi &<)-p3[0'PA0uT!v֩óNxhZ`Fjqʶ<~H~āV# 1* Pdʯ{sQlܥTj (q*^LbW}$n@S|}Z}er?`pD"@EJӭM%[%-\HȖsŔѩ==E=੪Gdg78+ylFOxe02yD:݊\5z/aB3?h5D@lFuDS9ߢex:@/Pexms|+՚#>d Dv>ܬ$B9ڕ VrR4pˁ;_}O&F׫FR=If$aCX˔&oP "[XtkYu=$Jݸ8LNgY6yBN;ګ.p)Bqg[ݍrVpe7QOvGBcx:;ޣ- MxcX$,?B>h#Z^&8STeP]EI]M[fA+8ȭֽާ|:Oam>ǽlN!1fA{/e!R'C+v`#E1$87Gs.. 61٤U}ֵJo`XAGwsHC{7 b&ӷ&v:jŠLU1+ ` /ٹ3hF\}t8lyȁ`nm=Bd"̿O*BC,dƌTZߨ+ڙ^t47:t͆t?q|RC XI;]>ڱqw%JƮK~zw4<ّ~.` *6][_}dX .]9 n*1K[ma벙u|gnȪ / B!*~{)S}cw$ c~ % t`Tf,l跎KOGes/5 [hJ9,hvжvEpPaZRS7DYq]񅢁KIahW;~N< )o823Nb[p) o*DSQ8;% I श4B#)}W^j]s#-lz jY褐C~c;y]IxQt+r](R5DN_PFW%?P"_,[,oulJ!Z-栓g3L>2̀Xk.^YcVnIE(sKB*bL1.t ݾ{>H@nW@xT$ܩ1f]q[ΝٸV}"TQhiW0vBn$˚oyh4!bΝ:ՇckVb2wɫ =L a!G}TTU> >҄JZ#H-wrF_١+k`tL!-o-*-)\xRR'6\{ZUnI>?ZWID^h!Y,dk N5X%pA1y%f)f6gWQ7/'ւ"m8YV_e l5ÂtZq< 9udGuSL$-/N^$}?`=^Y!^x:: ,'tv#hqyT\[HhTUɭ 3fb= )9㾩r(c4S0[#Nwr8YZNuu됊ke?UBJnNڬgO)i21y'MוK,qgT0j;YkNK Y8O;d3â'*)X!ybw2Wpr-~`D4(x h[0NC\ f @ 730MA efT5EZ%ry,SIoL[@R tKO ݁vx=qLh`wk^ 96!Ƚz2k?wޱ.~XCHjn{ץfugЂTP6bN[(K8FV fNw| Jn0bx@7MMǬnpQ罂Q fuhhE 7y}̟$ܟU lG&yyf&F68գ@Yq@sٿtOA&DiI<H$A5NB;A,ӾiY f=y۶^6% rQ_ӌ޺4AQՙקm O3?\j $+W\V8|6 ?ff$5$3FUȎ^=(kǿ1 =hw8\ E 4.^Pԋ]zo0gWLկg=bXZ7443A+ 9rm-@ki~=aUҪwȪWHMm <0gWs/0>'񤼐q0_XMbvdH.*u{r0Vv˴< <xaN-a[qR!9kM-vimQ% , ƕjq6/cA3;6wQM̮ўTk _&֯r&`܊Izwp%xڷSbKU Ьr1OkQ*L)u"[+*;hv$ {J6 4"WosO4'peZ2vЙ&l[K=Ttz=eSIGڝz9fCALuC=v -:f/Riy(?KQw<tr&9 lo5x"U )ssuC3Xc]Ab$T/'+Qųxy 4m|AC*;*1.l[׍W@u !WBSW b2%| 6UWx/[f$?bp`!Uؿ?$Afz)u֡#BtJ,zd[MӵXݑ[񲺞/9it j"VIvYn{Y)ٍ!hÜ{pG5i|NlYװ*RCVŵ߼&ɫf%էE3$c0j@IY+TqW:Ny$,z35@/S`)c80&Wk1b'L%>YӔCEdCYvtDo0j1O2yБhkBL+i_QgOm)m)/óuюyup["Q|k^Ј&2ó ;: VGjnO٤I:58z ˾\N;=Ћ:rzS,OCƓPVXC&]RBMʨg 8[Lg5Kt0.%6īY{w:a7j%R[x Hm#(,&ytP 0 qo8n׫"(CH:&g7I &$%AZFcqE@,`5Ag*F|RonXRNGx% F~rd]ur[L<4L;(E{v\6؂>T.i$}g]o+{Mz']@X6ѢKHZO{ l-neAgIc=׭$lۨi;rȓ 4`ņnnDZI7 0Uw{( 'rSvl5!@C6!:ѸNn<'}T3eӒh 3uu >#< Vd2O#׍!ljP_{ ?S./՞/h3C8v `ih{CnNF_r?T{Sj=\TYk@C}{XQw'%nߙ|:}͜u$0QM #^[6'GI+{ 6s!֘e t];>=Idu2NTP%'?.Ab=S,4N1։H{aC:83_ )E潩6,Kq1dyYZ"w&$|5=+x ]~dz|rkAת4\$䆶kާFO襺8>kjp_uh8<#:BN } ڎ_,Oæv^B TnDϘm^ g|B='q"r!7ձcԉ鱨M nqfQ(Ȓ_Z,/MHs _!'X3O>֍Em *(!7p|BOI@S'p҂UC*L6oP lj۽{WT&?PX ռ=7.%|ZOdǣ "Ox7S YBh2,R?qUYR,ؘpt1ܬc$M("7'mBc_ٛ l!PU[%

%+uE"E2j{tRj}\lM KPԦ3G 0Ōn!4Д|l$*?4u׵LNHy1RBQ}w"@絒n8?p&(åp" \4;*0'|I@Y䯾 3l/.Vdt>}BfN1|@+)\E 'gX\v!z"<Ñ2 sKiT$lӘﲾìD yHlئB.BF׸1i #ۚ.k4YbIٛw̮MEx#zAwlLIe)DT31~l5"9@]wȏ udJg'Z÷TC9ʂk4(Mol/ r-hCB \%iŒf+VRmMuWf./;9sۑ2l ~V0oJZ]Vio&gѥ>ߗ|jYba4eD~"C7,\| /0~y򺑅]`k#M`&E;#/ün@,kO%_\By&qz f~{C5qk@\ˆ1G#C-/@ r߉vsY &KmĞD9JOkfqPsGc\/Kf6I5U^W idc97Qv4\&[^Ȃ.OL̊J1yojR P{K|+ؔPZ\L))!74$ p;! ~L),6]3yT B@.OeAryoO np9O>: BU%9c%nrRO;!а-eG7! )i.JR!ڦATIK3e%Y&(o;';Pк5C<+U ?`>ciHWk& N(okGEUA,5pinMz1o(H>ǩje{RE'HDK}c^͊!$5|0'; }$uɭ.Qܮ \s[J)oe8|H:U^6?#,hIsSt<9!@+?:-N~ĭX$3?e"N5~Fl]0E[ ]>ON0RSM:Xsrp*,l(pQf*a5aUZžII2Fu=Tlig k|.pN8 {)*O^%{ UUC? (/s(ҭ@Wd;h֗\`PDJ+`7%P``F .ฮ`m6q8hEQ dUx"qMmܣ 4f4AVx !ׇI=Xmdibq,6HQνϪ/E;9Z%N;wrr":Ťu&`FsuJ&m߹;/g^+Y13k]pl5c[05E:*;̍+oyMWyq̀~+mgդ<_NVucf4&L8 &T6aM:&ռNL*<ժ^e@Lpӄ,1,̵+YN<Ś^ RA5@BuMiJF8.>h㳧p?:KwUZkjN#;tУv>E:~#YeL,lV Y^eRC`=XDB5ѐ"! @HP#o FޛiA:Y3o(VnEO`3lM%bX|Ÿ;*+c$z:ʿ~YdaG=JVˊn}VpBXi/Rm|p0s4ZʪwEމ5=(ȕʋ97q[m-tTy@oy[P: |R<H:Rb}j?w+swu }gVu*Y̿XxKLČsv/I[\čl!h.oK+b9(=Ct-}8dok ̦:m5w7]6~^c@eVwi ƼnXtMڼLmj0(\IUUVH VU2GF F3Ԅ)Z0MqM;pfL^>i@I -5FKSBkIiuA)91mXwށVhX0!-9w'wV8t=!DJ% nUN%BرU"u(}O쀤ܧjُP}t( TԷE֋" ΖqukL=y45D蹰?ʿ}x (~Qꢠj){q\QyI]IGHi&== f^籟E\dc UIaM0\(lznk Ъ8 Џdm`ʛDOܩ h^=k=S9ݺ u?ʿtAb9gTY7 kF rV+2:!JderЛqݑr"dk4`%S2pu|:%_u)Tg6nlÞ+u#n79~Gl:.2MɕZ!sM$rmijcK$] ;:żMz9!c"O5ඝ|M0TZOw5JDypS؈I%,Uof3JcdT5!AL$U'Yexd c?,54QĔNwoC^O ,T!Z2 ku~.Mu dbs~ר,DuzpWy&2MGpL>W#0o{@i??^D("o ]촃d+n+*uwR|G~eA$~T}V)UKB4b/E4>@(b!M0ǒLx]4t #HOB^Z-;"#إF@SNjpY{(Z]18(DGOy `@0pvl%RvbE.@ ]اGrea]F6 M;>|4aG;|:AM?x'RV?2߃鄕oP? =Ɉ{ $MzΌ$@^d+1D|ewt#_T Q"e;A V3mz\xDV17>; pfQO5K(S~W>YB̙Kb4Gy?}",x&fJe|;:#p.DP}ƈL~3hL@1',Z⤋,Ez. O2ZX֛*FHڕғqCtTӖ%ySl)?VVfя1ьʽ.)ucV.;!IO(:c7k?9R  JAX޲AWthEJX=گ267hP.`yv8Y]=fNjSy<skҋHLM2ːN@}:mwѓCR+ҖIEvR7T[6~ 5C;r!V}BC@ 5lڮpC <gSI~W?ףq,:>b: ZT2 E1n -G~ߧlzOU1mE[R;o6U.LfhS`uuĠs4 WС:T943*5-$Bb ׀)Z 8;^oX2 {`_ Qw=SE>7KyS}EUSG?8e#p체enJ@d]o~ 11]Nf`e?G3N⁡j2i5̨/ż520W^&Ag*֗r G,+E[ & ᢝʜnǧ߬2ެ)@IR gzk^-yPNްYk}Bi\''NxKD/tp=0لÒJ,Ϻ<9 -ai,;%_04ؚę4lZN[|w"CyL%dS0 9E~]=lh쁾:h+$`75<~`ɟXgr\Asc{Hn^ ,. 2!g\A t܁^9 !tr_O w c2yETjfGOf5qW #0j0Z@)Xs_X7x ]Obb1sA"wzt=Z6^5IvR+_k3].Љ|Å?YgBbnvS?+vv¬jlt#es03Fw]t}r$0qW/9tAI"FQ`8'_Q\5dS.0wȌcO [Q2 E񜰞>ϭYZ޳Ή4V:Gk}Y-jsM .'$"Pu<|gNOXcoXx./k+)R*+ّJm\B>i G p5&AgK(uVhr.E?޼Z\G37\N%ߚCGa5%F6D:GB>MF݅)/b˛J#2e ÝkZ$SG2-"aH'P,MFr@+6S aSUTFݠdCil7#ER֧qœU?zHBP0p6pp(Hh{ɂ6c3fYž[9*6I#t:/;bQOڻdapNҁ_SR$.bQRDE^}. T4QjèpmwMzci=SaܤZ)."ZҹWTBJҫ \wrIgd0gj˃&Q|1cvI"dN(_ DBS'6Hާ7@ju7WcoJ% ,| R7"nup͏n@0)=QW* ̓;_JA\@˾K; lXKTEAx)N@4gκ߀Tv;14?+3֜z]HMap˿g;)CGDbٛ3\ ~ ?]HoUR\ja".lOgt*q\);S<ϒ<$>~#l3D ZKzN;X3bpi6xu{A H4~=:dH xЙR80, }~O!WȦͅ.¾z.y>: (1 0fOc~lXRJG3vm$$+c W} D K[qhD_󐘐Gb^:byZqk=;ݜ?M`MmN+6Xq.Uod5¹*++gQI-\~dք)˞5)W[@fEkhU6t%Q67UmcqMM^ZUjvCs%"Bda*+7?/{bin9D#oXdv`Y,֡ˬ$ Gxdڪs (JaHF# ,H+-[T=Gf !8 ƌbԘ}X3dW -3d['O%;ae,{ͫ]47cɷU k/;]J,H{β3RG؋[ێR0n"}ER%5ɛuj@h>?2aذf4@f?[Ư&qY~X7kojg>uebR =}:|yv.\:eMǽdRGFpP$ om Q#|=7^QmR;m 8 z\d^ ͡fb"b~dv'H7O@7wp]19ճXҀtT\0E/-%iA7TI)Y\Mrł=<u4/"lGmE8`e=Mv ef$SpWTLvꎌ!kxi2L蠅naҧMCtyk {Dٟ/0_V`o \uc!;^3A?Bn?SBwϼRzp P'M) i僞ّw|m<0zGidY2:-HJyo@_@>o! TWjao+K]]|RuvƮ4{#6J g >C%RʗaAvݬEl]C@; tl"f7B~7rfq hD4F!~&g*nnl? l}K<+6H^Ӡ<;2qcnhWfoWpOI@Ӱ l Ņl3^A.!հOc/AMU  جj fͧz0$XRNhs)#!̺l,1j4 5mVG1pƮ!f?>P'f֗]3rfw{l-F=DzIa-\ h0i@L{_-\$"-S+Kt#C-v`ۃ?fgc뵔`O.>X"~A lN! 7,wC 8 `1~[JnCD͍#=qbt1 h )!t*@tiɵ "z%PZb}+7,V $ՠ>sBVL}UB [tM*ؗc>bMV$w\ԯ'+9)(Mv>%M@= 0\{rkuay Htv f8$y2a.dTr?WChO9@}h1~K>\s) ?kV,@tM{&MUawțK])dFK|A_y-HOA{wNZl3o@kW6fjy jPDZݨ(2,Bogk%\mR hT&y5_(x ;|xlS<g`EgW펕ZQsXc MW\ /jΌ䰋W7u)|TI0c4>똗ȗ-b!2B: !BѺ7ԌW4*i&ӢL Z%3^2gw0&x5BN7)TcHΑ9tk"Ec `*,OxEԅ7LA.%@:Ѡ\L7y7w \ MIֽ䶰v7raDž+|~;&8{F2 '_Iۧ_*g/qtR%/+8= }SNPp:RA~9XcY Hy뫈M09i%hU^n;нc&3dRڠmA;_QՓh`rؽ~:_\>q!Z`r7,&yAW[3=nhB9K)P~IJܝBV^A.rnpz7 iY/S!߾LNwR giIG؅%C8ךӈ |lH/H%-tokV 4oW#3)UIĎ@3nvm߶m Jܡ9 3Lϡ2TX'-ltu6~ܮΞ|pù@^X ;'k l 9ÇÝOοmrgk)R?) LJ|\vBpn:X"@t>Lo=ș&10;RGɱY譢n:Ԕo1}/qQ8_&uMV¶HqH8A_PEjHHbT k4XC&xew4yxz)EIJb{*YF6>$Vf: o ř$C>xvtmޤgÐX:Sߕ ')MznֵHhZ7J##jjG'1nu1mvG?Qzog؇A`!9 vs{W1 Mh&|@SF0YD'j}xg#:]yA' 7E)lv(>c6=^ d:W?WC#dĿ3vق[y;<j1Ϊ/tؙgZ/}Nl @,Se$prs6I"a{nDV y(>&D$gv.o!ս/ :d+F< K(!Ӻ EdUlߪ$A9R.<+ȡa1V ^[Zqq"j,ȦMlonPԞS `uo~is(H7)b":$Ll) b6E"*[U}˥>Cl ѷf l02-722VXPQvο΂쎾4@)o~y1{=8  5?ݓԡ?QY|0_zZ9=K$7DeZ%\b+L:#~'mL/1ND\tc)Ox!o^}$w'*ڬ%D}<̎U!kIzX)|=#<ŀK^=fM^ 884ot s&IL~vdtgN4T\1HxLRuxQ*gy;yO2 bKS!h'oKT.C_ǰ! O1TDlލᵿpo$앱qMj޳KEif{XT VcuYdA&T`eSzǕitmUb撽I;srf}""2׳oP]geщ2G8'# (olgdg;}3b%oSf:w+^nSOb,wJ2}XhuR{WtMXBT "le,?52&FH$6|mD=zj|ǑH!'pWRm2q }D+ R>!?S;miO×̄2ːo⸘7Pvv%Ɋy@s*Dt YX|s*gw{[ƀnda3B,b5 Uf~9P]"EC0-(/FiRP6À\FLZܤy-Z\ɢ׺cvVoKN{\Źc~"]z`3фE8*:(2Yf毑 |rYߧUJт~<4 ;u8X./AJ#ª">> d_.vR ?i\S$Zy:uBrf",e,@g[&DžLgޗSm`Zä9O% :HatFA5 -(VQNoeK_T%5j4ytOޑIL/^EϷwLC~vP0b[;B}t{p_t)=9j*J-R"" jmWhx:,0O&Ӯz>䝚^֡8&[K`~С@n$߁j߹=Eلӻ@M9 Ԣ$}Qx+"0[VQE  x0puqf[ۭѮ548rS i=BcTY_?,w ;'!}9:hM2@V>(FMŜ>"T!9z#%zD>;m?98v0`Řh݆1J4L_ԋ~ Rxx,*M̃mHa'^:wSY4d2&EèDOR_[rfNKGtBO]X7wz|Xiyj lw>Z ^*q RނR(.e ot)KlOٷͻ^ݤ5 M: C1atWpB}//к]5'>_sՙ,!Rjr禔8ѓtȆIޅ<%#r4*J{;)&vMlvJQ6mRs; 8x˗/# log^Z#LtM-#zSnvq*ކ{LZC!čpNFhf<o )diF#98&0SsZ>p* 1RyH%d( z%[]vM 2)řws`R{^뷬\I,3Bc|&c 1-s`",jejk< EDsY0nlg&qltTĥE!33!L=qb؎_tG9Om(݃Bxcy<_0!=vM=S@^x^i&8IeSq6!͵ZuKdnNhO$ E}/1wrFAYx#am !,#@#=1­(]~{,͠A,kyC)zdzḘd)XےY9" lfF0';]ϋ,yN?H|^F!=d c^!*/.Wz\$*MBtcL& Svj;x-?j0 >;RGejS}B@_DՆ4|&5*n]uޭ xB-`c4Lﴚ3mI1A;d3l,2rYx2wi2IĉL#joU=f 3$TFU{3o}_V hd6g逳 6YZ9D".qЅ ǒ&yf4kq|,$O`'yFfx>~/5H'rqR";i#@o%%OI3.癲$m4F!H/f?l"%H\)~ =4Ks~(н $Y AqfIQ )š+ݗG9"Om{d7'2AaS'ıVJTZ#֌ ;ѿ1pS/R`HY(9fw2P(;9Q.sAPژ&*"u&weJ %4*~ޛ&>,f`#dtF^I0x[P'0~gˢe&Bcpx~>uY J*KA|Ko6^S"y}nXLzMM; uيcQvm~!yC9ʆ7P:g<^(g[4W3P{U2s9kŗ19QB?~f?&B#F20p5]dQb%cd"x.F,f^!֬윢L5`#wnuy33'>^A&#S]/zU|D^|p GױUں8T o kJ CyׁvYT46p/=օVJVE4j~=з:t?2[pzah6'$—>*B&YacQDxIbWiyHo}~@3L'Fr[}ȌkWsef%~-BHyj!=Ѯe_R1,aCҽo09gM(ؖ"ib6x{Z۽99͊ve^Kɮ&ѡ?_0oyLUu+%{VtJ%^%M|کV- z\F+pDw16[p җH:ϋӃGwL,Pe;&қqsJG+W9((Iz5]%ռ'j^!L6橉8?ҥ,sw ݃ <_!ڪA&`1 2'#Bϳ&\4B ǎw^|=GP;l_Pn:5u[Upګ\@|Dc 5jȊ,: ٽ:Siӧ6^:/+Mgutk.)\s*|Ҽ:']2%ǶNZ@z2.B[ht9o~:.x`:#~:Cknz)23٢G$Ed,VTV3j'h [;lL u+@sK֢+T7=)mǜ֭C=EOu,ZG/AB(}&J^8aFiОq-ǫRCu) vT[=eHTrۻnV)3 $8u㕝Jf¨u Ͻo/ QT@"zۢ3 \n4Xحq1׾*Z9 wxatgMP,ǀE:Ѕa1wHp Vx*0ڻF}= Z{B)Bkh4 ʀHҩA( |_ uV h_7B5.͹:O_f6=@V5'}}DC"9gG5 T2Q_ PDKvfUAu(0Zg;!eO/F4%/@$?QQ!&::=w%2T4>GǜUq+R ~dT:Sm[Yf1Ehfٝeu`|L]\O_l'bK({uO"O2(%a)}V'[.@:0}Hťs$xT Z ޭ>*pmcf тBUAr^;ZERvr~uoG[xhKP擗}O;b/ rHn\ KJ?έ-qʡ1 a{DD@:psGCͪ;Tx}b ߡS{|;gi85qcm pꠖ`E? 4&>%^6i vCXSlJJx٪uHBKmy2j詃䐼IGL$+S]/[Mx8 iN#j0eU M |/"|1X.tE9OS}[Sj'! }E+W`hNY#0nʑ@i{VdڵztO?Zurw(O M;T=byo%ʅ}3eZ_؍<{rpsF0k8 fJX";wk9"NTqIa/j8񫞾?ƀ]mRIsi DσjP2Z]_xL]FnP8T!,pU.e-0ҵS)dP _射9Ok#lr18r;&ʚ48&]jq*47olu1XsX Z::bolohxL3:,ټ٫ -?;1 ~3s2ŀ/Vv4{S @&A8G*%~.d܊N[@TK{@|B5N8`ư OQ큵^cX;Ѧ+»ϗ},ǭWf$8$ɑM)tIQڟU7d3ș5OٸT{ix"2f6Z Сw%> 6p#BOR@U-]UEܣpۊ$x${qW=|#<]ZTف@.h2)=xkY36#lEm]>um )1[7`M\;u½wC>-.ϥ $t_A[^#A(s@VrNjDmBΖz9qZڟ,/LV&;?ݞC>n"Am?i fT?*zSe;R!l< Jr/$jMmXƚRmSaWb' ͼ]LK6ʴH.ć)"7o\!};*2%Cb*2WLWb>{U sگ% Uߩ}V>ǯH;V$K9dw$HP@y0,݇wfjm'*t\aя_wb>A3tXO u@t3DyJut{QΎCGdD4ics+Kl"$ c4DNA(#t0oy#ܗ]3#c̦G돤N[gC,G 'tNUzB{*dis04eK-9l8F?64J:("tK`^]LOϣ66S[>4ƫ"r-8VR==`[B’|:/ b0EE\:JȆqehJE|z ۫DIYCD4=zXO1!&"Xcڂ4p:RA]Κ!43/-?d^]M 9/>5]x]ClX?8J9̰I^gz@)|w Щ:FdKtNj%?9vh@CDHIJud [ $P|Hu\ِcXxH豄8C] /yGەWNpɔǰEXDuc׀Qs&؎a7f\_`5oAibh[9"Y/wC o[)xaGlYKsHכ\5< RnG逩nB5 I O-vX籵Gw3QB#0S%y/%Dmmj)9;jFvm&$$4`L<6EIvr4:%Xa.i9p(+7},~{e推+ %Aq[Ӏ1OiWCeJێ#4(9^:Z‹V6msNm*ҴQ81@sOFHcr,!Kgc[Kթq)9u 07:ϟ w_} ^ܧ/ڛR`I0BޕMmx}fĉ vʂǯ4B҄ 8믐; 27RL2ٲѤ(]3 #DB*A%vZOfS#XR=76Ua X`8  눗==R >pt1;>vX(Zuƥ(8~[ܠ7bw< aѶ<(L*<紤M#uR:7_"ڪY$BLyfbR13g-ӕPkr^L[gCd펙mC{i!˫Kqꈥ!xZez-G-R/,+Imc")w}/5`mufyY8 EWg8UqZ(pT GJ Az~D +fӴFW`G!u`!j3Ļ~Bl7! ࡅ0)z?sPSxvP*ȶc o>ahT8a//Mϔfp:JDW݋# 4Puz􅕺 8[yGܿyK G2kp5VDn~2uD*[G&-LeA~f=cH_бZjIܜnnMs(k @(iIFmXl5_fD_ԪFS:0=7AuGx9fvWe`8vr餙V=ljNNW6Y¡!;wB7lG^e - \P\L'FjMWSx.W"2~̼,Lh O1xO_4w^3͂=WSوX55̊s8h|D#/[:AεoӢϠDR/w?9w+&CtLB=b؝s5߫U MĊ-jB8<VyD4ǥ'ee& !G%cUH$B/uRNv1oP{mɅO/np>9]9B&8ZesePX @j=|Hx ɸD :z$4%SNTjrYyh&;' GMGEk'njC[qN7D@Jr[Yqvo*6e_NH1GNZշynyH[$ÊRܢ^%G ;2?jQE򭐻64/RidA5Ryd-qz036(42 ;hJ4:}'_xe2ݻ@SHtW zq%IKƯ\rk^H"=o%88ctzCّDžyPLIY42=o^GuF/*2x{M=!wF7@N+ /v|)7d ~)G1QdߴZoS mR`[3Y.z Y|q7ر'Z&&yx+ SiX"q_x | \qDW:-m x֣;dE9=`Hזv zt &{)oˊNIkxqS %sc.0ɹEO]\ p7~p~ ӱKflX6)n{3\?*,Hq43}AY񍌴KG\mX97mS(_c-b I1i]B SJݳJN楋JҐpmPئX>板^D:yM|S[с։D4))D(}JJM)XZ2|KB83>x1e=LkcH /ضVؾ Sc j. CI|=z$ '; dVܽ6m]qKJ3.UoGtEY5ɮ#l1\*hw765̷^?J}Z Zнr%*'>]xTeK'UAC(ۢ$$<[2f"TLVe&LeqHID{` [; h*KF\ؙF.eXȓu]FJ1'P0.fP^~i1j7^V?aB\+ak x̵FbG:N&~,Q2 x=v6z )mSIw 7KLR`Yx%#ͣ䨋Tݔ@T}ǜe gKU{oV RRHxhݩw n's"0jJxu\fs4 {lY4=&BV@d]0D;lz9Sٮ/xGۊ3ei@ߐ va]ãk;qX3ez^Ӥ316cqē.4okB/heN"ӑSEןM;kH(M4*Wup1q-Wh}п'&io嵶:0`SB 0|O1M ŐF^Nk{a`9+Vzbk RYF&8ȯ%x,e"b5H4˘C2EyTeGX]Iͽ2cNd_M첊h< {薐Ч>+6t\ñsG.}]=޷j$qgw=*& o"NnI/Phh)`8-hmi@+gsDMhl!tsi|;i}E}B'HMO[mn/-5}QìLtw4&rBrc 쩽: ʼn^G2ht%}=PzS83"1,^o$؅n%_"!03;2VܥWTE;}DYg\,IpL7*qm^ו!#𠰛@n+rOWϘbP^g$#SNJbnucL)#е3wCT @Y߶,ﶅfخi4ƩNxFz̧NP}G)s%anl6pq枲?ү'&0$I]!V8V`N 7T@W h?O{, Jp\9# j3?Q5|OF!5Xg Oj{SX0_ ,rgk-?X Df@ioΚ#?pv7aPùBpQx/Vkh:0Ec=Fpn-a(]btT'kxmq>pGyZ2VgWf"M!y݌\M,HR:F~1w^׎X]v zz\IE A1foJ렰2 z# u+naY_,r?e MȜ\q tgB>qxooRvs( ?&G}ZMz7Z $EBS2xP â\RCjX#rnN77b0vQT&I| b)(ѐ?ylXD Kcxn.9Ȳ enwڧ"jvBCݏ(!W]\j̘7:"c] Pbc'*-#;AyLaF.I[UIvgD H'8y- >KrD鯴9RQO 40VQF~ Z6#MY}^F t4D0K=5ʯ=L/?n} 5LFj -ȲԢoq/s' Y>Ҁ D9f'-`/bG=mgӫOSϝKr9%EsZϴ dv.j]6p6,Q;N^yE ko(GNӆ .BP,0mh9>'ܘWY 'ԥسb/ q#l=8G0_Ce-^E{Wۯ>k+BgBv0[-Bv,p|#XT--Ul>N O:XG*35m&2-iW9`U"qu{20OgA~[RMĝyW;N#k8 lԓY۷9휣D8CO ׉D' U,Zii |0I݁o@z/J~l1WÔ'P=p0-jէ.3t8A-qXx^P(? }-ptuy+r閆T2eF2~ !3 NxC(xrZ>0 e 9o?\{Z0,qBd0)bઆb,hȳv[ q e ԋ6ä5{i5.w=Ȅ:sB8k"$']g>3k=: 1+Isgn !xa7AHo[Khbe.e )GI$ow(rK _;+ 34,(eVuw=fo2GT1]%pkPĐ,6U2C -pԤc6>~&gfX!k^Ov]&RRq9]}KR &1`|qgs /AR+jĂ3xژrŔMKuO(ݺ)>~@I93ЫE25"Z\m=tЛ qn)juDfm꾒@^;ϨQk5U?VS#r}_m!D k[|,7(=~_+Fݨ%6Y }oȄ:Uo|qtA4[k]@P"g0dLrG 0=]m<+Pnd1JOڱ(w;XJ9 qz|n5*,_@ $K@i]6u^dEf1m\Uj_G-bRGy;9 G#cM2`>μY;spg}L5\o BYmh7iZ% 8'-B. QoGO0L}{VSz,SU6ZngE\UVdM=mrv8`)ĘE챵-,ye2D=c0/$<Y= &|"B2.+`w'^ _)| /Ӊ|sb&i鷇P։$crX[Wiw{ğ .w6[oP Dǐ*ɚTߌrSРl9?CK(LH #"Yr`z>dį"XGԌOp=h]bDEEHd3'JzSO)~wIjx*ʁŤ T9ﱍ:#ûr:~Ĥ2p3ҐLٝT2l# O0'Cb>fCf?P֔h0 .fo9 ~ѝ]ᔣaӼ& ad8L7rOvOV-\T&p ]LfEpGxo7 5#fu9*PQXnnw`?ׇңcU%DUt,_ ɪߎX_3P%b-D].\vP >v yU(I32os9i䱼^\< O/WGgCgZ,Rq8#A &caWt:zr]u0Ozg*w@Pge!n hSbukKVe !1_M^ f>St3DVMԕIwwc@ը@ qH0oX1;w)H\ ;Kۗe͛e{^hۂz}ίdGJ>Bjx9ԫ]P4'S߷ Jm% n{!GLܧdDE^= x=r-ǽ .$fQƶ'jU}yw(MMqt8qC΁'7S.w;*j~E1N`5n-!j"MS 1,D#  (Gc“@F 4\N԰4g `vcΗ))k{?V/?1O1T Mᾎo\TTsF$NssWB }mmLҌP\+E`qz (N:*RJO +/ې~iRǐTQ:M:kK>#ɖJT,vwu=XB&65R6MnP%skOnYcH+&r@2֗ѥ7e @n9=?xtL(DvFu-B]i; Žn7 @~i1w҂y/F*?:K^L#OPϨ|5~$g6bGz}2Zߍ;3 čzPbIW1]*\c叢pD:>V%X>Wʚ'$3y_wN*7:$A 1/|ODM#[:ԍl&qʈ lY$Zsie6).`FÞ!=f,xW<\IH/%X2%dkd&8j١zxR ^`y0>a0Q'"ZnS!VQnmTm)éǟ@M'fn&sV ;;p>-& 6%`G%r4'\ uXI52?eTR ].Mjf4΅x34_S-ȪTٔл 'PAD%)= ظ!%1OUwQc(zIc*lw(#(Bf^ӎև|Xnjs!q@3s^f_#[죽ÌAz>/dʖDb7*nL2L*t9ia CM3/+Mv\L7^ Y*XG7uoeYF+~ױ}'+'OR3ڧTmKgfd3-54q3R8P> TT9?hs*Lo\_7{iWb'ijOm58uyKJ4o)$5~B ;9A/4`N2Q80$W"<+08 yĞ6Qoc7R+eGN$_f}Mo`qN%#9&C8Vu8}zL7:Ҟy%1xWyB B-nB9NvzbIHWbʪ/'~/9صEۋᧇȜF8 UKhЏH=pYBDnstbftBFlɤy3"S#PUנdYtph~9/BZHJsRQ0r5GRՅ524.NdԹa)ڎq i1t~l!QэrX7:7׻s|]8mw"/wf\ކz AFi8¯ƶUӳG='ÊtK9,ؓ,WY91RDѡ1Vgyy|Kr^́/X^薛=!݈!ot$bu+a=9T G ]g}9:TpXNs>A׻k~^-7!HRūNxv^wy_/Z"8v'ng= p<=[=S':XӣЬ+[}IL,k5;x ?Oo֑ {TfPu27 #XWh蹪qR5"][?Jӑӫgupv)R#2s HctRLzLnSG<6Vp.GTH):ͱ\,8 ʸ*Vv#u(F=!RKH~}f,DTXWrfbO^4[(ٱ}1/IJyO?x+ŪۆA0۾:T{Շ(*Zm@>lHD:F?P<6d~0t֊kT(_ZU\ ջI[ÚfҦdߔ[JwK\ls$z#YQUզ%[X\z]ᐞ +! P9ƌؑMr϶[G@eVHWKy ٖ ҆G\ŗ$R7*bQզxq.X+m-;ɲJU=㻐`h^mo獂]?㍞{a=(>܈GXJ*+XLz5DE]2i-0fN4_ɋPDʷ\T(fDw~_$Vv| ph*A)FQV %F0`±(;n: !a?%~ ֞ | )i_K:"H2.^Bu)6ފdd I_o;bQMI&|*}1?cnEa )@IsZ\+4QW+4{яר3 >*tY.Qװ($egہ|-dDfYRJVCʟL?sHW\IQYK+i½|V[vΤ$ (RRGB7oڠ W:Pt+tȟEzLv<~~X`TrWk1FBtO@7y(%GJͼTLXC|m>Dc$G,ʘzOux89 :${ƸnTtnJKWq@˅yjy~[*Vhwϻ},b}5uItNg }v'j8ae&NP(:uzۓM-@}wpn;?'`P[t B+FMyWCE >]=$Oѹ_\Qȱ-^*3 g%zNV /zL?@|m i†KCD|EԲ'YBN:PNDNexR _+>T;x(/!bgz8tZUN`OWqI.\mbFCQB;8 >? ($CטFw}CE?BI]&һ]gM|GC8p,ͤDru(n¨ J{5dvҏ<%~{F#lF.by2QMޖD:'%:#LD+&Ʌ(M:6dB\L2_ʃ`A͉ ӻXuq^}$mn_q[]̲kÄerhzWJ=uɛ?u*Qm;$Em,i VG1e}2БU)C|GEWjouc v:9'Cv=6JoDW%h 7_+&P`Y͂s%Bu/};-ՐYt9C($v[v[$Ep!aKh^/]57W'8-d3o ,"uGd-lV+&d9#ڙъC}g2tR!&G.( ôBk\:'Z{Ufy 7 Rw![vݨoZ.E\WuZqqX6ꭥ+4ސeK@D.0 ї>*uޭA&9SHPn4YXqg9apXPur9\|[`AQƫH 1MQnXA(Oz_YIơDK.]Ƅs1tO ڨAsV: D(-Pz bǦsR@AzD_P[spAAoIi{"Ldq>7 5MF Ɖ<\ޛ@|xZC)^' {@V=+TzFQ=P-tT+$tcU΄*;fJyf X?鏲fDDP-rt޳B^G#D)Qo%'EqiGFqsAs"S(7^gE|L~yr)%tTX r&b `P_UsY3Nw.e6UzO뵮{.(z$jBՇ#8λpQVjHuQȿvQhZ$f=x{-(zRokZCެ}b "ȌJ .INһ8E9ܹ^ŗ#y˖ܛ:Dc.F&;ȤQK3RO[1rtS}^,د!$;KɺÑY79ű::IH_G,g1_V)a CloƿFlN10 ~+V0~?N &uΩ{לҏsk`NTGd{2y8}%x#OޣKchQi\Rx( Xz墙1̃w Hi'}@FU}dOU3 Ȋ +¬3V=_dc4:Bq;Vq)i!5?[+hwzs2bxOAh;S kx@VB7k.qgaq-su+Ex\&{@6P4~/BU6YSgFʎW(^4K6#;[C"#șkl:k`CH2Is>Wd~I\Jz*Lw!npe*e>w~Ml\)= -Jy 2K$r^q h'{R#^7:r0"0>xåz R;(o7lm^bwzt[c6X[z?5 „yÈl̗&~0`ٰþh\$kL]ݟ×%#O{PkToާ'm:8~C/ݺarnk99zJd#uyKKXGᡳ ѐ^Q g\2@/k(#RXѣ>H Cy">ojOѣ/dfZpL.&}Cde6.$4 a柷e"OhnG}Ƅx~7<ۊd͹|D :Tv C"ìx xpRCV ]1Kh<8+Si$ 337bezQ=dySoM,i—pRx[4+8]16l ʤTVdPmb:1JsכVT !vи_YmdoGn2tDX @`3_%Ͱ7K֔i_|X>Dt y-Q $( k˒(lT> z$jX8\˦Fiyt`hEFmy:Ip9Z]xșmEo` Jjrq =5g3Wl9awh6?0X mX޴k(?Pw>FbgA@hK̎\hЖD8(3:N|DXg)7ƦpfF?oUoS9_iGMu_W5n>Yٲ0ßE%^#rBc3iGp26ӬN9%ZՇ^=4 2 2 qMz&p>cx+# \MFHd1k%ZxYґ45v/LӉ3MgY 1S Rúy#bTHnk ަXx2m4'}'Gp',7o ' !S@$ԯ /*`}fU{Uy- ,gi|휖"Čw'~Aȟ#}9w' S?m=qF^G:anLAᇟn5DճH2P\\V,o^,c3]^CNh0"(ry9Fcx8u~P.L ^ ҇@e)!,iU:3n#CX7d^S2a*6J9ޔcO%ӛԩSSFR^;Q9ú{1uAh/k|5Shwʙ1r@1r"FvQA߫`^/)m3}` o *ʧg|8'Bbk73UI^.|r/a7C#{f;/w.ɽWɓ~ S91&B4y\?+?;PeB2HJ~r^kH w/ SYLؿ5#+܂2suR4P͜3Op 2D;Ds<#MRQH-ZIܣ0SbE;Zz i)0UzԦ KͺI+$i9O*W1pmÛfNZ>3omr p.eWJd̡] -180]x$FYѵp/;ʎJ S.B#U@\=ށvUa0+uC:K$ȵJ)iRҏ~pwtL몐|so V`1by>gƆ|~QLx+U[q GP<(*ൢ\yh#)y 0\=D:w)+'-f#tS*{ ,@CJ/Z*6 qQqd'rJo)a vZsBcm,+@gNr %5\=t iT ~rq̗Rؗޖ^SqqQ#VC  ,@A7}@uF@27za,5o.(>S]Aiz%33^gț^tRGa\p(JWa,͖9ds^NU“zM} MbH z 2U kgx;N+Kuk3eRʜ}:N)?!U3eG&p\ Kod?,akj`)" ס;>|1sxa_h0yS%c:*D&}^(k =4ƑyrًCbq9ΑF!5(sȍzcLj~Ѭ4KCIgY3Podpzdc̵'z VwAոOls3qvt}%{~R'#.ԇPm渝`E'4{׃y{lӆ%lT_i:[Owe "@/IO-Pϑ(SNL|VvȕB8TſZ.ыX ,"F=0țB؂/@!ǎ|yt:Pry[5=QهԄ2OJqEiAuh(>CU>7F x@[Fi=FGFC,zPɉI9:=Xjt(Q΁鑤2oSDPM%5%( Oa{zWK:8k-g8|&Sxr,OL6:lpP%'`MYFQ@yVk# (Ok`Ш208.:@K!z⡧py= 0 Zіu:ƞ|[ƙBׯLqo3_u~;({vi ̍:E2 CpY,A;0KmLpOAW>Zx~(mܑc?; y.8v\ȷk2 {B7.s} ӯ^Ft !ǣ3*.e4o/lIU2Ti3!5nnN]P.lpmE;  ^HlΞ5~ nwNcτDaӀ64u{&*>kc p-Frq]1F>\H!FϠÈC{KNMC{,s_Ԍ-8(UC1wƅ|VHGwRitΰYC[V%B׭N Lёc\9ǎ=tr*pXa<I;4i|$4j^#k"IUlns1iEb|χI4xn}ǷcgrF2Q F[ʴ&<Ӕ]X:Ji2@hӢdO[#>"Y7nlc`+7+ w#ԑW%vjrXݦnDDV- 㗕jbzl -ݕ^n=i;L"Χ b_MhMQB  è\:iC /ɟ&_~ 9T۩BRkߟN Kz$xmFF.x2r~D x1s4>&jF A%26NuN9+ݭe a蓓D^4w\`56}WhR]}iqeq*4߻NOݦ38ݩFCK"g|X7n"?mv_)Zlik]yUqܝ*}|!t:r!x#weUVCafiP;&'?%UL~Yvc6a2ޘotiEKj(DuYzIleDl;/pٻAݭtI7XlG6~m )q=#)X0UVv&MߝUtiw(9B?] U$O [  3W,?K&y]۩YTfAUF(Tcwk)QI87ThrT)o朸a,^ j,ŬS( vHWEl2Aved΍+uƑ=2jo譓g_E`D} q#ګڥEXҤA`Lu2U<*{Of*$ɝJ3o-_Ǹ<8ȝ#`!pۻXc#vQ62RM0k< x<*j{XVYn<5X3)dsEet{n_2] $!2@øpbsgqOPN͆*p.._^R3B*uNLbtplq덆nמyj%.bRM X Od_s:3͇ +C+j&C|%~@kS`,B(/yS'/ 4Xb|_G^co樊U;?9&Zh8yBRIhS[Ŝ{˜!$qm(s?w!F2vd7tDk =Nr rpδ{Ip!%̢~ ]u,]׵K25g9t{v2,0sQQ :%ɳsuEțgYzϽuLV8j Bfdy(G ba8QSr>_(dI?8ݡ]U ٷG%ls Ptżd.gkK9⾑B&qG*]lf<`^tо}9i˙ftQ m8vCxr)uL܋ NK{p\\i[uv<ֆJ{7QqdE (9 `Az<\,oƦ t>nE/IjQxYωQ3Y*-` dȼ9cu܉۝HW%_^<hGm\y ]tBpdm2aP8<:~zh݆}O:rrkbj 5 EH؅DXks;,Bz'-n],F M>ͣ zK3w#J\y.VO\9&B2v葖@(`R1h9A< pƞ]3b9FTfǒbt lE/O:B~Z Ǎ;Kݺ<1|tWEۜEǍ~+Ě/GXU7[8Ѱ 1XyK--D9"זgW]S-F͝~0(55ү~Md /w7zp|,y+‡_9oO7$Fu%pxbY2Ni됳ʕs^% !  /mKU5j 77Q?rHj^,:VH8+gX/% /mP1@[ E:^.Ԃ弹RHEAsDDkcS[XXaVo:d1nDK-u^F损2&Al4( ]Tah>m+vv%,/ O( Q]{5^2N$a y\RNj"1- evKB~TqzOSe~q4I (&|(l@(%@S_u iUekO3Ϝar)P*~U=^P\tAˍȪV*"%3mlQw$c?KCiⱱIuuauAIBkO#] XhFDr|-/$p^tpSF^ RW\*M۲lUA$TylYJ lzˁ"ب[+-㒮/s_M0UpG F 4gT Pb?wlN惄ފ|t{<(ܹ՘p7oW!Ëm?`OӾCeCVanHJݝ[)7Ѻ;/gtӲG>UƧhh!N[`#ts~Y`K OC N͛R)aԺ{g33#o%Upν[Jp>4_^9v>$f7(OdA!YpNhD^ @l)>h! UJsV\y$Z9G3^RspSzPdE^R9MQ`]*7*et (@3^>ܤ6o55:2V(;eDZ7vՂWs*Q>G?@S8|IԕzId$v(u]q};s t)mVjN<'G&WsQ > ՠT Ut[]|>x& hv‰QWڡ_Gj F,5KD7]ZunB)C^ڂKklk(컛 w|VgNʼ|e+w 'znm!ssQȶG/8^U)~{@ز>{KX1Xs43id1{_RX5e#H*3 tS[22yd` 7qZ@-!!IpD]zDxY\!$őu|r! A{y%8I|/$$t4e.M߳~5Ak[ i6I ]0]*1r )jF"}^P_ey5L$}}vr?"䟘Vu8?P`%Ꝓ~9X`$R?׈ d͋y;39_ssȂVh mz^y4J}UoX,kעz<0;Z$'Ke ?@{9h },h-D7 BX@H%wߖ+Qx 8z0N^d&-O%#{ޱڭMi 8crNY&Q- '%q 'Π $z٦EEl Yaм;Ř)-e/'ij;~>aFT%zT=Q&~*aLN8x|g{Nt0WaIc^Nuf4՘+؇B,yTb[t\ jYll2YxloAflW3k(J SU]YW-WmnH M&_ ̀=`\_Z <܎ݿ#uk5Fn")!i ~4VJ\MC~: ߇T~pPQ8?$*sd?EjnXPdG rxX%jDAX[^]Two{U&Q]ƬW̆:B!KwC CQ9 _(Dm*O%]`+^&~#lOAbԠ#"3* hF%Yׯ[ lwT%ݵl B᭥n NHfDv:Y mz7}ug`gd,2 >(>{0׹k4L\/68\M'DcR}tVji$yxXPÒ×3,̈́K4h!}(%eyZN6Kī52\Wͣ#M0YSgF@쒞~?0 Lìut|v߸nUf]d}LK&Սl@o6=I+x \3U =C]7Y$J6kW.\nq2׊s# V& <{p$,T,F\ d C_H[O wGtb^rd)BC`J"I?>#[<@e)Up=)!2]hDžSwP[ܔ#/mnr>&h<6G.ê=iS< wT]38Q.>Y"ƚcخj"pJKW?$0tlF';\"7և(DDFz~GGohy uWS-5h 0)0R}ڄCM=p~jE-7ϸWz$_(h5$;4Vbu7<(OwBd!eƞrxZ>'HPOTk7/_qK <܂dơ~SJ4S'B*#z:^;Ms *"#[~fYZ`Ɔ\|Șt3inm4:5GjHDs@>O8fk1('=1QʬG4~.egJlAU{BmctD@%"rQFVꁨ&Ӷ߷lVS!\Egr;#U #K7so|!SJA =l:j 'rPb_*NW*;*'I@#`JiΪYZ~`ݯH\ŀ>v.DyZM%}(CC3w3].n3E`a:*a:&eK"0K4jJ lX79( ј,~7}nDyZa;Ӯ݈Fu*a\;ibQ,n+a+(ATIs%чbegqaı՘9t…2M슴H(j+bo̡:SLi"q^ptn.;vs<~W\ Miѵ 7Z F"E!5ѳ3$gChTǭY4jB~!~2^PSHj "@-͒ch *'ЦՑH=t>4Ob_*l  ژ&rҠ-f~GZ8U*q~@O g"Zk &c;aT+{Z+d0C#~8ڒߏcgGzt]iTN^NGqWyt46efm|UߜΤWe1zm9lA$KErw qc8TE"`/+eӕhhX tm:H{,j$-wl@BsY^ճP`㚀spƳ(YXmN7O洄}^9 s:RV\1SG2oQXΉK@rNS8YR*3vCS;jET0&@#]~*+/V&T~ܵRT (?j #Q=H$fC!ML ÎVinW'ᶾyN*1X'g-7aA~YU{mX"TMf(I59偦1k+dhso 3CGJ-U7 j2ڛJ`ӗ!(Ϧ >4q=aXIח k3mn;RSpw.65\pػ>M3a60ЉK (#iJPpl/i^,|IbZ<ȕ<'h e[5-9H qx#qKЉ<m1+Ӌ*JA  nX!Lɫ[sλWF|)VMϘ?(j' ҈eYExuc~^YDG2QڀڤHVζ0 di+XCQj፣ |AS}H(35̓Tiց"‡>R%Ov3f#jfAf^Dq/R(ph.q8$@Z6fV{>۾ESh9 i^lv A68Ր7nF If\qI/MbRioKƻ'| [z+ p@$X9D2j7[ fpTȣ,i[F4JU>^?9/Ox'XRR& lӾ07'6t_dne_[ %揝њ-\Jm) d&NGS[ $J#tOȦqBV4{K9S_/:EsTfW뎃RCO{UhP!"Kɑy!і8,[M#q,T t'TMq$M)RhP^d[[q8=G @? {aLb֧vP!k)5kZiV*+N/;oiXW/ CMtW@E8: Xp{ctɗ& z-rm6( f<7RM6vEj4r{l_wOK79ۺ8}~x6vb ~K85G3W$?fh$8F ʼn\}ihyy%~CJ:ldŴ[.=vJyTX3WAu}y: )| Lu88癆8,]&g]* ٺց)-y& ?V#:[yL,.tB!kx?ii>`i};<`[=irFڄscNǷ_}+]Q$0Q젦fqaLrfkN0{sxNȶz4(uwU" n3_Qώq{vnInkmNuhpws!+K/~Vd xf'6M~-m#6;ovȺK*e?z㝽L\_9Qľ#~5KxLx>7O❧ =KI^P#ϫKmgy WdQLҤZ>{=3Tud<_C:گc)z$np?GX;d!&"i M$ξZG`^fARSH֖IN=#DGs؝bkh=&Q+vH(lݕ˜xywZc JF {!ɡuqJ1dX*A.yXQdӠ0$͔&WOu:["AWaWXL64Ȣ^x#-\;'v"أa)jB"XQXB,N .mƭ=!%ZzY,`? [4ny̢*mP Z" JW%d;gqo,l]ƍ+5qa[+%hӡd&#L+D+'ru}~|2ZߨKVr7itaӐr2ԋ={3Th+Ip" 677rktbؘZ~ [`{1ÿq^ I[(glton~dЏRЉA͑sQ+{zANkkvS&>AZ(-t]I6#Bi+ 눍  ?*+6v TF9'QZA{0 oJ?%~Rcm8JYJuM؉,%X' ya\ C>#ۻlۗ8bx2ğ0 .gv|{Z[vUx5@O k ;rXS.e_vT^4°vǰ`̱@ZYtJmcsO)h0=\@s[t[O15ɴoRgw]SjU>5 l NT AƓkCM3Z8~QEsܻ1`3Ԇ$I&Վ¼U2iYW gܚhoQr}xōaXԧNt|a# ǰA#Y* daKיx{*%58Rg Y3t\R5zz,:e>}V$ڬZfidAh@b^sTۢ#RpGUElGyb<t<S=Uaw~;8v!ޫ/A{`oώjQ@fG-"^\cʡ?i9Px]Z1,)ަWGs's"j==Z2r+J\>z!^Ev͝MN\YAJ{ZF(v "^1TOSR,L]i&U*IwȉP[;|0tK'HYFƆgڂQɪ]5V1o@tMH:~/~ɦ7h(Niͣm+!}VWwXvIw1u*|$i,^}̤[〰Sl0*a7fpO&b GDj,8h~)J!M>$(pR4L[jiX JS]v3v8]N|f (V(|gCI`.4^#H9sy& wtWb)/ws] 7Ixc$go2g I@O&-r3-=7+geuR}RFb<ܢطef Odg@``?Pp'AdGgP/ʛkHdx ޽:" bW'թ`44,k[T(k`0~ya0(j^KbS%J1R( "1' ㉞>4wz[pC?XpT%sY)jOҷl| ӏpфd? fwst"L22(O~ %Ѐ#4Y4k;!@>=v%Uhm :2X cdStrjO_W\phi?9[Ww>" ̄J >Εb$`D*1odWGrߩ 7w cQsFz i:}dmv<MEլ8bh&lQ~uMfx}1h*+Cd fl+lW:7+@2;ʟh`x#j%0Y@0XbA3l-ß\?LKI?8T#t>ԑP$qiOL΀V&549]TM )f3 U?I ڛ)Ҁ%F;Gc2Q+n,Xw%=bSXv\t*IlѵAPXnGɅ|qO=%2-5F{jLwC5:\8eyGx@G+NvMy[ C0ns Czokݞگ_ Vf2=ЯHK :d꿛ڜ\<u~5'.nOgh\ p`g[5?0^:\b^|nnBt>8 .ݫtggXb?~،2N-@Sf hǐp{W#~Uxmx=Ex6AMvmˡ4~{,a%?2?nr4}%i@+U-?q|<梮<%I8a.' ybFAQ;g/ϻa7 =h:Ki4ZL6_颕8?béD 5ZR; P,̅ ٨2nI5>F7"Vt ь5M,.Wv눔bғ|9wO?CcizL ){09{,A"ayF@J^jCO=S*}ٔBq A i~44pYKTnHӪX~f$p~g_0{xo`_o _"-*Zj%u&dH)m Go_K'_9vxoL]_L !B-M\K3 Jӡם<ː}oA]{.=#}L FC87C<d5AR9'8u[t(,jxݳw=$&[AvQ}8*kIU*ts ɧQB̾mmtD4̯;5ǻYt80%!$^$ +^H6]Lul@x=P%%jY%φ)y3ew]T$KE"~&,}-Bmߢ޽WdF[ Q+>00otP/S0 < c+ąԳYw}Kv"AI4Rݩ)pJ 2Mbo=|g;A$C6,a {Z6)d`z3bTW}ۇwo~{Ǧŝ&r"+M}@H$US$_LHhmթ>n%*nv] F~8M(cHu`R?E0hxp UG7z/Tì͓]#F 6^BV5O ~z1y\ȁC9wEFƃ/~:« j_l@oDޢj213P'$Ҡx/7{UAAٴ iD[Fc3kO :=3ڢʎဉIc+U)-w~7١J+$uTE 7«ȦRrysʷ1b;" /QCd0DBZ 7Qz;C5&J0l-h3h Zū˜'$^/ 1ވfw~Su2AO8.@&<,F*5^0Ä?.:?yS lei [7Pi[!2 VagyK56.\tmC>ϕP z|QjQJ6đ S-@)bƏQM<׾5bPVFܭ;nGK!uyK BƮ"7}Ms@ʑ^U$X%@A؞w^LkJ,ĈG)ZF~$_F |VnU`zZ$7\dt`B?#YV:xUS5<4`Vxb#@7.&g _AT7a`뜚.&5.uG!] j XqwQ-9t$"QMh.%C7*^Xzu^] .J&e{,9P6N _=PUAv4'c?sl clIo%c@+ Y<$>/2`U֜gxsU6^hET#S\_)"+tǖ{{Bok$g7U'Kڥq{n.}3w1Q`qzI}EIMO{ளk|`-9L Y)tS:-CY^n { MH/NN?O5@re} 4a -IPt;oT Y >f$xAbM'^JyAӪ^k~\ ݴ7s.od?坭J--t(`s-*עJ(ز~^Eyb%j2;KoP)$c*4pNJHc^zgR=W~㰬OqP=+0hKƍ<8tǮC+k05GЎ*%VzmI#K QCS;L,|ĭVXY|Z~a{ey:/4h` KG`U2`hS^8Y'_|/iMK()Ez'6RlØRlŊ#4A#.yKǯgB2{stY-,0J+OXgsj[;d,1Z]]t D[_*4gnV ֥pz6LtPE0,l-V猘aA1r -o"[cGrTv?)ӛ6m +jY}qDz9egA3c3:wdiUpAZ^%vZw^X儱(|LB0۴/eNI 93ڔr.kT3!'Ghwx|+Qk%/g@Ƒg!fRaNw l,۫.ϼ{6%胁쫿ݳgr3M"WDV eeKKC!VS7|V*cˮ@Y3ݤ5 _0FKhx/ F5E@N~m-i?<{ !kmq%?VjlK^"7LGĈh.ld^-5i_p7r_b&]D.Md %b$CΫCϛ IU:{,dJr&+ zG@ X u%9¦$<[mgHq%K b]s#(TàE0Q,,SI>5TYxB άC%\d .; jK>>b=Ց5e}B)K[09ZYڻLEZ[o "!Kl'Ӏcyb4TwmMxrZ^Dqa>E/ѫ&[+F;-} YΤH|)ab =T'j9[?,ioWN 8u" $Jפ5@}T2s9/nz_@bKmLHcheV\e_m D 'Uz^g|mz pS_!\>I{ZeSJN;__߀B%_Joᡢ.O@[:'{Vs|B /BAmr-C(;OFxc] 7Tf3{>vxZ]9=W7J,)qfp;d Ϟ` Jal(m͆-88ͬ (csH^ޥKͧ| VٓeXQ':Lxd @V NT /Esg?Շo ï/ 䃺ilϑJa$~v~Y`Tccy.P.8:+Q)[xΒ%CS /w~^U6 9<;'UO[Lp> ,?7z>GI:ȨK͘&3%ͩ=Q=Iz錚LLosDT`9S 0Kp!O:ZE awE&] ##_ B"J8%uHbSj!:Ђki0Xs¨T 7yg5_h=8N^kAݦeR@'ys,LkL%= *2D{zLGÜ4k -P\RQkj.z4 0Х k5Oޱ.~qO#@&M58I,Yg3rd-qZ[X>ՀsU RK s F$1 pp<>RN<S-%}TK?PTPed  Cɭ˂VhmVtjg}V";31kY'][ǝ;%l~)5v֜sń8i{Nx˒ٶD>!:L '2 |D7d^\_Nj1!~' GxA߆20 Ym&<ܰntv3n Gm@|xHx13co$0vseW^Xz၂Ŷ Ƙ)TpGI4"%OT>I~y(l fe@gS)P #b@!8?ph}|1 \IQ^p [՞ޅa<VYнeZeh=Z|9fk3Ѵ b;Lԉ Nha u"4OaHK|*ttaA~ ڃ?u~xB)HeYunlEq*ͣK ب쯗+ X\_X:l8LߛLiIHR(9љے ot"9JZRqOyFGdl+e3_Tbvo/?;dP&9ou5"81BŮۻ^Fȯ&q|U16&1Pa?ppW4NcI9)ؙ2\e r u AT-hgu,j6TK;IwdPQ.`,Vh~$SذcNIѠ 6f{#\aWnTܷ#MSIL.iۅ۰Pa$w6YyrӀ*;D;6s=1SB-EkA`],'-j8v's^"Wqzh>!ɶj݋Aarv>}֘)'=QA\&13 Az*8 MVE;i=z̃I ڱrgƲ! ͡9u57h3IY+G4jNfF̢{PXZ~@p:*Rlӧ:tSgK~x% 3CSړ(~Ǝ${K}VqQGK"SL/􏢣b2[sĔʹa8` }b _֕ PQ(\Ldศu_CnlYa̞sdLBiofcA_QPRg845v#Q.^mN-j/gX9%KR{6yCmf煈CGXUpZ8L-ϫPfx X$y <3otشqp]z($ çÐuVP6-" J~ݫR$_J$<,8t|"y HqC-4:SO=u ' 4~Tp82NM R ;F }+_Cug#%O :+-T"t`>Yr}LC(KYZMMJfЄ&5h<4a=GuL(7k ~쁎uGxD@mk%JH/>cq<صpQ>ڇ}4(d_:&c &^GLhWk!P㯡 ?&6!R{[DAb[7ZE.-SavGCn~kBU]zC`9qQ`9|Ђ"2Kx5FN#J  y@K8yqDgs .juq|tv[gWEhbD\T3^o`c;W[7X_@ɝt\n42ΦJ[7N:rx5YN"Σ1+=MQ0 3a4bYm6^`﬇w>ڗ}fՎ>DjI۶)85Ɯ]t@3/Wb:nb*%NkRM?OQ(0r?_cL.M 30lD@C3DWD?<_%.m!+z%{8bf>&fO z!V85&0meSR:fu\ʫ q@ḵiSD|7BLݢ[ Y<8/ 1MM q#Rbs2D+\?wT{ _ebÅ6#Q&bt[{#D'K,[LR%R=4TAiD׶ჩ@q]Sdi3C@Sw뙵i-2%Mު4="ȡQi h\ScNߴ.R=fp3!|;ṡVav \i,AZgm0pS5ϬvRU\B.Dg۬G[\d뾹U€\30|G Z(Pk㾄ZM}Wrgm,/MrR+χk۔ n%nl: pΝ2hޞ|Y>ܷ r>K=n9dHoxd|q1I\}hMT/?@g%b-^Hoվ iZ$HPw=N0dgr_i1kar"xT~(O$xYs1 h**3 N نǫ$'\"eK{>]r7 :f o|jK2tRtƵUiG#\ɪI;ƸwZ)>&}奤[ĜQ-nBB#.wΩnb}әcoGxzd}v7 7 | ^wG&)Y\<& 9&ù^/w. I05,n؞x)FeEjTWdv[y@ed~XcT@Į yHMݯ /؇$sc}^:hS5 jMuUvdI"gDưD,XBㆲՒ`Yh2-uŽʗVu [ !ӃۀH y'14w Br|>BDS!ǖxF[V pɧKb!WrNV?h>٦hI5v  naKhˠX˸U9em{*8iX^hKEF(dzW;6<9%GמOqN2h) %fy?@ |wZkHϟ~zdO'#@;GSdÈ5MIg@C).^'b:\] MfT^OB<3Ð[:t) qg.wy]H9_<׬ K? g",֙t{Ӌ~Yܕ}\4"иF$#ʊ /=2>6_əVc-Y (v ]18D3BڇBx<(@&vM'U A9~3e'cie^k-eD1YH+蔆ou߻& KWd`qm@ S}ƞF?[= t|(gv]iF4=|MߨkK/F(b_s!agtAy`r=",ul6;̯N X $&x eJ-fIW==iJ1kr jWk̸I PMtG"E\ Ecj΄ N_u %ROԶyQg'Q& Ra= ] @RY}&$rs&ثg${~}5J=?$w` qRn]5l H/tEu O/Ģ]BQO֤~oH' T{_4 kpxt"ߴq@׷`Bﵚ1GxևZT&b^Uo,ׯ70!g$^f\z8ay[ՓH|ZMEoFi5\w S'Xw'= }J `H3o֯(*BW\kZȔ.d )ǜxa}zY7is"A͌eٛNE$ 4G1';ڤWF(v/Kf|Q> Wsag%8qN6УŕT)aoAp T<@.2&*yW kqߩlDža\~?/0fQJ/fͺYZʹTVڠeKC;zQJOC {F+D[amC=Ww$R2kLCl?NCB; Ouw3{[W( UjůXOC;gHU)WKk})qj58(fI P(K\>s^etqoݟrr EHV$Øn qؼ\&7GS#!`UؒxFqp2gLQ8;# ,?|N+}AXooL)Qt_ṡ4tyIA92&~*G2Ts꾯>~gƤ%e(.F+x9FȦNr峦~HʺeQDaDũ ֤whX+(֑.d܁ect (fm+6lל9ڈKI8l5ZoPh ~)Ч gR`3U3\Nw[=Pf5z ~0,2v7aۮG/gmMn4r] d]'q}Zż՗V7ŧMPIqsʤItOMS6whr/W'HE }_ >u=z,ƕTƙ AYyLO!7On%qN߱w4y{'7kNN: p0j<0$Ɉu7#4HҎ|uAJZB\Pa&'דS!u\]CG*.حЪKf7w@ 4&~S2&ʬ]Μ MNZ}#<օ?|Q$&q/a+8摋TnD5S*0_'zd]VDbJ;͢Sު3$hK_R}7c}]?U,x-a K';JG bǼszjh6`w> ZA2­[6Z3(-H@uH۞llXw&ofv?bWm%Tn|B@ۆ 0*';/: Pc\bwZ]~f.'WjyŘ5xx*ǧxfs"8,o a?ۋZ7[&2`l@=BD[͒똡5[2>< q]}6hf1/:B[2 U扱_2EHӇQwn|S!8/Cvˎj !r٨|c\$ZfhET?lN-2f*թ]FY&+?Vj>}ioED49 28u3B@!\ȯE!GD_\aVΪƦ&Hc 7Z '1~Gą6##woI;gSƺbRI>=SZ}m(? \O4o>džwB9 ;wC A MxݍdBYUnHե>pX8'L5rq³Jb\Dr f`偗p&L*Hq6!g1p9Q“3zuՅMl)=M6`[Cyvm-=8= U[sћ\/ඨSPV$w^\腁E54jz snoXX0JX5[>'N_ζ8Ez~x=*kHt4BPEKBQi,1k6EssnjoRklȋ[vtK(󝹏3,Mzφ"(HQ!=8W2L!5V{<̊3Ls\[m,P9hj]![K^).Վv7.r6aMƆ=71X^k)éCj|c(a%%T M=.KEͿCX. pzXW4Tr wQpZE\=b@3M resX \F/)bׂIvomu-3QV>#o u’!p=\hr#-L}LW% Ց #T qJB;uο)<:P`M"rß$]u.٦ILsn#Q> p HP%8Z(]ߪM9br3 l$@yѲS@rfdexv[d)r7wr(& X[8ܕr7ᅢʌ7Ϗl!mÀ 9yȫ}A|ͽzGPo=ecL`O=}CߡH#} ɯN]HF'9>9wg80dER Zr͉q]Yl(Z.XaUx>vDI:A77EMy OV*S9ҵ}BэgnC H +"X` ,HcVZ62 5Wzwy_KK2+%7Gs-Cxs a֖VM){ ?3c S+X ){ B^ۚ̃s]o(/6_,t[[m/`ck 76 sGV_רE31Əc*͘jl*K|T4l'K/*Kٹ7r^>.EaN0%1CѾ.:Vzuu^ʵũ}P#hk5۳BՏ2&DҩŪ 4C:A dɑhG3Tg. uO],Or*2DcKYwTt.';I]^(GZqhyɝY wrmBg[ q xTHw^rM"}HS#;ٛ@FMoun0o㛝qvH=]w7'A\p}7ʇqyk{aa47@߉N?;aŜbH%$)QpVeR']ӭf?`S[fbHWJ)  ?lȶ|jErz6m.bܐ}?r|8]"`]Ho?*5V9 |'[=_,S&>eP.}R c<&ߌ@ken>}S!k*@[8oq9>Hl[;*FCjEjIk*=/P`Q1 W 4,.ȷ /ULsa6lM%`h}-סJ;g%_z6{Γ͡iQvhߴZLIC պx`u >hhk4($a&s,yѴ '&&L2|%x^E^&Ew߇t>;\ PD.@L:v1LZE53$7;ǯ;b1Erٴء|250^EBQ N˔y##oQo`=_8U'Zj}#1s6 2Iy|^h^EPdk%βeבL5efK3EDxފzth0Y’LBOunh_DKVQMNk\>ZJgztY.ޘX TঞJTf·}<]:|äP^K?9M,#[b.ߦNk{OFK̘>>R2iZH ;mz F:[0qo;j.JI8,~ \uJd(TOP3\MLWsr/g7F,i?Ğ@ܽVaT;՟{^ߡ58;X\ doubh+Uw\<e^qR-%POGF_wE`mv1Qc cD $#l$ttO05Pb?)|sJ~'$#Ts kYSԍgfg?j3%? vuF8~X@?0G2wmUҹrH[ϢWa8kgN?KG'̌4f[o%!(KfjILtT|S "Hp\XCsRkL+CVK0BpRjh,:M#G)*DC# 86RXKVYQc ZО9S So`5|/zH/H2B1rTHNnئHu~EoxWA@`ɩ>d4|0`YطҋSK.6 0cyZX ;f ns+ >$r4U!*hqF b犙i&#JϺ'sA#4ZI}20.i< ye]CgY+F!/LH`BY`gAֈt.v;*ɔxJ¡ӂ&U>jbϱ Fv֑F_ /bqcщ}Uoj sHh7JdEh|H' uLtޛfq޹tZ=9#XaKv^dvȇ =pw?Vc&y' F"֘C[oWw݃e>MGo'܉=:R*t&~|iBSP y&{AI^HD2+%q@ոwkd(⣶,3pKStRHw9T|Dn^S4_˞Εbb,醜~s3ٙ ReZv5S:$W]յ?YF`8΍ښ_6\Zmꃍנ cL,e|SC;k?9Bl/52iVm? ĝ'hx[_~KYDl܇TfE "\Q&pV-n׳;Q$FgW,eGpmd8ƾ< 9 U٥n;AwDc :`'/Pȍ8!Pf 9B73B=!Dq,Gƨz',‹𧵿qO_%y:rƗz -tG_B7ۥއ7dV.I^Zg"͞EG_&oB ފ-,1=1Z[ X(F1%5x7c #PEVğl/L|rk/ PyN-*K5打 e4p,`&g)2.#IY$ $R P)F&jut@ĸ^J\GS1b8й[t}EI+CBQ?gQ|{U =zEkx>˃RnV a;Qfa ֕@eYL-󼵣'c+lH9*g[ă8}!VkϿL.Z&Di@> (9\.b@8 ~X[daؐqDN]r$ puuM"L rmz R~T6ЋFjN`L-j1¡>7ԨhtD!< ГBm,Ʈк41\7\B&S@n|H%6%yKF:q&K,[fd>(>mbSntHܽ6fˈh9/Q .-b4JF}caU??em7\3~o'wUuуK=W7;/}(+.y:Eͅ ̏p.)…<ֿjl- ;TԺƭP(?P0+֘4ix՜՜i w!CA jC0A(c{s_5M/UYJF{η|v{nVV#J-zu"Riמ.] "Ie/s.Jdu=fαg(5cTUt~ r=1@"Kc+:@::VFa³q`=!j 5 Z*9mL`5yŭ&*Dma3Cλ|iq>|"gϷ35$%*rUsKg\ѩj5Bc:A=v⥉R]Frrʳݞ5)iM#p@H83v]z}ޫj/ Je'~)\QVn"d!8mL#CIY"OfB@X~>yaZ=D6xn8*;+@Y滈3f?#ch„1 Ƈ?"R(S#hW$AᮡW =Y@آMTDe}0z,]@B*[v^|A74xjᅗa( !Tg *iZC\2ztj`-B1;6荟ڐ%ۅZsF(ɱ&0>Q:W:I}(6PBSLP~"ioDs:]tJjs)Fd{ڬh^cEgdǑ 5ui%^YEJԘeYVէUߋ3bnlI\rncjj8v@Y ߋ&uuK LD-MaFfNLj|f`1U*L? }>)cl9d=؁vp /fKC ϖQ-ӹmڢw*!">P?UàYk9_PuM: 6b#݆cPUA[7Ґ+j_}d#ԕüapw4G(I%orxsVyd|Ϗ4#nfp.Xvh}@uR$`1sfvL$e&yYC { _(u{sҭKQ[iN>O1OL'RW`]K~E*bV[E<'yok}y[%bFu@}T~'}4JK2W>'7}|Ud>(I}qdl@=MBu;p'E3ixgIo)dz2=҂]!'<͓vuP5HNg׍?u@U)3Uݼ!¹m3l I rtGӑw!'~T\VD8iK{Ulj*dcㆤEpLy'|%"m|ѤX5 &{ ל:kQ΍s΍`RI+ .p ՠ`q0מ_z] Bb0i t<104R`°[If?{}j"U2@5[_A< ~DPVb4H}{x YHQnIlr")mMD\/j>~YPd9 KUb?y) .†bkr]-_ŁIrmE[,RŇ)l \[CED@-FL WHe$S`'FEpiwoUIHZf*^2dCڛ)>.R^ūoyLqL.D)0*2/̂cR%t# L#Tj)RPfJ1=^GcE   EBEF;"qXxX߇@hn7`X씼^ .b/[-d6d:.U=Gù UzH{.|9 Rţ6$;;kU1إc Y o[_䥂R>^9;q9rD3nrKw_2G>ZTT@~!3vH>R],8o?[կrִg~C)me pe-Ru>^sAp52'G\ p}j)Jy}keOJh2) k/4Q!x*Rnjy]k;h؇,GgdVzݷ29f;0b\Ro B y)# BBV(l~Z|9PptkMzm I r"/ϸ.x"X]/\Xf`ok:D 0Bٵm;);HB@LO-\vc`ñaD ɷsy0uKXTn6&olu_an6.]3RMO9NGF2={R+F϶:迅$Whj UsY(ⰱ 7\_ee`4UI KBw٫BcG>QWdd|mk%IR:fo(B;Ӟ^1RqɅP'NkFC;?ݼVCZz:@rkEMyvYpCAk߫TKf#,5F#.@$34 8h)2"8͉%:3zb$,I=U?._dgy)7m.Jx( JQćR*6nق9#o p%G7YϪunwATq@(ƞ%S}Hw*+,\xݤo$>>6Y֪'ޗPFкaio"Nz!na6 \epb쐡q)O+ʞ~؉#ZA.h3M#ZVcѩKyĦ_$M$=~%$X>dVemPPp-DCn]|"R}7c!?vR =g sBys{E `wlP硜Ziى9،ߕGNzGP CLAӪa$hexr'1ұgD&}X| M;͚/!][4zu9.ͶSΩkLV3пǢ8{h-^dyѐm(/|!yi؄Ь 2Y9Ń'M#9Pn,d"Ǹd}@ٻy+`_yȕ7 gf~'TbopNqa.)LSU}\ǩpLX,3phy2 ~;|Y&:j Ǘfv.ECuoJf'A(P@5@Gˁ2 ON^{xmᕘ\ $:)F!hP%ts?}^`ݳqx'I>->א50Ykk&h)WG( [ZD͊EE}Nt,f3LBG0K OnO%]Vq+ǸDFCn" / x. *.`#<x 굞ƙILy$L%P(6~IB1Ĝ{a4Os>g|B&By pmxFfm ,O6M ђ܁Te2/6-S@q9/*:wBv0,Dٶ:R@f ctTƜK(96TE؉uH& {Yj5ffB? T\c;?uRh"[eN%xֿ)r$5*޷TSWGc?c@M 4&扃?$A&-EnK9uM0Dծ;KBB= Ox8e 5r ;Cd/p%fXvHS})ꞿ,% !yNV.w0[#iVǸ*LVq߀# rȣ/q+9$pMnO<\эNt~.V1@ Ĝ2qUEZ:VܵgfםOH-(xXupc'{{A\{ $CV(HD B³hf7?~)0HjG% =P1h#kݘn=Ӧk?"CXq˴:YDB2MBlɣU6jˬ@Q-pff;7ш&mʈSL5eҖe IuCJ[؍4],!ɈSDՁ9<֘wj;sumU)fx/H!/G-~CTOTڧZ[ҽgz\()+[jͺXm0،IOB#``W3'P'/(L*j[1p349K(Lc&]vk x#SIJ]%ݤʇQ<ƯzT}EcB98!6d+Y)cڟ,r6TGy4ЛU ?O|l%4!qK%@=|\>0 _ & h.? E|j,}qXjP<_f(2 Bs,,Zˈ0d3צ@Qx1w$eBTY΋|?|?T!/o=j˃֦_O{T5rpg}=LIK/r9۽!\/#=Jv|ȈPE j)UhԖ~Z`^ay#L hq'@+)"b&VlfwEff}Fst6)g>.ثQth3%F<4]w NP;NlhcvcWRD3ng_M[=P㒵sSe_oQTR"5<Tř&>*Z q=bʽǷAug@ sжZI[/'{P3>]T okJ~n@EjaqiW|Z&F%x'g&1^Fvl AZT_ $M h6f"YsQku7Lu_8\5Z1=3O Fm)y0kI/B Ŋz,9@S$]͹rm$lM *fH4焧QvD) 9a;;C2;+Ix'~OSD pXuRL'"&xqB%c؞~|)pvy1DvZsJ7' b :dI+3Jwi{pWX fE[+dۑ ٛuRxhJJ>1Wa7D aj|(. #cי֖ju"`Ȭ7BM IKw-JO-PPx]|^F۞&qpMKF2ÚyPIF`y^,ENa鯟15 ݃sf[FmG՟-}6f#h)J/w3ĔVTYpLxGt?]!4 On=2b GX#];KO(9uTvY"( =ky/*O\I2b|1ʌ5o((Z 6$R^HFw TY= H=4v#| Ԁ322bGF:iX'+)(syek1Bi DF5g|.hH$[IF{mg/%z'/Ҿ*ߡ21Cr~~N~ es|$ yuu9}? RUV\i*pPdD3;*zH#dk,<3P J[b6I)k| *J?I",+p=3ctxd餢TXy KzLȖSW.^Z.>bpV8]ut═XOtR9#.{4]h)/.թĬpF Xl~SF~CY/טͶIUbF}]2.I;oc+ɱE=KwoxWD/YOC@޲W>dLw-fA@0 E&#<Ì`ENrQ#c]dK2ͺ M?ҍ+Mַ aMvbɃYu.t$ld3+JX47h6}/rU4b¸QŽ`~9d<|oP2_J<["Ǧ.O};:桒ކܿU]щB5BC>9LwϵN>M.UK;B'yYU" w37#~fe6 V* OY+lsƷqC>U[_f۳*zS*KJӐU1b1&ӹ-fBӣ5Mm@X/][ f" 3`:$% ܫz׫N.C쮪8t, 9-xtZ@,9!ՙZ̸F;3S9;\8;cyXLpxr+lfΤ[4t{e|t0u=h \:w{Ǜ`uhDJҦst~ĤWD&rJXuq=*$뷋QRkI!lL/>Q5X ճ}+=?L ;_D77$RnB&(<$=l| N筁G;nP! r=Vh=ϙK ыLyHUROulxqx73J48guslx@m46ݷO0fCź;Pw¯KrHa'A¢kֻ,!UO94mUO4cXPl_1U=% +wP 6Ih=/X`|VT"; r[|t.swUT_mc=VVRME;A,ua8DsLN S4VL|?UEl'+l Ih7_aHm=ê_+" _xD~w%@zbK?0fSo;_SOia? /-m2M{P,;/D5ynsfő9_{c!~E fr 6/|SVG 楔KFC ziwa#(\# s1ep @.hgxn>Fhl#L灌$*'N#Z`^lPwxX]DioWmL_m6aRmE }ܿQtڧShY-U  U9QI,-N_nTrGBw5ޔ z/-y˚C̚ P}:zS5λq/ H$XQ0fQ ۻэX++OB~/,iuEwX[lSnPdfd;Y\B!;y0ԥc3.kmJՐ*w0wP ʞz @kRQX+'ŽCιcKݪl-na=A`]'%-++a%{+2P3ߚcR_er9~zi6u|7y L,TS /  Rn.\}&0÷\i&8eFQ FaV~`UJG0/p!r(uOH1hJ-j(j&.|:^S{ )g1Wѭ5.e4g[9"a.}DQsr Z S#]oAu;]0zl[4ٷMP; zY%_X[<6VVwŰ?is -VoyܷґnHrP`@o؄જ,0a,~S[[ˀ;Nk[Lc}=aeWihbȾ(wI(O^R3,fd<]D(,k&2ʌ Û#O˥jmYmѮNj~pż1x@_'tX% NОLv"˅~4]<}ǂ|R-';bT& x9>oj}QcI;gIi_k0J ;)*]\=YIlXb!pT?ƆGaTx3QEz\#QW8nQzׇ,1B^EP໦# ^ɵ gU$AJVqCCQ lpr$uQˀ^{ג:)."O`4qt!UԝUq-IbE],=+5W{Q#]2)(e} Ϩ&4-*LU)|07؝0aRM{hAά( ??UDxg?c]GPv@KKV{ gFs4tN| :z2#TKp`\ n ؋QJ-W֐la'ꈄha, :>nE̎ʤЛA:pt̩_ݏWB-|=qopt1^Gk L u&爩rj{aj~ mS3Sjs¨8 Q9ư}n<ؒaw6gv<_+\P|bbD!(ngvCq+|N|m9*>Njew/ϺSÿ;~dC"ݩO-|{sw #s A!f־| Q_% :⒣C~3Amhmb 6OΞN aC5LwXEKuk*BC{Fe5Ft([mܧ!feK!;ῡK)^0#{)ɽd-=cW[{`s𗝕\ 5I_g9 =tRE YSgC0`hYX5OopX.GjK`~v[W& U a]|hu8o)C3-6=]RAK_H=>6ᇕ6 3Y3/1 4I}FO/٘\{gO7V+&eY~s.] >"!#g.T"t9Cl ъH$ФHqCA(q^x$!=G.,R "emk2FSm|dhVP%P %L="RfLY[-,f),+z W <Ԣm9Bk.Zdq7tP“zud&,m=÷KL沑)ľQjqwp9 KoO.'Gc7A\?7k]Y1~г'.$CMS;VH ?*p-oks.2f'8I@Mh3-Խb~C$W%opH|%Xs8/Hl"*NoE?HJc!?vi_z* Í,8+[~FRvQ?5Pr yϡ<ՅeI}3<KEƺN=u8L d'ZEVݾc] )?K)k-Jd0GfcKʄu+(Ț![ۘ9Y0^FΔO{VP7м1[)_Ӓ7!{z>4*N>ZIpGm{8HB,JEaQt([EEi[tP:i$mI [h2#rBihwsUDGۯ(mˎ :@>.1?УHA-Nrt uagr q:Rg/jD #CU8AYCp-WI8wqd-er3XD ?FWP10^WW߽1bFSE^'!wINd GVr&(]&o̔z4l} ].F. 4Yxnn "9R5)vvo\e8&JzJ&d㴶_aw8i>@JlO]!C6dՔRsX_V\3u>5EKF2xw*S5&pA&kF"ǁ:YR2~ջH'պP mauqdGҟ'Cr$|  \N}ABGsEC%2#ϺHIиjIZ ?"9h)+^ ŵf3k*^ Sx2:kNʀ܀(d/03flA}J9ZY<3 U}xv%ղЁ$j;tE?xhڡ`{7}CZSI'@ZWd|~eEy!E )x @Ƣ *nvbO g]ewuUJrK:i2]&n$[(%YOew&}w)t;|P )2L<[,"t,L#@XVtd)h0-ht`8AKaw;E!VL *sQshۦ~ZgN-UNeͶMU.5׈điE |>떗ErAo 8fKʤ<˭`8:b}$qw*#"J5۰Av j|vsO3C6 F "tY&Whi32`dv9;rM ؆ h` z(^B7L "[`7J]x񒌒u:7a/!:*"Ug"ȴ&?k[ٱ;36hi|ړ}ΩeF_2K"LPbT.kfg(=U,PqcxlVt"oz}`SlU \shޅoJu7{PpA_E#(kZ-LhSHwP;_Hj&4H NhH=V46uYd䥺ƀ+B6$m:,|VGG.VY] >mZmYBWUn1FeP͔ g k̻~H,`G9qz=g` /FJO>TjJhCo8~¡fljk 딭 'ڒZD1{ܹY^Ta]{ɫQxkySZG7(|/6@s9ϋ IYe.~;f149enzc(u+>o+v_P7peN@y81^Ͼ!4!in((CQ-Nm6mBƺYIu}qwDC/ "$ u1|i@O}Lt&_\ OK]j<ƚ~\GG1 |%WBU4f.:+;İF t2R´`͟bjCPYJW왎 8!.}DpZ"$TbxHJZMDtUd1Ցd줰{jY d&zE1$ih$<_JO?Կ\ 64K0Z XZ5{GsI1`,}H*.ۆE&L՚w?>5CL ˖Ξڎ_w:W9q Ҍ(g 5`0ZbF&щs[r @ˬ(R,יuuZ|%ׅH»%d}ŽNj zd(|閎,dq4 ^t=޲_ 1w.z6A՚E5z9ʌëL Nw<]x͑dM?O:qVz,3`}AEq9hsh2>?rxF 3v,hBPV\ͲBUy'޴C2 (-w%b,n&I%؛:ޛh}y;|zK sNՕ'S7KO:D1kMxXjTsfcG.y4W3n}mC $Z RϹ^ɎɊ$O5&Χ7~n? O|C: APƈ/LxNϭ8SOlsRtf'DѨQy*a4X?Ъ^h}4**c.S>q*!bPt8cfS\0Ӯ,i nYlmPLf$r_cX$!pFiCUkHQO:!a)܇4-kmvd x{ITHzX^'T-M)b^{IMɷXJ'rWg >a>wgđ91&v /L#Wl8 /l$wѡd1|dh6׉9pNub݅4 Wq 9 G%-3 u 8`-pp\`yi )ˎR}TbR7G#iV952J݂s%0탦`-5ӝ)2seKTɸ ke5Ke?={NP?_zi&dX9 V>x)dy%p]pP]S;>Qw5XҨ:g~S'ZMr'Eg"٨ÿ룻!b>ŷR'6mρTTw]nlZPͅqSYa(K/WQI^hZ]p:ҡLӵ_ zm̫qUꉦyRKi ib̯_Z n[>V^WSAU(<.ƁQ,Lu-qO2c#Jt=wGe*1ٯc$#敍9իoEɂvvtTU8%lS~*VIܾ݁ݾ GE:E*F8wO<{u!- 13RYW5?& Ok|e%bw[i!"!&_r{ jdmR*T6qPLYY:I=!8؛a{ 5o}AxF?6,RIimkEzpw\ ,.Ջr̰nuiث 'YngzlJj׌ )j+w fyW0V3ը|q3u%D2z3:Ah5~o:O~&ɼ.-Qi?C:uyWh$]s4;a$>v H z'3)|U[O/"OZ*|2LꙶO"HM+гpƥ # hIͧV©23uOLyQ.b H֭B2Kp"v|޳ӅsK޿>U Ƚɑ"~: ; z9 x9 <T8]ƞ5F\FdoP aOw+n5[O9 jvKPv!zGxq'?9[#e&&QIkJS ЉlOD?Weϸ0gdڕZ:F5V@E\VIMPL.JZ[7#rv*+YN0=ӥmG?K4?s4W9h)ySjů5q+n5i%.M)Pʂ y<*y3aQ'rD^){ r4grZQοL] G҄tSI`CtoڅY8bPVv!˿bEON̖aQV<\QD+b&o {=%)?RQ&\B/UK ¯p\;Vge$X:lUeϰ?%N $KVȻ\-}_#>fq urrЅ)\n4`2m42lO^]%K uWQ1wA0$\Ph>r Nҳ]"$h`ä-*^{I 1or}7j)+QʦrOF93"ֆa^7x*'QnRhe/H#;@xNq"]J>2YN->?$)67"3+7Jy1&[a2v܌<׊aW7Q^h>Ќl.0i1g%%:3qA5 fFHR(t;,wno/*)+T- 0Ưz)ا4ϬVkGvfDyذ>lA<\P /dG X@\653^?!n04;=Q}'`@$[h@ԁ`dh8 萔ɟgEcr3fS%8X_B >)7_݌TYDf)f}N ^܌ŲHiهtj̕Ov:HXLmjJkܮ[Ҳ">sٱ|.p?Ƈ*<mٻX:r y?j̀ GI0FPnq@ZM_6\;EF)PQΚQ9o$  / "EYkaG 07"dUϊaH;I%$X PIH 1qP]7 BK6.-UÜ+ MN\nDI^@ݽܝHUe.xG:uHlf>d<w !4$?UގS$O#>RMO +dD QE@J,ez C[PZ 9P׹4nKa=BLJu&A^uW^Ғ= 5`.@Ra9/Cus6:h'(O5>gj'k vk#P.7R-n7Okg?x5ɝ '8g-T:ZCb۠RCɽ՗q z3d?Z=юM^9YgSt՜GeSC_P?'N~/%:(0&wCoǐѠX&\zs-~CvUb;<6 zZXeAi0P+;Iu_)Ӡ&cBTI[oPѮtL u] 8{ :K:D R=NE}2Vs,x#Ism|44AnxHm]'Ř O>{TTڀ d~CX8W&&49GϠnmѢ;Y3\jy@ǹ%+L"ޠ=2]9LҐ9;PTdH娥)Wgw,\-bVcl7Tt3j 'S}@D6Si0^UI2V ۇAaWpOm>iC@= owN$f|Y5Ix%Wf욉.|M &;fH.-q}-Q̃Ԛ"Hz>yQ|00\ O zS#0FTu7V4ՒײCus8<p5 (b:h囮皕;}R"Wj:7#5Wđ1>YpDњ mPWr͠&iBc3;@b .!m. '☫ BX|'@0|O?nm /@cץZQBȺUػ xa-ere 9 RT2U+jbv'DG*%eIswbƎ(!̃F'C/c /Dk qL@/qȊ$CJgZ >EܾġwC&/PN*ؤ/8TʻLjjZGЛJlB^Z5.0NZRb6O%_HB-N3yys=P/5q`uӯjDقk\X[8 [I]:5QݽFњ1v;bm)f^ט.G9V(r[c;ᵔ9bʎ)Kf|&Fjo¿(⣦PRNI>q'D׳+3\U^Ylj'a Rʣ'+FM{kl~1y!Y4c^M Hձ4jErׅ[;6 W(d!~=o1?V JPë᠎bQe-2!RDآ<2&_EXO{%@+|ϩoV55kVYlCIL% ҡ\\ˤr-Y~ܽ&Moіɒ:]<-"s _gᙞ++Z @qvU^PNXݍಎ=f7\Kh! jʓDP9۪hSElj_([:D Z,c+'eHvd}NcUm͂+''ON1< ?5W^XI8] !N)SXQPƁ Iu[)y`e<3ΩNJ]jySҹ>6HI |ϧq@`y&rn >څV#@λZw.1 (-\5*iA@䪮ξ0`˚0z 6'kۏ|3-"N}y>3A0 SSi@0`/k># n#%wbec{5 wL9SVS5$ N#NR",c11p=ll 3(8SUGF@ipʘj;i3ڤN ,BY4jع5{05-a8a&xV`}[@pxW1:mc)nWu7q\/ 7փgK|dFI<xC)M|R~J`(EKSO#&ep0HTnRQ1‚3hG$&q<" g2X[RrbRiTxPTzb&;d ;Q@4=Jc y<6FÇ̢`q @p[@R(C{ 5!MϓFM )N}wwt@x`WVZY$pв?E˲zzn -^x ǭX;wc8$Kp3xA!\d {5tK-zg>58eH;.eкJ+ $&5Ar[`+wWydCQgkx[F?rR#3B(!ݒWd\H.{NFݟJVit|sYo\CY<4narՅo ـM'm @)ש}NvpHu \YZ"$SwFن/֎;(M87l*ծ= {Y\sc9V݊y |w=Gb{ٝȆ}!Vdp4l<8쓰(> I.Q6 U *g l~!~?h903Hۉ^*{CV0Ļ1".lE0rNKѳW;ụvV:T1F"kdzcHOʮ؊S4RAa@;B]/,p;u W=//3CJGM ?4E*Ł&eDY;1H@U8nuonA'KѦ<=4 n471*~w9V֡h}3oOCW"8 zO7VRqwehε\rl>Un0ܵF7T){lFka +;]tJm'cQz{Wt:l ؊ E̒vI4޶9+b+ɖ2 @g6!{Nml :mgѱL9Q[uISk @٣ ^ 7BB)22thx%j( !cI0刪KUϺQ6^CSe 8fQn :A!oA~"AC aM\9`s+ +MI85+%۹d 9Ϲ'Es̈B. "7xs#gWZکe$Krݎ<~AEf&fj7>mJa}t3'?0NT|υĸ%>z>98C(75"s7(ev]Q}޲h%|9J'|9*-gg ZZϗ߂+bZ &ܸq?DJJ͖FI:nVnH-,ρLǔ$ Feގv%ړEyݡ^Aw\JS~}iADŽ C[ײ'5/ S H/FB;YFlsAn58}' -S$Q{OGlژUR]Ӣ]uI3@y!K8iq(L :(‚ {@gpmhXgAwT#?ػVcän'"hga%Фeuk2[k>(s4 /-C;11QeHG~39i["l\Gbm?{f޺>Uܕ2QNh!7iTJ9aѕ1QBKn J|5'7ɣ4%R @=;XWOGV"(!B&@7V8O+V~r8p'0zPc]ʟtԘ:$Pd)lO7=Ej.r֯q9mOrONB MtW$H k g~]fxhJVqa%H 3"ɬqw]t4U[U[\R%OU}Èf..n;5, o!rlvO=^.Ί&nֶ8~ ֔) b݃:{_G˂ /ͤwh760m[Ƥ17$_@vԿ}gH}@HLr~CeJO=cJkK[.AM"خaSuô2:yi/+a/ E6Z{u,>PP[N6~BRGYȡ0hL]q Jx'*\ ~0۪KT ;46{Y2v؝,n+3?(ψ4`4~?fQu]l8cVy^J)$]@$-uwrƕ/ v wʆiHöBnEn%9L[jϠY:!!Lm;%865d]d)x.&ڰa$ҐVtNatL/o+E\yL0K oC3ΦpOF P(W@["@1R-*ye\HꘅKI.Y NmbdDb6ƀ},ФpuInY~$;H "UZW0,:Ț>ьqz 7 _?|t]2v%;"2^g$CςcLM$UQՖk  DY'a(@ohG!PTshoUy)x|*7RBcC8ޠ>t;ʲƴBea!JtbI*JҞ,U!pmu+&@"䑾k 1C}v Gy`Έk!364u{ABP5%.`e@!gJ "Fyv?ACn%+=BS} `&v<;4ԙxmh]&.+\d;"R.|?/A{!gC?Wᙧh28ÇB"%8ڱ['k\nRuw:WA!UJ>ssڬ >= sbO(i( CQkс|՚ºϭk܀1d{)sg-͈ ֥D2>BhR(M(d;eM 8j :L3T]E 43:SoT{ܱRXŒR|y, "iV%s7ƿm4k8`킚44A^ࡾFڏ rp]:ܾw896Vpq`9ߠ`5T mdù"L\e;g+?@%=c d@)Ď:hۓ%ջ5NEQǖJ 8O&!*=ڝ~`# 7ڕ!+?HǶ ֯ ۿO$rYd=036u͍-ƃ(xYlAdsd j\?LOlf%((O&)͊=> lG}Iա0>ARCh=%&o |Q̖,[vlfUJͶZHO]Ut7B9GF3&X=łcF }?@kRM;r/be] hdQ :OkcOO*׈0Lfʶo'#3>hU?v0H1 V L2W5" ׼l3G7k#lA(jKȠLrfw, aW-x1E&xjWAM/?eB9O/QVӃtCE -T*u.rFz<ꢄ9K݆˸Kk-:}&˄pܪ(dtɔԪR 6@"^?0Z/{7JT)S؛-V.=tb?r@%Cn9-A[p`Prā -\ʎcx\{&)")Tt`=n,zW}w^b@DEh܂MZRMvMo(kAB`7ɝiUIufZ8D)7b]^)F cddpuùRlŢ8֓)f͸3)g Jnt{M+TD""0[M,ћ?QesT*q ܋/$'3ԣU=i| H7qؾ;艞Eh+Y[@n:\zCt #VelUAs,9X @D5^Fb2{?O7ΟE{=e~F:.ͫ=aY}|EsJFԩ⼢*lCbl =쭵抵&޹cjNu?-;w'&8:\[FF"ڡbczcKٰbۙe7'+M#JFkyUN]27#̇  / %(5߱MZJLk 5 5Y  v':ĩ"QrG0!$%+um'3bOjM{IXϒ&3S:CԻK_ܢ"YёzMn+p0{IƏqr1dYrE&KIE7{"yTyQVˬpc}Br&'s h:cZar•>aZ  zbmnd85A jUS9ۯ TfԊ"#QR0E'II~2 |cz|¹v?*QքEV=P5NЎ7J%3p@FB½mtc1댧 8{,yª3+F.:b8aCtyBOCHUF.>k,Py {+& &K6==ZюZ_RF6J=t{Дm?$Vf9 %Ԋ0.ELvy*,UϗuwpRn7@ζZ UDƂ\$^3ˏR /$ D}u;(,Ԟa|"̂SF[y=LoGډ:@/s@U`.AFpoY£"nM 03;opX#EH㽙'O}8=a7zLW>KF>Ø}~/9(atͩWB߮/5NW⬑EpJ.`T~q%;f@y+n J#Y*#/\ r4"G+ k I 9g5/v,h>9Uǫf[~⍍DWaqlIq.WA.MKRαق^,Xݥ;EĜbص |8M6+r|&ﴛܧԿ#Y?UNsG.pvE{@Sw$uwib[wInYn6ۙZM{G/`0=' RYIܡy:'"V{ӗivtAhٶ,&zň=$BoùmH`T{A81RJHpZ7~` >B!J|9:4r\bd p;n1BSs+!p9cߞ 6sK2BI r*9~@9 Hx0b 0 m[]e}ey&UzC^LN3a^Vz"]鍵d4&1 k9͝ @PX+MGC cمrݓx&ݔ7(l1T,R2bZ0ZOLBEwpgW }Z~tK;3Čl\C} @ FG v.\|Hq'fccNyRu+OuLAIZPgiȴwy\q GQnn=f#^ݠ\[nvPt?~W%b9?vS2㑚QX$*&R>Zae4Wz/Mj[ TDn⿬K1_Bhu;<)䂽x3vJ߭o~ouCF7eALpVfVmlw=G ^ Ň3CM*bΆob{#1هh07q T[e&F%((fH~V QjU}RVEnO@3 3RI4 { ҽ۲Wv=! `86qD iІY-__OgIs p_8D̀٘?-'fc)!rzۅ.EvϪƱN& =~N6^$c\ē`&>xL% |Tկ_”pc; ƽiFc \s.O+~yK<L$=,|Mۮ`zzB  0"sLޠCo[O,gsHPoE``A&}nְh@wIOFm~D a̿W5gժ:+]p="x@|(+V^о%0a&b1;FkmHcGLvPRiQAF%LhX'cP^ .X*"cP ;`Ti| {Gjs{PGGR7 $#})OoF̋R3%Q?0;_ٚjr-6sƑH ΔE ia'lۆB鳞r)^_W|å=nlPy**j{=tp┧(o2Nm멽SED&G<q\>oJ7ܤ\+0>.gaB g¸S5!Ǖrܟ[YӢ[m 1a7V^ - ֕˔DaʟQBܤҰ&OnQ ##5Xzjcb B a9 PhVDh;O;8`p~VؤV7D\EK]-['ƴ!\_iN9h5i);*?&mt$$y~B Sw0`9v?xH z<~PeNC繧9m%֧ڵkIXpnV.X\b3ٷr!Be ]= .5n{T`DM{ڰ?2X=`PWmÒߖR1KW1T&T4=DљNG=ik4s3af1I;YWOD>N ' aagTRe:?/c~zFw@~bւKYJ`x1r:n+uɣL) W-Ղ_L; oQ}[V$YyK~fH. `BiK$)f)Pws]ޏf3 JLRGEn{PwOu'wt[S~]f7l4?$WHg ]TFH~KF80ONr0X~4$~s N*ɧ [Ů[mːD;5{GႋR׷aa7Y8hWuA6Ƈ7Qx"G~nt҇ٵ+5 4l2=gϼ'e.~`(A*'}dC.}%.P&1u&EP\J/& ҼL2%ͅ7E6U:>O`Ă;-AHTJD Yim9u˛u֪BKƢ战As#!vd@gi$(GmI ܛ-\&1n$}R܀(u??';ih)A!Q3队sJy*3Mta{СT,G˼*Hךz>9,2"-C=K/T*Ë L{SOK<)\|N-!yX/)FQZmSAPAz(&a!!u8Ql**ArE3tGQ/mcOc ̂،WG -j-`RP˼+ "r֥un'( ZVuvU+ {f JtH¡o/ew%"kg/.Y2|6#ffuq 4)@"*eW9N ǀ$9.rg1,4)aP1I!ڟφ&ľGg.Tk>*/*Ř7GGn8ܻlG)u+mDN?h@/XG^P_0{Qxp1{ڑMwLSav؁ޛŸLRgJƖ*{0J`M)䥇#b̆𛪍d\:i IX:k3ʻADRdi@ATa'c>L7_XNGʊ8w e848+BԜTfȃ4$/fo4ItDt-Z nM/GHRiUK8;z z[ ئӱvƯM^P-kW2:ϯ1gizHV8y%m;L=SRBf}D$%,:_<'ڀ˻Yȴ-|txSO9d2_MDPG?Jg!7sPhu~1]?&C<$LzW,}Ip?#bՂ9u@Aɧ:-DhJo~YyWc `DneYPVzQ2mz|ON3$#V3;ci*Z|XYbYC? IoPCϒݑ5)i$zl4;}XM#yTl)i:zYe1R}Pl;8R]ozHۋW0iVNOnZ J*[h?J!FWb`k2 "^\ Ȁ(ݹj+۸Z,uWTGuWtl}9PvI ^3mNc׊G&=Or-,;f 0U3_S,+Ž>4*`Џtz7c&{E1a6?(V--; d<#1 Xb!lgaΫ1'B<ɿ/K"ň ҴtXEu$]a8weN*; dvO Y}C-vEbuxkVzۼJ+!%X <;ha&4J/u5Ђ l˫{1;oUO.ԐT< )v 6RL . pGEF`Ι;iafzMr)ZN(hRiui/e M[TL{uy8Z᡽݈!@A͊';cLk tqVV~XzT~2c FRoNd2yx(킺Wr*ڲ4Bw /+|u nl|:!/LqMѮIot?kV8 1=6;sm=ܳɱ8ϋ,I_ ۍ}C_J 1ߓl]V*x=Ǥ.ٖk1{YGZ]Kd|-9T[QAHnpY 쫫7šhg<"#L*{[ )X6cYh+[U{Kğfnf/gpErK 0zD4FɶûdZ4 4t7-UW5b{f훎KK{ϥ)Q?y k˺MbUJZ(cグ3W;Úm^' '3hUA c2("#lҩ$c^xNNǓ Zk6ޭ:ӧ1Ա>B%R..^dy ,ԠF 54_9-ݯ "݋ǪddkRi 3k$Lքpìq0X&-AR P"ǟs*q0X4f=Rf0o\C̻,Qį6=1B"(@x/m`O$O&EI]0vȼ*Fj·լy.+/Ë-i'K(сIZ$l?e)O_ ydqX6)lW $4":/晑.ig:jczlIxZ kn1?,C~ަĤ:PZy 1b6al=`"T DZJ Q {>`#tlO@%'<9i AWc %e]z59 /hZۖyn^ZrH&[l D{OSc."6Kg5פ t w6zHx8W Om">贔0SV5ڼ-9rOT5F 1V`K<٥$m>oTM͕"8s2^UYzT D`+CN֛7*6%$ \%h'4ͩH0'g'[p]hnkTxI!@>M٪g/HͰKZ-uU/@~D"gqv#SO>9څY44A-SA-,jI} =: Ɯן&k+n#_p7̀!nHq+z[hmZ,KlG.zi92];&Ӿ)};ytWͺjɈ,< HD<1>yZ9dcQ]3Бԁ1 0j}9(%!eE8B/$kF 锔BMW%Ίt 9|9[D`?Q?=v3ow 76FLgwqj5Xw)A+P1{kި3Em5&8)䄄١s{oJٽa; hԴ r 6"xGOF[6pGIpkfgRyF\YL=k^"nk栶!f#x jdo7E;i-ʛ_(r_v&<(g dN)Alyai/mp10Lnǎ!+|@ޘ,f<=رIUs(t䳊bүh%bAVxA,'o){0[rKܷJ=tP+BYWEPy/G΀r iOZ1?̷ƏC}6E5[)&|ݑ'IB_LL0USeuS&QOU6.wqae!c8G )çgFs;)'xy%z}udB v_f/ͨ:;__ỮˆұypnSEUS%֕fWVe,lK]@~ؼǩwʦ#+l#`6B>xLtGuCNL?~A67-O6yuI'1çp:fnxI/04~D׀JIA یL"Y,އtL]-T+Fj g!5uD0s0ET6R] ,Ph ˜b]Bg!96*c^x8̱U\1," dŕ p B~;wtp^eGƖJ뻨zcCG:ƒ؀W)MGU׾<07\6PVt PA&cZ|^ :'p9mבR?-Nݙ~EUcҡ<}69 :HCCbF^VmW# \3ɣ름Ydr<1U~Pf4or@S,e7ś߹¿ʪktqkSvm8=! KFE (elbEgk6悄ӜZsFf4~yvg7fNe Q)#e*>z;-KӠ0bAY_W"OӜZG&T#>c坳E< \qryG7W< `Iy7=hgzt@O # q ^ ={jSd0osmIxF)t$išR|ޑ=y`4ŤLyrA'p9[ygq/o]\#.ֵlNsҐB<B6:yή0Q1U %,ڛ.Gxf7T]yI/*f Z ^dg)GI CXon8 [䰐_Q;D'|)_/ "PwczV|}=u>Q;}#)!"wj R"9]q2DQb{ 2yeƶFթuǖqcwJYJ\]N ܈62:6SKiO~כ !FD؏bVB{FdYi[>S\nu_֚cZ7/M^_[;`gnW+(X#mnGCVv{\ t,&iѭYUOkdtU'2]a1G>nRm茣||8]~_4bŁ%i(͌6hȶG?pؤmj;!gaHe^)uNZ\@KHETUݚq)ң]/I8+FI*.q6 c>#}Kfg^dYt&/etA-Ǻ;$W:V ,垧67mCpVUޑ3[ mI~j 53J6 {S.+2Acݚ$A#5#"$C{|xo]8(B9h/t;bZ8HJk\ ߤ)U_oP~y, yX*񷭃 ^]+{-Z?m|SXJHpKErN` 5%}st@I3r-3-nLf`Hrb Cɱz |IwпZGRts=bDQ nzU7,։\^67jmB+f#an-ˈ @P(!L\Dj!@/t ڛޔI=.SFC1 ף;##Kl{<&_B50%.͉ |%7;i#n 8>!}WXާi/5|=Y:9 7alqѱ6Vr$}vc ׺{op8U]a=3;\cu<]0WIr*% = +rz_I[gA>b;vWԪQm_k[ }4On.CF]4J9Vr67ZT[~ VR9y-EX:ͨq[LDx<}bH fpV]l5sM05ʾ?Ku8U2ӂȒ-aqF`0j4óN𖰻XU:Lmn8&^|8$smź̛ e6~ӓ xh삞i{v4'dBC44F.z5 `Ym{\y8sO0ܭ?"Q4ީXUY.f )"%}JA3XLFXsV6$8QFsӅ:OHCGw[Yk*ji _B"a+|_,g1R\/k5pbVmBH j>G|7M !񏙆0yc񸩓3,ЃuK:BJroÛQ+}Jd3^}[3*nY#PP]0vu8E.M$Nb_M6X17D1x䙺"BWKT,G 3W:=?=Etd 6T}C+u0]K1<{I -v8[;-~-5Ђ^['S,Ir4<3V/"5}J53{ 3&bAl1XJt>9د.)(IP67 -`wr7i|tyx"Pe"dHv=YaE.FV='3W$!E@xn쁧=3h,K Uز'M?;g_Yt‡ef9RJs %`6I/|*.ap%un-a'\_`U;O}(F Љ<4m Օd[q$^ %[`WH^-B)dJ lUeSt~Wtf5hb:;^T^I2X&;Z[SҐ5DUTӨә8&_s;‡? "ҸoFOL\uŹ}aVRxa*ƒ ̌jW P,l)RMXQ8X)DcItw> &V~0q_5SuIJ-Ef|g'9:2s.G-ly>дeYWuWcDq[Ӡ 5DL :XElr"0gږv0+z[@U_=hQMFJl-z R4Nɮ4J+~E_w]\ vWE0'fv&x9LhsgqQІxJ u6{ h}@!/5G:Y?E$hWg'? ؆1H1na 8y':tjogDs Vx >_[y2f!m9*BTa, ׻ߖ:u%kwİG&|v75v}TuΡD%7ӧ Jcn7Zljv5 j;L{S**/>|oAMˠLLPwwc' Ʀ?,le0YկTvʉis@mm86 C#K-\.N}$ Q00Au1 91@ߣ"&s= DaP&?O }Oi'o~%DpqT둿-)yZ;[!,aڂ¿^2m,'+{ ^K $?%X;28l&x!s*8\*,ڽa WZ*;y\ާfwtZe4J/Ԓ1q-u jwLi2鴶ڬ?_Hrt\L7vY$DFΒc0?t[ _ PYWO(;{I&lsGwYn>I%=OdH||s$(6듍{!Q,$~U0bEh'aXvi{ 2;>_픞qtϐp Şp4Β ]O?Vj>hc9j9+Ii+/;S{0xnKع8YBLw$Poư5*UX/'n7fy 6)SOnm*kA<iNYhL')H.668#nGys . S0*UQ@]=ɰ,?nd<)d1W-&L&Qe_1A™ &xce 6e.T-xpSa^v^@0qg&K!PVfрYL(>fZӘ󍕂f [R k0dUOZoY{^)ҁ$ux[2 Wlly݄q^t{V-Zn &fݏUݔ]ۜ@scN0lێyJ8s0_~nD+잦ӅN8ji̟}"iL|"+C oZ4WP4Iِ C+Āհb~I<p⋅ɔ"Š2}sƦLX ]/9*8=CNI j?>uȶXbTQ3?͋*{@mڀYeMcs(5*a*֖vVSLPHxlըbh" <:~Gd/Ob=qu'%Ηܚãq%RC;)zRޘ{yWjFxYyh5b+Nؗ]K|:ʌsl j1S M&{t{\ڨAğpE9aPMw,w WFΑM]yvcKhob1(;xuPsa hg3*B@ U͒44\wz \๢{O |hOGuJ|ex$ꟲȵ0S &֏NEސ_㏷~SL,JmZkh* 5.]nIX6|wTj8pM9D#15U ؈}#4y~ܕ(kv@vNJ_g)=1ndyJ 8Mlu`ͼm$ áކ6Hk-h)S8 KVzu'Ѕj%V9bEޓ#Zb#O0;`ҋ*ǒ3Q(fQa^'R›G_@VBQ8Ssy|~ot3@sͫ^S "eXdGu;cHKkC\HCɽs*QUTb)u(#uXtfE%( ϑQZ:!' `[;C>j앵/u%1;~QV]֤,b.7io%b4{iWDfbA2-iLnû6-B%}4WhA\Sm J [_T iCw@7?P ax)2R~Ij1&$ҟG8p̅r}fg&YȀ勨 |/yZڨSmӜC~W*BAzػjoqJc(`؄k'I.md*3Rx[,go-DC#w5b x'v;*b8uI+ 3HI;3Fsc-GDz#<ΤmYWnJ+~T( $m3%@/ry%_!ͱUgzl%++&Tr;r[/=yebo\naB_ '~p֢$M 9x#qdhB}'+׺-tW?XhS%fFOEGIomyө͙Ņ֮6XTqAp*/^|{,=#>6w{/rWCR`4 rQxujIͫ[?CkNCy>eqI2|<̆>mf&^tE;8'jք]&zU'pt9ztk5雫߈TH@=τC:%TIsjl)5 mH ɮtxB 0Ѳ*/(0֡rś[/GzGe&+P1Z(Ř.p_7UcgR3y3?U '.n0=^@ xMs_ӻTe@Up~ T]dpGt,1W.t[d5bFtB %"cu(u$I(EcB79c#_l1:;?k\{awpf5CD=ڇ,猿VaC ?8-]uc Pܴ[v_zѷm'E:x}ȡୖM;IiW K#OGfN:-&ypG.&Êf㏣ITrO~G t!TɄy& U 0IW Cb_Me=wՎߒA} jFfR&,}^V-k'pnGXU|&E3l0 NesюgwOM vҟ?l 8 cqM^H# WE!QWV3콓-Ěm_C+_dJcQ&) E!/̌ܛφ2:|5qS7}B#"a8QU9?ǵzk`4ޥڷxųnāϔ c,$t-4}|Yyda Z <6}|oo";{iƱYP#ҡu L .3lc ~ub󎺿Ju]ۻ\W@$Q?Y z$=ܜ ƹnr\ '*?nByl>8Jvg4z3t%YA2Ըd}c98Cf;=m[nrB5h<K$(4C&ٟhiV܃L>W)Eyzg _qC˜c1ꞙWPJk/kV pbp#|8\cw3 u9S'aYI@$/ ;ZK3%+~rf4 4%.=mY]ԷiE#:P/}:$̀}=lAE×+'n nr{=?ZCf֋{gb,ۖmrGʺŴA T@=?j=DN^ҌF(lL_a>Sb#mR(mג6m&b5A h'|(,^Ts7oJᘯȪqry4l4(}y\TmPP-,{|\ZRVٜ9tI}N~ת0 *=#t336DgQ}`VY4H7˖1/yRP<#gHbW~lˍv!jcNjl t@?Q;SDߞl?k}ИX/q̓횖:%|xmހ \  XP{ws,刾.-] ~$ߗ1,!1L\nV`G>W39KFX\8$^ڃڥr&dX$5J9> ѡ`W++bEF,hM<RA<>iH%GbI8W&2N+Xm̻O͚!sB "T|9~<͒ ?Dy*٤<׀q,top'*_6'r/q+Em(<>DȂʹ^k h#-N@g_ :pygEh8ƂM4K1cn_3T. ӹ½}G5Ҁ`zE=F:*r("ıcoNܱ(i'OBtC(stj'sRyr&/ 75)Xg_d= l`c"ivUsX5ј?1wMǖQ$ FgcTfщ>'!8|hɢbGö{ط6& ^ ŬtKBjܲIz]^Ŵ0$/4Ԅ\zv\g=Mվk`,TjJSM`kb)5&mnݲ*uIi((gHoCiDnm)')'H?^5%7)O\tQAԻ=:׼% ]<؜0NA=6fCZۇ|Ǩ:}3±,Wڴ# ^OK@d]'kI5q߻3}N^@k6k>Y`r-=7ά\}FR).u3[@MB)Pcl0f&"S[\jns [!]MҾiP!0-Qxm>zQ*A IbHzmn#hybC(^(S;m̚q$G ?Ych3 TܸS~ޔұ_YAՐvsUd@-=HvmB|R̯9F@!";@ ^.ԯw7G\TpqMe#ٚCSQc}6ymExD)''Ө𛫞72N' jy=n 8Hm#8_"lm\⣈Ua0 9Kthg|Rx9k VIM'>p-%*Ǧ e ІzG4,0NQB@hg4vZ(kyg9l? VU]jʓMÒ ~$\|QH "[X)n%FI67LBM;&^]ЋLW^fIux7LorEh{[^5v06D^cI2C\rd;BD" Dު̻|>}sj;+3o MP~yjq,Ļ{"5+U scEH n.$*? x½ƶ _8}vB'. z`TS ~}υ&Dw ?E$8ZFuH7ST(jN4##xkV!9泲pr ЃI4n>& xē.wL@qJu H!f5%$&ᯤxlв$%?!1@9UDf)_a33zTCtsy(ieMJ>T7T/k] !*w:ણ9KGӮ&/R w[J[&Dr54n$&V5%0GDkr\? TQCtiyf jXD6 *Qb%l s!Qn$vsK/.Q! [Ɋ]#WRw]g;f;Cc?\ڡmF]o['pLBV)dZŗ޴rY~a6*/# Sda=U O!PygpK6' mN΢3&9aUvk^ -IZ=ͥkQ߾D z#-G%;`Y ND *"V⃒\}~-j(4 =?(.eG8k(پSb P{W; |T1+4J~_z`h EؼU#_'/ӺmUl^y 6oOFnvUsy7o[#j(+zw$Ii beXV T9FaxƷf"@Z<] NV; < &\Nsde4?+s_ %SZ~ mHğ]ۥ}6c Pq"~6OFJ;TVq>X+GO00Tўo{| XGS LW#u.ݐ}yYBG{6Es-a`lA5 @ֆ;dpl)jbr}^]Z[xK:}2U_i۹T$(=8{MXկ !o#%h]PicI_&$WbٵiSR`NM1"2=앑" =ǸƦ.&ͱ ĄAMɊc1okLQ:`9aAvgP~Z!YaXsŭ:e>G!dE 44Ԟ~4bG,1m}5դk=lfaIiχOV^w\j~wxPQX *̪IĔl:3CXJ S)e,A~H޿֗tkA MtiMso:ܘ,ُ֮EeiN=#.x%sYF#Կkrs}2gAf^"CUwÄ%w>d@X5epKA't+V+x (.|3D RnL(I$*!f0+},re;.}H$0)=tA B!P5l[ް"(cvU -L1n0vfjO&V[%Ooo<@}SAl (٭CN Dҥ9oˮVEU "8uvD[8v^_˴YkoJ|OQE PN!.)koOLYy㼃Q_guNdx."Gxvx??6ˊ' tPO \`}%T4{T*m%+@DTb?yuA,XϒՀݯׯU1# {6Vhⅸ*(x˴/J~$"*$yDUC?2 T&|^nQFTcqRGGru~4~7~gT(`Lx rnh}xN) B= neUN juCO7wͭBN=kPIQ^LrverUWzS0[^ bFtc=jyV(+(nP $3 jA;HO$DŚs[M̒c-Zhxp@}V }3Œ/:XBdհy'9q6 ! t%<% GƮ?Oizī;HQ 32o>é?)\cbaCm1gQ]*1tذ&;-I.0%%Q1ZT-l #I;RJor廮cA 3v Ms@8QNNc,R`T77%YkC?c3/BmGQէ^ :`<%{T9}oneIі.m?qjBBb^V7Z n]4%Q  . UEFRO/*z6&ؖ~OW*&05qxrބazAVѻsI{2k?C7V\!ZyD5W''/ߚr5"d=: r̶˝f ii [3WsH3"ipL oF]@R]5nіqA"9 A{=d`ͮlj{j7r#︔!ĜeR-@F{DH߀4K3wzM\1_6;EpnӁqi! P+pt?᳗!h⚘(`4n/r3" @.Ux!Sc<0E=C*|wf2X+)H`wvȻ^G|si3si( QTS3 #|,'C#@yπ뗤aW)G()b7m^@ړ=Ä3' L7AHJ'du4nC'L/f/L>WF{Yφ*j*mkFBdw2t XUէ܉#L3JtE5c^(cuHbDֆ5'2U؊핪 l@~G )sSN L0?/]E}p+<m|՟}2X)Qpc?j'acNwp pZ*Y5?yXM-icyH`8 Pp#QSi7xxs!}[ Gu "~/PMFqKQ>aWI$_]4Io>R!0#eeV[vXYv!?4S*e7QW}Q"-vf@x(c캤2fg8>ܝPU|P'Hjyp m 2$p yFy (γrN=m?GoOesxr~v1(Hҗ*:oVN]!w u0\x lƓgPl8whSHuh H[t_>NnJ|1mTˢixr77k89Ŷ ,6E|ׇYes`Ro.u=o>+Y|h}}% 7L$d̠s-chKzW{GWHhNۭa+H&oR$g8c7İo?c2 cY^[__LvivdG蘠F^/i?q[ag/Z>pg=(ir=ԛ1Zi=7'^ xOZD?ެ-rh˘8s#>ӘEEk7V? ~] nIco㷲)w[j(YS04#h| f+$H _ёXQoy=Ѹ4U+g~sAyhcZ:i>k1AdT50%x€mBl,..!!뗇ܒgU ~]u (ډϝry}˓ MaG"I${[\%6Sm;qVRtr6 z/)3S[T$_u*#Ȑ5B۲؏>r!Wdf*`u;hY( F E󌿠 AX#UZ_,01U'iѐ}$=hISxUZ ~"%hM py$ic'|N'y< ]&Ȫ捶zo Ӱ#'oYieX xcwrosZY,vf1p`0j_*5W psU[=H9{pb&S+]}nxJW2?`.1W`g{O+RGn-=Ce[kܪ(&ƍeјNF[] `D d\ଘ0zE}yfiGhÞ#RU#)r nR'GY67g1n׉Iam^Uǻ^(:kjl-=\{򶌉V(b8$g/ ͥ7x]w?#Kz!{ו!q6o^6 Ibޯ-frtBkW'.NWYN 60p*jmckqzˢ0 ĄɆVb) =bj*杋 q&}$C`94y |>d|Ij|΅ϑA֔x<ҿrЌkQb9 E K3U$@VAagSrwPc8tFqϑk>T[U>hR8&nL(p}(jTˇ\WݒϣK&ޗ֡]iC] U #蚸nʥRK~A&Zn^'Q+}c8DK9VdTTWbeH2IE|[{>,MjvY(Z2c!n'V5KTЭ \ @xzÌ-&ǹ7N% z#/y{;-:PAY#SU%?g d);=js,KI4~iGz-џ/Jpx#nb(V55Um3.+Bsӗ(\M)k,iup?xZG`{<<+ ZwoI?1ߥs_Z`'z::_rp('w^ k ^D"\uV!i*K<+8w#ZfLxsH=VG3_Gewv66[%kn 36:{Am dbc7q$?ˈf OI}ɇu\6 vKw5{ĐBQ^xPf^=Iu[s& k%ЀBM:#u&CÆпyO9/}ʥK"YhMh#ضȚl؄A>=} z[I 010_u''iC[ǿkCr`,X%̊|z/wԆ8-&vŃCZ~,m:]10=)^xwh$^j;ZbdyJa9!"^=!U:isN^od&&8$u!ZP }_`5/:ɦ 48/0F\1EA =t;*Juj զ`kM92Xm! @@-Je)&OQHd]$@AQ8wNt9/GSW=hHVokXknٳiB.Zu8BIO4NֵX:ו![Y)tstx6:8;_s43T '{7Zш#a]~l/z'y?)3>FHtR iSfJv*XM[t"ė;G+~_> Uydx kDL*XB/ѐAȪ\|JCX/*b0Z~˻Ɍ<P RLFǭ?)ĭkҥ3(C~4ԣH.R3#poх|]& TDzfXxS4f9HMs~Œ80F>˭dTl/#M[g,#]M ~oF0v=FHr2堵lO f W ]w-J mv3ACtd.&&ȣ[~"-s.*^8;N+3=8`}%p*dl_7:2/Ghib|c}sYأ[*oR맞Cew*zA' GKDw Gҏh4\>}p_3O?VZ/?TN[`]՚l22Ϣ3Zfs2%z8@گ\E7LeC8 ZÌ,[f8KոOli<ݲqQ d8fRiW cq0/GcMSOQ7d3bGY׉PusPݫvyPǿoT3kt2SP1=4':%D*rWVΉEM S4M@ND䖠B4 QZpcء|&$v@xg,`X;LW}Zֿ8_uUmGk}{gWY*c2#;@Y+NK)m #Fu#Xlad5C}sZzY.x`/Ȭ2&pÁ]4/9s%lj va 0: AďY8 ˈ=K-ƴ:`3.`uiR)<(Y(]Mf+ LM.gWt&1h8fTS &Pg$j}P{a.]sL];P<\$ bE *W]l߬{I(QVcx:1jZ]QgO!!_8rD&鋓 f=7 \b4'3?:3d?lLYF/>Ygu?, wTx _W~zgTgLښK;ƭ0ZmIg@V*׃){-9.^L]%w7?C4~ `=7 ?cE!b[ȅӤ1ǵ,rcm_ } edՂefUÉ3*Bx@ M*ڄ_\cWD9]S5]2K.FU8"(0'rG8 suJ)Jxjў Ȯ`zxesWlC 4&X+-(R^ O&z$[np~Q 0Z{WŴ~2BDʿ9瞇³FC| 5r7,-dT(!ڤQZ> MB"פ"W$RGxв.^/2`;ͽ ld;̞}WsXݽ)) Ѿd*N?2~E_C]V޴f^1(5Z$Dm@ٙ<oAmb,}h7(8Rƨf͡k-|`CA`HDZrS`.6/e%DOlѡIfn蓙#-<qˠC̈́Qѩ*ΘD?|8XX֮8ᴝI3ܦ(vs%K:ỌnMlqv5ǻ8yUZ..j_LѺy5RF HJx%n,B2DjGN š dO|;M! U>7gDx?*wwv_xCb'Yu;n{fa"9X) {s<=2=fĢ>ֿe,c2*Vn+?~ _> zCU&a?q90)~js4ok٠.m ~^x7^=< liwkB 3IuL^K6O"B.Yzom.  )@ ~~K@pk$$c~z+_qC+w'aGI(F nc7L%0XSAM:!)~kSjmR;=+U H(/KMh&΅Ty2TeX&z*zvgC$~kq,bHߦ}U Œ:q lI[gvj,T͌-D~CFCzc6@vB[eB{tt%Ko|0\~YR =S-P޴.cٖ J{crZKn Peog[@Hɻ[%0!ZmM%_¢ōeC#+%0c$YR7"7֣]-P%/> hC>*д ֞\)RRu l}s f\1Q~D9QFqXYτxoS4g ZYRڸ6Z#:+CMa1 lamX줪0)#wcht!lS?R*`G~O4Qi/>Y$k5J58;б}T Q=X' cҋq&^=ϐ5Ǯ@t6Zm9 $?!qU(=s\%O-_^[>&/o<_c h , ]?ݜs#9VJ=V*ٮSKN>`9.#F$dSR@ rrJOFȦAѳϩm<h9Q9K C=oL.͊Uq@8irq~C|3̴$V!#YMμD otF^)*7i@8<&;Yc,EKXK?~¿\|CZR/2yDh\ ַt*&vBsR> G S]#C6"b2웿]g͌Bb K*!H#en{>[լdvqaHm9Rtk\-6mëAx&:h61ͶUvbKa<_YK|6F )/)sݽeK#vXh q[MNXI>p!XF8\TgOn(}NLKhk^nvg Y.68jA:ЌIly- չT Wc#$,' ٰ@9x3vԃOL| ^dwU1*fy'JVvg,p;bCyшxP WpOu4j 4#.rB/H,,XvT/*id ܋=kASXE!FQ㞋{ݑCV ?e(Tti)%9a[x`ya (PhC}~K%]|n#3XqX ծA#rZ5"YVS~=9MoK.zuCje>#ݺ.c]l`5bԯnnd^,eXQ؈e<{ۑl˝d"տNVo^;F^z"^- OUI.]_>'=w'm=ud1&ZC_QwUK%m-P(tmR^(_F瓰Ӧ<*ڲ[wJ\͟;̩(ӟ&f UĈ\5@Erq܃v cTxmŢ\޽:Cy)\Rc[ϸx EJFִǘ@/ mM[a`tMGF y QE6{n+ȩG[GH*`:\ŠVAX3r"0 l6J*hxplWeǎצaw1V"WE1*>q[ E=+͇:̏L_ mK "Jشk4oQ) 3Ao]LK"$oWp(0%?:y623=52TV|+`Ax jF C)XZ4/HNT neYꯛxTƓTlc@uwۃY$4.@[8]G g7Xh=P@PF"4d)zb\4]~o!6w,~H`z?HGI*| :fydqiSi7AD'!x*~C,8'ZtEI %L5{ގX"7Ā%~H`mG9v\]%#d`Q'r .LD +k>@9 V{>Z}z]WCa&*P܁f5"ziNˬw !f^IRlɓBlOQz9W٧7 Q=bXT4%DlõMBup ̷ܛk:J[ "CAYjRi4lRQ;FsH!#-3Fb8e~ϻ_妋Qʒ' %ˆ %fu `FAL8chVB<ʆ)lrb(i痢7lPҎ؅[DjbXKKṀ9b>@X, SIeBy zK?C9=kq(јKm#}٧2 9w"1Qhu%5q-?Ǒx\gLTƏ"Jy-%>Nm8SL\|YKhgۇ2Ldb|Ռ獜ZkV <ϛHа[|pCɎatHCKճgJ4)pllt> ߟBaDFg8}Hʈ `payVOX07B>xԖw(sNW@X1/NY ?h%};s ψAݗє (D&mcp?cv Lif~ɖ։k*lGrhq;GCqP|n`ݖ=d/ ꮒ"n;6 n/rFbAV:ۡAO!q`h{ԫGQWm-PyS(&&r I* Q\HIu_Gz^o yT4OSѹsݡ&`3Ґ[n#a*QQO[Y|i42 !L~ .z8垚.Ho1s86(O=,p|rG )5ٝߜh0[䡲;pڞC  ~4ߖ)|>}?PG=8-Zx-u7RSg +O!Q@ʰ 2)Uc9?C?F_{&#ҔNa R-X؉BdsŎ%Hq㽻N6ԯ=âqӍg,Ȕ쓳"JHπA6fj~5[lU R^Oz5RkFyڼ6=Xv ʽB] Yɡ4D|.V2KVZ.QYHwH $ Rjx}N&$끣lp+™+)FV͆&"ޑ@H o^Q }.LI(\"w% #3OTY@wNe`wH݆S;uFaΑv1 Ya72:.եXɷ?=2]]6 ̰u͒9!_՚pD[9r||00>SB^[m~"~| >-FSz-x[e=aBS++jºw;{Ә5ytP__;8E<Оkc͢{BC+5C橇  DdbI91#=t``yGb -^iXߌ*"]I.N$Ƽ a^W:jXEwިE}~])C xwSqfW?P]o{en{˱9P9 ׫QqdlO9LjfM))DT|dYQgR]dl[pt4hڦTAhLxEֻ!0MPJɜ`f^ߔZ?K~jmM'tSX ˦ʦ܏0Xj'&XǬ9]b/OІ -σ㗜" K& A)I.{0_ň J7cqϜm_?n*S^9\8b[~_R68%pZ7֧'U FT@HTΡ[zŁRh7L9&K=sZk$X"qemYGjF='v́Z\6Gx|j]G4 @6n7K uT-ʿ` 0%7Mi30 (lEx[/-tfH4P((q^6~Ơ̙f(RtVm̽:t=qtN4RE@%FG1d=-O19jBKtnR3yhڊ3cn\ Cp1KpRo4vX,gl0 UL YSw ]˜lĂɛުwv\+ ήhgXCi2V[1H-ey"(Y;[fKhx+:*"g4Sia,{Xަ Su:.( .q4G{:[.sY3EYQy ZRl|ٯ+Z`2~1cJ{6&n' B}6';eHw y:F^%Yzs,6)Ϟ>IwEf#?{Fg詗+NҢ*.:u3;};l6v` >&$)F!,5[R_x$H*8a4Ěq9)yZCыYj< өF"W0V";` m ? uKy" D)WJR{(j8 BL _An'@!{d~O{?\ƈ A[Iv <;Wc'h(Q#b1Nk2t;"LpVygцޏLIHN |[:<]2u ىX]@綵Ht#]#ogUT'Q$-=j{&3ܽbRB(#xҮ7y68ޖ .b+z}|9VE;l1Yѐ)C?!(yQy7 J}PD\!Uz@lfTL0UW}R^<2z %olsL"Ukj3 2ܫ^/8z. uqoLZ?}tu̘79\VP1PMc%9߈ /Dd~W> 5`{~wۃDf$@d50 m3 +J$c#<*h;Y8-Vײ+$PB1ePy9!L E:FB=smfkW\_@!cHwl;|ڸ+6Xl!&!բ2EA\ t='`䜌t ܥꓼE+ms66j;ڬsCKzE<ĕ*|%1K.I&0z@5u-?IcxkMG-2C0h j(w9'ĻU4xKVFzC,ͪq #cS&6 _awo:!WHd"?Ѿ\AȰ/==p>ˍa5Ֆ]Y=rbAɬjmeTuȶ߄Qc~SWejx[6FrɁ6T|#q_8 Q oz ({9e|7=`5R:z4 '^jӟsv䷔|g$5l]K%([evM<S6n LAŠ'$PXNIGN٧ANujWm=5Z Y #}A5' X:ֿPC 1%/yL[<, kZy#% UkӎP|K ,^ǯԶ,ݹpH<] ={f^~,33D#m].}8a6z+j.BJ'ЯC2AapOYaF/Q>ƿ g!ȕ Z\3{.KTaFKF7RTj|sK7V*,7R&7*AEfU6v"ǿ{Hᐟb,tmr>CPNCTDjtihI0t zೋ% $3ؼk(Us ^͘(ozgԢ+0@{yp_KA(zl#gEf!ohٟ {nnxi,=-=*FE!,nOZ+'#))yj&\v_ȯnWd\Izﬤ ʪw!< Qoӧᴌ9c<$'ؑg3*Is/u텖]6H:O>s.d%Qho [|xN)ɬg9SÙCσh3I] L3sM\3lB }x0& QR/U ]7oa,(dPANy.G}Tm^QJ'Mls:]顅2dvb>cRUD wjN!vxi]vHڔ:08x@aPMM^ svgT7<e MݑZ9G^P(Eģ;{3XpU_wMč?lWX|mj\*2uMn~I7y@ bWw0ELAں.]fhTHW'kxcL#ۘFS6I/-73ߕ9;+p)!nrW.QTS-=,p!O=J1T@rp&\]=G>/S(e3N}:7}aG]SGy P w1h'}h[-.j`85Hp %K'NlS=/eD75Զm׊q(OmKMdzfBo"0zn \Yէu-Efm x/D1􀷾xf1?𘙏_+#dcnI A^6hKR'6J$N)4RE TQ/2g.ۊK@o >dorzA^jUʎhd ƣlYYa(2zM /+4VYGbL2eԓ!~OkXy#[5;%ڬO9eZH0QK QIm ]Q@$cp)]|J؉%`$1a懴qV3P12 {5ej$< +HmqN-~R3! eV3MXsE6hP墓Ƨ erg \ImXFɾ8_N@ #qB@@ϤIJ *[f:"r0֕00({,0\y|qaAQ*J=m ҭI'3ZX.v~fJ01j :aѓKokBYI@GV-_;hCq=b1޽Υ ؆=QZZυ}>+Xcy!@DQؠ|1ēVx 1Xh`s7PXl毈2 ED;C8 U8':5 wl[ ھvvfuŃV*˶b_E "UYpanocmH9l]eF/48Mgԑ ݪ:[SMJT tkJX m4 Գ,fXg <]ּ:jLJ'߄fh| 48K W@E$uMO qvș*}/u{H9u{h< oJϓ]U]]LCBN)M#^UW>W#X%/ŒF'#ԑ9@SDU'k _蘬i.~xHg?<7 ?⋊nU b"bWJSOzli A)^raP@0u%tw92\" -H硽9=4[Mr;Z%9oᩝE:& afSDb:^!RMΎh}KoqWd VzC/l׆;ZcqH<?'m|FJඎT[J9[d&9˜'ͩ$vqJhh L J=bMSOҡ]$ ܂7ƭߢ4jn9| |2M^!{>zDgF}V*=p~a1l0u~Exڜ/u[eɋUl=%& ^nh|_o,Ĥ/j G"W FېZN  OS64989kׂl6?-j*q/xIh ZHRq|d֬IRoX->~sh龻"VBQ)~(0ASEE4݃z{XmduKʁf-C@LFӓleR$ˌzw,@ X=]D>I8Q9K6S-:@n"5vnmjZ3TLM?l75"]\l԰,\4GSBT^CϫNja,)5)WĜ- 0O =pIܒZuW=ƯEwm2EhpxxK2jZZJ>EKPÿSQ5 cLs*b$ g}}4 氜D yaX1AE4zjF;g$UsYliV@$o3m`!XUՅŹn8]BqV"jPio)e`r5)<$+⵸2L]MerӄCjܫ.9(Utnwh,gZ_*x\{n;hH=fKEՐ|F! QRV^Duyx!W\/I-!MB7 L5c%iw9}vEUF &"""c8ShéA^=d[^r Ւ`cQ;j'`8;NW).>1 (ѐ`؟QmVY toU 3>9Rt~FF &9"ʁo})GQ_i:>{Z~gy4raЅ ~c/H$%R4DOk/iV˦ăSBi5=/8gUkz&4ݍM}#9## Tv&k葸›.Gj'8vA4@dZ0,fH4 R<ȩ'03Ihjڬ9aˮ WwᒆYQM1e;7,N*? c>0*De)]g,֏e=Wq4PƬ'$B1yU@9ʤK*^W@;+XQg,ITJx ͩ@[l?gCc9O)jReX3kPBxx2tN}9CbuJ-G]^3څ (Z!br* jV (Kپ(|}Amk%@Y{xNp_$E.#)iӟ BZ ."NQǤ MKv0Nq75p܌?1'CSώ|X2]*|NjC+i*f!`3-YjQTU8h'RߙZ8K.UV6+A`ajY`-ںBtP84XPg4E I9 E:,tT6WJ"GMJS!g pa>,SE^MI$J=X[k"9ԟ5զĵgOvp_exi谳 :d]zT@v-,LLYj h=Oߖc:5?2silhmoYDtFs"c uNBAS/|.70U5BIɖ{bx⌛Shn%x^:_:\bf75( D>ua&n/͑D>F;!Snu8CBDF%dVbbM=֐}X!FuzFi$4AY qV"Tr] #vĒdI|6q R:o#11\ v &@iwI<fhx_oZpRD&!|p\ƺU_F_uyP2I<@9{f#PQdX徚T!{Picm8?'B^0c7% ݟ"n;ld^?Xn>,}8M||:Xc*+ܑ{T6QN(ƛs#"yЫ38="T+{xCxNqjA3 3dc]2cDF1;N1qsA\>bj)bUDp/D qh!)Å)=,a= puA3.yקӟ{>3EF]D"pgy͛?I!V;a,pDQ|lOQH߻yOI԰OZҮCI2k"+ŏ4r>^am(@m[:鱆\uO>K Ei B7,Cդ-U>sy *7ă:g^C]碊#(n;^@pUQ8K+zVډEyZ:&b&-ً Q+/ gD 9"s|aS>EWԡ{AnIT9!ء3zm׺'X# 剈k|[Uev[qM,%iC9*]$1*TG3a۪^d 7C>7K+*лH"{$SsO^AWOM#u ̱T$>Z +TD¢UbW8VzG`'cQ*_jv.PN[zX==\Ӵ,?UpExk S|F=qXGQ.j8ނ c_9{d~engr`\#)x1RK)߫ =B<%K=3t$̯+cqG"QzL0W"BT;{[. azljSu[N/NEgj}8c/ %HJۑ/^4֩u)(q6[^+ ")Nb X]FT]"ߡAa[\e3 _`llF|_MO6;Kq#^!t  sJG}x'is h,c&KhbCsTL*֊˃? -o? xJ]YԻKc%}z\9 +ˀY_'J97y4L' 5H:p;IdB4 J媦fDP} m\2 _ MR5,pN < ]wj!RmKTGDܩ- 0B%ė sA$jpjU84-)E~X3bd&`V<=9˃N>s"(O*pvV^>E̛Rawgs{\ "fABBљhc2D$..]3CÍ)NoYS/H,a;XAF(ݣd}: b),!`5$EOɢcB ث?4~8C˘c^F;Z.hG*|o5#EC;Y]%qܷn83Dt?E{O2D!{ 2ޠ y恞%F+Y9 "p$ݸ 됬pZwFLV\>OT-ЅySU_U_N.vGvs]emtuBO7z43C%"2 DB`k>Z$IDQ0gNp;S9IvN:q8Dt:J3=d36+[y+IfͲI[Q M 6yw#)l"̫jNP[ݘpо.SM oaPage*ze ObLV !N`ɷڞ0YXZjbZzY" ߎU䗐/GpQ`; <:!y"%1ԓ vkP$W%(wJC"ٸ]`YWg gǷotRbd?Qm8f0)'5h e|#D ጚne,C`YY6/r)ϥ.iWPg$)6Zw3t5~HRߝՌ5/`T %tBi a@0f\Ŭ՚np!"0we0V'v2V ev;l0h-\Grp̊Uy>yVeՌ"!Oo v[O _Բi42xRߥRīwR~jHK2C i<(ˡTXCSNƃS7fAq e/cfUz%z}5+_oy H՗{ lBh_Mܲ,&9O6zޜp)6'9C+RהW_Ccna\dxguj!ؕ,(D u#ek|&jhe霤w, )n Ds3 5^dyM=,iAw6ϼP{A Lhx>_E콇fQnpv,F iƷPM6D*M'$(!ʑB(^tHsTkmE2.j:{)"o_ J4,d$RבqJ+jE^AG/O9ߑR_v$-S?1 p(hBqLnq\LTpC2pd֔DZ;^&Hz7鈊Rl20V7 I%uC">۵u&ظ.Fm`VCrggt,$gE}2gd_// YS_/fS^Q=C} eE- t+-Y&g8``BdZ(C"|:]< r2,@-r? ='B+KOc3@ŇĨ$:xo3g:RCb:pt>%K?,z;"` ~^gSR؊啋HZS O_ N 3?Y r_ᖯ&Z{ 2ݲj=8g U=l.w<,s"UsMA3Cy|HgMlk=*ym<} sΎ5XӴJ]47ɹRL|OK!ԇ{USwV mhW{'1n`?AՉ;)Vh>MY5-U[&>82ӦUY}j=5\.& $c |?pCymhS-d m/aq%=Kܰ;Z>duyaԠE5͛1L:U?+Е^~ugOfU)ss[I;k ŲZ"vi40U.؊0 ⳁ @M ЈyTI&̖'45<}J.=Ɔ@4}{ĦcQ=oPR6NF_W0QVy# Rl"8*sia=VӼ?R ;G%$vuמ~)ilsMnM=$~+c`B Cg7RҊ[Rg;i*61C+R#ڇ$p.O)l49_Lq7 Vc f)p(BY=. e{u7oL]tST}v v.'9тaHbǞ$)t~x7-^зxÀ:_R6xy*ad`5 1Ltk_}a@hzlէ7;L%fChR6.wio-> kwEpF؃}X1A@ _Z4ѫꡙD09ũJoH{nO(R>F_Ь^g o$}UH@Ԋ._`֥QdZ3S d[XNYeo{$ҼPX2ʐ|cOw'S[:gE(_O!ZȰPZ(# W| Iz'[wÐ1t]/-fM(; ڴ]Ao޾>EeoPEli 2"]\_L1kKGzQIǪ`x5h`ZRᑱq߲0gmv"g@㝽5FN^vXvl\YHh9–1*q7Y׹`tF'2蝨1U.D3rү-,nCk-*|m&9T(JV)%`O,V;K(.r%&.k>;4 !au̷MkMi u2 N Kƪc1޵_Z.hZzT,b7Qf$rpZdb7 z#Գ3aJEWgݧj'CaZ+"=}2jN |jYT9 4glgJ*iH|Xg;Ew|,=Z湚1,H]CK{lDuLFtRk߭-vخe;k3}׻q5?anԆ/u([Yيè7}FcS~_l%k{ׄn,#-15ZQRsH=wD$yiRk;*6 6bdE%ײ^c{c/I/Z{}B װ @ƫzޔ:(OSϕfJc'N>Gye2M{-#=/[GH6v >TS-kdU?)3<[ு*uB>8RqW= cyS-e <{Hq뺻Dh\ 5c׆K0 2@)@4v=5 ;Z5NE"1U0Y0FrTt|9־C_`D2[ޚ(/GN6f)^)x֐pXZ^(;/v9b{R~k6`ZC[}yxi,n~QZ\kX1JƨC J0VE?Ħמ*tf'0vx XcjG3ms޲T|Pyz5_5Y jt\"u/.24:rϙ&=똟><_?%6v6qbG);L꣹Fe`b!Fr+r"$O7B&!FAR,Uywibl:z6}zCM !h7|FCi_K"x|,^v݋s^)q5AxSitG;c"ܰ߃g ]MX.0iٵX(P{7d<^!\& (#ƎA*Խs4iyd"fjS(hc8qy'?IemǬAjFIkMwlpCzgГFGǀZC:,MQ,CgÂW)o6g$8m,#C5߁ 3M~ΎXjzFs#>sNVýՅiL%=;qrP ːyj]w2őv*?wz`?2+2l4`/5)OрZ%폡VgFn2;y/2 W$ɤT({j\lG0QFT>fdTy}:GV(3!P}?[eJx0j4[CO5ef\W.vM>$+6K|+:7}D!>! =T|^mϥEӏ(elwÎ`1)ID&q S~%F%KZRjfcӺ7F⺏ߒkf[ h-TDW[({1tEU\k d6&u2$rO7詚tPxZo 4ݍ|OR?.uPc=DpX LHRVy1]?@/5|))=E7u+5G$PegBt_&g.,P.jkJdcj95l~]f~'"9؜ [ V6DfT¶NfxDxZUk[wa#I1Ě1E΂%諄'7NpkuGBu1]8F=-B-(Aഗ, eyaRj jB 2pd>Kj KGfv1 CpC|=z \w,a&LR&/d3ayuBh- P:Ne9O_ڿiP$&>bO+[և%f6b,j7ygvE_Q&KÈ|Omߋo$=)SBk=bO)Þ;==:C)P*hח+H r~6|u^”qؘ=<7 LmSs Cu`*[VO_0wYLf?2ޥFi;*g]Bw~,9dL]JgỳHjn-h~t,o7iZqDyFTUx`i۞v[ TNiܭ 1Ljg-h9u0Bz= rt^OG.k+#cKT@H7o;`1 CN%7`AgnqgsDLT㋹F]|*W2iC`69ԡ{sq쌷2IcxL0JBR5L #x%`Ǝ ک|ygVZiYM5| Lx{^_=YX9CrۺĀiW&6\(eõ-$M9̀q.3$Z1vW9O$% ALlu/ڐ4{8M}؁lt$ޡ x¸pgנ$kD\Զ[xjpC;uX/Ԭ&;$$f6KCآ&`TڒlP8o$AAүtxi%#i:{xխ3y?h!p;NkJx6̩q%8f>,+Li=ܬ0ֻ߰[]ٚ-j@2~s#nCfm|%"kPȃCFԏ^OC.r5# "m\ygO7.ҙ2. 8Eq9aEirhBơbQ%9eaεYtm:y X ͏cfSrE9qnLuY~k !mTSڞ-O*9Ul <o[ w|v"f\d}sݪIaRmNC6WGer/-HJ\&[#P\Rx֘3kt<"-7r258`ci/anai0˪DY! ߙR BC[%@O[XFFX mKgPA<{y*nSHEz(rҋ6׿Ed;̐*vWQácXܠϭ6DPew5MT?Qr!LķP3mzVrA1zj<۪d N4~+OVHI=.2>ΚiZČP1]$Inj}d)t%=|z 6\@{,^:=9 ҐްgUu{7;*pC |6j6|Mj^e4Ar|xSʋ5Or*i| GD파'שٳ]4U!!"?Ʋ| `'BãO_,#%!s;@L!/9F8Pd]0B!E>qy[or<*&i/N֊ . *~#c.V)d^`7D-Z+F=zɘuSzvq&ts8pVWU@cC҃uN_l x]TyO&ͥjh09VdN#rIU#LkΓ<72k>7(w7;Q+צs~e:Sى.S6,ַ&9kQ6]xDI"02GMЄ14ҴjeA9;I*p*e8Df3wɦ􏁰~?~lGQ^ >͞`]zzN+B}ocX`0ѩ6ꄉ߂"ZTA0$Dyv:图@#er~6b_dɝٙ"hŞXNm 7/݋֖ǹ_WtŊ7V[x=feQ ;M(m2$5>DS$eK'p ]%N_b* i's/,²'!w''rVJ;!#[ z=;73Ydً/wv0l9',TAT"5fyč N}1\1,>8r"?:Z5\DƐU~A7[zQSS.``nIB)!\PtTa6UпXmrzi:ƈVV(7Y{dhlєaiZ,NS*^@$Gn _-Jv&0iM 39p<+QӛA/.3;6ơ=&j肏wOke˓V,YMrۥpV e3Ch[,%Ya==} ԴԿ_N:2:6cV X:\RI4CT_$Ğ9moQIZ8J.2i`܎Po"j+;>΅S{Y̘kBXߎ!O F 7Qͤj ;sf(bQއ8!somv[PwUeVVw|Lmxƃ`5{Tzry%5Y6ˡsБn7r"s"X3Sб@s:T^jY. *TR,@(Qiظm]ֺ|{r x)fP;NT0T{ #,rEFX7?XL2ź-qY@ Xme(Xs=IT-ep:)s@ZdiofB6N{ 1O8g<^Z؛fYȱBjUO'Eq eL:_\N+9z"-xLmq -TJf2M'W K#5\XL^\.1LM(mDCzQT8]B h6 f WW-}ccKċdpQIއezЕMB W$ʀ`4"J[˃WW\|-#TmDz-vv=#[$)cڡt{\,]Vf~h;z96O1)$~@[6Ic)#h[>?m;Ah׌=RRo_DBN. BFT~8Hѥ O9v=XX?ny丹Gۊ>e*%swW-TbriXS睴~3pO wW̼ (cZ2 /@r_H[ j[%inhwo FAt 4p\c.j~MڵTN|RNc&a6!1Ʌ"Ceӌø8(zHcz \;;V($)o )JLMz3rv} kQBfJX:™Z#Eމ$a+eb51f%=@;e O^sO%۬u⯖u{,B%YÝen!J*!?{ <ئoDkm0"mEU,kcm.ʔWmyb7#AJRq]f|aBvJ[8V=+J9|M a _G%qY֓nc^W؃a?*Dp^y/ tYN,4;#K?D0v^L[aVםObAsB(G *Ϣ#K\]m5{ӻ_q/H]y'rޒ\pb|鲈ͰRLfQ7f ,CtBЙ IEI3]zCaKŕdw=),il2zؓ7_w =$q`\mwhgP8;O-imP ҹ).3ۅtoq azJeH[+ I_Y.н)v- v&q-P"p`G 3Ko͔j6Wh;B~Bh+Nd 4%fvTHq465 O -ZL+xF:zby_pfˬ,}:Va-J♛Mv&YFYcy|qP qI1iM%rR.3 {O' NAsX%H;J8 o>qW$ׇǓ2rdY?afKrE " tHS)UCztx&jwd7 =lfxI%(sFoZ>C C! ւ& 9NDgYHʪ3+! ɐ|&=#08dS2E1;|FZ9@+$2dԈj Өl֟..!ǣ' ,وJ~}l@3QPc8O*ed:hRUD>[=$ ȵ&Q/-S+AatrVW$SPÇhmiX 1 ؍ˋp*Ƈm qr{>P>BF!hϹ< 5,;m5q@t,F2?WrsB4W4."JЯ;3Y5樫D*iԑEW;iwʭ pWzTE9f$0}BX-] ": ]2t~ȡ^W|B <8|OkKG)A-U9!v_).C> >.A.=sPk }".4nO~w#o%TNyZrb3U}/8XrlRH}_;7Egtc$&ФDcf5ᾄ@Rkr4&xw^HI<,ًauܒU\q#*d;j]̲5B@E /)li 'ͤA';@~2+s+?OĠpRb!T<.0oF\nIaU>I Tꥸt-oݝS+YnKQs`Fsґxڠ}HsHI 183tbw'[Q}[{Χ.RaLyȺ:ӲxN!I00Azv^wH'KLv/Yf((y@!x (S%&Ҏ؞{ $rqG;F$vOgg(G]MjUp6R|Pl%Vu59lS3Y}_Tk =e}YZ a3=S& #Gm@>m&Jh~D='-V ʉ= )Ws42;}cozvTeIQ`G[u\1ǔȄs L7_\LrAZ$6Yh iP|e/(+v՘Ƙ3()*75b /L[-kTw/=dy=z3P =jFEm/&gAէ̙eMZ~Gp6t($!.F:],aڪ>%fØGK|8@Mp^_deUѕ7p*Rƙۦ6)?6$['|1`2 b?xQ8ix̸dFF°"V3FhRtXV!7 a2~0lZDR ]~+N!: ODY8͈ -KuI%#SvZrna;{C9kj HK3]b Qxb͋I0gTg֞YR|x\-lu iJa+G?T z 4cYJ  `_-AZ\=B74'Q;o{>*FR&'4 ]`KZbmqN%E̔ױOJ+^8. QU.$][T%"An@Y]?!J9&/Unyj=e?f^:VSCԚ1̰5j-lc}*9mFH4,$=L^NgmǷ)(/(FM]XIUgX ީlP0X@_8VsCH98/2f7,j-`_Vy 0jR7bMk7K ̵DAXiiJZ/[ȘTZ4d)',>1 k`*0+&%l՝}z {[WUԊSTjT%C=˨fw<Ҏi֋%4™!dUoJw h)HfuYAt.O@ Fjpg[9{$#{_R]Xe0w X8ZGv,](#WSvj 5 ?Ͼi %$.m hȌ9AA,S{}C5$dʺ„UgUBhua >|@S á^FĚH=S\E:EΎ]6'Mw32Fc'H~.PKߣ:+v* =!R@~m/4D##i.Dzvd‹m2%){&9im2[*[۔rxL}jG|lE-(Ṳc0Kh|I/A|n#I}+U&Sr\+}b!URv&>1@b^l4cY h  ݫ-pp]s4W<1Olj(X".hP?ȗ!m"FliJNMڪjZziojCC~+=%NAhvFfݞIs]ToD"pݓx 1ʨ:}P9v{a`.\nE?#⑻g՘d'j3?Q:p-A yUjμs3Z "VW\p[BE(\ItpFq٤ȿ< ~}իa\%1& +' tH9sAaAx*ie[U[>9==Eв1~Cb[R=~qli[%8Oj&_e.EaRr$ 6/܄Z+f MH}Dd0`*=k JqA! ۔S`rR0=Q/^15"Q-f7[&=J9F_OJ*I`leR2`*1JV^_5:{ HVи] .l;*ѯ0Z'5>Xyi-Im=s5@C)EeT-k*M Mg ͣ‡se>3dLm׺T(o0u![`Wv뙿l#z$8^ܰI@L}j*;fy%AZ'JDb7l ށ#^?:c=aG]Z: K3E ,"~֪!%J"={h /kܷbqS2[!=jB)-mYHDW[,:tDt/Y.BoHQ6v+DL 3Zä1^D@X'ku^sQB\E{t hxB%,hgUWTe4qPkգE+e P庂mKqZ%rQ(_k(d`UyhSQ7(n\ 1 4ū;Qy0&H/;y^ƛ@֖ '߂1R (c5ܰų NOtƈ=j=m[RP5#REI(ǡ`թ}i{,YؔMƌ~D~~?tv $JGd+ẹgB*݃Ҹ`PW.*g }M>nL Ζ,]X~ge\! /.`rVV '_qUa!>xA&k^5!$g 'VZk—bϴS h &5) Iթj{U a}&3A̻E}!_&IpC=9F M&5Fl-N+B4a@rp<]h*SgS?gDnC7gGXJ_GU USN0^/hGzR*"m @aITDZۃwvlF.Z$rwSGfh4YǶGQ#8hlDj[5hʘIIgȊh]MA~SqOHd@?],.iyWy>D؂G6^&CA=j%?}^֦)C9Iȝn|ع$¿զhm+!-?! }lȓqkE1UPdD ܢP [rѵ _AyhAQZbl٥Qޝ*Pplߟ[oEXf4^DBj(wgzen][M3{(Fy8.F?[ατm-Iɻsv$2>{K_!ѣu,e^ڸRTp L*6"/r-wVRC-*XaӢw:*k#0PfXmaG,-漣f Hn.+Ep; kσqCoGr?+)΅[ϾӬ<UY}XIP)/3-PYb ;O9 S>=kjq Qkɴ0oJPd8fs1:YD٩70wJA}-9MM͵Đ8 #XZYqx(&t;l4b4AVX_Ul` lGaxʡ ֫21Ď]~Frøb_G^eԊeЏǧb_$v;4\& l̡+9r>D5_O}da(کT$Oex%8an#S#[s^EC\ϚJ!&j +qwSW䶩uvGh>aA ꀍ"-Ա-^!,o#.HgUvF cmC!GQ8A9ΪdBYM?1x͍W\Ty: u_ؑ!L֧7`٪Rݐ)ER*~XakF8nt{#LA=SJ|0IҜY1ޑ̰WK{.V~UTN2f\etىoҖz^qEң:F̙)J 3!y 4 (  K9(XШ tMV7轭=夽29Tc?9E0S]$2(za sr#MbU|XNY\~хD,rEsD-.(*Na x.#e'.G, zf&]UAxv:+ҵIp($rɃ+X [-{}%~vڥȟx$%i3~!h]Tߴqa ?˚tNCUٞ-\CCJ2c^-X&˩8D4Q"}z !&Qoɋuo~>M[C3}dOn_Ldܬ΍Ky;(܌PD[ZQ;9,sF05$x>}$ +gTUKN?#bq$:{^E$mfZ)E*Ø(gIky?s }cPyfhrEy$;|a~8…ʬ3JEeA? )K4k^Sm[[[I=kj]\A&$\[ 2^E0Th0+l K{ yGrm38[+Ըt0PIĪtgՀ|X +&r&:e7>QSg6nw,Dq͊2ޮ6NS/-<}Tr;778#oގ<1t8E.Mt'5 <kw6U4t:l1-;Kx7xq+0ĺt(bBTN5 @X΍I dۏFIЫێS4:{U\ xֵ:57Xt=IYXO?dHCm W2Sh1iâ9qt25TKX>t'lzB{^i, 55m\sL)Uuڸَ]Z}=!mہ9@[p[(]Av~QగK:Zy9ZcUִ%+icbpfJbIP3-0h XU3_K{ugSdDMʟ3;cgU<K8MN4G=e}Gg)"a254^L*ȹRAq)<1sژCn|H P;fciD="c2_'υ5WP?n\u);kfY aq %ZL,p~)6)n&QGPHuK-U@-"ǯ2 WddL@9эSW\8#QDTtJ9To=ٿ\q7ˬ/A2!؜o WbHMA8yɇfxHaː(nBH1׷J$.LfJc;3ڔů G̠d๶1t+i;Qlh2A!|)vtFB[է:u\AN61NȞl@G" CX##N4]rk[˺zȂs(7>TZD8~<ժB(EbZQ 3p6" tX1 wMPX!_%]ؒ~0S!Nc4?LhGeՃϡ.c_[؃`7Kwsx4Y4D=F THCwvkEj%96)!ć.H dxng $nRA7#n+BznWx#aw4j _]H!^+~Vnɭ:ER *M>HIk]*&Eo56E0i*yr^D [Y'`F{`ph$f -u&~f,w'$[yt?;;8p-WDކM5lh`&tF'>Is\X$w }}8!5"Ȥ.%UZ/[hK:x+id}ˍ߁:@X6z/?mud  `tԿ2ErJ`\"y\hB|;<,wd3}Hgj_ghU7쫒ԢC= _dT_\S(C* CǺ8Ǥ(R56W44 >}[txI,X_h*e{uzK1cV+"!.R"=Gid'JfI?,'a!; Q37г2@Y wM'*v;R ;Z)Nt6+d\ Qץ 4 1,i$ }D"Rڏگ'hW KM/,;n!< Y[QX@}T_*;s50|Y3\|` ol6'2f2C((UJ63| /GPWwfx|7 5 #E.VӘ4+⛾s2p:ct2{CtF]k[J#x{d%e=EAlkICXN^x.H[ۼnMÉ*ތL|ǽ$~9txw_"!A.+Ԕ;Nq-8Ƴn(z{<zMv  ~ bnjM/M3#OG[{D o~dom&oVS/|2SNFSnLac)Hu:Lܻ)AZ0cQ5 {0AbzaֶFv=h&cU]Ca+|܁"Y9 5Mfhn ~76pbS\=(-ʖHLeJ7S+2:xYVGP_c,B.HϾ.dy[c5˺ix消]蘫_N(VӹN]Ĵi(T=јA1߉ _0"o`Հ]78qĦ2|l0xpbҍ .Bw1r`lpvzlJ�L]dnX}bKmkIB,olo@ kšv1/[O)cV~#oEw4PcI_kU>ZP-B=TsDJ[H{Q0óTL!7*/1q.X_4(7hӴm`$oP> MhLjNje -wX3vi~#sFZ0 k' 3BߚN.&\YXp5a;eQ]eg1џYgȈIO:Oxgyt OPQnhDP_,1c %31k|LY.jʇsĎ$/ ɵċ90hmINJ\+3 ̞6V]7$J\NV4ٽ&}O  奕r]x6}u2ҀA\kOպѫOL_V;  . ~69qc1ZF`6G+ |#ڣߞ1y;u݂ ͭQH yUgy._cTS?ܹ}7-X'T_8"TX%[H] A&&ߎ\¢m̊3ڱD^A1ؐ;s/pиbrӺmڝ N0RGW\v?39mFNѮ7xw>]!qiU^7鉴V5Y"c䋟GM#Na!6 5Q֙M9=/CG^0FL d}ďML\!mp@9FR";Q}қHȱ{R20Y/.<Vi+F2ۊm#?D!{>FsD' -RY/[Gr6ZVRyPĥt]ڗM8gES%̜jo=ea+t--2zPTf#P@qvoFh]r'ŷ |ʦ WC}9 n 0<ŐR^3$a˱Ra GܧqhX}Z]2;$9ZqДEm?7;:l)zJIX' [ (bK^qA5f ;4bԌ /˴qrFD_e=CX^[\lj-1.&$U5mz d?>a1!p=j9'X<DZgRDNJ}5 vY2;1hsJBDl`u^g3@CawЙ mcż~m|إ3ˉ1Ei' e1tbF w3=eiYio=XC X!@0ƛ߂We33&!?5 g:Lm30hL?ju#̌?/9T+Tڲ+@qC],e6|#6> wtW8a4QTؒ8?-:N ۗ *eM;e n>wb&7n,L%CyrE(xق5G/4dA/Oc&(C("qqF ] -kvd/ r) 7e9TD Y 5rN$s_ʛ[RYPğ6 Wstb5>u '"tq)L߼bmm7Zu?eM!A91%]T֧q?;3#Ym'W)|V5Wvяt6Pr{L- 9ٌA*?%.]iЧUИLibhm80)? ws 5)a@!I2icJ̌»Nْ^y0›*V)@utwCAO>t m||4V71 y7U\|ۏKC?&J>A v,pt+qělܽSm@|h>uߌFU=)…2 iOO}#K۹?Iu3'}Ilʿ:{ qAnk4W /PZY1:F]dzV(j# 8Q5Ȯg@g"w Wha%3ٱ&Yߑ6Zk[CSVzn۟%-Ktn>ëE^`~cq1k>@w:x=z]e絺L/a!dk^V'[sꙈbۡUFÛ0+GOAJ=qsh6tI?ZuXqL$1#{TH|,U||T,%UIزb꽸[`HrA! .wލX|I+c1lP9Fq FsA;1k)( cT+WP6Ld`kVbV-BnjM24!Kv4,)o(9B{^l#-TvI ew\JvZ~pbcSaƐiCe<[03Q"BA X(.UZJ46d'FDkHm/RK/yÓ%ڮ!a_I/R-3Bw)%9\z}0bJuyeG\F4MVIY%OWrȃؾh?ciC樉_XڌŎ*}ڳcO-I#LrpGNj=.>T,F%wV|4_T%>{|#vl82 R{=C z{9{Gz[:9B/<_V6 |oTM]a;??2IkE(${iuFC$A1nᕙk=gn}x֕^0"-;~=k4ܭk2Ń ZVݫPϐgRtM)NaK@O<#^b">' 0)$Щ l _ɸ,&<'b}Sf ]ET;@zc:fV{pKM>CbI Tt;X6&K_|oרs@ΔK^IZ/hHM!uPu\6oʾ=#S(@,.fJK'}tw UȰ߁&n7ة9+$+jm++ Kx5a-_$7L[=AӍ^ԃ5Κ:t!Q6b 8 R=<"[碚uZ2vtZP "["=Pyi5ßܦc^]%7(ш~[1Nڱs\͞ hYVkeF.ɱF3 tG a̶iZ<40m?_. /d'Q,`FQo4|xT/ף!&67#Q(ēB na^Ibi{oﰦ}g(3HODu-FZ3T#EuzEu)4{O2ݬ-),4k B,z Q;HTfWIvu4VHd, ݝmsh5vGjd]>h\&DS2g2Kh@~1߹J0-X>]놤 wC)+ǭgOі!x,FWqER n  NapH}\)Β/A~bP(tWob+p0@a}dY8adߛU]s",L,W쵧eJjʞ1Ǚ[ǀOx3$J]~>27aE wpsęt1yO+q}M\"?Um՘r(]O\KY@MKXO:.d(X_$ú/.h sn˕iBa~sj&:!B=j: 7@bsXrYî R2:QkBOgETv]fSG#=#D',F[UؿB+ZW/ir$Fg6ǚlɾu1=(O;zf;Rs~BU&+B TBWH2qaSy%SGg/?arEmɱSvGn쩕T,;M-mMpfӣv:bۺz#rטFE@Ϙ.L,TxPA: ]EUYivLD=4 K m%9hd>$b@٫Ob`Udˎ2"\ۉao}Cmq{k.=QbzZoC"fl0Ya2Y9h"^}<*q^X[%%u zxH>y\@# ϼ^qClF"@- Ͼc2H;30}نvo$dya]>Z/yq7%ʦ\AY<-b1qOoN(퀦t߂†і jy_:N@xFdΨ= wdکfuEG)le -Rf6 [#;ҵ`27AùzHRJ3GN] P\~ӌ&۠#wa(GF="s5+=e{GԥBgW܁I\ͤvx46h9x̗ٛ9DQhATnMOrq:<8n9͚c_tX"7DCCuE@֧ﰵM2~eВ3r&U`M2jߡ#YzoO ѹ}| Y/lN@[<{hc[a?5B k!L\:: ϫ$TĶdB)~p 䰚%˼&<K[3`6VҀ(+kn1 uXzCC {7Dd]p;RAǕE,:Vp8ڲ7?Ū߽qP4`,=ѵv9ڤi{JҡrU[Ee+ݥ ,.Gr_!wAuHFNdH|z{$ufcs|"ǷG g2#15h椅Yk>;"-.Iu\߷H0HC %:ȮyϱH4]{uOa<_woc=Ɓ\uvZ8]'$AuBvpzMvӹ遗 TVM!08V]=ysݽ联RfNnX*rq~v"?81гch@vfVnvF#hf{_N+7 -:Tاd5l<)jզ>L"E08}#.CT= 4/]54 v}b<; a%kqDPs3D)q^ @w=8ӓ|O͟ƓHlN-nΰ6 9wB⌊E|oXgSra(*ҢƇ/>ڒ4Aŏ+8e0Y?NJ~NcŒf]zh81OOh>|.pU;lCRqRWǾ˦gƇS.pZo"WQ=m_c4V*{ؒsDၔlk+[$}btIajʖCRE6\yrΟf{h И.C(~NxR,6k%B+B`%&$ I໠ꆅ/42 uE|Bt8 G1I~DOxFe;:\{fR qM$+,.gȱ/l:@$Z3!o/W~=C%ut]c$Ax)Ʃf7bȢn$۝#VʃIVl G 8)F u;!`1%x_w7VCRCѤ"#0?ojˁpxT\ߥT48d4}fޡr o6p)GhM} -;NK1\Ti,iXIԎ8x#ˤ/Z-XM]w[<"5`atz5!Js~d,P,ls~Ǖ Hܬ iT.ӏT Lÿn!|] ,j~;-;Vmj;55n~@QŊ3ҰKyԍySt h|QIQkGɱc i"X){7QgClfƟjLA1Z2W%{KoҔvTMW$x&?dJMoIP'd*uoGXƘnXMu58` "e S#ܒ6s>lp:>5&z?]%uɉ-v/ 99;AUUq e $>d>>5= ܄D0L"[LHLr[Khʙύ*%!y,j::pJ!'aQN|Je3—Hv#G" FYs=Xv5+O+$axYBVRm6G­R7J *4WV+r~7`lj\X,7RwE0[%z=gя܇.}A4âdAE>#4-Sn׽` 3._&iAwBmwDaTAK6+4^ : opj-2{{=|mBm'tBh!u3OR6E'q*(A`.o "b_`\S@'n9iH).1&ZcsN%౴Hvʃ'[n\%Ny{ 4@z ռ_̀kŠv]@%ggqcIi :e{ySRq_k3^[ z;л2?ހ9Ú0M5 BIذ˜٘<əE>!Sviϧ#jQ@#'0< HXqlرAeubbG~wCٳy5[{N֯<#ӤZK3qyÕXߌ vU>\q3:y )Ibv\ ~ v"v'_G"~ a|AoI-+𳑘Cz|FGg`$ >^L57]wd٥9RN~(lU,e! .R5 7]&|c+PzU>pL¤Qs܍G=GuEkq7ǁ8^Ne5<2j(3vs}oIsVx߅))"r 8T.HƲ nx6WoS$ҺΎJ`9NTwم[|QCe={covв8/ _=]eEY Sܷ˨#~i% h^ m~BD9^.IJ~Ңբ0FhK3K+3o;;z_S]jc/$[b_ɺ(CZݖfG5B\8QK:X22 оyK,=EgP SZ^gUTfb2ڪ|- f Qީ/{bQ}퉑/J]XCmr~3X6F4GZDΙp-.yCա(1ٞ\Ys, CENȩRbҪ<6x(zҤ}Ab/,mԨ3nF`X,Q+nwyJVd6/zzg--*93_[5Z\n@y#h~̝~ Fsw̲hT>yLZdªߔE ?Ҁnf1θ Y=s:…Ibt |ꆓPN\<v##caNhYBl$T2C5 J֭Weu<O"h:bJLq(l@ !2VՄW;G@s5  ʼ<Ɩw顇.;̵.PAAU74ALv"MundR3ui;wo]vu k-dChʅj?bNC.O2?r F933F}c{N/nf;@1O>R7|ic&ϗVzF{-wM_> B{cH’u)1q1dž1Y.׃(;0[\ɫ /׸~3;62S #hƉzm).jq/(5Ak#iЮ$EyFw;¶T2_r9]R)%c7-rPsnK*eNI=0] 1f` puސsC]QɔUfς@R[8.cÌ{j^h*dZЪvwN5D!r /->ģx\k2BKjKc|M1\NMElFR\Yn;G-ỮÒq貒kU`]!MKEVRY~h2t-[ϙT{A'"*lU^=uٟ> ']7+&3zP{{*:H|n ul"GC$c'¹nZΜ@RPg{  i2<70=x՚$OJ$x{ ;V<C7\+îcXoh ·!)L4+)g]H0#R =:!DIpwmȩ4͹}~mZǬ/L ‘1ZxZ*Wx'dL8;0/$uAaƧJ2㲙ΝuN&U" &)A7qv~ye8AOiqvXDԪ[%M'E6QTApFDX g3IjBKoJtc*LFC(3g6{/[RoV!]30(pP@a#ԧR!rA,9"셕wm'BjB$7բXɄO]X:9G tf85g@Uy M@m8`}tgcD۱`1L7n* `=yWnt;gu!Nw(M G0lj6 =Da8lYR#,Rp8n[P4^T8}Gւ~ 윂sDhoLAzA·7.cz+Ad ^7mmB *T,?&*k&R[qC;Y ~>hTT, GܠJ`^9 .^uN.}xA3x—^QJKHoq4 cW7$s.;m"םF?sjOP"I|O$] +?h=O*yh^|`(Ӻ<уSڡK ),zze7qw^A(4Êj{@nkmڢw!ڷ@[6x1LYJfk{uvHb[`cl-V߽`X不IV0Ԙ6My&i%i=$cmHF&˒m} c ٛT-{~} /ۘLD\7ˉ8EvRo.da§xI74~)[եM=R ]- xzD([V_Y%Tfh"-̈́+9nC{ " o5CBd9) Ι 11||f%'aa.B It${?>tJ=Drt[-ňRs ڄ q2Qwnlu'CD;V ^۝=fVӶ҈rMpb1 E @!Xd́y'KRp6Ƅ=g{$]ग़c9:`ojB9Һ {ovVc %o`CxGB$(R_ݭq2y8|O U)VVB٦%hCA$:/w ў :0௛!NOyǪ 2TfW3/A7C:Qa2_ F>H~O=6q:>{vś暢dГYGd ǯx"i s 㑗HU.y`׼JCS[u".y*TCIځ_X|a}"@!jc[i}?n۠o 9Yk1T99wL);ӳrdNB8Y{.#t1V&d 7yA/4wGR B`G})9aBՀpĆ6ML Ic8X$j9d"'4ı,&,_na,72d1wM"[pMnT5לT/5i5Z8&=q]oYI@wS~ڑ#WZCxBj9TEc4p◯u"`(Nw;(DB]%9 -\+@-jBrV#_v!7#l%0N1c5x;Od\,W%W=&3@Ҫ<TϗU=lFڈ&D/?hܖorf >Jρ\dLAꡜ$ Fb3^7 ǘω 5]/B@?ʇ#]'ҒA͟\ cD:(~ƗqĂRWMYfShȭXijvE5ma dR2FXBFxt"e]8@$e"eUpb+1'Ɯ? XX_0&D|ށ]WɈ/4ω$rVdOٗjB`  ٴ_dҟ𧥰2g8xG42 NaH P$B˜ǎzp+V}qe/wOlm>ɱ\Ʌ0FACGqcޕ0ԍop<*{ ~i^,;a *@/)NQk4[0$-NǷ ]y=4' x&G$dnrXT>,;k F4^BWE-a cu@}{EFe8Kv*?hdeP%GaG Ngh{vCz^4%9+X92-LIa3^w}1a8獽A ]ɮpxڳϫq3g%%m&~*F^Baoy5ثGtP/*eP>`λɶ%^'D<O}bsU}IS}㎌\ UdpiIp+jf Z_a2ϴApm&ξU临xjRH;h0xl(hc4F /2fՀd'u:*ڹ` E0)n!0g`Tk2jmk-Of44?<6:@ftzxi"Ʒ+m|8!X=B1zZ\֔^Aee`a^+Y4̧>o,DG!mQ$䖉dy~Q=KpL:=o'l.9b>R6 Ef&@"u`2FYȄXg6iRiEL;eVT #{fY7`BC*_j#J+_$!ZA,';rz8`u-6Js*][,+e+-igcV]bs3aT׃o?J ])܃ }Hbo捇GEFd Xa-'nǾ'gďODgF"6JCZ/l'$.nԩ=i ڥAcT)-kAZ8ܗT3ZH' Eۥc^ڜsBi+Z<(Q)<7UJ\4`ԙ~|26z0*M1H?Nl(ǚݠɽcnT}c!v[C_k޷xQ콛"#]`pjׂ?zPq0Ks&aW$#8?G\(+m\T&Qc̔GN:+j# $-`T{F8Mwe M3cɻ_"\Ǘ%&"P?4ali]5TE$4njzP2 THbO/Y*RZD>$*#{Հ]BhAJiDҮv#>aENClmN3W3>d! d;H]A7$_H2Z''0L<+ʷt"'N[\t:?!߯u3ĩCdžPׄKp8ů8"ߏrt º*yM/ؿvhq; F K+x䶙mϋ)GQɨM E1et:*~$!Z$M8&-w>Z>"EJlKS.r1 ^SZr;}4ZRܫ%A:j){>䍩0LGqUL~1M:!*\]Rӊ9u71Qc7Ι{ru>(ȜqTvab58A(X8 =j^اҭhݛ_b}sls-NQZewt2 6D_57{{eWA>@K@O+gh,VU*sW~-D>\8@*X BC@M k1$`nS )fv1EB, fnWUc Q?1*B|^ەw|][|q!QwW!K긇O ߸jNrdԴkH &Ow>K*z{I-6d` \ i<tx/|n= zMٗkɤ>hQRuP)`)rv7W @K(QFpebE2Ph0yQhm_1";/t Jv<̊.B '@(踟7LZse:4%s$fU rq,ؠkn$;SEe&p8d Jtao_"VZ(ЛX9F Ɔt3MԫJ;CR";|?,m!T()j@y} 7[^Eޟj#eB&K6?T,\G$C0$ i\s#UCoR6DܑJx|Քb~#Q-*XNA/0+[ yҜSOrA̡q΢^Y ӚJ *XaN#S;1+erM8|A.KkjmM ;pE~ |c;')Z "`ދtn)z6nK ?@z#۰$kkS;( ѩUn+h{ΰȼwHurAW,~{WR )>mMS>MsI##:A}MAF0*gŻN OS].̝-74@׶Mc<XQ;s,u]пgi?ut:Y>L9`Gu!|)XS_4U^0d~4MUpݰ6Itweba?F͎苵̌o<ŗ%K}|J¼Eƭُ:ZRVVJ\Γ+KwkhZ36kxcpeD{B_.)?&sCLd,t~6qG$Z_s)&-&dUٲnNn[r>r;y> / oE9c'{3Ъ'\ OI,+/r ~nMFF[Τ^ٮ\` ܦCuA;|HSewzˢ$bl&u 5f}@2tpQD#xĆM.z"ez+ٜ1Km4r_&&q?Ņa6%[FY VQCUƿmAzG; im,<6 Dk õ G7Sf‹U_߭jn0OFz׸aug@޴LBMj}193(j0!{u2hӑi f'G>!vNTha6,Su+ƚ۞EאT2C;$|S7G҉"*o-Q|܍,mF2[j9 n;wLs;FU˿Nc%m| b Rm.]+cznmh ],ý&+ǜ!88hiJn:2}M@mW5eIe?Fg홉SvWH1HXJE-UYSJ*т:tw{- *gs3[!ۘ~-kJ.1`^,9mOqPD&L}w{R %`^}Ef3G0,;obje!vK8K%bSф9S6%צpJQ2V<}{Ab uW Q,DžhxtzK U{@4O_ہ T&lM$TshyP1me@Ucjl%s?o)v7dP0֋|E!~H<4 5`w!vQF-,a($,qU8W!o$a3>J1!"T`,ck0W+DV= _-Smrk|U~ }#$SI(ԏBOUF%_.U'UJG-p گO1qPb \t@vlơ CZE*%78qYy}X*0H) J% eG:MJ(2 ( n4%xP2[]Ubg08U`/pŵaQCԜf p,-3LnTv$lZc⫺ u1$wzxݟrqx:۝K[!{^=}o&rQES|3e`< GExNu2xnx.k=^^:h%js;nuk:Ľ -hpيи[ X|c-/0]d:xg td+, Eq ~:I`ԷD`/A.ÇJTR~ O+uQp(W,Ӆ/jDR6] rfTWr3 ZF2׎ġ3ʳih?k NP?EB% 8NulWc>߅\}i3(]RȀ<PS—BX]7JWw\`d %Jހ\'$=lf1.Wo>-x}d]UIu$U5(j(撵jm˖!"wVs9%;4~{?5[FM@B|%'ciA4 F sz,wl$A?wlUY>V 8ߌA+Md%0K'kmC嘬sSBN"% Pˊ΂ msԷk$Q;󕿅0h F'd/ΫGӄWRL%,2&Jq,JL&V5f*\r!3I6j ,IzDJ\qO)D ph$e.3xWoęd~53lvT'~!C*eyZpa?l螦9C},)Onzb.fWW #{7Cb[Slj=zgt|}](S.{( S?1BJEm*M7\6O+B^2W+f]+jjAuxyT+0:zVmn):GŞB/)˟R7s r{˸"}ǂQm&v,q~0$Z#E`ZM2Q'~dTʰ/ctmqQp,Ƅ@@+CswRY 3S$yu-]Mא爑BM@\ ^zo9=|a6y7z-?C zROHLRcQ}jOJ}8itF6PY:J! a[e" O\j[Bdq=yR͏(l.QBzXWp JL1|uf}}{A`n8t;k3-;!9PK 0E[i(\ǽhb$}1<#hĭ}w.AdTJ{Dpٟ!`cXd1: hΎc#鸼U%ChC *ͳ|ˮ(-c}ƣ?h!}ѣAöc2 \=hĺ_Fߒ 920!75i}賂u8Q FAiBQcv}SpҲ[r5*b &Ùϝ ! ~ 5: $5F: Ngᘪ;Ś,߼&zJUV^OUiQv_ԱBYz@HWg:[!7w \8υTw^/3).Vo]Y$g2asT~3+DŽ!&aBhJ@AERN&:eMSj>TsR2صvvC FfH t?2eQ [91Utw#os֧.>ѩЛ6 I?,&FΙM@L.T}:HᠼPf DCoӵqk:}H1-͏6T9=OJ2zL^j HvB7.V^R#5b/ L죷B`rK{U2p]TVbśF^15,zaԻ,L[=i5Ʀ ]N``kBr%[ 7 ]ցSmb k0{8r@ ;nahwjz?)'eH[eE?4opX1"[ثە@پ9NlM{696 l@x!4_V N2) ZHt;gs+ֈ_/-o pX1~If؎7f;dJ:%HsGmIH&tVGl|e ^$PvL0d%l51fׅa} Kwv '>з9cWrj1R\ᇧ9[?p.[zˎhDr͚ {[>؊&l|kU7ɞn wF¬ƶO)MvS#(r:TwvB6_AU. r"P+m,D/[Ô2-&E9PQLwYjJWr5|6% ߓKW>/^yi A{2O7\?%y`$O~uE8($Y"^ MW̆7M<_ eW \}i9?͡Wl!9U WqauK}"2C gJ.W0Z&nBlPvyI0}z<^өd"h{bgb,WȟPxDTX8һ !IUV5n)za^Kg_1)uYq4u_wS<bQ0µ8G+ @@yZnT]@ g n||iBH鍮ZsOΞHNէUc7$Z2z I)zT({G .~'D$K.V);X^vdG1ZTbB%ꪧfwaN$e:".C!#s[߄-Exe*!-&Ze$pScM*"؍G[O|7dw57bSmk[9Cv#o Bh)*aW'`cvMo ٤Dc2Δ oEVjn`6ENNMŠGLb'!dt|݉eVcE0y*[_,JC&P.w~ =[q@KmKj p傻 u0fMhBlϙZ`Sj?Hçҳ ŷ*An2ƑN I|YnE%6v[|nd~DB{' z8n*}SݺT I&uol>t@AdK*bsۨj䢂Zl}Bbr-bm'8#bx 3'̧A#"`#Ҧ֩9ڹEjzRqGYeSIC[G6S-U4v}s~p+w@mNf`D E?J\VLaGGIb7ێd=x~h:}2_3I Kq[Ltw-\VwD6۔L$?)BV0929\F RqI58iՂ[FFH<$RM $J覛[CNU^sͲai*J5?!hkRbW&K]b3 <5֯WO&$jZ_R+ c|y@׷J"qs 8~ځE\K'F2v E_H 'H0\W)wMEguo6\T8IUuvR< =5:b!SXCRBؾ}@5WR̀Ӗ3ᕞBF(f "5[OxC?ݙs8b@" DRǻs hmQqp'm)JSpBH:7PP=t$nHi烷k>m,*Pք uΓ%i B!iƫȳSf{Y%kx@0Usj 1U?YƢAޮoZdܥ1( T w!R1+DZJ;KeJKȾZNpH]DVGqmb9gm枇&#Tɨɺ>׆~CO wIQrUE{L \?-$C,S0>r.FӞHX &2P7A/Cwc0E6 wk(Tu'ֈɌOлE%ٳC~S+0C̘2^e !{݀4p(*+SA :‰GO$¯ۧ,`0Iu0pF50__8AX?T0$f(zϭ-FBaS >I6Y%G5X:[oMr7nU$Kfy?:]AaEAlYŷ,XB'oГB iWvb3{+ q5$(8+9rCym $1 9sq4ei$h87_p 4W(`%׀i\Dkp~G@D9uח%Os=\?c3J ݏ+"HSɥǹ ހ U]WJPLc#GG7?y>C[.֜ (6X,/'dP]^7FVTJձWEOa aȼ,b8!obmkkV0V_ًck-UW>"}#ZV1(Lk^]ۙF2ܽS}xnR:?{]u^N%ˢѩ"+7Iz4zzs2H>({_K_4 (d>EqN~3wGfAto eA|ʒFfrkqnȨ]f&π˗@wķ*vT1:!=037P|kXHeSK(|<|@I&۱ c:'9G-lK- ny|Ŧʋݳɗkh'qZ-t?h67X5{r]dLDz[81"];:.wxq/CyaZk->$,rlni(U3 ;5Q:H1)b)Q!Ppc _)Gz/G8UX =J)-Qh}ݏ.1^p= Opb ʌZTBR+^u;=ls8̱̲,B&k%uk28\1]Ja< Wb-JC'O'GprqOoUK*\wrLey s!EN UXK`w|!gn}w`pq%Vzfmۄ$%„O=}+~Hc_UF}%_Qkn}P 5 -ёTd|%9֎ݵ>o'vWt*#b/8w.A _! `~B@̻;{nؿmHr4u`S &א0kwlgCf6~^#V-«F;tZ d}1U~ /}'RB#`mO?/ld el{SX}fK"0sOn6v}cY;>05(#my.7nt VlY)E'5I&][&HLQv.8N:e3!4ڗ!EhO&PD(s b9qVXTɸ-q}&)Pf&ҡ!"5,,A1JG8nrO!Td3fӋ'%m4G?~ icgTzqd;S53踑L]kS4vfnj¨KPˆ]nTdHl#i}SVÂTEB=~!$h'iC ϜuS@NHf#w[G3󿌠&\5VWo`O}`wgZT#7IHvb!fI;>~܉sk,bi%8No͓n2;iApװ|vn9ڇt*$*Ҋl`o@jꛋI^' |bpJ׵o\?In9$qыO%Dsv$[KrWhx,[e ɽi`w{q֣b ?P<>bIs96r!{=g~YZF1b|Sbk*#?{WG9n_a_Oa¯%PS{gwܙpn'Vo@w$MmVg whFBinFo#$u  `\E OgL~ mij"*Ҍ^te~6' T:'Uk#,ͻw=-$9\z@:S1suӖD*B7 "xz0YP978I-#u|GRC["۲!ϥ Tw^ɳ -ե t{'@Xr8 }Ʊ;^1ՕO$ruO= azr*c~.Vcva}X.ƾ]/2c1vQP=a22.L^{^L>:fI$=2R O=T}>3;hٞuu|LGmM'&lgUg۪ٿY7>Dj6ѱu-' LeUu1v1KzGl#< e6R:kF*0 4XQSvtzxc yP?#OOӆN::x_'=DJ P6P).W"~6pԜ_|ᚠ6GmS6ktjNvjғ1oX+q^kIu`LŒ,Ǯ e]r$eAL d5C7,-4@g{l&4EY~s%zG̮.- 'xkL!"q@"A/i!pX6c(3X.tk\o OӨ ¤W4ګ5Aa]oώhWRsQ-ܤ,SDžQ8 Vw/=Nii+2 8Ih-f0tr,ctgJٜ_jm= -b'QCunN3^0(Ɓ/PjlDξȭ _HOUj89>y^^b3q*Fm!X2z0DGyWɎ>.4˘v~[h"e hyo@?3? f jx{(٬w2ľd(t-/pZfhmTX*@e/.r3ʹ ~?<&K,d z_AȞ5۱8o4UO =ƶ )0LrFkav"<}, >eQ̸ 8TNѭre85uOkag2 FhO+ayE.GH] H$.!} eŷ&9Dg>dG3=$~˓`~@.:2]dž#o>6y6?@r xoP ^_ɦ*,>}7dcpMx:mp.Zc\c+N_KS^e9tبm'T\O7"&3ڸ>,~/* OkFA3yA=C@愴DWNk^QVd!X #e h"H{V*QA;']2OC'qFRH=G,~ʚj| A05E<ASևqϤsh#sV^v\V$񊁜ŝJݰ 4NWW96׺hZ?VUaI2rϞ_uhN&n۫6ҾAqf%Rs 2(g%F[lqi뿨i4ݹ甫FXAgnb-(_)%;9aӘ_HOJ.H VrEKs6punډ*op/ܽZz/ǀQmeQ fd3n<4_VVx9>n^$Ϡ87A@!!75PW @ 'O!1ttI0C.Eݑ=.x- _n pLxë~ `ϯ)+)b]m<Z$nBC| S&۲%X]e>ҘwsXIE"%gra3€C@Gͅ'^lmL|z T*J&YjiUV$9 ׏.^lB4SU N~\Fػݒq|zpL& $LɵKdD(&:FnsW Tǖg}߻ef盁E_P٩"1d;݇egUI\<$bȝlE0A<Ki;d(_Pĉp4?U[XT̩0QCUU$o`ﯭ#[5p1j}VLZƳ6/ݸ)юm-}"чD"x syus3Zm~^iXʤf50/mz"cK׬wz&)nh\]OPTZnj3Q&9kVU0Ήb  ON`P2P quɢ`jt{1v`Q/_+;V8N|%OVP S!#kc=3`~~E}p5saXB`z"Mm:MԦNSѳ-:fp| 0jK7I)Lvy*hM_7Jhʋp|),?VW<;Uz=gp<\=ؓdp`~ڽ4 (44><cAnP̟CDXٙKzujꔓvk\la[>y9^mE0@4& ~R"% l"{B;clR$BA#q8!Mm魮g6 + #E^%L (8pNOt=aE} _ &B8RTC~MZ@bx0|UVHdZ/JMw{z鷘~;GXf҆|>ht 5Z˃"m-f)#pCkѼ0鳹/s1b5$3o>NFGԀCU0 [7XP95sr=fwYjVQGKJkI~pgEni㐤8Ep mhF GWYqIV'TT1(ykt[q<%bI7XckDګ~uv8:0c͵(?h)*;/ /,\ʼn~Bs +;o@GCi|'ƒ}Q D鶍)Sm,4X1v4iFwWhvҕuގ9"J"#a8YMٰn<9%4+ZP|r2= .58P$e*䐥G 5u~/.bHZlksQq@@7,+JTR!Aoan+Eâmd^L2ʹAr3 6=QcJٶ|}E&DJ! IKyUW1zѺ˳JVoH]غ:> p*GƬ{=잱EسMŌ S߅}N6dAYL_s?:?OXBUGof _a U݇*B&蘒(yOd#vY4{߮B?4Ho^7? Pd#Ǔ}q"h_WK{B؅^oAgit̝NJ؄LWN?,4Uwъ{H5f /K_ ReclFx$L0|93C'{Y1-\ʆY-{ !!u?{\̾įD|EԙGa5qqD8UEfU-Y ,4z4Ѥ;Ḏfù~T Z6lٷi}Vꊇni>֡8} s+=,9ϯg`t*4:􊚟՛v}8:Fb)1}Xn٫&";h$i6`TUw!嗊)2MzsCTcW6JQ5'`Jl3EK,GG$ODURM4[{ Sk,yr]}O;CAag D INn_t+ ~)2=;T=1[?6-wƇ~kz7Jwkj,,xymDvݐ7CDޒ|9=T:~R+c!AJA!|^0 z~h{/<9d.U&r@S%:_7$yeW7Kk0Q +L+ny*zj+-O?zay -Q%e~һ qTHܒD5HƦ*]^v82&TLۆ@dgkB;͖6mG4 6u}H +=U[36e&[gG|߅8ZrU.}&:FY )  2bh?CS&s(g:2g#ež!P9-htX1ؚ龨2&mlo~=]a2t8yY/1O-.CbF " %/kuNȚsqǥ޽z)):Wpeuh̡JvCjlz1!yCԲW5m"GDߘfvkc?ȵCHB%0xX.HZDZY!dp|>1tfAޜ"IGOW<8nޖ@?qESķ,U)K\9@tpTť )Iz_(؃2&t Q(bـzρU.wqpv! B8Xޑnɪ,X.wWB@ ADE(ImDLy>[%ڛ8J-[C_62Z-#mUZy/)g O԰||+iYsB@2(x EhLmZ;1)DXix~TU[Z;Q}ؘ#Kz@JzKF:ZaRW\O1gK؃18}\Rg@p <2Z;/SPxAmTQC2ͧmֵW2-g!,-3Jo WYĦ$>h_2\AHߨ3 >Sd4p2EG Y21OF?Aa6hKd&ndZrj!jV=댶D:3 !/f73< 56 3j=:3xL7uSyP%[axDx+pIO6/#/M̴JwS}e|kڕ#X4 #hdɍil CT͒pc0K;Θk:'MulDRO<'&&nȮ 끟*@Ys9>\ܫ(hM Q7? 䟺"$YU$,¼&awRFvejş$z72 Gʭˉ΂_*iP<}6DgҞb򜯇_~7IJ<۲Cp '`kR8,*cqZ*K V-0/I Kd\2hD0YO~OOi!}VFU&v gnPwJ ,S{cRF}3QHjj5mǑX2(dǛcwsuvvJf[{8G~eiD]OaɄ 0M"3aP8Oߔ_k/!Ok3iyѥP'Y)tEJ[+ l }x{$~I;tG!Qbz|3B*ɍӫ!Ҷb7Gv`P}-mh4N-xOaFXOLUj~ƛ_MCqsgFA5a&\wbs X@$2uѳå㾈t$~UAQKa#H['~酂ׯ5K]%J~8L7c&IGխDFmx^I;wsv4MUL<,s{Njcz# _1dJU;%{ gIF -~ނWaaTF;W9Bh{0j )8rpD0(MVM갌P؋|G^[ܹz?< pLX9-xd0(z`:ݨ:΋p9 QT 4#ym -Cy?M՟f|tV,d@^z\+ `ލom|$?/`^ 0%,{\9{;_/Ij BF L! #q6a7hw߿}Nfݸp@ѪDT@?=RE? C%["Y{'HuG¬v$\|f.lSXx`E@GpޯP XYda =ebgDػ { ]5S>|7rZxlfXiIrڒԡzU~ CrUX;M†m7;w(lL%_l:B2](n 4)Fa@)ݘk,SmfՔ}2q9 G+*V!Ωq C~?V}+ɜUBҠ1͊4*>΍~GiŊ'̴7^WAJДm d"QYzFئ쑘{8'QNV*S t&aꞆ췘!<5ZP.YlZQen-0ed+;aguksLkG68'aݝ׏WVR lڰA -GP=>G#hFlt6O/žT p r&wi{i0r# ~%<9vNR*~l*}dF`_}ajeLBIzp KoaO;R /{u;A@1y;8"WI~릤sʊoF1mܷ^Qa(W22ty!VkJ:3︃`ǣm|"%TCq .㖘T䌇3fg-/w JYPFJgH, M )CJ!?QluCS/8zz Gæ̃FJrx<ӡ݈ eE1xW 'B o-zvgUv0*?i4id bȕ5jAgtO( .3gFE,尙oNKVMqhwtHmDXZf>Z\V#} ~]"CR=?_{#0Ġ[Sz_!S_sj*r-9NCx7"?2h6'-B1ܐǵӚ ;Է>߈qbۚ{(d-Q F)˞MZ;-d^nha^^Ź'iyfHbYBdzR0s;x#EbM:_$#x/fO~FX(Y/!yyi) l< V) v 8H)ژ6[ ELN%h)s! eyEXߐ@*7FK;^.I$E=,e/'0sQXr~,7hW9ZqQk"ۄ&dcP!}.' K_(,և!{w6Ztc%r!,]ϻn 䱚+hb8He1Kl|?2=%yUiqbŸۏbZ/WirImjKF6) ^hSnns5}V6WVe9OEw0?)2vq%n*=ck+hIMJ)=aI^3P4ڛ#Ncw 6Ƭ.ݝz&W8KV'ERك*]?~ՙK+%EXFpј: t"x6ۛZ&ˈu^)n9 l]E:2z*׏рF1!KF_A3=lq61"猄xּ(qd Z0R(ēg"TpįgzrEAI;w/6Z%hjTucvH/N5yP$2O{ -Cujܬ-!cx"Iǟ{50P|@':q$?/3;kH'J6nWEu3s,T gϽ`)!Iѥ2L%q³伵@b)"JIrؿ7cH@~MJG!=BZIJO͙u8裎gI{ ߫, mZExn-66|u5BZ دSpR͐<*ib;؜&4^:H4Eބ]rVی?2 D߼PYRٳ{p/}2(Q 5ʫ;Wwu:8&Ug I͈ ^-b8P&a زiQPq\(3;"cdxo=ѕ8E} 'B (Okgh]LNTğ(l\ڗAoAV#a򳆒,U3|˂('8BvhGq*s|DF(v Nb->@NJn"*Zm5'#BP}ܪfm8hӕDYP6Nϑh pyD/ئv~&|zݫxם )#Brl?9'& ȒDW\isC{~cHf$kJ**%bSNXʜ%FYf*Dǯڵ~CJ(ܫ0 -Kp AM"-E3]Џ֥. t&9Q#sUF~3%Ú֯ni8 ES@ÿrkK ROiǵL[G!h^ċ:gjQQI(~Z,PPەt[OѫD)gr U^=ݝjsKI6:HH. ")x ]_sC)YZDOw*!ͶDIXsVGNӱ35[s'N}`zgMW?ra|vps6fRX"aj$.;N߸`{׫w̨Z>0>"&Kcu9(G?'h'spy[F1S"R>L2FHdmzvvBZV08|rK^^+>K9:'*Ӊn U·k/:0Pd~4n\8im'l,.Fi˛B{3BJs.!oo,J=Mp.*C:5h5 5ᰂ*z Bc˜% r<\ JR$}>F'1 {-;nދ\M@Xq( pMDzf8`=-̏'~r ϰPhz)#ѳ?٪kZxdZx)qF޶PmLApW_ F>$ܮHu̡7'Łl)654t4NL?\۠8鬪J5y~.6 `2.bW0z$i; )OfCV~;v}0b]&e5-(nޑ[j^-g`*C0^U^yYNʊzFЀ/ʻ|/ug4.bHu{(ggW=0Yq8?xP4,v=}ZGhH C:f(T㡔m Ľ L,߃('x uY>LmʷdҠ@DH-ݗR RcZL´Z橪)jiuB"TW (atXdݞorxi(!~!+$_K bA^0=0& և X8ҞҨϦvg ] dxZJ)WJ'՗`Kn'AI8]=mPU?iZ#.;Un^/= ``Ɉk"icx"M gι͐؈b<>rL _;3q,y>T G[Ed#Hj{)`~:HF$ ;Hϐ%XV$;-f8e 7Q{Q>t: /k2&mak~w|,Uwѐufw&I]`ZbŃSHޱ¬%cQ鏇Ƣ5iA>άuLzT2YIvqX%Q%Y p2\߲&=iJcz[?6uɳe׌={g}YZY>5o%f{P ve[sӎiUع`]2dRzjpZ5EX$v.nipgBx!y5ƮmA2Ԛpy@z_>xIsfZC!@@Oz|Ԡ<1ҁ2`ZbRuӶ;#krE9>Th#gH[ З1e|T{kҕY)dM",'\D6&`k>!Z!+ Bn ,+v+Rrr6e6w(T*l~E-2k8ۍpܞ g ś50yx Yr[]Jrۯ? Hυ/[ Nm0܂ Gi (˖*m-ն6{6 [_eTbg.ޛ~3N&DM뫲!Lx:ܨcBw3Vd~~S#g뉠2]>/L(C9Y?.uX֮E1dJ84–F2ف7H)Ketܟ)P5kcu[KXtJ}}y&pxNoh@c)^! EOG/ +W]Z_xYAc<sF pTVSfK%k\LvMŞ, {2Ù:4跶N$H\!YXCS6t&O_id1eSRV5q»cL % I#9msaزM=C&m6o3w@ ( R@쩎z;=os H䒫 1ӖqBK=c}D+tM'5"k:u;?7/=5pn`^9xyV[he:]@3UgV%Pچ7c8ʲWdҲ%? |!jOD\ 2ǚU/ mG1/U!lbw@LY|Sa=@yۋ=Uǁ<.:aԞ/5 3ykr3RTw0p LD/e6H)*uՕ \"a 2ZV#Mrt>*_6]/ 2{)˰W8|%I<1͚ 5T !fr&"u~MQ>1'2$A‡F~6"h ӧ P\Y~SV'GriwفjX/(~h4rCNbk`%A{zESiU!hM {Q!w 9H p>J22z%9&M`܈In?ڟ5>pu@ w͌$ler/zó1iă*\zf W1Nɡiq'o|kuhF~-~SF&?Q}.?CLѓ4.M̈́vVB/:Nl^[-x~~Ĉ؆~dQ]j|%My۾PLMAC%T[#5av~ILU1o6@ ͩ^%(f6sY #! RW'57~+39H D,I t&-nc3C+@S@5p3~zVp2nʒb;JaoD>O{£-4T"la5iuW;Y--єa5[ؿ= _2XV%k]3n*mPOa-2'*6&*%nnefπ%~dID? To̲.ؘ᜺LZ=(mĦ5+R|xsZ͵^7oyrP)'q8`{[s!0~-YPBɓD*vY1>v#yFPcZ̠MGeT_Z=aUGwayy ,z/f-cDdKUToVw| t."h9gCZҨ"u SU80. HC2AFoٶDSGx8@Ni6F\F(W W6~*V2rn6ǭpx%HXU T֍{'sS4-x|{AV|-p7$zCʟr}3ãҋnhf|7t o6)tLc}D|"ͺM w>ܝlN4\eHOУ+1ك!*D >tIQ"՗گןHBr3B*BB֔.}U v.4(4T@v\A?Q۲:+3)H&\hZXî.#1P fg{fTs.ƫAZ.&+-Kj tԊ 9_A;[5W4J!Z[ "t{I YFuj˟!es> /%ĜNglUM'e]8;6UZRN#Oy*g $+%ӕhcVQd"d->i8jp9Sn#L7+*;4UX.$s%u8F_ci[CH{ dUxGm+&(7LzŰtԵ;9kor te!w nhqDH!$'V>Kw[@鄞&w0ᲀ5gHIT;PO 2C0ܰ{4aE_jG ~T~'E.5:pG@X@@DhDݧ=?lg{!]:]`#${TE M{?9¹oЗ$5=YfeDZ)k;s' م.C>)YEf/XIɨE ,Tz*'1EbFģ!ڨ/W"'Q]_N?Ӑ.dS= ^EmZj{F?0}3z,[:?R`Ť9FŘU_&*#V.J.Xn.{Y2ttjv`.€_!DVuF 8&!Z0Ӏ8t;*GH׮NSҾ> p(S3vk> ͛rdxat=9FPlH" 3E>`/9XCg1}n%SJV e*[HDnY!٭|]L x,KO1l'Y BGP'fʹ[u*hJQlWjР !kj|b ^f~7= QR{@띖\_Դoa7$>Ρ=Q`qcśC8FR`!rㇾ+&WҺ?񁖳 XEL+7sb;vj:}e`^,[#&bFQ%ݘֽ 8g#7tRPF0["_ڼ:v2bmzk⨣uzX5:!~vWAP,,ER6GScnZli.vCi+5V0UDˮT}I3cˡAzn9Wԙr5m!-Qx"o #DW-oolTx?]X^4ޙDc-ֿ!#E‰ =Ƕvj=U4܋wHJ,3.A( =Un`<$ h6^/ɨ~ ĂLռF J\0< /E_Z 0цW7UX?+-qv8J50ܮ X|'wJDht0;Ynwtw]d^;CEnEI~\ Q:t?q=@̶(k:>0M95xcIړYChh{OL[t4>~S[b&vuy(o\!/vzSr]Dma4MF.{p@<߼Lly(q'B&6tBmcp+0BMvh9QWΒhG}S7Zn&(Qo3ŴoğRK?bE[e%I9B'}T 2ƈh3x{! F= z%.wѽt),tp^}PlXJ#c˾MG+0ɓ qbH'0R=9mdl=puBCp?ѫ=4}IW['.SK[%zY9N7Ǟhf ?=4ƄY>Mϋ(L: ~^9YIgB?*HLWu'He9IӔDK!Jhsp05i/~_C@TIOR%JtmC9[K)2\f􀈒$BT2BM O P@g–񺚕S}i̐uȃ- YEϱcum~zn'~#xI?i3`('sB1nJ>^&N5+=okzJ~r~#;$M=4VJʁA,W@O@.)D/)*BG02I,NEb^J~`nUpt_-hpg,uw#_x(.֬?PiOo:%FUZMrdB'i@WfjgYqX-dJ%,U[K/-;iC`= 7xn%0qEei;Й}8<%ZgcaA Nl:XXtBrvx DxƊSФ(^krO(2Yͅ9qG1JiKe B%輟){+QC,xys)O~ՔwOR-E&r2;s#">{Z^8[ygsaM$~ {m]*)L:& kgKrlHf?J{\|h?6 r*~ x 1*aVF^zw&zy3<Ϝۣ/&lʧ4vOFbj]o(TP B6 KkC1qJ8w{G 2䚚bJN>o7#xĪ g$Bkk\%&ř)f7#n-7,M)ݣ8|/ͭ'ȀS(?BnLK3w=5 hlő盋GCp ړNԚ2߮gGŸ 00&f n%'CDe} @2=/be]Y#gr1> I +sD!˒BoT=u܁ȗMuQRə: *jqp%7Hu7r$/LR` -S~|Tj(KnjUC?k]xJ:ݶnZú94-Z>ui^lɧcvV#6uOM,9&оws`nCOGB 5<0ֶ~@ܔR0oQИ %2B Ά  gW ۴E-ouIVX3{ssY* y!9,KS^*L[PҴ<*Θ{_Z:kURHY$_j7q*K+BJ25qқ?ɭStܷs-;c-BƸ9^~7!E:B"a`[2>Tyi7˜A$U;M~όwaOaH/ {Yr=sKKR U`(I7ESc$7V?6hHt Lwdhؿ;XJT[; XfaT#R@r541>dHoDWxMVox?EanU ; L 9)648'0nÞm<0[P6L27dΰQ(ڜ<$G=*RdK=cCg~?z"1ץLJINfс, D<27uwW`{f/= 3eQS*V k'b*(& ?q}N:MkAwdbwQZM!CJ Ks:]@zwYҒN߃h!ڨf!a)ܪM1Z^nC\]bDY'O:Ƅ2X9Tvu>`6=|)ѴuW°&/PaJ'ahkHu2"XL_:yy^ځ΋laǨ4ֳ|\Rw7¤sdɅj"*E26?qoEI^ 0Ư]y4! =YPu|Y}s"U~_x@ ۍhݩ YQ- _78BfNԿKzƎAviYk6D%v>XDm;E:~kYC6ps*:a<5' FiiwQ/gW$/ ۄ1 vaCJC3hSD}2K 1EB5Iz2wP$]`>N[TXD~攧j=eı[;CriڃWaǝ[ƣVHeHyqiwQ4d _\۩ahc?!ުe}]?- N>^j83rF k6~='jaXuB#{Bf{ - 5pc3,wۡ3N 9h"uÍ5bE@o.t (G݄-Ihs'|&A(P \ )3z*?tIq=UԽ@%VӖYBpLNlFC_9JuO3l YXP->ٜ% ^.!lz7s9_sx4$B8xjݚ 2o tŃb)޺0UT/B9jssMD k`fH90{ yk7NQ#')h}2Uz2E܍˓nT37Ɨ((MbA {YfJ-6%ŏ6~Ib߸̫,z,P.>s9Л^_η[JϏͮ$L!~(m"P&sXvUK麼2̞"솳έ t@HW{c`&~J`w3vF(R x^elԅMke@أ~Dr<~nsoj t;| S SSrU|rtw%¢¾`X̾c&;!P O" I_{a6*S->,} ` LbG;tBc$l>@sW@:Й{V-j\zVf4I9?}#}z]uǮ^N_#j e0&`wFq!!WE0(/ ٙSMk*lنkbE:Z}mL2n9Bt9_ZDXpFBFh'}c䦄1cU;@(JEjggwSh$fl,Xn'E;ls8񾬴^\2zl׿p#2w2Q~.}X #5x 8Nh&(ulTQ{E';qMYm3uE x@X v&V>/jdO‚zULgڱəe.Gqw* "i?Dh ߟ45SV>E; A!O=q0FjL?1\!%f,l81W eVSn6C~- GtR 93ϻXNxDO4'Dmެ"eΔleg*WE^1T iiDÅ.Dި.$G!rav1 !0_:f̔˅6IB!A2tWe4!5ou8:ea7BWЦ0FhY[rhҦH7ŏ\T@Xd 4bT#ޅرt~~TއiD )ʑ߾f)=3BƟ 5h"Y.$:%9REIjx1 $@*}-Lg"<Ƽ2f;_Q;D?x mTHIə•b9 7neɋFC# IӸsЎOfO?PLZsr#(Cac2SV쯙d(a4d.cvTjQ 2,@Bհ` zV\xȠ4oڶ=~_ _+,X'"+CWYKN̥PcO:4NOkٯzR[M#@erxR3dX눳yhLYOip)ׂӉϼ$aSZ=mb6Kig׶sIO"F͜Q/jyס%tc(!Ks!#4_Yh.ygր7y2T [_IIn3O~ްZgivT(síd^vudh7̭40KHh ՋɽH0GQD,?g-q"g_[ * Fqʰ~?ԍ֦Zʩ*#Ͱ8 t}n2(s1C.8a;.Eɉs!Bw-W'`Pa!u""_ oMMo^%2Vc5pqNIj'@FasTN]_Ye'o܁ls@J!0onVQjb*G`PTmiBIr*,ݪηRgIkgWA_J?ذ/ҽsdKKIKBԀ.b -I؀i-V<=fe֋t ZJKH^{<=zbXNڵHOҡ B:DpzL-~7!6w|n9k@BOxG}@%}?)eIHz1pJ+wyXOr1z029+zE|4hZxɒiJ.ڛ` !lz5: # 5Cۡ2ZMRR-Uu{+i# ?D z!yRk*Z|R@пP>@0mj\4ȄF[5~~rI%$#:к״>qrʊ[qjT39 1 $4p K1or_\.`dX*jjߚ׉spVacWjۋ"p\rd&1{hVTQ/”d-Ս4VLPs=ȗ 1c&#[s_6:'Tkk>i"^&kP˛zmϑ v=L6$H{}nw85D6g>0rb1ߚinJSW!zЙx%t֕J <[>3a έE+ܽcWUq÷AfjKi@7+j2H"I(9]q c% DG:',+_o{'E'( ĵ>v mHW };( 3"~;mR^ ((/-lOQA Gߒ[+rjg_W, Vd?|>N@S[P<ꍷ,yƺD tO O3Q ?xO $^ZoVTN6Xfu$hwYD~OQ1cExiJIb!>p)Wpq aɹ*`28gZr~Ա?=H7UU?pq,f> n3g%{;?W f)IcC.ZGBP*e}" `|S AR_)횺Aj¹*kLa SuGhj"0ŋqN4cAϴ P{ `X$'8S /{GvS!QVrw˜6,xa^[XVZ c%t P#sG hКK$4̄$v 2̀P#bp;SԪх18pKw2o̗Dƹ` `0HntPƽx$fĶhTa v78ʸæ,̓kLT{mA6=}hֺ3R̞bTs[WomOfx n0 3IaEƲ;'ư]GOtcnx <%3ƹ;ڗ. ugB~X3trk"rbt2'[N{.'%~˅?2R\Z=Wkkdz?E?y"+#їMi^jg^R&R"v6a$ͮ7"ȷtػ_~!r = Mhb,a-L/@8pH>Қ'H)<)![F43K{XdI'9uY{G(.x]pv#Q/C9yaZm/MSB'LxfU#uFH%#4mrl?Goy b><٣r€,af6CpU;a}(&MhZ0z8 %?ԁ§M_SE 7<PFJˊ|||{NOENgr z5ģ*<8P73-*T_{s,=6apFazR &TNm粯O)QD(e L [͸k~kTu# Z]SFBg"ƽYNXA*W(캮NAS9"P]\>ȔʀafwKH{,{^G}0]My{QOB|2"w_FTc2"0'ݑe5/kj8"9T!=Vu49"Ml$>Z(s])Y9U`;_ᘁ1?F2E]޹T9CZ0<2q1L,7[%t;+-Gk13*Zy7u>lԲ~CJ>S*~984uXU`ن>v/}hd"Ne"6^}Eqp ;dDmoө'mgoĴ XkT֭K#?APFLMҦ9 N^R/. ) R<ܞ6n2Lu p/ 92|xp_BqŚ.\0,dЀ{Ήs>RDv1v,@XAשh/* gIYYM/e%)4O-0ǚPeA uӀK9 k(P $˒p+i fMa[cQLZ%gR}OG.HW&I^Lw(G<_S(L򙎚A!}l<Li]ϥQvq QіWOP 2?Ll|L7X)̆=[cu75>>_a= <,8CL)&n*\tX+#G/,X1z ͪ9W{%4hّ?)/ _wJ2(@W4@u]c>,#KmČ{:m"[N'I:pb)!n cf] hy|џz \T`yHi^bCĺL[ǮPLB n`rdxAoӃg[K2LT$԰7*u\ nk7O j]Yl)wӏ>t4 b؆bmjϻ\Aɲ!gⰒ0 /W2vP+ZT|,k>[^o{DXeۯfONo! >b3e8,is?]|Y5Q뒚=naoȔLQEYѮ'n:3!P}5ZE O Q ౣ*9'9Y 歡W,Ʊt7{}b$y(PkDk6x0tqJo`(SWpLj[z*:4c.ST:VAy=*R39m;s܎Ĩi%Q~b]YP:% kt%se6郮uury\?9zbKEA);1n7ef%B̌y,⽱ɯ5i?2'ߣm@5s<^cW[U4(<W,qwL^D.mFOLWnF7L*=H@_Q nњG yѦOia;}o2Dr!Әп` -\hfݮǻ&RK=!mc4ȿi*BaӗW}T5A.}z]UjڷҒ Vo9(88S2АB}Q@ƚvkڗBMհv{ڸ~5Nج?RcxỲiHnpD{ ,vzΠ( X)Dg/b ;tP>>g} ɖ[=p/õuMi_8U99E.4KsQit6~R|f(tUǃ:Hלh I)'9 gE F֩A#up߸`ҡ/ڞ9mYVs>`gǙ@<,Ĩf,B?t9w qkG IB[^}{(Lr\Wa45LRԳ"\ [fZ3Q1MJ%!E>sX1|:/ *cfoI l! l)l=t>Փt{EITVm oQWtGQ0ޢAu a  ;r[ae1ם"p{ا7G8|,@ӉB/Klhޔm8N2v*GEBY5DiȮ6Bs/ώ6E e 1+.JSzK'$UpX#,f= 08uoWJ>A+D[}X+QpnҠTP7To2=ɘ2UaP8'P:#X sy|ܱA<Ed$=v*][7VCD}7NfKBoQ2uH>`b縤Fa6h10h:8bQrDƅFCL( UWLrXoG1!םgM,H#Ț3`_rYWft?K08nh/{SVYcܼPuB*$n ∺$Hݶi7Ŝ|G(|>7ؗ,:a s8=!{UȘb(0"/bqahxuY2CXaey5Avd5$ۦW)R4մ:K g{Sr?:3X'GK-U1đr>q\XU(Xf*"aK94=MP} ( /m{ ֱƸVsHκ܉-nõ뎳ܫF}X[1")fJǶ6g^/c-xߩV~f\q9E|< I\Y6ꄁxH0R]NHCȗ| ~:#)b 6(Զ CrKY͙v0c^Nڭ:Ҥធ`\ mi٬>Q WZbi9@SFoȾ=Xy>z FR@;f_{fFNe8s^8B鮢-owY+& ߮ˡq2֪-t0ĭfadOG|5=xet@ENyL&0㏴ЃGJ,rIp0/yn^1mb@ ژƦ `*H:w2FGD>8ljƚTFZNkRq!{WZV~b_E [%Jj$A{UB\5ޱxPZgzC!`.#fxkzAg Czz߶Kj*φ8B" ˸pZMN:[jrJ$F,=00?`g]bv|J\eU6H S E<fZ$K1fO1ŲiJ\5P)i7>w`u|CbDK6W U\E 0|~CtuV{ +K?!nrU(QYj<[^TPok=1h')瓐G x`c@Ͷ7kj-m"2Z]UK4& :YqIƱbFы:ϯ5BO߂x6 eb"U#:S|`zxNwxUy?gG>>e*X޷_5E DD4u"K Ỹnz!+Rof1`R#۞~C!5Z[=DH򹥹"BI@$c.6p2ThwuGBGXJyGER-$`6<U:6j0|t` GŤTmMOO EԂGa\㪕qgNsv@0Pi}RlCC-Ka?۾KZ2m轾Lٝ<$-8w}R51g ڭ6WOU&'G$0'La\9Hoo/Ov,fVRmAa\rEtAG"6zEM ŭ@f3"찄#>ahMۿ#ÿq~3W_^ޅC"ђZD]آTCc&n)=G7T|?僒W}]qe<or<r98=Q.~ Х> T g6+Qvr9YTIGާhH8ڼ_{%88b<~TbhX\aE%u+N[ISA+7e)մLYmh2올!lFOİl\OE0gu0 w`ꁠ3milL(2l y~'lLeS` B-mgXP Oiϧz◀*oP=g} ۢr백ts_R/{o6z;F[~HE4p " g`9بF;B%zD?r{Hc횻8'ļ@-Iq-9o*s=>䄈!otsą&FÖ9jR7 #MJc?o˲\W(?mUNemWuAlO>md?zǯEz)ē1BŊ0WQv2Q`Nfi2Hc/ْps \ct)k*?}#х}ĥ|v]&ќoX6 ! }o>J&e], =rg a"eI x >}6,,nu+?g;rϏxƜߛ{eT&D<]h}s:d p4{(Dq)>7gxbaEF˿<4,"J=&ҩ6zQ+;3ۑCCzP*W\VϧD%U\<"%Wq5CV/}Խ]i''I) [j}+ST/*2I/L)}a#?Wν͕֬^EspuC DqG%7`HPh<;\<#Y,hV@,<\ Ii8JW·QoH[&B^y(lA)E :B"[>~f|jz9§OM^V,Ya ZTXXl#N)S%'3Z^̻p:K<Pʤ? yTWXjߌ DV" qyBkJ?N^PGa Nf2E_KfqG~.L$QgxϵݛihZB^C0!^SCyxf]6ɵ\D&s e +Δ̕lQ +"Ć;;o b5wIx/׻Rq1.E{Lˣ.][w`6?OU|o;ŔcDkd0hd)Z QaLo~5*:z{ڿ[NXE!{8o.*abՍMFV>C+ׁ 9gk͘o6!:鲥[&E[&_OEouRrBYI?imy`2<Ņ]ki~N/V:;&s1)sj ԬNԦBsy3jhx%$=y1MD&ulZk]h >-Df6E¢i.<΁ .cmzͨ$:Dv똷v;8 43,IRS<*K 3=9ɶKX J9M0R:lK_,VX:#U5q.d\3U;SAmqǝfw֭?!n|/4vmǵ.^|,b2yZ›LiZ?-VWPUxa-1HZZQjpxI*pWvZ؟<=";EStCϼ;2PmEd)MéxBB/O|&_+49a25Apa ^ A1X5GT}D-+.M5g71b~!w wuxw$1Yhj9Q;TΝiktjC$/k+i+y; ^FsmW<KV#CsqCXFA±o'̳|IMi Bw,; ,MUn?qby(S 5 CfԘ(+T:`фZD'.кd>JzzGg1 1@ sd2A"~Y4H32c0$+&~Y6;. jv}S=~0q S4+XL;Gi@ۧ5La db0o kQgjYko-drVSARM<~ زq凛.@sGrlt֒kL` !$[pqC& wjmKP$ _ƻ8O3]KU>=>|i3]!@,oF5&'RUO\;:<,W;ituR`{&,YP&.ۍ2e}I癠QEԴFgS8ŋ/^ڵ/5W?D6Me*4`9B36' ϼ,Y&P62 !0"gGH"n;]T)ҬйJdP6W}R\8d/+%a\72LqIsW#0[N L W[340U  9h,: MB&Ȑ؅fЬ,ț'96, f11N|X9)2(ݬM"R3h?'BZAט>7=1m %L2K@;ci{2h rd9=CaY'B_W6-Hj*O0Ehh"牆V[sBk7g^F}:;ځ- Z RH$+F W/B">iaC*X>pٹ.sf$akψfPt4 .ZYԏC(*ޱ혬Fx\FSF)~q:v22r휥!:pF*[#&BFs;(힩VLCIG~ؔ<\7~[<Е+ti.r 7U1J6XRQc^MoGKQ gߤɵgx=ZڠAKyy+={Z$Fˑ"Na03=kӛsGlkŰiRlQvPa?k%.uݷG6TKK2k+i\ 'I iGrm,u.RsG#]@7MR~@kף ̀u :HAZ| ;P'Fr=HȼBR#f A8k7[>.]6sVM=,y*uVءy\)i!IZoVΆ-ڭ''l9J̗2ѵqhL2R6[}ΓT#[6_L9GHbu6L9 TQ?Yŋv"Wu`ؿ_D#Ar?67*Y6*MrJ-S1ԏ1yYBimsFGLyru%&qgaq6xXE@5^R '}Կ )強&X\RjPO B,L=+7H3$lz+"D>K5 !,)]%ߓUf9wB ;}|oVFDM ԇ2x6g4?% 'qHh)\ƾq|U;g7lkO EF/#L r2T~mƟyErp%:oaIoX~|Co8J'֏iDcs!m+dMipϥ7U%S  hh#l ?Ss3G[ e iK^N34p_gkߖ lqz{m 4KsT?i1XGb^ˈ>ąVQU->fB@9kN*?F."ȏH]U㘝IDZ P;nǐ dۆ&zt^\u'2wLD]a6gO n}((y{AJnM+L4Qj,M[wgg 3z)[c!:cjMVÄVhVM}ϰQR!ȶ?\=[K`ԯP(#jL-2CQ ;8-Je8rnYF&1 ;p#Kg[7Qơc+p뀐gg;H4t75zSrxW< |1FUH -gǛ.r˜έe:5+^˿|oh}.5xj <9稣sq95fv{~"#(%ϵF?:[ly>ޛ2.`Ⱦr!? c+A?Ѝj/#< oC˕ILFDҺ4+KkKЭH=#ȩ^12Bt6I4zg_ޅֹv 9ʝ*; 1;Vw29r9bP%י Q^(KUp}A^ 3&i}$~ Pj Qg@L9W-#A D'Â"c۴"I/8gF0W чbݬ.rkܕ=tMO%ʇpJ%@pI;,ey'P`2=6hQmܦpϫ\bS}@ 9 yX%I2}QT IA!v^0j,LPI`J ;/Y`o']Qqmp'/s!ߘ?Щ< NMDM6)b3}G lNtWCYN$Jl;bGq%i )pO^oJ煲Շb܎~o-.pD-/w@l]J.b<,Jxp#!j0UMs?&Iu3Ro۷ Y;8Kz!lUR&3GJ;6d"螄PSNH}[/Co &zx̒J"S@y{y8ҾZH;O><EL=F5 m}/XUEiu[ex[JK xV'82}XyryMB_%}p` Ѻ'զo) ۳AOWɾۉϨ m:*2wH$G؎p@$Ўgql{tE& o49PwdjP\S su̮\JҴ!x3" Y%y48ڻxRF/>ɐ}Y9q{LL"ŞN~6M$#i-72L[!Ǘ.G}R CiՃYwO8|k&o-db,7~hAո>uwf9&l"#~ö;g8~9~栄?$)BZY\=ܟf=rʰxa"6~UYS^$hoS)PkBR״ԥ+K(wlhᕡMa/on"6L 1V3? emd[D |']u<I]W,92I6YJL*> E#.*DN- 7?·@A pEl7 S AJ K Goгi*y"A"uf7̛.hEN!m~7? e$!ǎ@J 'Cz|nlXai@K69Q^c/j3Yw|D{Dxe@iҪ49WI9P⃺<3Rß!9#sS*?mAh^vq l?Ȋ)i'*g&&SmGg_OWͤV63]|DMmkV?7^;ypm75o.f;f9VФ iR8a2(=T|)//|0hf I"ˇ^dr}KQPQD9F n`Fw/pSD6$XT^u`ROT~$w::gC=EB>p:56">Z@CAyqа!jG`8;5QWe}X肝aaԁjQb^?0eYUtN#^~g>SWh߰m=E2he[y0(t +# "ܒ)1"@0VOք} T<Ϥ]L(2R,p#م{f$0]}0Yp{qTȑm_" T(.A. :`Lu f ;}V@m] ^ dvAz%7jNao&h8$Љ}a?v 3;:'}ɂ3ݳJ mi}BPA^*Zf]j\[Q.M`UH5`tv7LjT+&/hK ,kn dR=gO Seܦx(3k(\/D̚IǔTb랅Pʄ#3!䙝uGD/\#MS<23i,UhRy(Ƥ>@"f˒ *nu[ ('^xyec6ǠMU(?_U _"4`2?7 E:ʾ֮8xVehgsyy=1523϶cpFّ"nK=mS&7 fRXD^`HtVz+ ,areSj&y tU%sX&26>莬E$]68KۘT&DQ<ؓm.W]G )eem{ #~0Ջ·g֪\BM=}WNe^(|eNWP Mrع{>:K D,dP>>A'ff/-HOh~^W#AI5KĄx/y[ :POj4.L՞/ }< yVv1|X @Xοp_# ֡?B@G- Mnmဥx$thü mLV5.1~@^ v+QAnaa ,^FLqu.T1$ 1Vi.N:wR\oBǰ蒘'zt5#b/D1+hç>8KC8I2.! x%lb O}aD .ukM>~pG&%[Z ?t,g ^ۻ IR{23ˤ*~** b4 jT@$ n"G";s b4o}@M ǨZ!C(Mco,9+)UBcw#:6{C4"_Xp!MQ;lt/_ 6goWZDJ0L (ةC;haewhl]Sԍ$x1c48!P'9OfcG}(G\{Vx&.>ؠfB)71$w׀"B? Jb2 ޤH-+|;ސ.̨XFC -c3A 8tuuuEW5EEN'RQZPwGWȍ-4fY.-q {1f=AExCeq @yBe X6嶟l{czD:]&7.wMk|t'FWQykr{_W`Ҡic{?yD~ wCO6l.L99S_6H6+j `2NdmU%s(VAb8[hm'z:^ 1]}T@ǐbM'!]43#xπy86pgL`aj9G9e9~IGbgM/G-==~,QWߝL&^'&T( F[V w*,h0 1*aӐ,R|K2MlT,h6tg̻EAИ0i}ɰv鄚yȯo+BgJֹ*ӧ^n\%(o9_.d]2} O"LH)3\DJV$ 胂 8 Û8[<wpIARBDp?70$\p7 *T\-#OGR>Iͽ%'s\t[ۼ[^8`N׸+5X` !rL,m #+a?=XBX٥?U P.UT`Q{P|[,?RH5H$)]ȯ,V=jնqVR:K̋G[1,}w4OΨ4)V1w?h-G[c)}F:1ybXGA`MB ?UtM ) ( ։2TL:RB_tPH\33Zм 3z~8&3 lg\}_E?xd1-M1۟? Yik\[$ّH`5C'Zk lt+:u5!(H~4 A dMt(~|qr GyGϹ268/{H%Ώb#v?wbs(}E*;2W$>gCEsaR'5DqE#W'.kjU\ )~x;öEmY(kX3i_MŸ_:F}^Ve@v/LOR*H1I[\3}X7(Oܗmq}3g3BQf8}~)ԞkLܷ0±#9{Ir8; J}Epԩj>|@^˯R_"Cc̺6GbJ eP}i!V;7 3h@аPauw: 502N\YW BeUy!x˿ݎ"\Eon4%:9pʀ1Ӭ?#ټmfInH5mZ r9"]6D@,3pK ǜxur<\U&qǶE#@gȺH'O@(D~󢊝tshuqW@9-SUG2d8"7fh~C:}Ov(EulҴ*}gog-JTɪe=1E\߄lab8[lpid8OVے{okv7Cx$"܊GS+?2~/CfjSA{ Rj.;; kχ5:_AUC7 o!i#-lפǁVQ+Mޭ{1_(\+v>f" h0N$Q=㟑#3Mv/z?c*My?yuoѼZ#˞^6S13^1uF':ᕇ5Z5S;6vKlh!_ѦM+<FIGE|kfKA3O]b{+Xȳ@`.ҩ$< "௲W;옞iv;h( )!&aӷZ%eZ%bԔV4Aղ[g(-`ˑ]]C,D5o˗J]a.)alN"{QLU) 6*@GQ`uތ0jE= p7:J:NopJ'xo}g:Pb (iHq,Nrga>rACU1M@hc E [Kf̈d/{p)"뉰/òyFh[8T,wїȤΨS7_%;yIȨ!Pk:1~Z} ߋM?}bz% ]}#@T x}t(\i Y|; |dkL_"^B$,:ݹCLdysȭ( c=b7/B 2 j[xa tQr1Vұ ll{WK*^ȣn}2$o Io 7ƦC7r}#< H<҂2ks^\&Y ] '0뮪_%ˆXI=v9䞄ciC׹-p% O[oʛϔ. 5}\O.rtR e8mѤPK&{Gz~5`VTщzIU/ʤ;!Ia'q܏M/%EN{KxuT1zsj6krkD{; 1 H%xI0 jƿfn9S_,/ z@[E4!\BNƉ,R!ϯnv.I{2HwSO4õ@*VhKVQz]4+ A6~VLZĻTy\ʙTmʺT3 nSC-\݄eo?<2XﮆMu7G 4] ꦝ Ϩʕn ]>| 54 :\OԨ6>d= Z076BԼthwBNJv,ʵe,}^*`d3 Yk7y#֦@Sۺg3lB{@.r2Px)W]."8^b&-Jkl;5`#&,gUq='QԼi/c$j 27LHLd|fOQq`N'UCN$j D Kr>}UϬV6e)>`^4&lC7{)I-Q#,u6ز^gq LMp <2KWH/ד(wx*'Z8եI 49 ąCZGJ5Vrt uoV,GvHH ʈ5'DL]k;R L j2?zk,ǮPR;!))GgNqsJg]Y&`-#svtoJGbNl]rz/!As=⾐1~, &OݭpNQݘj68>$?D o0(Tnp*yB-8F!ٛ3 I?6~tm3d]8i1ֻ5GI|(-MtFgq:1~c U4ioYئ)aVX1aii_Tz+Dq_y+Sd관b_ _#kdn+X|߸1&e(#j7?HvjΝ$J &%p6яS)U!P[B;V!H'Cęfn) \~1L,X Fd$e_4Ldip㔌[Hɸe6c (>zRD帔젔+=^iV" $B|N au̍R)5ۑ&zr8me~ A ƓUD^Ι2[}3BBcyD]o^׳hUwBo\ \3glmh(0]Xb)'d8SFFCO?zޞ먨{c9[H̊-Z 8@W2Dn_ s'm CRcOBIys UA=<t(ΓXWA >r__4fg5Gʗg r0 .f>lj#C1gvKx}m՞7_U־6tbeOj8;Xz3+=IȼtG}'Ec`8PgX^o_d$(Ըzcm'")nf襂*X!ì ^侩֠Mg5*p*Ii&TەaLI{D^JV{ܡ $$шĩ]tVPgSYk% Gҧԣ2s¼O&~$o/$̝ߑ:мUSr[AF`b*3F_73QKJYaRsȝC?1V0dDA hOwZ4d1z`>Wckwu\]1$ʺht (scC9̯ imh *ənj;2A`~薜bӼilHSbr[Q^_F{܉kHKRlZJ] }ő=L^Ds͠<e,}΍IY⌐pqRYTKܬ;+HC$V=gvlheŶ1E'0s_cq Dr?h}gHNghA@8 tyY@7zTLcБFc|\yӶYbP#QţBHI2bŖkJLgX AȢe8:&_u&r0ѓ$(ze?(DZ>JN'%eKuc3SV[cS(ooM=L H:.f}amڂ̑Y``V.*NF*1؟B*oĿG(,&:;cM) {"(Gԫ1_78CΐШ2Ppx.C:竧]xisdDy[x1}WCz(,&T,q"^%[6g/nEukU`v/ Ѭ1W1wEOg@sf ee 3ίUƂQ9] 46_`E"`.#7@q~)"ZG(o,g%CBAm|V̂XtR0 Nc&.pTc1 Wږ pN/۹pxߘpF> plHry|ys5åsv$,| ݂8 Q7 zD5]e>yRsW&G5g2jJz7 zw:`iz´Ԧp&YP[Jwâ'p8G0ѵaT"Q@iWjºQ/MG:<*1@ (hդוoU)Yl]x(w['Ija% 79Pu$`q!9h^K,STY7, Z56UU&YNxfpFS s<wϥ[;[$ǚ5>4SԄ.UuuYO<8V$U+hRo^.lL? Q̈quv3'5+G60;ư~?|B3{idlT b$ &4Db#ˍè,LlLbE7 8ɭ yel,LlC^`_ޣjmbܑ@weux!SS%-+5 1*³~ҵf _#<t}#TBQw^")"MpD?SryV9F(Im>!eHO[xIajev$ܺC%#5 0bUXYȋr\%߁Q.Nf= N=p`L}R)܏5sd 7u*51A-upI/1BfP{v2L wMW=IA\ikgmR~g$--*_ 7yE)\mۋ&<^%`ȗ]@6.l`iE i M'9EN]Ze%4KkИO\]Ʉ{sϭ#&sS1'-6:Eɻ3Z8oxSNJߛn&tW~.T'^hZB2XzٴtΫ%G#/"-8 UQ%̴q)묊c?3-dX5h*A, DM缣,{/?Ae7?d&HrhG5/iUo^ڰ,eNjPF݇,UA=4t6ȐSD7pKPXT/NX33\ z;xc:3CGVZ62cS~|,bYmhYOcDO;KhA0v+J/m\To=X ҹ3QOܯcw1̾fKFs%{GUA[5"{#B0uBh7ߜ;˿rwKxdF= &{OR|~|׮-c<~YB6aCgXl6cs5ؑJ{b(g~Y9N/9U93+V1AnA /x$̧sgNp}NȡyA*/MpZ붫JPQhA%uZ ¾#1T=!}2z[9Y}P #SSً֏lK:Il΁l*5ILH8v&9c 8։#UT&#کzLb^H Z6"޲a\$z.#B8t8ۂ: X1cOiΙ#sFA9 'Rl&J7m`E.&H/>Z*8`Ɂ]9c&#sڷ:Բ(OQh0"FKZ@#\rM+dGVٛ_"=C{-  z0Yɋix%S\uֳ4@=%6=|{p&W2.P!]C0A= ;#+aD^n6 ) 8Hg>"Ю_7Vk ??2781{}d hCuXǯuj=k-< X-qY~AYt/?jJ0TO/OG9dHG^Ȝ7'LD8y##X$m-/T+Z 'Aa>\m&TO7yz Ӕh>A}EZm/?̅oxvfkvqafS]&?勘 [!uqo=m`-IR.>0&Y@KJ+qLT,Z0g4t Xk;5(XXCbĴ/%ԯr+V912YYWit*/@C#NqbQ!mf9V([ !<M[:R8Q@/'*!=),.,RO\rAWwzjޞAT>&14|EZ74{ 55.s>इ}!ξO=ç_/ixGMma;fZ!(7![nZ޾r¾{oiiVQXEN÷ʰheXT웚M~eUɥ@SQ=NbWB`tklk\@ }p,}jܡѯQ̠'ity ԃheT& .!ó PQcUb\!ܐs#<˕v.<[E}'HS?fGh%pp\@'KXb5 /)=f#\ـƷOj/MV)=k:zjg ղ>b/!M -dN4qv2H_kW\@%G#l2UO܀W;Ց! ^'zbʟ=5@W44_'IgXlb.ԫʗHq@?Zft3ʖcRMD{ jYU}q Kb9r)-r?UFK=[hOҼs#uj8d=7eK's*$V:7 K8܎짦v~Nצx9i QA J2MGK&9\MoA*.g!`L}w4\ ,%E.ŅN d Nǥ5}qѶaNx'?E2maM5^G#Ϯ5&Hq圯{Oח"XS0"L;F3T ,NLY븷yG #_;v9$Ӛ& lh`ƜO'%scxln.l,7:y~L?Q< C~{|05Q WP^H|妁z/h S` RE`'sTk*[wczjϗGm -BY2m/c`OvGCm's4AP>;C?Tf:t bٸVkTngc4AC:T(MeGS0UUGy-Tdi)1`hOEY-NI ضGJ]ݤ4b 0XD0mv:m|"}.ȵKad iǸԑU P;>&Qԁ+j4F|c-gycqǯr0gVC`0e`-Lz= *N |-e:+7%\13m-7mBo…JQUA,GaI &\N[ ;"A%~NĆ{]^]6.`6ӱy1EV+g~r\ȧIx8}RNρ( ˥ߡ>\ˈ1D8!ChD"$6-o[>^Pc HZ_8DVOJc'50 7m1ÒQe`?yLLrsSI=Bۿum&h$؛PFd~Yn|h>8s Y:OpƙLAB(K#$usCyw>c? 5H߽^sdG$!e{9TzAb2U1-푢1b8"w~i0.H,D Jl0>&`U7C5Ce}̊`w 5bc~b|mM;~{[)TؘC IqNOT@JTTO}(](a7lUyDyLŝS6ũ5ƲoxelhB@ڍ-H7ۭHyFwIU͜"ʹI.|Rɮ,K 8*3a/OQW qig@fA2;B DO_3C擊9^w tAq3q8. 6x[}}'nsaO{s&EΦFS}gct* wOS-HH ʵ۹S=N#ԟ{hHHiEĦuԛ=-$/Ig\o:.TFǢ,O`>\UQYeoxjn7;7rDU^ Rz"ه,A8em΅wPX>2nBcK|RWѴdx扻f!u"8#*rFq_q ` +  }rqJ'z|ýgiȆiOMo{,_*HKXn8H- p)qi6:%F]Mx# Ą ȇF PNUWL ov^ZۢkN[L!.%]d %a~ h8&ԒQzL-k~ yɠUnNQ:vEF|j=x ŃOOKy'kρCk.p s%_bE<>3jҲ`w p=AliV<ֿ) ƥt-8cUĽ'p%zn J4ԑC=b^擗߯6'JaU;٠Lq|GobΙ>B_V}VBv|gO(]e6 ]R $9>~nP6NIh),ىd5rY?$Sʉ(m zTDOTti8i@ˊ*vOȘJN`F}CF I6(M*k3)ÐV{=$WMա،۸3C$ܸ6A!V`9iށ}g{j"y!]ȘYfO :)f\a|,%eP( ?_`\e.@Tܤd&*Ν9YPĢkLi,So&իœ<ۛQL/-f_xno!xٳglS^L_`]0$q\M)8^eaӪ6Ͳ"׆A^0ڌ/j)o;L!cR*NbŽ%t&6uU2tOk:){*˼9ǠƷyJrքbT]O? 72yx<.< R A۲1v}b#^%U *};X}D0bVX!jL_]ӏ xҍέJ yfpWDǁ8.Sh6}c/꧈:M^0SՊ.J4*@*'((  t`T$K%@$ɗ;e˰=sH-Aci`j@NR 4zCj +$j_ ^ oy1p JQiSh0h 3,DbaW ]CY|s5²''O4׆q@U/N9+dߜ/|JЁ@Xq#\B~7r!ohoyPkOq":3ĸU-{ObZW˅@gf<`p9## 34W* pFsbkiXAtCw[6Tq [J{GW 0L;t`@+n&`?.ٟ^\_yN76fv!@ЏKQ7!yeecxUp%![2Kr;lρUL_z?%#2loYn&X ܂2r~o[S!HK D. $_uBi,HƮ@+.ҟ}E+ ;~MU6v'Ζ}HvEppU>7E);G{5[yRƨ ju>ȽnCWtciawhzV1n\[<-/Rud@$d.It NNx b[&Yv65Wz,~,a%[g 3jhth%I X-gSt@3>Nw8Hf7ˍÄ{?զgj D$O^6$]@y:ZƟۣ1xzZwJn0[pJ:ӱh%7B/"Z)`2^yOFudfF`F4؜}2Z W~XDoVUi hZz;Vg=W^,֌+`k ϮS`D/ޛ6#7:ë^ CP)v5L3K)QVbR d~O՟%Z&9wVW4l#b>dζgt?䈖8i$-s8 uC_,Yc&mk|(0RߗjLp/fGl_a>B0& RcFIu`\U,芅ܩ=WѣEe%lC*snH2uR8HaB*}Бb E%Uтh(XvS<Zr=S ."~ҡj,yQcPg _s$Z=ᯜy?uG1Hl 8Mw WViB(S u0$N)"GRbky-g326ϞWn ,a>li]ۢ~QGMDمb57E I2!JOw۶m 7fos)^}/Q0w">X|C7gbAz)] /MCMW5t˫1]H'EQ˚[DK\Y2.IT 3I<cBL^ f9oėի;ih{ѿE֮ 㤵k_<P( .w"9Ǝ>eǰYq&ʰ9 5a /Nzw ~R&c︡\JHȕҵr.UF9>vj+o-؉dh.eI؎q71@TrĿRBXiX{}ZH# ,@ܼܼGes_Noy0πIrw1k1%*" 3n rF÷+CwK?` ٻb]nU&uP*T"RTRҿX@;Qb{\L;ɮ6*9 WQYe9w{ft-e]B)o-:Z=.MI GP|X!ueޮ0^A 94M&AO fm&4Z}ݍ,u+JLqYuD;a X%OW"j\J_1 ?rg}79q%&7Q=&;4H{Y[EQ7V[yh4vYHL5Zl? 3pǦѹ=s9! GES2Axc:ސHO:8'O?cSPN ddy'SᷙtX4MF@H2oA/jO-Y*?! v)$/BvϨt>ê pdV-QNj)\:&j3o,<ߔjBbW_dB>? (0עS><ӿF8*sk*P}YG#5r짺 0S !8tF6b~Q>YdJOr|8Uò&4fq~ryS߫YsRR ۉqתYj[ccw\M٪l J\#..xaAg->Tsx2;>o7ez)miO.]ׁ`\w@jX٧8}]On%V+:9;C(Ƽhx@mТW$zFiu%,BsHTsGVz=.Xqpʀo46e9N=Pn[MI8٧A~*p/ ^t2_Aa9FZ10f2oYzT_{B5HNnM-䩍4vT0#B 5{q[o ì9aj˜:auDx]M ߾$h7NȦHO:Cz%ɤ|:Fŀ]2POf2ӽE}>nYSʂۡ3ÏhWàhv< )TӘkSN*ڭ\H[<-%.C~^?ymFagg짋@dw!u5@*m1~ fh:I @Y ׻6!yVkc5EU4b}:.;.rH~@(j4"&E{0_kȹQA*Ʉ! F ڢhN,ќCĺ½R-YlYiX'u`Z8%?HYU+OTMX+WMEH* ,sWdRz#NJ)?Vc-$(UR2s]4c.chpY Rtt+H62,F AAxo[沩$tYpa'[s$ RDH1m">Pjyh_&Ke[mB]kVndZbbeQ]1S {&ȣ@+uVNi*&1Z$&ncXLB\m4[$ W8XC s|kFa'ik[(͒T]_d<915h؟W+INoRN4eDZѩH|,,Z?YeKCG-JW&[rG^JWWqbk" 7yݮUZ ׃zls:O 3|= gNd0Kb!gUS)j8#l⥏1)aʜ0pTSJtHb'0\邝c)vz#=5ے wG:Ba[ s=s@@K,zU=yrNeܛyJkqQd׈ww .43^ӒPakzEI L,rؠҬ51U2Clid=&C:eNM KL= d~#9` YaN IZպa䂗6\kҍ(6mJ?JĄ~6.I~IaBx 唑d8t zkig#>{K$'Blk|RhwdcL{P_fq y+1|tN_xujE G2x sRy`wJӁ@Mֿ:L9 ѓjl1Pu*)ݤ I72{?˿h _֣i 2vt0/lC(@p;6!G߲v/=ӀECu$ݳƇ~p:۫cSK`;]u|:,фG" եpzL& JZ0"mms#t2Cw9% cIx{E}|9ΝW?t8`ju*4/zxt4#0s"/Gk]!`dǫFnFЇ;µj{1̈́v,2>]eNeti֞yYpKH]_TʿreK6Q9ZRěq|,"(3B\krdTEe߇eKT&O~M?=W)pEOkP<'71Y*T y'gJGݰXaٔu ſkʶ(2=]2XW \9{QcUL-65n[.xS8kA@!9*u=~m)Yw){T3&He`ү(1x5*!B`$[^^. ^٨KB)E:E}w:}~Iq(󩶭'nFu  P_95Y]22w <5 VEŖ!p˲=ea8砿?~:]aj%&XȅjȘx 1s`١) T:>҆߃˪s}DuLd 9C.%@ v| TSu2%PTLVHR'=jd|46&)F癿Zpۗ^5&Jܡn7sW B-+^'Bp 6[aӆlŠ JPlH+u"BֹǾjk?v:H9X0QݙW[++t; #=nq4~m6IG:k}~xjԃڪJb3ZM$b3@Z䍸g7" Zmq m „@ t,6țb~JH])WuW:zPF ˾.qy^!EWfXyl]uE"m?-$Td_{)?}Z*p^ Ia{3"4MNԐ1wn,Q(Y>_7Wg!qT0}JIx H(iK96!qtwz DHB7a5=0v2#@W,U/xk燾?];J0Zyf8lhT:SJri|ˎ@  [ U/+,yؼ/X۔`Q̣uE}PnŖ=\dkr"&bs2L;s1i4 (} ͹oH=;Do#2V}MRuded?i DX2^vѵ0A}~:D r"zsp8aڈ]')F喏 tvjB*miFZy 5'XoilXVTaCJfSmg\3BOx1,O` Q>]s'p)s,lU6$L5l5ٖVK'CSJe'Q~y*ҠwStedWɿV2 U?IѮ6t'z#?khi" 4Ij?0%3l=8rͬMvBWdcr1XB F!M'TfIxcV\d-H#>fˑJY>SopiaM}E,8~2L9$/jOF]>:Tuhkx=hL* q 6z$oഭA*yBKP<9 Rq%y+#AFv,~h7OR\$w]CssPO-N~~&'35_ R9I,Qv*qgzV8OoXLl7,el4 Dmʹ+( < b!:|rnIТWV-oӵԹ&z A1F]Q T5} '5qw~poj0?jډ!724DW@vZ(C)1oќ1T+c^`YGY ;7p`bmh*moJkj/BpX43y, TdeƆ,P4~oڵo,)= "5}NᜮAb7C 4/Hn̴[ޫc{'dH68'ȶ]Kfٞ[g$,&CSqsĄ7Q$ST& >IC4[$|[*ZKCwPSqݫ^ Dqr{y&a.5W_+CJj r0WGCG> d!ZC(0nst0r-HK "u3yN .GMdښ9Sp)3faly).GCQ4 aIiPjq Sli[;,R{yݫ&움]}`1]8d2 ] Z_q <٦CCν}B&0s`NHP8 *"+|åҾv\);y0n./j2!]E7/Qs,5TM)4<3FPΥO;j |2Ԟ>YqDxi.$3F`LLE >zCpLJ<ދCk Hn0p#{+l:ojR\_zevfYD.l+cy|kr>j$mMc &638%9GTSx2]ٻ'o]qfU#{J {MYP(/Bi-v'hv~.6/68n/rZg u3?Hg]SE4χYD61BL/?y3CnJ/SLMF᎑GϢMܻRF@D;B{Kꌅ .ɰ'6 pG"px#GoDeA0GaK8<)T&-q0ܟmWV/!?ڦŒ1Bjdc:TqʟT~IA_: tf5|BgѠ#Җ;N,|Epz?WPmӺwz[^.mE㽗6R86%sRۃTD/>ƭ8j]x5l9K`gd˲d$ BÞO.'Jir/murN.?@ļa<fo)]+݉iE;C3=Ԏhnm hcW8}L@MTq|ZvAQ#R]iZު-gb2ƃθ82 :ܝauKNXc@pt%v-9buc`-Zˑ_M{3JNg<˩, :'CvrpbhWCI{{ч!ݛk0kF5&[7f=DeN/QھQ??[UД^`$ghYبdXoLe6i l_\]`xԱnN5!s>`6< AKѼh_u6L[|٬ѨDD"<ܽ ɑX|,+eTM/t}AUnN] q/F*K+'!cHO d}*i:`EZ+ >-Sk$ne{gAY{8&QoܻZp$nOm 'j--Md sЬc~!VVSX!=xZ+UdG>e<}`Z ,x1ӾBt6a^Ay{!):F$x drh"oJCEEaTj'e(v9#xpt2`S &톇I(T岆[Pd9! =c$5JF-22?rvNtSa.W |H3P Qm .؞;ާЌX#.nAܨ[2c2[? LŕCKd]?sӕ89 eh2-%?~ز rqSVv\ۼL݄+6t 8)ՇS{PIm4Ć۫V3Ozh/nh&ݗ7qfΕUղ4Rx*T.O gb6eޥ#?Myp(`#Og#RJrnwyZh=lkW 8Q,$ wu)N~ѭnbA Q~dXaB{63N8(,&#{٦<=(>2&-߈m  w}/P7ݹYYMfJJznE<|L β9-:6tk&vg; ,Μ [FÝK3"7F(+(s8G4釹Et}A# W$<@W;2:瞕A~*BbvZi\`>I6|2k]em˾h UU8|ǶXX(N]3`fxF&*Kvrl=>!bP@(tq†0ΎJ^{f$_S9d8)HH룇smdhݩ/R3WP<qȤS܃1^N+*T֨wÙVQ?8i7֟$X=2\|csދ$@kez {@ϿgZPS\U9 lȍ k6R8#~҃n ]DK$ 7M?[&^_AP#es#YF,'絙˿٥sĹ%F6ԫ`)Sgb[od?jOvt A=#ogq9Gθ֓0VEN|$2WqӋ5O<Ʀd:޽T``\O푾We5o6/޽&wCb? &^C`D˔͉yokR!(-QI\c#ncnv-1hDwG59FfS?; )t 5vΑI3h]`){`0*<VFhfR.Cu "i0%GX22>%o/żF NtЕU;( `҉V UxM,Xǻ&BE6B4] J~ D'X$(v=X,]U3;S{&Q) H/4|[EF C|0|z( < 2oނ psTt"5|\gr?]nVVŠ@;ҖB)X[;H5EbH<.OG0V0x'=/}0],s0ޜ;vujM0΋ڒT&T.f@#`ìNw(A)^|։3/>+9p>,$GQM.XY65#3fELO? 塎"?M!iRCV,@=znK\DQ[S'?ѹ7C#O=n^ ?h+"//u:uH+2 Sw5#k/{d&B.#J[X}7"xE[CRq nΑ&I*3E1c rBRVQpPMx7{&!ЩQ8m:,kl:*~5P"1"nJgNϊmJ-KuC7 &~|~lfz!>vLnpiK]zďM \Aڢ-Ît.NKE~vv_uoUIKd)F,O& CWI]8 lIf)#~ hbٜ†J =Jo8~A"8,dOjhGvh.ƞDFoI ]B!K =5&FZK ^p U3"1L>DZ%*j mSeڡH1k KµNԌ^Ҟ Z0[ePZ1xDmVcE{th(Ut!|mcIGZ׾K ~4Nk҅QϻbP.?`)h5%S{OHǛգۚhBC*Q?v/AG҈@,o/*)"(5#{n.٬VD[p/sm/jrWm)[:p ]·L#BS!HG..'jIΡ Q)vb2Xґs1@pa8 P L)s[Җq~`'=M$tҵBOi>%s3Tm C~N e9TU_(Epc\gմ$ wS5_O!&I;gaF* ɲ^Upv5Gfd%v 'I1!U#ЯV\rq1ƈ@mRhWb׶B0V˱ =C{r5yCzH?/i8 [V—5DXJ 1fA>fX 38"'M 80X^4b=!Vy|kͯ+v>^֐pOQed'p([j弘6lM"qII.7R3.«k_5vnsȻ%o!-l)SS2{_##0I'"ʕF߸g Bb `pt秞R, uic[GI: NlE'|ddu;"xS *5땠L9YtU]iIi0Ix86 JSr2(|boW1UvI\ x #4aHeQ D l B8/t?k'G>UF].݌#C+n`4)”NSAuGmhkIQd6%0l E7{3j[X{qSizbٺFs]N@+m, ,J|^<3YRMyMNth9烵8Of$f}`gC4`]A-&j 5wbkqgl$-ʠI9IQNR۸)&Z۬L+/[hb|d.9'۞-P)*F)фX^JN7inD#U#WuB]M&gP4 'd94<~DYI{R+,)pt?5NՎFzԖ;:r/'dpLT,R I"t@n$̞qʹ+lF"h>eDG8E!ujbXC~@}svTےiY K8>ny,WE C>cKnޓDB6c񿋺>oXtޗDd@+ꙠD*2/ ˩\A1-uڔ&hApyfuc*>?ž)LwW=ov&K GCG8 wyWDm-. RXZ٫pjykB0D2<شm:ҋY OEEr.*oOlG*tib~ق/17 ED5sv;߰ʺه<[nK1i'ԫxx;zњߤNQ%.tNitt۠ Pp?g߁M6!N#Ra<džҀ<6Lƛp#j;YZ{}"B¨Y2} !VKSG.bU%]GqA[BQ|&ᐽ\QǨ+aS4kam^(ShQFdzMʔ S_H2H`h0ZNj5=W er/iLHpCh?+2}D uHWhZ y%8zMaG>h  FG@oeB$߮ykp{4bP[1%bii a/#n8'm( 7ڙ]ݜMvʒ>Dk2D4l堏di[sG ռanNZϘR"Έ'l?81TsNY[ʹۈȥ,E>p!Ev5ekNxMą%Uaإ"M|LL: -Dyy$R1t. À瓢8iI8r"^  RiA@,nÓ%?`Hr2^D/p%n ZRcR(K}'Ufv WlRhB,WE̘y{T f<m -kEN58 ܱPe'`6_FGbjF H?jF* gq5]́K xgZ0j'GԀqHW9$Z4 jR-`m\u "% V cL-V,LC Ɍ5I7wEdpm:`{ݫbyq {9qxrʼ(yؤSm@F糒wŶcjAügm[&; <6Uw: ź)͇Dl+=|d/; >qG7$ec*Kfr;5AD Mɦ_R]<\u.@RX;SK/MS7Jz_&9+v. IFp[ jZAsp1rŚRg]+ !=r+ ~byM[M6[ѻq cA(pbɏ ?U* 2pRvyWwB6p!e,wҶǺWӅGn  M32m>j, #Jgx9׭{WWzb 1M$L׺%f[ (lěX3]So =e#@Vi)-5a ?"xH2_xˁ*r NgE ,ycT 0̜ R ."R+35%Xۺ]u<7=&T;6ceZ#B&a}l3Es"R= suI"U3FI03iR+&| rZH\MD0V-6JA>dEڨqd5@|Uπ{ NyW"!?]h^_rI?HڐM:̩][xNEO -ԕv9 )A]+p\nf|2H%?!̒jt) ޏO&H QH3ı T 3j.`dW@6e$7,7U~ISg օ#,>L.|uB4_w;]rjjSzz85T\OɒUoPt LhxgNih#^Dͩ!oޫg%Krz/|ɜY:#ws3:ԡ~- /K;o*QV3G:9Y̗DV5ݓ? YkIyx}Exu*|Plػ4w3IO{HWiQΝHXA%:Hz,HQ,ቤzotcƜb}0h"r=Y~w/(*(G٤:Dg Mu mlpmlG9^faTͿon(R~ 6j-C54RD0rYㅻ$/&+֗UhvńOM@yD~>.C['e):_<%w{հbr6[muj,Vv#dyTċ=/=hpi'G^9"'w]u k'Q|׺7Ж𧼍Нy{5+ "h)7hlQTĹK"ۊׂP 2dYǟ>doDW|'bV`Bji U1$ ؏gX'”;d41*qDՃ'$ew "1i_נi!Usn7/5nlѿ"3{QHjs 9D I m m=[U3SDd{dncSͫ1`/U-g$D(O f" (gigx)Xz"(z-M^Hr4D=SdggY8sgJ2ЯXUW@<$I|D=C_޶b4QޮpMwkE4]͈&XM L&$8g e)~|TМS̖= 7qa_ [Z6J6,G¤}\ f}1,bN,.'(er+wloKr 7F$ö݋` & g;$E MΟ&wIzYE"_k׾$22V7r [ gҎ˥}N5T.{H {tHĜpG֮*,RUaa_`2wNۙ,^uꍮtdysh`9hs7@BkK)E~I_fi'b>4YGșXyw uhNBͰXS^yo"ʖ2; Du0m CۈcꟅ7|^ѯ:@_Ee?(1v4\DF1HV%õ䟿KNfXEJ˥Dt* ?Xk2պ L>|;,2Hzȫy8Dݍ9[M]k* pYD-<2C@DA-k- _i8:v*/LI9pǟZ >+sսWVs27[ɷI9 M@.+bVʨHﮑqa(kɍEq݈26LmxTI1B?"Thjn2.Jo?Q-g,^QƟ(G@b ؆(L.jzBSQm҅H(%Fj G`od52#CIҶWt̢}=zmt6g_3aao'5BjFeǝ*6T5C%Oid` nLJV Vn$S䍇>*d+>z9Cza$[Ig`9I?rv60E-6Bdl,)8y}/D8R05&"~&d(gMAjh mLy5)qzSw~н("0şdO(0TUِ^h5,?L{GkM2hݝb?')fǀ)s[ Xq.0- Ra-{WGŗIS|84/I4s64[z)z6$vL p0dž{HZ0V:'lapn KǕ&MC,ydDuG+7dA mpH)1L!HӔtA-t* +z Ԍ8"M{ahxa X̾`if";La'%w &+Bo{-uz![550 p-sc>64M"b}PKY[={G/ woۊaeVᾸIU(Þ*oQ:d>BX I=(4##G䡮'v EkZ(=t&7${,_{jC˞~mwiC$BOBS|P_7XdPiio}0{嗥;Ezf0<uۭK Cϩs.LIeMJ9C#/6DAQ F<1#%}X3YR7@я*d1{:^I5811rpLdذK<HY.8wEIK ð֑ږ7Tۥ7PP |^DO< V~p$Vm [ Ie4 Ǻ&P umnm\̑U(o5 wJY%JEV g~|S P*+%UQ}U'F(nJsaI.k")a~>`zt,Q4`d _UY`IE-'3mPhPL4ƤqXP_n`~Y']^/ğ _ T㋉`"zX^`&$x G*x< ަp[<;Sѿ,n_15cO|f_`bʵ6Zh[l8RHQCHOΛAee?xqֵFG}!s C/YlW|"gw/2|zW[ueX[}\ԍ:D,oNGLt,z%:kaK™\*%:?&!=5/au틔Eq޲|K~hCsˉܝ!G-p~sm/o4\TKdZEԿCܔ @-HR Ο::v͈[w|_IN.ƀSՃ@rJv÷ÑSYڇdIFPJ?fmW#iz\6(C9/AL~f'#E^rRml Kc3c|6R{5Rs!/;59QzKru-w qџؘip @$_L~7d䅖1Mu񕶛 Ge}]g'-y/m*Dn"ӘbMX.H+i]fc{+[B7H?,Z+Xܠ丒q)r2:8kr,yr3\h KH|yQDF-8OO&^3FUw"M ۊ,=cˢ֝E87@)ed5y솽B& Ո艹xRĘ NT~L,ΈQE>lHt# }{$T̚#}'̏B*]P ?o0sde7DGPuvTHr&8I1&_%N^6Gu.¶ȟ7axDf9tze'yV ѻB|~4RUL{Zk" ,!jls`e73}, i܂ua~Ȫ#е*sYɵ'`AfTImWgYMP_ϦΓz2hj\< OC|r}i_fyPV*tWFbt.ē29"@u1R%гlN.߰|<s<@~DΜZ++e3#yhR~y \=!XDhY.H:vrX҄(r:g%X^4jTaB֌˘[ v\ c\3r'I  H ]s5lum@1Q ]#!܊fTGəFU 441U;T)q|]$c"""RbNXNpbx?Δ 4ٌlls}mjr{=zDJܲG hOS2NJ v峛cjj9&lMْ&>LQkp F~L]nnr$NM!FSP`3YJi˸ ?Q&PRՖ!SQ7QlFoH_],[66"aØtjQM/zdKly Hz̎{6t6A%5)UWyqBτdz͙~*!u|[eg -^爫Y/gNnW6a p x֏tgNy@`Ցdl)s?_w@zU66IZ,U,mS&[F@/yu:?\ Xaft͜9w#"lgml(LW+z9wџo&2 ag2!Su)`p@`XGf~WD̙ o;zEL}eڌ(A%:{!S&Q}4ԸYGΌ,=3uz/C@U]j$NEю)4oLܯ̙$Ŕ,a`1lj/ lwӾ F  K3z:5idhŨ2:^HؑwL@>gh9p5Fο#xMPMK-h@F%*Dt3XJi(IOZ.7xIQe/tW=-!cTnndz!.JrCbG?haY(ѥx,DÝ,u󱬗Lsp>7̎* mX|̋Rc> 5Uz40S-k|-Dy@@k( ƻM Ra 9"`}K@F/׸3d)ot^7Z F?m֗6i"+ z}p}3Ċ]X7RIY?=X3~ c'*+ZJ@sam\ŢSQj}H9P_ racG05P%XfUFŏ0-9Y?&+wǞ#K\-AYt8i,fsְirHz_ Z>rC訃%ip7!u{r>MگvͨlIFc1R<LN.AMƣo]8D2ao?^K,/KRrxf)P̸99I.Xb\Iu}IFElu$ *.k~ \l<.1(W!QM742)ͪR褎蘵T^DB>;݄|xQA<,b ,LC1=_?a6M +e1̮^]@#w@d5›iR.L='WL7 jffs|{tg@ZŒ)k{ _ Z8NnT@G`koIF*"RfGF$,#\>*}LσfU,)s.fFc ؚ#St~i7k%`LwwzSQ@Wv^_W('*Sq{~E =Q7čoDIn gֻårIVҼc#g0t _xeh_hQ[րd>PA OY͸(/Kcn9P]ۚ卵 TW~4abBT=Pѷ|.ڸ->39~%8 eo 7]x@, &[/wзڀB6a"-y1]NxF4qKʖ鎉;ryd"1ik4:DB +"|LiTTPՁ{/K@$Vqݕ %w굎Kr7##drb=v"DDg\Fr𐟽r:Gh}bxYQ<L9~8C+{CA)c}h g(E7.ZlZUTPp_|dwٵkGiea$! 9RWKbX1MDաœzciqJB-XqQ+2 Po)#hwR3VU-4b;1vs`$* ʝpymtL1ʎP5 Ya ꘕ%E~tnV[s[#^ʺ}2$Cм#eC˖E*xSp;oDQPmfD4n[&p${3eB2Ehv7M"iADʺQ=V`rp>$(L:۫H 4k>'+vz ̚`N<Lxmxt6r<")bDjLo/.Љ?xʖ hjˣVoF.Nӆ,i{:G?Šډ݃# ~I%&KaXӄ@=cxa^ "@'^Rgb Nj܅* AC+ܱjaQ"p3Kig6s RdNn@[\NA#]姬geU:Y)}nRNΎ7y %|wȖ* sn(@}%I׿A-Uә_d2|W)[<0U=J:7ƠmjuDӮ= mro 48xlWe!b5oԅ0{2 ,J"Ck:P! !&0QF sMt;GcՄ깧dx }Hlw-Z$ޒxk@}E!b'm|`pJ RV( X:YL>4)vi9E^bHN<.h$qbN[lP؋VGIJ:0r]PnkWQ4ϟ 籞@ǒHJ#>#P ~a!`>%kKJxJK Ӽ)S#pJGsqs򏁷(ǹvǬ';@XPpLn1 ѝ-}sWlؼ Ñ F9(#j`2<㕣ED`^WA!+ٔ%t ~;sӁ O_Q k洼Pjd'_fG|ǵQi˽ WNhIk:.7]90@[V="kxwvg>9ޥ@MWJ0L$03e20FO篚&0@_}| bs6+IT0i ٴc`񔁻O_ـ\,3ޑD┷jQV mc@XvwIN:8 \$JkyD8V|6N]j2%S!xEӔmiȻB&!>VޚPe(]C53dumr(PŹ̤TcT 1D"P4f 0v-?o"AtAc(PN7Lj,ˎ_KulkG/c]Fg% W%@ǔ~n\XVhl){0MQl M0STU*MqrArO|'Xԣ˚1#TBq~Z[Jd~`y|g3ϡ|nV4\9④qwo4C|tZL,NWKGĝK=o$qBy`Oh e"X5.>X EPgxjgr?%~Rnc! Q99Qe$ޓ< ͮ<hKT|L`kHGzIvpd޳2$n4'-ܷ'lԠQŠHaԙdH*8 z<-HFx1h׃znO#Za XА*Sc=U-Utȶ7<~;EjY~?;>0rViIRl+qyBl<(L-6q6>jPA&PUjn9f^PZ,48gO*\PJ sc$XzsZX;ѳ>ې=K.w C x3Rb )Bmw 2@FZNP9c_7{qP*[NSȊi4@fh|f1o\)ʿc/欲%;2V>~kܡ=#W|s8^w-O=+/Ǥ"YV\0_:7T6|3f$gL/rd_׹v@9QñhCM-;PzIt:bxthZD8c1c ςoKkMΚӤ 2ᛖO:6x+üW*%Np P#&Re;՛ Paͭ~)980# ўB <Q\k,C\8!ɞ78?#ΆW->DS-Mΐg;k=1QkQa<*M~F5it=[Y nw{Ql{ :9 Z\ ݍpftdwME[ܐAqzd,y_vJ3F4"VܻiVw$H:S ǫ1vO53 ?OcSjaEO!,#fu'jgJMTL:sY'yߊOGv&U@)ud9ay/HSա[J%vU}'mpYkv-0SX_a=5 "{B~/u8x&^GW:n?3/\xA-(j]3.)Ǭ/:GqF▟oݘ9F?xann\r^z s!+$ajFO ]%Y8ؿNЯ)HBS OoK;4zͭ&ԻڽI)8L)!V"Y$g*yU IL\!iⲂFC.]Adܨf'G,ʤb}lج kedƒJܩg(o3/'Dt!<8lZɦ0 kMOh%^Ku[g̊ZVNGNFikugf >)Ͱڒy:|䅁=JtR)Q[{.&Mbp(d"o]WgLFK^՘H輧sHO[ݏE V<):Zזa{ZmkȅtF$8/;$(؎2[J(ِ*9/ZJSp^o-HmBj6a͡hjER@h_({WmMAKpP;'¹:Ij"fCV Kd[(_;0Ry`{Խu ؍K/QpQ5dKlm2ɗUCwp,&oyƈiK6b;cK?1l*u鱜[c rf ) _,b(#Nm;d@W1BSWg)&v J[8u0] JкEtVk'1x#T&#VԱl#]zA#kvu@tfWdpsqfLH`fAwh?{ <)zz1BduG52u*G21l$YR'@% ~Z|Ny8ZEEX±qZ2R]YNG.N͏HvLm;Y-u؆`YLdF4PW ^r^q-.4̲Fjy "" 㛮D*76Ыۧvx Okr0Hu;7D?St]x.{탏)oW -E#l??Zf8h2q8~㱊%lye0<h\:PLKFq}?)kD QVjѥ4Cdsf@2\!n&RvdRsp'uz1kK\k7O@qooe64yd_V|mIu1+?8D[tb63ԟ@&)v9Baߣ5!H?\94.ױ=a_rB.kڕ˔{@*qu\=&T5(_6x"ml6WudS:Jgʦ] 'päo~6S8TZ,IК#S4|jb[mG<⹶FtE}o}ue7so*2!,gUknm @bG6gJ I  F3ȇɟGQx"rD(޹S)D&?3^x->A\d䉒tJeEC>07"L[|4բ/ x#.kW^nMEL^4-֎?FPwJebPL.c(6!:uIG)Ⱦ;8($ &'ut-? |e4%Sŭۚ.rV*o~LMvU]b,ix<nDI~_QU[]Zs+f;j_\t (X/i (AZhq,M)LՋKjЏ8mΨ_ &ޞL^}';ϗ56KՃؖ(AB:_Pe84Rx D$㝫O0:ԤVhFl,櫣6 rg }>,XW͉/urn%LqY| #o `Ql ΧǢ7Rb<(Z:ףi/VUcbX2dwǞf9Bʌ3oe׏ |M"%8,+[fba_hqeܡ>mޤ|;{ tR8BxhІ1[n#ŭa? 0}Du[i\9V'F P&Oey\9ok1 `m= <5(ߜBUU;觭3Y9̺@) d #rD-w՘$DDs:O}޷F*(\hqĒH_seHbo;"8Gi|b|Vbbq؃AA%)ac8fF+]%O%bv'չUº4vh'0qVjuM.q8?W"dyΡ0WQ:i=\5Zc =n}67N2R ]f NPeB zR eL)%$PS\ Ѡ\#|tm, h  Dz9KPPqi9MgeiDbzrۜ>xC9,3 -u)#Uz``(3\z$\%dr<hJ<Y&8{Th΄hTaLRGZaDdLg73Y,- nx3qbC` Y)n >P KcTe#i)DRڬ&'HWMmHD˙y܁#jؓ3Ot&R؜ @Gw͠OȄo(ftBFg_ͦgdzΔmb;7Ki8>e4".& o;taJ00x zc=:Dt1$vŮھ̡Uǡ\TlVr̙CT,;[[ C|R =HʻQ{Jυ OҀ*\;d[s؂if|\zݷ>dcԁ(c5Vra;E뫴;}'n?DȢ%fw=M >b[h|b 9 ]jIe'nBv// rfI=RN,_!'3rV`SIHN1FE !Z1]_&4`m.'5$):Ie?lm+VML3w.`W G `dk@~S -~PCNRr[<.yf#xXoO>FSpml{4s k 4?\7T0@_Ұ!~<~̈M[M㥔9X^,Gpm,xg@:hOvע0_L K퀮oeOZ? t[拾:(pe6Rfj0yM'yHIHLt|)O!QV7Jޛub TObgחX]w.\+R\T>@3$` δ)Mj*<#b:\sHVor?j[m(Zo0k! X-qPʒ\ q @.u|@O;so?6xNMfHJ Sֳc$@H3<[-\[<5ssQNMϊ#ߎFeC~z/+0v߶oHD/\M1%u. :h7h >- dpGA~D.%+P7:I p?qʦuEW*p_, ]R3> Z55nF瘢 5 Q^{x8o0M:vȂ0`/ZM5ޠcd8 0txjM`*3  i2%23WGIhLoF 4B0V]~B[TJV")~/Mt,ouwiCP:oax~gX \pNO685Njw5kwY>f/z|98$},TLSJ7M0FGˋ-H¢('#1ҕh罶Ƽ| p@-nBЛoDE535 Dys:+=lYJ!s!h./lLg%MFVK8g|ڮ$#SݵJ^RaNPr*-s #O^Ѡڎm^A;+Y{L >NMlԼ#zVṮ:!ګ֭-+kꇫJIǂ3Ҷ?= iYa^^#Ɔ "] 1wLeay7LlR(cf6+c/r\.SR`I#b^ay92}Jf kui B ShEx4vAC(䙄OWMH>[CA++bk/Yusl∯qNb|(| -l_}뗢vE;3LO&z8Qͧ?pZF8w3 LI7?ڧK ߃7CQg%}=Эpz>Lu\ ~O27n~ëVV<(<EBY^"骕pe-tMj%Ĩȕ(I9Р %Y5RC|+46QPF-(NpVRø#%OP}>yY[Mf3((UVwG3"̤l5oM5t{@<Z+@KSeLJ!r .8XdF=Kk(#Shw 2+B@Ic5tYr,zNh R%Rtai&1( ![UTl&A)$BHiˆTuPU*1D戆h}fte@'>,+N4~?@h35p!29fgfuhTnu)f4<`L&fafС'LTiεݧK.eO t/0_Nۿ#TErpK)ȏy9Q}:3@D$)k5\xSO ;8|V GtqO0w}x|p9r_q9/2@Qۥ~,GIҐ 2kL 6~Ek*jA|}O5)-!5?Z?FݛU8UҕEYM@*7*G #ܒN4o&T9!;I_{  ,,c󬢦G7/]ָJ4H#mfo.:OE%w$6Wxx#u)M1W'b!p ^v,!ܸ/v_ v#Y!^MKGGo W 7)C3AU[48S z'g:ON:M)y}*[8'sL^aCo*%W<,Q9G97$X nۋ!#M.g?24"*$ ʼ&BT,3Ȃy]AM$Fд(2OI< OYuz-:{}T J_LQ=-DKmFql-,`~lqG*h%(1 * ? -:ltS /#̏aR~+C:NG}::a{HTI(]hY%z>!1JsaR_Ir@&?88L9=t>CɁ6ѭY5^/x O1_1lɕE^F0ψ³~ POF2f2 Dj1·'uG5˨@aI%6<~[lñqPZJxa6wѾPJ_T&GhOp;36%TD6U^:,/I'B½J'Ѥ$fOzMNX(4Wf;~_4ZJt{xu55|/gS+zb_upj @q`X}_C  >XM2ܼS Kd܎ cWQ}=jjkSgr $RHz;I2P"90:4틁AޕqApJS.EŪmʢڢE.]/%"s]p [DN'C)9T:Am/d#|Z=H) gDN1|vf, ".Z(SUTO(&!rpgݢ~ל 3ђW\k8$CdE%0?-I@%E[ VJs8_2 %aBbFrB,w5bdO=]\BH$;Hs= jIGHmWNL@3^wy)B$C19jDLUWt Z,޸2ij!5$g#{>tr|"6n0?6p(~wk.kZos \ʍF#+]|\}|(BsU9(Ϻ}2@og@b+Jʻ8w筂M ?ziͪ<YS,p. :ꎶưK2E| B~m:@mpDPf.a]E1}lj{6~;&/HŰx[=xZ,I]iΩԒ,;QKjhؚ /Jzl$*+$)!I(4F)"pDq+ڦς9#tw^3f VD蒴;AR^o;/Ǩ{K[_jXf"࣑jMLiOd # E(8k4?,ʆ[(t^3T*P:iZG;g$9e! B6su>֟ Nq@Nh'gpadAy;ǑKb#h]q@R%X08@e% hwwyNW$<]k˔KaBvV?G9B~&v⁜̥}AD)a<܆ ظ8eAhoI\ϨV|Bvk=hH胛]y\=5kٚ_p09m83^"V fYо]:Pq3v}v 0Y0ٶX7*(s͏rGvAߴ 6\=uzYeG>y\K3`)Ї;.#>cF& Y2.;/xKlU H&UR\u7t-] s#|.~E?-"q|ZccL)lwl(j[DbM䃄lCCl\k!7:--6~`S!>q,Opϻ3 GqgP&QoHIe9:0d=='AcHfe#%ׯ0t?TRg[ %SޑqCkf.#A %?<㴨:ր]HWc{3s Igdk'L^1XlK AMꃬZػELn{0:G!<Yfd-NiX{Ÿj% ,h(&Zˬl / iE] ^p)-v2d.] |]B7MN7j/_Zmu"$Rk̆gG~t!* ]Ur߾+7w=V8u)Ĕ?>vAnUce#z̨F(!ߚcǮA66^953/=J&;'`P4I6 vsMsq?^LC( ͈@0PDg[< uV!ڄRYog/څ0#>kl];K-c{1Djj\jkŞ)߾ݣ.i`PEjIGw!!Av77i% 2ia =U@eGT5RT 9oNLOTgo_RFUAY;-$(HݿǞ9Hk /ۨ"Ӄ,}JJ񒠮s$U56cLq-q; S<م-nHs*n{T"dÖ([mNUx$#ٗF$)D>J X(O&HF~5-G58;)M+ٲf!i ZRN~< yR.ե߷?my0lX+Ź[n- țw4q£\~wirYHE+0*xA Iӕ D͖wKd o_ք% dh^ԉbNͺ8P*T ,ѿ?Z}u=Vu`_*V]~ e Qj EcCe:*4ʖ$I >476 ?<|sɳ@uU) tIͨˊj{?[ رg}?G웝w.Ha nːjyr̘WLmD t>D+pjL] #?!UZ D&oSE˱17厲Go",4SF(:[W_|djٖB+A%p$3QlfOXyNԞ\/m&OՏB !fUӢ;}U`D/ uPx~mNU8U]b 7`~a99PN[n!_jOmSsM]^.+xq_Ox"砹%SBYѳm<Uq_>!(n3U<O~"H./gOb]rr(V;WE~"-+z}ND . %~N&ף4w #|wpD!GugЅM˾yA2@N$rn[v&D{ceaL=:r#u6ͮ^앷z'BJ]詖l hf v0_w,rYoz UML `D:uwƘ\8m83|y`UxK6#{HV0$[Ǻ;ge.)bDmHE!X[YXcvMI-nvJ:22v@W! mFDOTy?;=")< '=Za}(rQ=|)@/(-8OidԪSha>P*O#E[=旭xt QN.y1I'J8oF|7g!KE>^(W69dC\q18Lj4Z&sO'$])x6v9&Ҹm8aH=xL}b>gHǾC=C=ql/p@NiZmҿ1BLl,\3 Ng@Tq'-5cŋupO:!pUWq*6,FƴwIVX5VO17c=ĮD)i VR0Xrjq+ܝntA; frG{W+#\lp*c{턶էK[p Yy-5&K bmяWj@x5Rn~.6t!wNι≫њ-,8Yl ̨Y7'l^)`r &ԺD,DQ&!Oޖ*,dŦa`_=}AuWP2Ao2%GK@m=K_+;)2Lԝh?<܍;MY_267ҟXĠ;J4~rMqPGRVFx`!9fujFdoW40Rce!TX*irBF w4sD? Pu[í32K٥JdWԒdPnCv%īU{ݕVFvrHBlOЧBEH#1I#(c Ƿ6#VmX:@މx Eƽ:Bg6ٝ<ч\]xaxq 8#5Cag VpRĔ/\eG쟴Ip$o On?ع3xߎX! * VKqIͯ]wcCp@ $p+PP2i6PDe T>E yWH0 p4IEuEm'@]*Ce!|/ZpF3֚ٗWp?>\c1aI#KB b@OUU w&|]dP;Mn<^Q'OVl\` :a̩ ^G u\)^ f;vBDqk2>IM=#+Q=%y%}hH%\[;m*vrܿW;`t$MJTj|THo@SYiwbx dLS7kn+'h Pf] NHySlwj0JPW9;+a{4[~H?ʥ4h^ kZ?W {X}G$IБ`I{ih{\S4RY>X[# IwKּxV懛^hs諲^sMPB" /tX_@"Ŀ'qad5%^ϒVU]7?Mn@c-_ȫY?ɩH;uB[.v8z`'9皋*O@3g+6G$$nGX"XAUv}m8͢wEWCNZ;t-ٜc>Xpx5pJRa*jfRvmʦ ߶: ] 4){ 8sr|~l 0Q>WA]HO\ Igou2m.H9t0~ EH5iFs4%aP6gIŅ׀jAtB/)إBa Z%wbJi!7#ΠX'+SD>;oWC}}pmuidHUSZ'qBrK/Q #E{Q4l]-Qe!¬2=uL}jM~xUA{ay[mj;iG}QBUђ'땂ۢ}h<nM=P֥P%UtQfXa2XE-Ool Eu|i N;ibytS/cdvљ  ^DvxݗÛlLʵ~w0Ʀͨ q΄G.i2=֮uwB RUKkx$5,YD2V˞K|k_窑lֿ5Afk7a4/8)5~ZN:3fο{os` H O ɑ4jsHC9iy MQ%3|Y \rR]=k}59\ti= @-%14D͚*WaExm8jzpc5I>U֙)5 yAU~F킊 tWh 褴< I`['Ld}ze=t?/[`^&WpSl"vKZc?y<|ꓫ:ڸ"kqܒ:nu8qEԠ~;Ut%CY䠅TM԰Xx5OB8tr,VyDb9!QC=Qqt4/Q_Ldw*[yWfpcZVP2싏T< v~F}ndFgq#ȩE$AzE)qk/ov?QAh[)beU%.d'1v'k>YE$aL=RI$dqԠ?NA%u)cU޴bfn gleCRj jl*p0h˕:ɪ<'8lZϒY&HAof\Zzn'SL_Nuɞ4WJ}C-%^w 8$/M^IM: l$4ʑĖt/sWK.PpZ1 W¸_ZCJj8r|\)ol((+"& 1>c}glO[ (%҆fmC msxGM,d#K7hkO&с~P]7|NvaX_:޻ɽȔ'.^ED5*2g+%'l+Ʀkrs'(s1\xϻX QeQ(?-& ڭwTc Èl=\`֬po–=ح²͜g>Uq?ͦ:YD5ި뒍Rɲ`+y(aqcD`%N%">@L6س$ZYĉn%~lo |/tW#u1 :O`˼˫! %5{met_ n|X#QDKeHbhE Y&x=[hpsZF|T9}E0 af{@TT_a\[5߲MsbGzeFS9>Hm(fbA0 ,W-1?ש rd q#dy0]i٥@ D=w&#GEEU:!*  L7[5&V] n12J OWLr¥xAh]c9lu3O d d_tx%*V\3o^ "1 7Wm+93beKNG?1.i  '­U ZvxKSIUd j4Q ^oxSU apQOYԭ;iS,O3N~3I_P /e쐤PQ!,H ik6rx&2N a@)Ƙ%@GXQsjz Q}}tCz珲%bʒ4Q?\\g15w'+R%^ FTҥʂFxSJ zrT_bkl}iAzP}|ϧ}| ]Ac4fL1i|xE-O ɭ=R.v⺣t.Q C/R4o@:TX]_X~<022磠-u;BvẇJG.SwB%s3mٽj,œb%nE|s 53ybRjb?BrW7q pYI2ISEvk-7_-#_xk}g(*!HSAAU]<[q`ȍ>7h:_l*T5?8QǾoR.?c5\\^}D1 s,g%'BWJHg$I#<䵃nM0r8l@fNh`n#(.9:n @ȧMA&_ Qc}F}MZupU_YI&JUk*$ul2P/uԧ:5xiŅ5W2*) Ub/8S^U[rt6W-7TWHt@@ *v'I:|'BsSC׉A걡Q**9Sadٔ8beׯ09D0LmSX|FpwO蟕2={xv/.:ըγDrQCUP'(}. RX".L2g'_ehLN{4 #fl%,No"Sɫf~YdPL UgCpFAO;&_DE ;86C=M}K$rM^Td•3T}4 (jEŸoxj=Ook"'FُzaZi+Z(W7K*d\=.kLWF.mi'(a\j7ɬ Ṵmϐ_'B<&+&<0m:y poQ q1@-N3":0+#gױuA#:s JU$;p1MO1 iU :}0 iz\y-2h/ zM4lCNa>KQo< `du #7'=E۸VZbZ8JS1e$Xk9M0e7S'!SOFDR3UGދy*Sb))!cHJPܞ i rmqj\+T&4   EDc84y WERUt";WS|U L-۷YBіKѕȭNW9T}<ҁzd3O0Hsy͎&^P}~P9]dׁsܜL:*`w%0@c&3ڹ}^8~&.\a!K/[`Jv=x}Pn>P8%4l!J&G_>#ϝbPmkY9`vQK#DۍW'"giJ*oV)npJ%*% VeCޔ v8 \k 3):>/9WV5UYBx=~ ;!9n&7ڿ}JMI׵&dZfw1\D UZӽG'ޙ+J8ye`'{zhFޗ=ފ*, W/FVLx5D:һ9i_WN^aSBq1O`x!ܭ.o㶄 cwm)}TV*Q{ 庲%]wҎL8jg%* fD)9)[HTd;|(}Q)4%p:黧jPb_UqFg$#3G ,ΉɿV wLQJff߽3 .toxW_E(R"_9X"jZJ++s#}9%m= `4ۂ,K#,S퍭\Xڃ+|fX &ZP*1'nN|Q)%b완LX[˃m(eq3L\9"d_Cbiæcv5'{>C2ѼPbL Ӫ`\~ K+A.:RyR7ڻ3xm,S σ:XI5qLsiIB>h Lkm]mѯ( 8v3ƌ TǴ;jPl~4D P`%o Q!ӷkL4nf14n=e]n7-/Df.]Kq+R҅m0售q[. $ znc ?IN:ܫKE 9H7&F`9,a/DXJAu+{|afa7 f';kǜiWv3ج6ghL1l w;! Nfʲ<ъYyʏc'/gK11H%;m,!ݚ߃ @~Ug\0S>OI}!W :/67jvޫbQļ7yr.PنC+)vۯ|\כ#61HhdžK_9|yJn>*˜)b6]dФG&2->73 6E=ZMgnabFTKBFqS|+Qe~Ei}x)K"tܓh"UAnd{hIrJ$En֩W("CNԒ6S ~B'9S) XG*ƼExv4}+(.aZpTRB@<jú q'Tzг`V6w 7v?@7~K)bavL\f>ePk֧]"ɠe[{B,6_E#9~6:&i2U1"ƫ-.O S P=~No7t!A'wt+lBS\M>K(uT*3@-qeXSLqjOaPYe+TFW,aף3ɨfJq pxcY]WN 0"&%sا.|(͇׼Z2COe2 ;:Whyۺ~#t< K6!Ȣ+Ɓ\H;IhT-fo[8aklLgu+}I\ԋ\6>VK{I<mEA;5CBm6,Ө|Ġ}@bd;,|~\Eh0Z->QE7ʨ4ve%obHT@!iF1jfhVBϦ}-p\rϐB[wo%4Yn3+FXw $!daL|i!o8Ij&?$A{K_I\>l5|~Rěw1f0'nlєEÀY.F9r^- |؈ Yy! ,nŇ4T)feI6z@'0('R3ǧnúGfmKcۑz@1}l;Gq /<֑@|CX|ٲ$%OȰꡋsAX%,iA'5>$0ENWៃ728l<{D@'5ŹSó*Q -.D=Ӫ_ "EjG0BSȊ!2,YR*҄eXy'j aרS|)gs0r 27=9V ks)'?LYŐ$Ѣc9$7ckɝTfUڄBUn}HftQ1]q*n1J*yrSB+Ig{V2#x1x0hFS`*w]ip%«T-97(Y[/pc G]#Bߜ+xv2=̴CK^w[u 4ZSw+KGJ-%|LqҚxDAbz9XO#{<]G9bNS4(yi8EkgmHc|F_#s$-MS噹?LP܏Ce<@_#֮'-Xm + POӵ6Y'߇ऎJxLq%ZHU(7e:jNuIm@h?'D}dfJ9cJ'>Ep*usM'>NrE ק/ s2*{rwKtp{ uJ/;/})#]\nJ~#6o=`5( lؐUlح|崼kSQ\f ^6}7 rOHE ܆??@r$n!"fe b#p#UxE8DTusUd>%ݒl\Cf&L,mBF&#PH6eW DdD)J$iO"kScPt<6jHruHCD&k2V'M%@ݙG})A Ӻl4p_7 KdAj#*Xd|{U3zU^ { ? ZZQ8/Ft!:e>EPbxrZ}-Y7HJ^^c$OH"2r%Cq,r*Xl;盚.E tPl5͓A Qx^yYVic-ԓ1x&[ :Bߕ;?^9w*#WLPdbpPp'u[Z̒nZf޹D7sgЂxUx]ԹЫ#M|L{Ǩɳ+edG=u:o`Q8a0 :luLbkWaB '/g30B]Yػ8Ƀ2)Tƥ)77EG6I|uG~ 21'͔\#K .BR=q:'D"Ju7u:q/g2\-5RF~N\ۙࢰ"]w3Mq7(7:6A]GjԐ;3wK~j/t8,Q3IXͳ򞓀)omXY_I<`oTR|BqM&g[=0z>PVd)|HfQ=Uk [п [gFCplgxgLl]nf0Ȋ1UR9u A ҋ&oV?4l]z[@6zb3H)UP!NW^~RGhr-OR9i\Փ4F8k(E$< K*Hf IXA ~;'|9k f/`vЦ.(61 {6`Am1Zj6""ϛ^=".Q'KjVa7i.5c R.C2KT wrf |0l{Ib@5nz9]oK= 5a;GEbG9A(֝MCn o;(#̞l1UJ.R;/E=4GF}]#ʔ+'f$]hmxԗw}!:j'-c^},4RdQs҅?x]ّmw }c@V)2n],f}ޖ<$H!OA$u{ nt0A)HxupF#{1tdlXȍQƽNu7=9JD@c39UvG["2j.\P{=br<+A  PG 'A aK1MOqP~TXV<qz ЮX"AGw rE:oe§ădu ڤ}nuL#bXh}21N?A - )br|F"ANO(t{|Ճٻ ӹ79E 5ߧgrOԶdMQ= ѡ3@DmU̾1bzꘊ,w;>zxwq蝇I^+ˮ.W[77 ;vn,}B4EW/0<:Y*.ST{ve t1=h`WsF j<*+tXŕVԮULΝJK0v\6徛4;~3Ə*.v BoyɠWRrŸ 5Hv3;'2IVOxۣ4di姩 b5-PmI)mvQvlp}BZXZ/t06)h,%F{uUkPc4'ZH$_?i"K8|/wts kZ>pFs6rp pT*^^V!MW~–7U,hc{\GA=`TFIU;0L)QBQ*-5Quu,D oR?JѷT;:)pco݄Oiذw_W^Ae=c#o6EAOOqZ5ڜZRI:̓,Y\Xl}aO޶5"S)BhnFs:$DDSI7Gh\j vD4}R300UD+9t'c= /H_ 9C,cL4VTNdq{2uDF&>W=ׁȴ(8l?{ݪ|F* vyT}'ͳԤ|ZPGiKyaϬHH6E|#ՐLRLÞYw%3{"۳"aw T>cOؽN}oצּC/ z=D+LՔNo Ì]w`q>U0m:W<VsZTޚOgc=u1`\Pm^etpU-m^➏ľ<;ӓuTͽ xG;*[罾!MW_VԾW=ưqXp؇΄yM{m!7` :C`.]24+oK./2lI@=~IU/غm D9:H|_Z&k.&E YaTVח )]*XlW훨ĨO`Ob}:oi]V&Jgq^ 储+5eg@uڬK7I޽|Q'B[,Vh8g;GFW['q^N!-=d|êmcc DYOQ1az ҩ>'zIwo0յP"fc  dQF }^W'Q9?xzwNMsľWT K%gvBI=Nt]4ڏx>ׅsxkc2eTp[tQkˢJ"RC:VOH}lkx2dv&sw[B#gL,Gq|)$yB6i ;8=~Ƣ fy0%>o&PyۣCkI%jcM)#FXۼȜvMULN7#v0ڻlX!d:QN,"*nV&#sN1 w^Nݥ9IcJΡ?/ [ǑZ4BXƒTlW(C ?"J&vGےzHsts/:b8I :Ee3c$,+l.:X .?&EDd˯P@9S+^z$Q.J.oAtef`ZfFRIvDQ3P_( ,%WmRg'9c9z(K͢dk.K 1{Z:WU;iRP˺_I#'$j|0v傱b;UKI|4ϊwY c(%L&+,W.~S yDy,ѮlVD| HXm8^9mo ?EI6#x$?47U2|W}pEH'P.˪vKH'K]\q7Xl:}%NlגT$ɼ" l5s8Mm>, Aę1:ⲭ`Gjh/z1Y"E%%O]z@(@<բ"]kR`eHKbxVl١ʅs.#rXojqT\tfl&R&MmW =~戭J\kV p"7Nb1IL&uhg~o ea|KX6/#R29M_f`#J%5]rԮWps0Fod *W%PAJjgCR\>XjDϜ',=s?!8QxilVE|D1zlrĽbQrBl)}/|GGqky@  b+oI+!|OoePJ^=hBؘm)rs#BEbpRl>15/B{UZ0{l&<=K`iyRN ޒ~װIy>ܺb l-Mɶ@7j)S`Sj3ڻ?caFl_i!,{PKWK+H?n,(յ &^4|_pU LpI*1#D]JT0 dn%h5 r -#FR =uv0TrQybD6<to w, IVnjZv@K)D߄8d/Q{hhL>:xTV=)W6HoFIoÀ>W>(0R Szs]pO;MRM[8@s95)i!*1KCWvlze "{/Q13j'Y S1+e \\)f kAx&dV׏x/qzc 0n!|ĉbȭUN.t>-=zb!4R.G?ɉxʔ2IXXbG . ar>ǾM;aA Iw' ob 5xdccь M NOA>&b]ɳUTo!Svy51]"r9(q;#Ii](%b 򧑓cиc L6Ў[!:!LWLLE, GWH"a E@!{S)>|+*W\}TyJomY'7T|_bu02KA;qΓscqk}ni7M /W*^n^\C=]dvC"o+tXE &jм]G{qj!b!uP^N=X{PUTy>fX%7hDG )CӣN mCH 3Y6GXJȳm{E3jGCdR%fwWHWwh/(z_$C46g~&^֛ 48on?ڣx׌~K39/?LhbDzK.RF?VzJG_B2mA:'q(jSy,VYw"xCK+ilSo(h|>,3SP6 N߹?H@rG EV\Ry [JBuM mxd;Rױ t*0 1 _`шM˰a\QߧM$-NױrTxL 'HRt 9,s3ӭ|8&d-Ev@U&vlN q !N8 }qKؕ }ͣi,j_cd6:&WOb3R_Er ,洣v'gQy/m, 1r :TɎbhƴ>kHV.^=grU6!|qDJNy2?UeZ":*`  E@_CI M2?36g[veSY0&ĐP˗^TTUwb~K'<,/!,:[K̃dZƬP1C hj2W[,w;TPsCW@k/,yd ie+l<B*N1qN2k rArgf]ט?O1l%D~\̏-;+~{Xz|x@#3}J kK.҈ 3N'g\yi0n\{zh e Mb99 (pH*;oT:%74Pvz]w~$D ҬC<2G~b 29nD y;wFfݙk > :BA=glSyBD=Trѥ 3[0/k)~u rx@[[Ek|QtE)- BED,x  @ujud2¢GW,8aP! +Kԓh'IvLzW':;B[ OP8[{d]f"4JcH Y瘹qaks۶׮ eJ6Ty:S6yl* Y],$l-_~fv3џ& /ߒr4.-7#!Luh7.5RK@>0WȚox!8R+j>GB2""JG#zMu{=1͎!klCbN*D ࡞S4y]m._Q76 PMhMc b N_!Ѱ읠3k_6 *rA??;V3 ݃dSG@Y-#XO.Ž b@&Y*{w^b %1g=EAQ8YI^[؝0*̛>HsJ֧VJx{ܙ>ggiK}ΆbM:ٍ28О *YJ>-\>xy/6Ptf@umt'>WD-*.IgtŽc'=PLӺD*`F <֯[h 1To"X)&MrB{7̀7ILu-:HPB^_< ;MY^QedqЃ3F@&N@ިʄ#^+8hl3E] T 8<;^O^WφNoun 7OC H׊y{qh,?2y&g|^z evS} ;Q5JcH]`{I "iJ΢"(=S?i[h3Ez?^H㭚XmNy.&Jqxw_)[G8~+ T&S !|GG vZ^I-,j>wNӞ S_y"2lE!*`6rC.Dҗ2 S0A/.k b˅_U - dq8ѭb:ET|9`}y" Je#~"~В}-mrwg/d*.CƾSg)#UEd+gIehYD#C|/ճ=NA谣q)g\cm;6c(tAHĄI"q"ZTSڳ ,0ހwajיv/j<rr@y'ܯ&y$vy9]±cUWQW}zY;lb&Xu.*%õj_,z3lB#M.Ә<>j<6Pd v~n.)WQmٍbn "9BMI0G_}De:5&^3SE1D qv(k'7Us"qҲ[şx#n;f EQ㦝O ,)8?b}a8{- S pN$*Om[ta)!??mT)Пx-HA%KinoN}yl.b8R~6¶%ULPW٧ bX*Godq Q!!~5q^h;:2ꟸӊt#{w@y uϩw0Jr#p${{Ud=<ɘNIڄ@hhU,>>RY|CA\ju&f-~]AzݨRyyP虴ۑiISљݪmъ%u|=@̥SLLwnʭcV!VuF>HkY`(Znϰf7fHذ6`;eBUm|ǬH_7O73k7`[|R/ec&Cx\/W)ii>7;}8Ȯ_`E3~t/oXgiOMg-l;Ƙ$xl"6`(BS;~nMY Pd0W/>ƴa4 Dؿ=bhv:\{D܋\ɇ+Toi X`LF4 ŒcYA r9~Q[ kOt`-3DB}NY1g,hĝˏʷ.n{D"Q#?k:$ Aډ Tj걳6SـfiuGWݨl(Զ3]tJ "P]_ YQձxY:|Vg>MDZxtR<5`$H~`1۷I3/0.FN}[qe( o iJ)'Bt\Mr#Z='{?䉓rdn$͍3q lz ۂe^2nr#sRz%sC|\Xᝒ=amcC+< |+0jef:l*\aF0/ ^pz:X=Ul;kiѤO!lL8k" L Se1 s"MPbPG6A.I? Կ)xXqH׻'!.Qt^~GJHO=J$«BK*M@eb{3?μDPQoŢ+d(_ݪT6eqS:Kyp ]8&LOWxJk[E.Wz>TXKVR"ZmtS?l4бF~]& M?%MUbo*A!.V"WJJ9ޑ׈@_SR%~z9w<[L3*HCGN nD7U Yoߚ[Piғ@Yr߷"!~@nm{ʜ ɜdadĂuT$`Wjsqd *PXpWEi8/0O YG:hK2o: V}[#XY,*`IZ;DITf0mC#F>ol/B$}^~=̹QHk^XDkv& :;:bJ.)w #=enZNϜ He\U1 '6[^>Q`/ފk1X.!7Ȭ%Hҍ=0ǡ aJ0/nB:! 9/_;=_ǯi%L c!NO(0~bCP!i($ivШ"Mw&yn҂]]5{ 6An1J?2ELpXS4CxBú_LVũ*щ@0י@ky21+%Q\qFxX< @ B_a~G"*€oOgyP; ؠwЇݩ[ >d#"8yĀc|o5m3߼s{YifJ:\&] o1MqMNԯ÷ U0hjdP(awW<ȁ?G\OQ3L599`a$NZ`wbG>]|;a`kM )|x\T!v(/T TH\1O'<*`9C񞹹y:D3ǓȄ\j]9χxs^=bq1' jUMQ8W4D\A/|@=׹?.L˔.ōi{a%/c9 X1Vtl}&W:^鰎CQEfoVsE*=fgg 4EGc[%W]qm( MQ((pk"aFql=) r|$mbngfj%Aw 'O` Irj]H7lI_пceF*$fBzkD&D11"+@>:Ef@`C_)=1Y.N3z?Sg۠zPӕ! v¤ܼ\[fo껻bi '1lg_W]«C2I ݭ*VW#阺 _Wdd*hB/D|תV8O%LJ Fv[f?v6D 5z2tX% 8ޥqپ9_^{R/3[_7瞽Y1fI3FЏ'Ծ=D$:CDCCm#H4aԂߣw~ c\/??S{޴[9s0?n aPL"hAh*hXaD?)ϟ%jM~#Џzn:h,Hyo¨Fl+r(h /QCJbO6JBQUa?!#͵k߀4tP\ok{[]b18>zxGY6ע-e|VrÈ*$HpL S)[9^ʋg^5XXE9[_=E92OiB T+|7)=5VjЩW:94eb0)j$B1]Bߓ!~ ćS움Bvr$$/*)HiS槲YشЂG!l!q+=Ἆ`nV? :w%DGvduTt>ɀ[?8o q([m:mwhd_xa&,mjݷe,}W{%J$ AJ-h3 d}$#L/G̲6S.eGRM̥mЀ8BEG[>[Fnn]PN!ϑ/7_dzEJ~A}Ygv2aGfCXnYw Y"Mqb&L4R>AѕNKqӍ[J|I%ߏ׃}3xU s%xsJ\hFL_H8&#8X= joshn+< 8?c Qf'Gv˼ o`V>0V=K0֎,.E؄~17{ڃc? )3=(L5nHՌrJF4PRŝ3u= y !XO:'7п= c\hmRQm럪3NeM[/kV/a}ufU-b/ M>;cH? g7H TLM,  @6_bxjSL7 }>4LF#qQqYV:vڤ:MVp !TD`Ch6/Ѷq%/CZxP+a5wfP>U0!;31Yfѯi0oz|yi"ׅf旛u~ /y\_s {7TT%D?h6ݖoC?jTHQ 3\}!U~ )|NTb1k«pyjς}Z*I#*-A5w(3t',L[_RH&>"s٦/^^t\t>mYơq<Ž81:dDuױ+3z}5et'D@.o:dAv.tkJ,зa@ xblmB2TKR)wfNw6$C/7_%趓5_ȵ̥&Y@v-R63EʻCMH~ HH% KC ωs0dEp 3$h5B0ʱapnb:dqv>):=H=FJ DԹv&JfS' \E lAc[iJ[s3(]# 7ِ 5L={t])n, I$vs\Ə5/`o`N HhSO[N!#c򦟋M ʏΫDAW6Wh]f6-ZӰ!.=ާC3/BuBUAy+/G{o}/2@/D|An:5}>_%HrHf\ >:+T'zB 1ś}ksjcer]Xt˪खʽ_Srs. =oUJ |p?~z霢g2讷x:t?oajGC"jIMDUhlטٻGKa;{@N gRT*;ót[$dq3E"5Lx;*^B 0@_m}|۸vVluqʵT{+7_E4TSe* æzd_qB)#@ R%Y(FYS+{ ];y ? @.)UPY,KJFZRQHᰂVg42ouqo̦,4-Y+u޴/nByfKu0,sK ڸtD&kEzh|Q {ڨHm5pe1y1&t;?r;1$=j7!CjA5DGCM`}Iwz?6,X)# Ʉv\;Ts&1QBxTT]#%F08F}"ny*z7YAY#L*U+{%a~.-b@>Sw0 N}weS*eJ'A(q:"*Gܷ jFQPܠݎEuG0U,@? rxR3b 3F1yǺܛ>ZԷcRYtwWVۮwh  M/O gZyƇeHkq<1oٲq1 zzE(Jy)r̽A+5iwt&e6$qje*~C8c|J!9?r(d܊W -X[@[L5ŋ=ښ^eC%Ӎ37'`k:ݞ% з.XӫdTR>pcQ|iϋUS9I fE,iny,$uz"]g4)G сfL>5K ˎIch~NLQWS8*$6OR hrDo;>GzҪwO:s8Rk >̻$W#%l!ìBV]-4t*߮:2=¬\ Cyv IҷsJkX&TX %,ٯ).DVsl[%jm6Yi0RqL@y۩=$*tlɍ1>XU'c/?| p~\IlJځ jq e~C|lf=qFۉ 5G S 3y(SFҟ#uDjDdx2y}˹& RB0`Ƴ'ߩUR-T]ιfp@ e[.QZ M&)Ripq' >mśBPYĔ4ׅ.#1nȯ z:5fPe<#S9 /b]$"9N1f 6=ڌKbl@<1 勂[Z IA HehY2Bsш $8O y6lT<ݴk#ɟE3WQJq|zdp@q6~za Nη ؛Σ-J6-}e bi^#`pisEfb1{zzD7كK]øi-07#]nVHŖjA4>YI~[ÏqE$3 %P)T~_MkUmCb 0 &SC唬8JX fOy<CTŹC[$|pf eŐq08cK[QOUww,sHemߍtJ L Z-Y|@|;F M⚛0RnIWg:GI\0faD)MT鼨yF+sN`Eѹyˊk^w36qQi gU2=2kKtFZIʨDNM'HhĜ+;&_,*b8S,mA:PɊ ii;eHĢY{7 v#ݾ#{hC_ϏVDu}nL(-bnC/K' ercc]K.QjyۅїSdrvDr bfVz/,v\Nm—TI+׫" Ȇqka ?Y)NIjJ}%vCDw4\=8itcՒG\L Ko㣌T8;&9i,6ysٸHSMn|㘬(cԑf WG8}{]OYQe>"`}ע0^]{4Bf*FTU[9Mfs>5H;_ AWv[A*Jb{8=Ʀ'J&h1e1}S}kpA\8%c;C$=I:'Ob7 ah}Z$ĕ{%~.mP<7/QI Qj=ăx*(N%\j\-0zjK%G[&Б.?g ~j_7W-|v3۽ :7;I-_:2:wkr[ R4"I:/ *: ~2EZ(p!uB!Gi46p Rj{?+67΄0 bMʱ)ƅ^fo.Z&'ָtuoƺ;m#iQfa9{D!k7V"ZP.AقcȺ_|P#FbLw욯b>` G9;ꁂy)Sng:>5V X'9cn?'[ђüWSY< v\m7]I{SPp攟FG.RQɪS쉢d7HfG qGAλ I :;=>~g2" ZDO Y"}ќ )sѮ׋f3H T3c$‹2JJB.8. jZNxޡNyC4O;''E@4n8ci:h׽h_4:p!ɊCV@gY齢ԋ %͘cg09j*"jUYuے>e݁6Kj rD۽&"6'Xt؂NA [k^`1{(sg`| gU vQrs,5ݣKߗ@SDD1ˆ|t9Y&ܣ"+{ii0w71+_.h˶T\3debpYU7ٶ؏gfL%KOQ͢Θ Wx< )t: Á@0Wf@sWp; τѯO+]w+8Aɖ}5;B"搳v8 G8[&IYɖAA3(Wv_9}~5W<[D*-O?; qZo h# =@va@G+mk ix ù~܊_I:DC Uid.K旼\|I/CB)޿Xwܶ"li iLw`|!t4A0aKc; }N}a yC"އ*P6w\KEjMWB psᝑUt5%a!5S[gac~,V ĸG۩3:DAx'/@I_7}.zy9u$s$6b •϶>`V dR,°Ly~hBzoW yMܴ>)8Z~A[%JEO /5v[՜i,{ 2&5q7G_r7,8nrHd&SinU =g_#kbrzcX7u;\]mOa73xB!BywN'(~ZpB}c)ak t0a%^]WOUO7Fi\3R"n໧np :=cUUBho2>x64Jޒqd)7=9e _pexxM`H֔&+]:2XoPBW8t׺7%i\ awhoRW9~Gzh.Y,TO#7Ԅ- -F+W# 0hfH!Urs{wKYUVyF]/p% iy{qFr$kJvZqX\i"W.pICC!@bׯsh,^3ٻ) _ֲ4L׉Q*߃EV3\Y-?aIF OIgTS/[&?@6]w]e"s%s{Fy~A3?aA}|U[޵1V.JT2*i 65x 禶צ 6T#Y*C<;c̠Xu7h6k-Nq"M;!&L_\ U{.3zr2ΏG q V={e{([#)y_ cq(PA^])0C]3*)cRjRCnmDoN ] I\1MzOoJYϪ8ޑ@Yh5;dJq{Wo@AE8?f6ݥ57˧3g_YŞ~q%VƲnn0Ni䂌7UidH$^5;a[xJ$1 p%Oʠ.\T N4f>PSDn>4ԭ@6 mSϪY dPYWwa9#.d3p* -Z JlXv-"<&a!mOa/%Y48>n2"q~igWlQXMbqc,ꌤ LAq=U<π-*kVCd{tEg2X8Q峮>+3zV@LꕫXԽ99IlM~&9TNճ m$'z\|]Eu1 B#Wo\{x^'ie@zc{;9ߡEіg J_tvpLjga0͆v,qY @,yD]فyJaLDN򘗎Iol:mFifW:۟L,df>IT(~ں|@d@h澴,rNhoq Eq޺rNq]AI'.MC nQ }V'j$g.n55^_ʚ2fú>HoԾ10z vbpzv̾eP).Ǻ}'֧825wuh >e]$8QP?}ֈW)#Tl -hƵd2TRFU$l@ f~}ZAV4GR)(;*Cg61U;t0I|} +bONXav<>-Vܘҹ'o充+?}GօUbѷuZ'V+_C DdtP^Qy;ш}{+)! & }(E5yp4e;tpG\EƜf6u$ ]t?=C,K8D>JFqϻԙNij6gA~լjS&?3+'m(T@7>cHpmSe븡Nw) W»vQlv;8= s|98[TE(ɋ?8BzO 'ES+ sHMop=H0.,z6$<%2\aCߖSC(2 h[1rbxX2^j? 468܏> 0:_r][ =H#L ! T2Kf|EC 5CvcV>ÀWSslK/Gءͱ#+X`zL*4!C$ 'b[1ʽJʱxYԄlyGRky A:ZY+:w}#5ͨ 3|[W&nʾ+V+_vZC,u!vDJޯTk:)X`BVӭTz&tCwZ1S2ST-d2\Ri:m)PF,gͲ8mR%q?Z~\*U\2}<ظ[8=)R'*9=GH߷+܋NAdҊfLm ۰ SΗ7nϣ\6o.^-ev6sPhγ⎀'/L*@0MnqPdFby_7,5[U˼S'd*9~q{;ߝ^ͨqGO){Dl>)vEG1> ƮBOqUH Pfɜs MpwSp 1-14ϳ0c 2Co\ƻ1m eQt_D/[Nn`΃ȀL0Wizkjb &k# is4 ʉ6ƿ?o|]}D2}*gM"6@ŧa M9sdZ5?D\~w14^#mv .2 e4OHSﹽ9J_Bi4l\BX̲aIC/ 69Rn)43ʌ+wB/_-cS`)[uчxxҋmM@Pc~HQDZeAMTH2s/+L>vϒke/ 4v"L~xV|c -6 !+x^ȷC = mVr "Jw8\Y5#205GO{ėgy_bma:LVo z ~ũhF8+b=oqf:3<eKQœJlȻNM5c+D뻴`V2[Ș; \s@຋eg'3ehm;rBl[y;u\Qt2" :Wi2 \ꓻn(hq{d_D>f(M1 3gVëS&*0fNT+<s=PϟܘN4Y#r/&N H#h&IE,4[;2%Dn$0f68 ]*U>DtNx%f=+u}? ~㑬W;0WȪ7DS5 ]KMO:^,{NC= @8qǯ]Vj?w.IMyO 4WZO*8LH&R1&%I}OO#u!.&-tTW`i/\SG/tBPb$N;@%Zq>dS%0N=rH ndx>^j3Iks[$gV7Ze+fvVH MItfndQ~8iC؆*z@edZWuV |_ԱctL<"4G `RQFFbJɒt kNwc1G!pT9]{uk- Jz!vtλ>3y4K*-F8P^?CBZvޒ6] $3oSfM s!z竤ڂ?6i-iK?5ᡊo^@Zz3PSܵJ!e#3,Zέg\tMA]n-[l\aj6 gX0~f@AES #5.ӔuAN<[DR`nj2%8e b$o8fM}85,I^Sw=zhob}[Lц9 Tijð!ZCl=om#+夒 3@e4ЯV"Bς, K?8 ojO`uόןYIMv,Bk%T#78*h 59FTt!הi(Y ,׀W_TaMΛ,mN-ƓxpYy1JR&"3jhS&Ÿ-k̙sJ2(Pd#~sS%6̮D RB]օFEE&T*PTfq"9%Rx@C,vZgHzcGю]RC1[_95]O 1:&ƁMPA]hfɶ弉d * N!z;,tcm q@YVo!yFvMeBxN~=^,Y#٣Kh5t'M1)˗oX.O mOU8KHypPN1^od|gr)p,u`РIxtg|=5mĢdv|tBp ѣ׮ +Q%,s| XINQ%1[~ #-cQVOSZgfA3@+Aa3T|?F60=@B567 ՅPc :3n4΢BaCm7,ݕ=ySAG-g.^_>]t7ּkڹ5Q#421-q?fhyty\ &&^da-Ԥ  m_îf{cNNS22M>8k+ Z~RQ^b ,^uko8sj'ˀE,XיGfWXT$Bvuh'vy WaSq7'F(4*޽u se|E\{~?vJO K[/ڒk *Q(Zsf[c}.ZոصRA4~g._ln cvT Wb1"U-SzΊ%7d0}3bKb'tsBT$ #s}0 6kk{ 2H ?Rڂ'D$2 Ma=16gRZl8;`+1kf8EP@mCoNojcR#ފJG,4Ov{R`6DH;5vkyi.MH(H'rE cA΄²X rp^Y}B^~>rӽMO{>6 Am5wk;*b7rvbq 1cqDI>+ofҸ? Ug]8]6^J?(np #ǹћ"@Y 9<׌щ|KͶu]^U.؄`L ̃aoSrHH79~>Guu215 y>,D`5¤Ż 0=<><[ͫM(1:Nj]ͣjΟP;5b!!Z@fv`_w nlx}vԆ)kK Ӿfl%`-1 E=<8 DY9ɏD]upICٽ$ٻ2vPC#EU{hBpVagz'ucrI0f7=+u_{Yvf.$huʞVȓSp{>8EL,]S%{dwC8^7/>S10lhovy7jlP/4FUȟGsH5Z`32uM5ٷ?e]3âJlΔƐA-oc, k3DW ;$+_ҟLf@y(qTaD+ڱˮހ~K+p뚃#qe=+a&JoxlǠ*-9}p~JBí헞ai>@V -yo-ؒ%΢AUZ$^cw\GW3"9fձ{ES &*c%5FCD"*۩Cx_"up@ @ɑz~G9yk%OE(I#x|7˟ Q`~!\WLm":nj9>[g,jZoicYq+Ϥ<7tg\y=jk]ϨCѻq[56Ekx34o #s:uE!y(E-3 ;Q!Qha"qfO'OL:h ];1]>Uf-Q)bJU.hdd &P^0ւ0fd-$fVp4_bI#)v1N a9ˡ9 jVGeB9exmdrZPs&k7K5hxIوik{{m-MTˆQ9 {$ǹU~X[ iBpiO6_#-zxw.Az1*Pa0_[/^¹{C֦jL<j/ +>ىyYvdJ!}iU- 7m9/>gvNnmWAָ!+V[Ѱ 8)T^315.Rmq~4.g'χO Qb d i܇ Z|oNr3WF'z6}"j0{%C;7[WAxnTS<0.W 7տ*n?W7+qM'_du^ 1♊糔/t[|IX٨y-\:v0XWC@JBj|n9%T^ZmaS\Ql1n`Ɛy5y!߂;4%k7U4(k٣|qC*jv6eY %{.zqsK}\S '5RM Pǿǔ%- J|J) r 0RjizK9Btt$2q%^lp={ywZDxKDލw<@NE4J6t1bѝ\(i`ˍURZQm]溟szj/))Y:"k?=`( B}'ըKgTff74_,.:H+jKU>?sy^SN6Fzp0j5fL8_Vԣ;w 9JXqH_Ug{2&{Rm(xP'r;}W|j0sk,`=@LWdquX<veƟLbLO𯶿/h]JP=]QFô}@HpdC &wعTP*pEltĚ ۚgk6|0pev7y-õhɄ46pDwĖ#sYl1ʌp~* * ?݉NFbn嫿w럥HƦ:u|kH?uj}1YHyYQI ',iz̯吉UZV~u;OÂz+@w5r']w, %(4z.Mw`uEـ=Mu-%ꡭ?aAHPyA&z)a5'͋:V0,Ad4 ]" eų GhjpAh|ΣKw9ߎޟ5>khEM=^"U1r$ ^uQWۑҹ KF=!wN%HkwUf0$ T7\/͔k@F >TDV:2bEaaGy7in%fhS](X'yjEO>ϫQžKTvIT؛T9b)r֫͡FکUMZ[;l{{d`F]=46{ij9d\_廟]X>CV Beǔt`KoVùr[a.p4:ku>vvT YkW-xnaOQZ>pg/웬-UCSw9KPq`װ#UE~qh$@mr#zKm@Tļyr}@c͍c+0S%*6HO']`B_aw[hEnSc cJtv5ϭZS.6/1Q.%f¼V}R\mgz;֓]]'t4B NŞA'Ym|q!E$+h#43V(K42LY. :?t`z@ݝŝXa+^ښ0J 4,RVzJx oOCj*!D#Kwe hƘH`MM)ԯJ.@`RHy}\{ڃ a~$3 ю$>sRs0̺|ߏ' u8_iܙn;$w&AR.҇@z֑1p*-ïXMEHs_>ڍ& 1AXQoT E}*^m;^(~o#<ƾWVK#R}JlHBc9 T'sd7 4Nw-8%tI Ԉ~dzbKvqW 晶-0%KP&cgEx~>WU'V% 1?ʹ~LB\ӞhlY{=g@5J%W4s,lbD*j$9ȧM6>ɥnfΌEPّ%y1(G73;{R6> B$[a3|ފBB89=rMt2?&m^)d/f,ĵ63 É7{[,2Jg| mN!,MXʒz x"+uMҷA;&SJ.v|}a'w4 :_cʼn }WdCw.)KaWjz(p Xg`3 ;aai0{)bmQrxfmAK=2vܮBؚ?h }=42e9|9º򣠓Gױ/ɫ otb$wK2rO|%z~߻V8@\-es@ n<կQ_WN&D_ "lezf&}q-sܿLg?ٍ;\R.Yn mǃQhQzm&h0/ua"r>(v zW-sHmo;D9%?-׏KR3BxJGOy2@6B6,Q7 yY*QqKcI@ӬlX+FsPh~uㄦ|-@ JXQ({nʸ ڼ(V,5+^p|F+vgyO1±BytHPSoϪutʧbNH;~ƍo褐vM—1}vwIG66KXen qAڝTJdr~3$({\ISDYB +>|D˥۝LVSzi1LM?oSy@<\NReA'ݿ9Σ{ )u)a( ߟP1(w-o\:վ;reDaw-hov(#KEkrq#/=q@EOz„(7o,ZhkY8tG!8޲ S{T.odz_-ϿW8\ ?!ӵ0NF21&J-3}YDGl_G0gwoI0]J ,Y H{vD :o<Û ز& Q5>?2p5Hx%boS)*iʍ7hTޠ9u8Lm%)89WˁES.x3M CHox1gFDxg}HiOiEITQ*ZK ,9H^ܠ#R"j *}e bPD 'uٜ|?CVT|V..e$~C! R#zCZ$HJ[m4@P"Ͱf0W`?(w{N6Pve!G"/anJWHkz|HKz pZuVT#En <_^s&^~h{3nr^ OF탐(4$K+.TJ:Kl} `YHP=[ loBs塛X,dYwI~̴IvG8M¿`EQgQykBzu*%tr6]`kŰ[I7 dq2BIP-"6 CG} isMZ  r1%`hƑ"3J:;q|G(0"P:mZz)=@tP/Tw+unuʸU Ĉc9 Ӟa}Yh!/t'ɧrZC٨%-B׳25[P0}VQ?%9~9l~4P[+YfM-eBN\)CZ'gr<hByb炖 ]/|:t /ii.6$W7y#Tv7ҮzJ>2+F$^f Ina-ΣXi&_757X<̼wϞN- S.?0rta^n'[Td7T-d٧=)}j7_T_s,(c?&_bi 9>J} Ƿ&HrFi`ǜ=l| ɀVP8zNpYFjwB-撿kzK3"Dc<8KT7ժU/hӓA/+6F#זGWhB9@;t5ngL/LgtR =4=+g) #ljfi&ރdڮ_܅](ٜ j)ܕ?R.7OK9g]SfVyW@a9Lz&l^vu$raWhx B!#jAE#UY{ ›6yǒv^ YLSUw14ܠ_$lRQ"]MZppR@*k9&'i I5VE.^+.y8(w5+LAIAcx됕s=W5D:%):,JΠ?TGBD)ڥg0`i*h('vs;p@S7K]0Ez Sٳ"zF^XI p7H|c$j;fe|SR')>{AuxmU2绔&-(y4]6x!j U@37/*ȺGrW%kV'N' 8\Rv>e:DEim /_W-M]f[ ΩMlSݝVUjGp vu"Ju!v#mY#z:M -Cl TGb쌓F~e O1894~?nl@Bk"ף׫tTU,7_{hwc%_>2URL +WT\p0Qh;+4΍:D4vUf)WWL^ڝ<³n+dCa5_8\Lyֲ͑.i snwV[Ki+Am=LvU2MUX,W& rmG1GK*H<R z"YCT]Q߳I` 3sghNr73p+W^Z#|&9FqJyQ99Ҥ3o#Ywp3֍eX5wGȠElQNٚ >n9xJ"jr|;p:3? AW=/=u"?I"V-5p@(<+@:jg.JU.nC zrLڣTeu㽺eK.V]AUk*ҡ+3 :y(2G!4;1>Oي/QIp?Nƌp_?ŧ` M>:Du!J" O]YEg1NSqfn B&F|Zn?gDysz$|%;^Ja<>5'sQޙ]c6C) b)oW 6yhņk)W˃sHbY{MC.ZP,3+kI9 [6zS +OAeOzl䅩Z pl,G2MY~O$6\ @WJJ {<LܚzUH?Y.:׿̜S}}!T UJb6|CQP.jJ CCo߸K涀|5tjUXezrZE*DTb_2䟗6$_YU5YG24wgы0$uW onּRcy[PUzϮ0&kDz fͱ q/NC4hɧ_ijŪ|Ό`\ko>ּ ћ:q퍊=6>K]ߍѿ[DA% 0#̀P 9%uj&1u]}}+!nN=T7sD }bA%\c#T11'C3K r#3Z\@@/o!{/1K$4*^L{a(j4*34Ѳq4 Zyuš =kp+. "Q~nhr ꩌ zW[ .hk;>qܧqeiؠzO/QtyBp$͌&3i`טsxNJ= W: v(@' g<7 ~VWSr8[M$9hm^{֌:mVWk6"n `R-UҲuZvH #!TS nhLk+\5H0{%K #\S2|~&'MbS |j7NK<1=hmuEGSO"@yё59zwl*-XU*FcD;M<}}\ay5@EE=,=HPX a݂iРQ`lC;k88fiԦ,@ ҖuG.D4"|]@/csuYbfmŸ!ǂ2W ֞E&B7$qA^i\KXyQ,EPdsI;*9WԾҨ.rLk[c,Lǘ[BŹ8+B#Eiix N_.2R=E°N;/R -:h(O5&q'oKJbhd;:՛ɓ&TR ]F{E/bb^:Pc>RbG Lp:\0`%Fh%݁v/x%%:IӖv#US<ˮ;(bVcٯ$qPNZ/8^ӢP{IQlި'ؾVֈE -9WoKIr%Oi2Hhuz8?Hz%-tSnSbb7ݳ"?<`Q6$UcL \*N {wd ت1dO /{ã _jJ)tk$iɿ>9!}|*u vߤ{[Q}uD{AQtpOY^&-5ۯ NKStG4XUH$kWTx&CaYFTyQ BL'-vqv{y`f  9mk3{"EQ~ʓc}ZI8R&*bR%\ee( >w?ɬi9Sn>:K[1+D|V?'ZnI}p>+v"S;  S7YyC}?IHpZK9̔'sn@wI!!<Ka>\8l9"p7\C$xͺU~DAU  LLQ'xV.@f88"Jtsŷ׀aUy\Q$eZ{+宱 kʵ>^)+5?rk8 oa9p1gP¶yCM>Q*3hX|RiFExd钫ⵢ _Y39T6dfH:gQE#H(ͣ{5 ]+ /hڊNwzo. _)ئi38mY2ne*H+|D+s͎|td<.ȈL_qwIHyR+B"g  b&Iy[ui^-Z"(;ۛ e|s6Ya&%h[|\N%ALlU^ mhv_S?92X|l&Jk/  ~:Tr!RģcAFbM{##PqUUW? ֑c $4x#KyT:_f:+F 7{以 YG&^LGM#k!2tAx~uتCǸv?lHB׋(8tMRε{p쉁ҷ͢Xj?g|n& eE>DM3Ъ?D)via[Aw I2;J*{2UCW] ./*WnvvڂBIS1e@lU!wC'Zhn/x-὜bRm&nZ4vTi!NM 򾒕1NW6c +>E&t^єٲ|b? } Qˋ9,}Tc(ॢ xmsDk^Tp=1 .Г,+%9+=h3a0ٝ@,}\[=rxkJnqaE9"kn!jEx+G>CSTئ@73v;>ѳlfHC0+"ٛ =}F2Ƕ"Ŗ|dha;lDڪ^Z,!O5Ԫ 5j {iѡΓ!ۍ + 'm)m 2>P>/.XMMV6> Pcg|}ǵZYJa? H&ElfYV?'ϰygAdptfzwxL ]31(fR/z,P[G~9%m|rDD7}Mx%idtFE~s"IHԖ7`9L U%o0UT5̓SN_=>Ck ̞NJd9UUԐx1d!ڑN*uMEqV5g7mwNClo#-P{u"צ{!WTA{K&DDO-dS]?md"u՞Ud&]2klkE׾|&~r} w"-{' lՍE6Lwo5jYq8֕ =מ3Q3=de*3;UE*Gml{dV{Pv7bBsd1̕$~Eka91~W(ohц1hQBWL-M0hGifŋev7^/7)W{}ҿ߳^ZR G.$cg"%?F]Ε]ޮS޷# `ۯt`A*(ߎ*iv>" 0fH`6SpEl:&Ij@G+!XhcTzh.=tuRٵj4b|k1^,:hlBs w4J`k>iqsC$R(!|c(0ܭ{9舮'iVi= -?h8s C3-k#q1hUPЧPYϔvOuèwd=-+!EacoZjZjKZS|5OM|tOEwzbM'ss'\^$ND!A~1]-ȝbLp@;2(z2D;"Kqu?VF$EBt%gwL'5dE~%VqȱR`oйLpr۾x8lr'fY NT(¿+,b4S~n݈via=LҡsCzyy#EfHO^ؘ[̓vj;LmD=6A EDLjְ82;HA63PaZ5߃=8S x'g;yp;oJ)s x͞rwA]|d,F0ɩ`K=aH*3As"3g' b_ l ,-2UZW&n_z"Oebb2%32j 9\WѺ0=Zu[;1-5K+1?R#X*q{!r' 4!LLSvU>&}a|bAE'gb>@s@[drDCLGKPuB^`Ign340o-uAva_JZ395fqXGQƎ͂A d8j`$.Q66ƌ뀚H-*aU+7i%YKm!ߕf EY =&,5d̟CUNP.R(6<(LbiP]"Jc_ vv.й@^AˊJӅblӼmW7%^XE Sx:b&*i!%4f ݹm¯Poy !d Gxo,ikk?歇ʇ'B̊dh9/hnYTt)!8W!ԋێA?gI1kh}<Ǯ[ˬo5.| B$Ӕ~C!H>*wۗ۫&7 $/io)TK)d*LtjPWp (9k-߰p+[5D#?GJQ jpSCL_=xCk1z7vҐ8JiW x {nFԒqI_Fbt]9rTH׈il٦Wm|0hGBT0'D5nƠhI>vқ Nhy5.ԃ֒79:RjfqGgc7BFt=1s HbGQЪ@CoV3MpFYHn/5E\!lـ#AoU [Kn::|&>ī7la}Sa|CWS2?ӶFgc동|Dw~2V\$fNo<3Yk}mf;c/M gq4M+^9|."͗1.F6ʖ ё1VVŘ%Vʶx~KjxyE]"˭;i#4+(1>pjOʭ /6 qEfA9ﰚm TcO>o.`?ZEUyAձn?I`%X8;M9D#(tN]6LYf ew[ŗT0l -Q/B~єݚG&bMFwJf.(uՊ:x gjKJ!(ux4Tbퟘv;2̽Wd*􉤗kQΦhi(i',C;OϯZx #QU잎wlK3:4TGM(53 \(Tip>;irI%$ltWxn7BiXvB+i;qD.y=3"",G-X{O}(t= 6p|bsi`g*%`+ Kc(v&H Juwbf !-]) beɌy HP=1/d&IlUޞ><oE=oP') <^VF/@!S'5c%}[rgꅗUXZ׈[eI3#A;ᦾE&:  \3OCrȭYIՎL!t1,WiNWˉ'7"$hɢԮ~X g:f>%_>tRX9ĘYX'91ʲb˗O;lnX9]b2bn*It6r)W x$0-hF0̈́`m: SGOz3S*MX6F5S钓xeo5 Ӄ4/'kd!C(%uLFtSyywǬG eP`l*vEX\35e Ô-!5H cm59P 3kF?"zhs8eHu_`ExNG S]xQc E. '{հzMX5i=S)saG$zLܱ]`@<{zJ%P `Nܾl.WkÌ$uݱ,}?isZ }SpL.QLcF=Rs6`X%C&?<)Ai9[ A+lZQ@¨u R(8 x#/]ըbX$(> #9\M`h='EOuxC1k=ԇuVjQ8/*Gb6] woE7c=h9oÓGoN5̃OUįvg$1VEVˤMs"XpF%ڜaGR !?]!n_*t,*_+j93. 3oѦV9B;6RF*7.<=Y:[NqqfS\1ʣ "l+5mU |$" M-su9OuۊZhn"vcg" 07ҼZ0+L ?m WnUnʭ(.DdEɮu) %QZm@I~P씶x(B‰bZ{ LML~g/ A*SK/ Sc@;'X/}AX>e,c_S8\tIk]qWA6R}黛@/,մX0h_"QXaNli3;( lƽPkn)bU&yȱI^1QdYC}劼u`ZTiZ"ܬg+>G%O6A,)\).ՠQZ~ZcY8xס)^tYU٭ qN.T&:^9;`0M¼^g/6``J.4mwitͶk\.Gqrľpr|h=Bıf&o:ߗPۉ)ey?C҂˚$.ɒ#g#4 Lg,XutYI]/ϛgXG4kѕ,!<G6 tvī݋ /aDF<B{Fuǀ{y)CUi6tSb\EnB0ϝQ)luW62j_Z 6!pf>pya DN~O*wc2Nc|6ޯ%3Y7'Gx^yrSd<"uȮjQV:9u\ ?p<,Sg'MWVe<7㽵>X'R48~o˪_uWګn&~]Mrq/\!{BTb; D:,4 9i_xt餾8mJï@Fq?3uL{N D ;)OavO@#w'v就MSmd6ӑmˡ*VEI3 tf{`7mQ/ ׺Ѫgt֐7XVo 罦3~!Z`O_Ϝ"XqfN?sg:< TA }: :V7mЎj wj6n$O '-vW<ώ3c/*iU 烀v\.E)MH%% Mˎac )׈np>1,Izy>nY~[kgt{70bje.gtzilU޿MKglʥcֲբ:-F$Dr|A;F^6]>ׇ! N~oF\_'#蘚^n V@ %caV<ٚ1kijZ3N&K۰LN4^*~),}jg v&;zP,J1) c%8G]f#&DR#tm%R(ޜYX1 [FV[οK؀j^3qȄͶD L"ݕ\&Y / &\.,K*޺CkH.t :6фA)(KT)"D@Yp}TEYG% !+1-2 Juvq@KnAd>I׬ j, QUz؅98֯#åk ^VwmSӬ\әW5d!aʢxGuuE[z՚\UnFo"6+%1evP1}yk/)lK@R/7,Wj*D͎ ' '_P X5}E øË2~HdW`~s 0w:Rn N3COxl;e&($7-F{p\i_5e?s<߉5^ӊf|&FUA#@rm4ylH/JP]iBY0N?tOUΓ<ċz4Y8N-wd W MamT'0P`Tkz7yf06RwG O=l{4}͛iÿ7x׎/a]]zhvl]3.KU "pϼuWa}Y 1/W/rֻ[C"9<Fwoz~9:*f;y%57!#^* (}sFy>byH.y聽=գ|qr)9,!$ޠ!aWd'4*TLY[,&%0˩she - &d0Nr"V=Y`[}-=5 ^H-I޷Mv[wPx e|Y/ @HΚ8(p%O]\;߹3vg |~CV˅@f7ݲ6Y:LqIg=0NĶ_+:ezFg uYP١~rnc`"©/ 3S8⎉c#]crHi`ܙhAf99Ua.O=!VJS#NE FVK3GPdԴ4ҁKbu ΨBr=tT1SI²pADZ8S)]У7J~@&-3FFr[&C Ĵ؟FK~.&{GJ˱v]W pfZ{;S$&7){OV ]w}DRa!r\"Lմa䮀|A@ͨ-4hF |w6c(;̄nʓLگƘʏ .aԮ0,wayAeC<ԔwC~]Yʋ 4ڊЅC8GpR\FQѡ:d7,)zQV-+ Cq`oZٮ4ͷܘCh*oL^Q<q3W)&D/hZμ 1Ẍ́B0蓗::<c?;sP U,Vvǯ¿KK$>uToQh|+򯖠H@t!2I,n~lkX 6IT`bcΌ*E4]By6u*6\F K5o5Î~ :T|ljrȳe4̞eJLMi5Il4@">{]Avi/Fw !n{W#%eC/=fQH4KԇROմ m rRq -XB^q3#LIg&AbZ<Ǝ:;I^^AkC鋍ÐUE\ckv>iD;ggf s.Rns66pI 6^R>F&iT]ψikO*Flan%yڽX5G_-BXAϠ2.+K/sľ+޻;r} @#^pE!4y#ǰwp'ǡ ?c0I#pGWcUyׁ-4,.J -_XJ5rl_.xE}.㤊:ǶGoǩSUj#2Jq};`7R[S9F}-Vxu4:X`#FxWK?eh82{m4#g3}r>S8O$աw_Au`t،AӁYM;乘1tMaCt% ܆tֺ_3օ2bx@f;dhJe*o4>gGv1U&%{̹d5E%'{mx!KEVӯv_~مMų0=vy9R`ÓkazrȟFU<# qA1zWu!~L`n׷̡A(vn #W|^xP+|XS bl (!*ۙ$dm )#޸eL;G3I4Z 9Hjӝ499߽l$b@=B{%IiԔ(qC'?yd,E:68*%"TݩD쑆Ccۈ4:-2f>rRg)`ը[%Hu!1,{>>HB5wM.)Zyɩ9C {TLa. si;voe U8KXW: H=ඈ$'0 C%lEjG)7gbǙmR!\nP^7#@Hh^o]$J2 DQi|[1bp*c&V:vF;^j%|-e"zaC.@5o9cP; A8Zԃ#u\@e vzZçe JSGض8L<θD!Pj"y~#g&$n5l B?8׀A-wMmPxOugjsah'⟒1d d2l7I\(]F+&.<ދa#M45+#oY_~H(.tn6]w_usZ` ԹZIԲQwpY€rI v؆}d#78"FM7 p EE1;dkO2d&vfMLPq\UD*8#j2a`E?ٛ!\0|g9&[}Y_+St9%`T1IwֻP@e6v-+KJLeP `Qml;dCY]oIJƹvVoz+ޥvP-^yVؗ-Oh@UeCYۃ[P 0o 3ZAd@@Ʈک?id 6{iOm -Ԯ[R;""_>KQR (|J+=uoOAȖXǢdUUۂ6M%s^α8>ڕS4-Fń;*RL% x>Jzqntu#_mKG1G+Llz'XFmݐAy2"I{%)97ok 浮P޹ަCPu&`W0;r5̍k*!lܭ1Ҷ Sh tM~FO0cA8}&z-vE^K/BI-QPSa5ycIHA50C1p130'Tm@di_6S"#$?ko i8U&P»wek M^gy[N[/pL,zeU)tnivz&PjW7#[D7 m7!@"O q`ЀK^ݏFE\{6]29,/RUK?ڤ<~"9I7O $[dwBZKG|^ U8К  g0<Qc2896O^Q2| K#L;^Y[(7)zDcBVX[`| >m6[aE8tTˬwn[<گF-Wvf? Q@+sj L"lmaҍF܆br*l`?+1Q)팏 d3?V,-Ut*o7HR˼dt X + -阨wy+_)x Κv^\K&vSH௰BqbR k I@vV="WN"(bK@0R;wix@YJ9rqp5.]<VjӞQ;Cς`uؘA8pUR!,] i XajH(GcpS!=}_*#ʪkIy'kCpK`wYi˝8κ;bFMlS.BMA ]ʩɴ(P`|SMfTr~'Ȗ*?dȞOz"FBhԿqTPQ`EQ~B6y1iN'w{*OɟQx/|wjX~8JgdaJߌ;8'eG\ p) gԾq -ʐKC?Q_}܋sblw6I6qa@Vw!:rU 'D~ O14A`c ZEV60vDEd:ml3pz,|T}ZYxgP!ڇFAp ~:_#h*D%^ކvfȢqOfk0{Emݲ>7]XT OÔʌK9~~ph@QQf} Ok{4OFV:?zd+C VYsU$o]3Ӈ8xII: D$vNcR;Q(䤨T3o tx՚^t0:B9ѠNMGѡ{~"w&Is%5[v͆bYx~#. y]mTto1pR |m3} bSK2פ7'fДVrW|k&gPa9K i2[,y;/xLr|=nNF맵D`U&B-[EV٧ 7G|_/MfL|ܬ}83AV OOwؤժWr$&Qc܈Ԫ?сmz<$o6塑ϟccu-XJi}߱ #bu7њ54 )z<0&JkV/!*^wmqxfIeEKsPO {7ZFkl ۢxrMPt򭷓6^ivfKH2U3-$Jd ʓBL{AƮ8di#84B 7 B=&7RAC+p|\ '潸*]CFZj".ٸKHFr+:d#;L_omR@㓫Ej~vZ_]vu (]AcJB7l,Y9jd14-4ν_)M~9߱RZ0/@ n2 IcTrD>RU]\uR=L "p=F9yospPwWkNik$~g6ɯXLJГ5R.v_:khE@_G|c OZˆ6ڠ~xuz<(!kii!D _0u 5Șq|r[Y@]򺫬~k󌣯8&po(),} Pqe2-_Eo ;Puz$X|3p7}L[;BbkKoEJ+uo꽚9=Hni[ L$O)*^P2XsgM^+9Rc pjE!?wA&tk{(^KGc^sj^s _MΏQ 2?R0vԵ8[/)Nָ'r0O.ɒc"+&I9ݶϭDΔ K's1ޞmEgwSoA>򳱻%N[߶@ 0B{?jh^8D)dQ@n.&7zN!Sbǝy?GvkфX b[ݼ3Toޞ4 +3#0^S5mX4Y\^K ^x *'D\Vkh%,96йζ-ŔC̟+(Jr5 o]œHБ%Nb%"r`*:ylu҅'9rkZ-$>KA/Zb05%0$0AZ\A\;4VsK=iزSIpE{"Y0Ift hf %d:2˺ Q|DǤ(-0`0Uu_k*0%b]G%7h\F^Ib߻r 8xD =Ѩ܋TѰ_ĻhCN(_(i7gPQ,/j~ G(q6:$ %$>^"@MlĔ3=j \M8.d90dDO`7;W*e ؓtͰjb"Q1 Ԥd;I&D98R耚K$tG^4@zD>x;J(JJ_DO%~ℯ?'.x ;zit3!~e6P'vcq͞0緄OFkbJ嶒]mpR[*j!JwdziDnfWU"ri?`n?`Cx‰sjr3nG؁?XU}*: {K ә2 M4@VI2ct<1u\`b&=bIT1B\W9,M( @TQ1DFKAdQ,4{yyFbЃk:͕`z#u wC9W:phLvQL h\}&ޓDsMPa@xULz}[N ѓ D/?H/R&Φ$4RaigL^v!]V#))yY^-IDI?3byX "cODx_sCֲd2*ɋ /W,8,4*\i 9M$0E-$|4g1Z+79a{9ϿA>A86֝?(恛7p*7ABŚ{՗6>~foi_b1AMg=tkIIV8K̰d0Wxv Aʾ0C6>6*&{EgΓ' gKe>I_50, i[ϮPek0pQH+('~*h?ى]~!1TXVF<ȣ|ؿB K2]F2('F߻md<@FQ.30䋓16Sj{D~.$|F4ma] zݫBq/ n0'{ˏp+ԑ n[/>01%>*"/RBVY/]Ӻ5zKA"*"/'{Z )yh # ^TywgCY}UK|mXhy9!L"Fn7`zM^䒛i;E &d ,|cĦ"l~lHכHŗ-C ,cp V JsHT1zs쮤55tEV{NG_ 'H9LA w,O@@@luC2IB1Op*< Udn7h )0l;/A4HАX_BBS܆1״k*[T}P0d{ LA˓RVa@D|%ޯJ+cRENǬ" }J5Re2ȁgѠ?Aޅw9ž>JVruԒz<>>,ό#A1Kt 3qL Lh-{,VY32>{NFC\GBIqUt隚UE[DJMbZsC2|ǣ➥a!p{BoýFtJqT=mlzeWVY[ ^t/;˥X-/Ϣd,Igke^^٩c(j_eO(GYXrxe']MAgQ#kCBMQAvy ]03gPّT`{%4H?Z(姜 =='Qm2G_~zYf9;l-䐱x$ qm380%"2ވۇ0AA|I.W>U9 -ŝCTʭ5ȑ!k:%uYcJ$[3,NxWHC '-{M~v3v< ,q_lQYxGwm쮭 ӛtjnV 5- Uء;J"%i(ƠwLLI;!}XBgbp+lCd^ -~K^ 1:YL}=Yt2ix0U 4 b,>Ğds>s6p٢H=kQ.x(,[yؙ$8 r6С˩#?pqodaXHߓM`k7}e玆Wz$z{Pn"~CVϺ{+UB2HG?J g-FolgfBw =US ]#Ր%ܸ@/OTl`IRn_XЕԏmW9.2sZ7d5MY-mJPa)CCHjٿtwGƎ=t.|x! jQPx'n Z:Pa6I4Ead0 Lfd) 0]x 2Y)Yx6FC-2D53IX|j+|]L}X4Zo(dp^urvtcOOq#]*rN BRVŪe6u59\KjK[[0 ZjSeoՆۦjle ]yb]M4lT뇐#SVqjP*4pDtV w. b`dTEPu6#w ̸_ at =ta c#@ߨ4+T8тT}9d~Au} f>bt15`pT~drG5Iht^^\ؠ;Id0t"H W.͞@aئB3-v>}&Ƥj8IL[5?;f?G gڸƥ ^OQ,cz°hT5GAFJ.@qub7̅>(a >U,g)jwǦoiHe\ l孮à$6>G riYguy0I7J/|;vY{}:tI^.nkbDQ+ KO%X&v=,MBd;M€ƪ3ѤO3J16fZ&5B+k@}ͪ}_$ot2ҢMI` ;B-[B=7eQ0N:x! ɪ:1SH lQjL: zxu^Nx[pcV:3z`ypEu)D/{20#/J9JPT5հDZxE*MVhulQ4l/  N]u:79ecGYՆko-'~]dG$[͸7v17NJ/0:K: 'Q?U+-_MN -T:h~>HyVd1L$IW\sh&?R]Ԩ'eS&BTRzq -`[wKpK,M3)9>UN)C~*E{Mg 8IN]&6*%%KZ1ІLr D!f}vS TnRք%.^TwkIDcv~4#@%;ӑΑthĂ B@-r`(L~ܿO2zeR)_';aY⥙~R J 33UjSN$Ҝ BABpc;-i2EFYb1[Z@oxAV]ܔ; pδ0 >D|82OyfCי&\pA u'^&Frڠ YRKuvt,`#bi?S+kGHhAc"ɬf-.)ϼN \"SXR.K|Dldkr%d~uz11c\O";N5EaN8O _XoNmwi#T:8zzX\ىaX ~0E/%"4Uoғ.770pN WI8&Yk% AY \+9+Z$`eo?菦?XԎgLdB/v/7DeP g>9H8c| mlh%x8}+PLBh<{5eb-"I[-^Yㄊ.N ĶB@Lt)P5kG+wMv0A&٩>*q"@wJ\}r̄wC&"/eGyzǔx@E#Vf <{kJoy`f`IFб4$oaB]1\dWАWNQZi@ ϒb{SԥIJmubњM;wT6S{bbyBm䚦"7-h9ĭu`*\ͯ3/cn ~N1"&o>'uo 5yJHp$nQ+̿ǚNSVk|h6RtVQj1wP F_ڹ9*KWޝlxz<9- 4sԩAkSJp.Њ^T^Kn_Ŭ1P6LI)s=c9$x#bIa_$׌7\rwk#' gȤam>U5K֛R=k!Gv18 7?/sK&AH~gtµ\(;f^ЌG@ǎ;,p{~L CP<}ω Wqm~v*wc K"y]ǹo %/VĿo{%YwCE9MO\*lٿ'Ō{{ʁxk̊AK`7%2vO/"ˋԾF-~0R٦TM7rkג݋aPtcq\PT [82t9.,BTkXy V|eT*-.!2Ҏx3qk,%crT19omGiL>z} ;d,d#0䳢F/#3EORȗJNe\)nU4 74_2Lۂb|U. )*c"v8KiJH5E0qRYO [=!oʒ9e@D}\8X"Y-x1)ybY^ZodP\]+!zV1? s@u>ߕ$Ks%/uji9%rS٨C=FD!] ]0>4^Qvmzi&M8ICl d?gfh#Wm''N4+ւ@nhq`f'-V)'%/֋E2Ox{D t'BOzuW\:!?E-*"yIu#cNMA-]{`D;&`zNhD/{q^٩bQN78?%n1 GFENaNbVD@K+;cݹ+wȁX #ImA|z1g.AمuJ`"$շA,7S:Q%+;XMzPi, =ϸQ Pr!2#~k%asoЌ~Ͱ7kQV>>-Sۛެ TPõQw9 ({jwͯ*WDF̉*Eё3.)46=a6(-]jFjunƒSa % ^bDD*WPS2ZNe$KN{H;u<#YCa]f/y& b&3[Ö0 bAjQkD®VJWx m+ITQ4ݴVvVO3vCҲ Y>-BNEGJj ~T0݃[A[%nдBC+0F rȶo2 YR{ck?sQά֦$%^M/oNl:Q/gi5F^&b#ﮐҒ]!(=} ^h{a_2S|y UL]ԕ ^T$3j:d%&&m%*לF3{~iKH, bЍ}8xދ3*#>[  FKx4KHa7\l`trUc׀n&ĝ&[E=@WYSϸ42/ "'6S,hǏ:&KATN,&CϦ9"Pީeh];Z HVJf/„e~ \,"@-Cڦ)[*^U-'YS ƬɴWBWwl~"<ΰ z+ed1onLs]U-b{*Bvt[w)5qȭ+LJkX%nI8,=kB1n>~I~cHLʌ=)je)|aЋ܏TP۩R;M?ayOᨔ҂ %{`ֱTԑ_zOkph+6_"~_b!D0 ߜ&G%p)lՏASѳtbAAV(<{A[KVdF{xk9S%_S5hoz.hhVם-,К V3$0TNsQ% Ep>)}g fx/͑c9eR|QGKlU \s _[q70Q[P5,i>PrK81Wf?k8/YQ>e; ] LLc*rj/R@t9OvMlÁ~ɱUe:x^9l[{S\'%h4w[.'_6̪ʒBU֫bJ5ߩm,Пj @Au0~cmkk5- ʹ [lIH'WD+jƶ9wkj:/pJ =M5RV)cfP*k p@DٯCv*دoNQ>E}{-~=v +;n,aiGn"m!PbhN, VeAk/OW*z9PjOy5IC Z};kδ`=ı҂ ~II.qK?y Ծnmx9F5;!>-}Y4ꂩj 6['6 jWH[Q/,;bvܾN<|+~B띡]פ)*ЃTyF$VoV e ; -F]@>Jp+OW٪` Wo%{4;Nj|aQ]_Qda@b_B? LOF55Kv`bKrOW15m} dl ڀ֦# fTrV\ȸ"uUw&.R{ ^Nzf>ܙ[.ߘK~-kmT[u2[lO|<߷{gF`Ro]A/.0anr޺w[E3 !Z`\fӅ@٨Mpכ()BŰ(,S"k˔L5%jD IDnt~5<GA"U~ B^fz] ݓc6R)mz)pͭvª[UhE5gFR&"n[J3zf?ۏ+oӆ5UMjIU-m\!VfJztSZ-ϦAp3p xy&B껚2Tktv ca%Sp`Ql5攆@ɻ8b*kf{4J[Fq#yIK{#8B29LaNx.*; ıs("zDCu2Mކ.IPwԦ>ab>&Ei&2~Hi!I~>{[0p=OiY n!Cw5Z|e`jE8ql3x-2=(9Ƞbt)j__iGl!P+1L 9|<\}Op-^ix=dYb=>_SnILaF2 6Pꗀ"*¸ b]]C`ո.u}mrLwZX<}Y˟/xⳙ`j ɚGn`^)mŻEN+:SFٹfⒾ'F%MBW }$/X.=cVeA:,ONV6;hGLtyU!<6ަ-m`*JZsOu;܆v@糈J=sK{,OCzcWEd.!#%=Y$$utd1|[hH2AE)N"Vn/G[LeJF XJ!?o( ?/dbd9] |(S/昇*h #x@1OVA3 3D̈́\vpBL,uٚKg*p O٨eF{VMWuNt_4R\E`$\+1rVen<{AC]!h.?$x4,I$Z䌔*5Z'~-",iX&FM@`-v+/=xŧdbǎCAUj &BsVEW{6}e̴pG7#DE>Os%w+jCH|UJuп%m/ZlmOyV3il/J4Q6O4>U:yK g3:qQCxGF dh4_9Gدe8R8?[HEgc#jf,7׊J\Ut |i_jņ`cҀTf7SfqC@Ȇv]OVG\;!lS(\kBRV2{\})?Vj~V#TzD|߈״Ikx B-O;qHȶ,n2&,:޲X_8'$@k!ک5&yrP&lO&B.0JL<k@TɦjW`GUlVaJ"N 5%?VTq+Wi1ֶPi("Vc{I/)WZ-OF?h|zDk]xm>EDP|^kD9X%:Rzo:óVTݚ&q:0),:kcioA Ɖ_T9`1´ YL< ?cB?_U|/{W {B;]7oQf'M"SV,?>=0żo~l u' mlm5;88ǻ]}QW;Ȓֵ@7{N+d "ʓc#.{gh! d ^?1Rx9^Ot[l"De(,cb lyJƳ]wFq˅;Qަ&ǫ#I^XN@-oEۉ  5frf!P6J0P&!h irMg98Y󳊟xZq!T>/$ɩ^6W;{c7YoI pEnSt̞/b0VsmGeQɼ$ q?WZsk=Z/>^Vvov ,].zljG;6LYa/N<_5釆=\ԩTMu^*(C.5s)Y*dxFF04? Ɣ/,c 7RRi!dH7q_>ϘC 8~?xw&@a|OdF OiǴ"lJ 6OꛈzaX+p wtoEz98g|l# wэ3O|WU[* W,yעjB&wAdo +Ϫ(Gmt=jvgA!gBFm`N\N?^rL,{עds!)yUý*)! j6: تD!rھ_dE6^1~C&0Y6M_Z~#A} ̙.)`e ^w V}}lTڐ^,LYMvVNP,BqHgaY] FS`_.AȊ,5tGiS7WzJ0JthGUկ'[x-ڷ*|^^ k ʸ=akTACqdV m/j;#8ҠAFfP;˞1ɶ/*K9F=+TDs2u6Wʀf؋Ų9Ck7-KLp J{2' Xx]JGM_ Ok4%~U*/ I]7VFF6{@Ƹ5()BOl?M"ó8>:\6O(h_Rwa'dovD'$XP"Q4C=Vs#hmEW&]Z3owQn;P^p&GT-IlIHYI=!WUJɱ'Zqk8r@+!̠9LLKi+, q/"Or<25s\:B# @a%[}na|u{wv%i XN*Mʇg> t)cFLjE>58= t,׎cyEM̞-t9F; +{Pg EbvkF&93cȐ"7 ]ֵUk̑d˫RWUVC8x_%}˟m\/yAd ,bPutKhTV5vc(y8:3 (0ze(-QLFk W@20MP u ~"j(=N6PX^-hc~[ M{s(KC+h.Ԧ^2 edT C1k/ ISQ3C;oLx8*Od_qrj/@t[EQ@8pdqdI лIoźlFݕ3vav1@'Cjϵ4c>gsQu6z_;gK `a0ʯۊQCMG6wV:w;qsH^*.OqJ=РC][+P1b2j5u8R9:vmvYΒRєhCx\ujIPaʙ1TPo9b`Xf/ə.anդyQ"fbj[`]C~uw>ht/^Ï^[ .n$1~6ZiE>m!F_ ȫaڝ7$ w3㰂Ê 2!%dm~&ФbztN,)EM-:88Eu>QBO^@>Iq!^N>A;ǽg {Yv4M)$߿rX2t;OL,C5ĕ)5^bQg6LᎊE:rƂG"}!(ff0x'3g+v<nTjlEJw5@-*M;. js<9qE= e frr$.N8G GU<'6>W5 ;+"+}N80SM*a }Nl`[`=C/棊Mز@dm&KI6vt[GȚu+y,ogI9 oCNɟ Q=;"k'ۯ5_n$Ԃ؟lܑ`'TՈuq) 504KgAYHqUok6LXvKLM n<5m7O(a#jɂۚA"㫱EAf1_"̜Z5Oj%nmA D8O*?xҝNi{T_ Cq `W q Smb1:>hW[a -0VhV3CZИcƧ(J@3wSY~47 4g'wS >}" ND+ȮE Jh1\taD3z n) xocl$\s$ Glt{70^TMq"FX5# VlOW}ǀlG]p\WA_\%ZpY\Ezɩ>Lq群B9*#7]I \'qi>IxL廠gK2_D{e JH?SuSq_儭X#tb]fӀ*G(A*3< ӾtaNop]a(y桪Rt9n.o8I=՞RI~3B?ΡuYpaYo)pnY3?nxѡ?R Ѥ0x'9K,a;4hzV򽱈$ QR\IDUzv]SCh0dg/rZ|G8_{:ED,zn)oxw*)7`ƋN-9UWy/ߔpM^9_ 7:I~fHRAvNNh[::a.=i[RN-K̿vɧY)☽[>Բb= UnE$(uLԗ :$@Q;TjX e"tНceTs48f+84. qf؟a -!Vf0i b@u$UZXޔṼYJs5늈|,nC+> g00*J!Mb^^b5稱RCiwbz>uIF׌AVb6MD<`QV07 ٖ22fj3N&虒 ɭq~J.P8GS *Uz}{h +4=݀*z(c{eUx0N8,^ǿju~Жg9!Eȓε_o(а"$#DGf&%[L = UP:u$js5lh1/VZ*B`e嶷4Vҹd5h*TH R{D6,)+W͇ہo3y#nC )*wI-9nCo>VAcHVQ\ *5,% pT4qh_,Ftw |ZhCPy+[Կ>.MT5pöR![> X^7J G?֜,4_:u5k _0Gcl8&fm̗̯FvYO7XĊoigJT+:%LgrkzK{ߣh8YZSi#JOUPܞItj<ȿ{3qK:Ѥ$\sߢVmsbORxXy_yba'}q\HCrbNtWk>fE)u #>Nq#^B>m-h`:VyrFOl#0]#__]1}G35e(EUgNo2E pU+~F,:bAyCA? ͮ& @:{BԔGH<ȦoE-\BD䒜!f%h1d)~`N>BP(O%081$@e'Z\Z`%aET İ_Da2hp@벤MC@,Z{0PRgbΞFj>ôhg>T+g@CrӧIՕDBL%c*MzY0z{д`Y='( {xD#@( e2"46zL _~Zc(7<%1sxBjU55DIR#Qa*֏s፩b;2`ɂHi&N <! ƍ;^Drx*{%CRU*^Kq=FwGٗT%MɑTG<:knP=?f,57__0}d( IՇw?7B wq&72~W>eq _M{MD'@gIbjten:IaK2#KЄUѦ ,i` ǧ?K<^#PdS|.'\xA`$x*e:e8Ο ggazmeEq}s^UW@WQ|~,fVy EluSɘ ߯HZ(5hiTTvFdSϲ8ЩN֦G m59?l~bx_qT~ 9ܣfL=-aD|` `+̨ɁHt&G-[ :%qR8p7疆ikÏJ]3y4j7&aj:PESYyOHW{S[% Jg+UZH8[o_ra 8ۈG22zKcKyzYMSl8aTKpb2Qk ;ko"ys_?c],EjZU"Lpwonة|V0Ыpq u(HBx>m$|3Iʐ L k(q-;~bM^$6'ko{_ >3{o`qW˖9GYM| wLQilDK9x 3ˢ?q؇E:J3_+>1AہUH_IdMe@tTݥ& T{h:T-r5wި+,Tߣ&&OlK&0TBu&^e!}s} t2_jְ8ԮM : V֑?}h+g [`Q,6O&>#m0}(S/V19.>kt͈rM/2>:&p QeIy~%_5{ eSHnϕKYr6!~]R?>铮5x.}86=dx*N62}Z'wB$vu7 J"j?\*I }!uΣ&(fB^3GB3cu P^ $hm =SJ')%%ʞ[$Cd0 (=$U?/]<5l>/Xo( t_Xb dGZ&cM.Dp >L uޏiB\-sUSN?Ѩ4y%-";^+o'$\и/F[B pmMSm:*Iս36wSoۊknۀӓ }/URkaL ~-9Ll\HZ4 ( ̭qOŴĮ3iW'QxIAxLFof|(Qe'0bf]?BQ\08 @\$_wGmxjKayO}&otbKa;ͧќR#G>sya +4[| S_z0Gև#G-.}ү3d/ F+kS4< ts)&?,;xkFʵNtڅ{4䔋MXce|*gn&Ht7BXM" K+v*Wc~Yݒ ĂHr!LᆾEOsU-}ާlZ"{,f-=K: wvkSDãLmȖcLA2h@^r:KVg 5ŭrXHJ %inƈp _ti_)l+$dܡɊ2m鸳}6 s>+!՘,C&S$[ Dc ϶T"11~8?1o0;AFwwZW2k dݯ5[r~z|: RU, [yr~u5*:-Hk^e۞j 68>$aqRKg6 5Xؾ:/Vпr]TD}IfY}.8V`^.<͞h<%p%dkt&/B?0nMZ,ڹ~~?j%@jCfeo( :)\SkE Q㗈45eI[B"xb=7ӧEV'k|KCԵբ2;$Bj$zl "Q YʹshhrHcb"H\۷4YN5)6+uA,8 Pup_w貢}Ye.'%\GAIexg=-JGe[jDݟnM+߂YxʖT)v7ɼ7F#Ѫu'\/FH@rkۿ:}Ihz;,D`ǹS\ G!O {!CA3a ǿ/JS2q"3"u'Kx L}B-s(x>+Rpvo@`_l4gV2qi-"#v8|0PT$kGOX#cvBM(p6&:o Ē[g$a%FK1dmiI\*K l#pK !2{T ҫJb ȻUR]޲`*kY~6|{]Y܎,90'/@=NM2Oߊ=`s`#4_u6C\S95%kC')OIH_CKt( tt mw4U,DF<rJzM_Zu^\O),n.[W?ү/ e0?ПqGsa`*`F R7Pew[:3yȕ64i!"o\&eZ;/Ջx$:(u7KЇ)uvVGRV$ Ck2 p9ic2^\?# 8m|͟ TO/*7.)%H}~^)76d'/..A^-hY xk쀠F;ZЌ ?$YXJ /1Y }z2sVM+F2JŹu5,RPnbe*ueL۞W^:e304^h~gœĸg2x>S 9_8FQnRpsh/ȫ1 SQ ')512\d[^un74´pMM $I-VV+UHK-rr̒ ^),R 0Ce' {yH?w^LvT5UӌV, >(uR]=ZhM;NY¬ |{iI)Ch?[\r DY$Zh#g[\CدލS" i0?׹ {#URgАâ{(&S]M %h}mZoI߫`dqAMM;0d]3aQDFm>q[I{Oeg] 4fԈO}>YR١ sFK/Wmunn@Lr.}4oj!4v1MwpL6VQgt,e/F;$RtZKKz/' GpJdfCEüvSf߰|]MٖF(qd1ޤf+|Qx0gק+eN`=3[r2S zOGX?KvEԅ'6-E>9 9nҸ5ΌbdFwc[troQV7wݗ4uV4,,8Xę='UqKZJeҝ;#¾v=Fn4bz8ZȔQMP Λ幀 ÎFH5|}(r^Zڟr5)X\NLAvXcJ{aNJѶxĎyc)F2@ىTܜ7Ka3. smOt)E BgG p* "VaL/ Ѝ}ty'%p@V^ջ@~Qh}1$!EH@Sep*xnѽ3Ut$KSώQG ֋!3/ppFE̟i%b}c׀$:Q'L/N.`)眍`iue~ fjU/,B.|%|S?dA6㲄\Fiw$z/e%&{esE$97`%F{YZsI%Ha;E0JpumKq K4bh 5]v%0(gMv0ua>wlxh *L}F _$}WwA[vt޺"piAR9+&s"#%ۙ,aJj+ْ|׵\)w#֗;*|(Kw'Zu=< 72@.N,p{R0L l/]@ٜ8~)BW~1sՉtR/BPPᡫ1CC4\>4)L'V@IkyONJm|{p&'ffwLR`-OQKk3$.`>@*n.%qs gY]6AHӨS$\"܀kN8MĠaꩇD _l*QzGk)oνv֞n8S+ݑ? EXJ~a4Ux\+,%PL 5>sK bZv =Wɱ 4 g + ['|5Y=]e̮u;*?N091G8@#ñbNA-zcgm-(h0a UXmO/핰%V QayʈڐQk^?eN𗐥&Y`:7[LԟcjXIs etȡ>ER,|be<\V@qQ VBS[s, 3ntvYP%aVnMg!)}f.u&U XiՔ t =׺&*eaqQ5.mo$v,eᔮe{VKR#j1S=c& sJtz~D p,%ڝk |a{zq$n#Zgb!x6+g՛ΐiBᩧ6[sq|_.Dҏ׿w>fV]0$Xoƌ7Jhks||~ӳEqu.ūk ז:C_aTL+Jro;[/eZPz@OGY:jdO$/NEë !:Bؖz"ԧ-[ >& jxryk2.:N  }8Ԍr5z_dM߾ mͱt~P5'Fm+/%00TE݇xsQAKܮP\}zދ~+u2 % @~YCg|Pn#n;ʵL+Fn}h`{> al} o,dcWf8>*..6M=}:T=+F.8Xp?cgv"_Os.\{ D* =^IzX_'.Λ@ _5>AEB@b A 0S'p8n{PB4zB``"\ 4mپѠP7/Nu5|Z# G"m:ge`[cud"h`9Ae5ϦpΑEoi`A egMRZչ& ikfJ NK49JȒm+4UrݻBaQ |KYO!h1s4M*/0Vs~r$WUssQR:bMܚ]!0 aԌ\#r#;կ<*O"KqN鉪A2Q4@:,S"q$VGߛ*ALN/,m5=KgI_O-%zeS@:/~܃eWYZڰA0%tQ2xMG3U j~>D)󂌕ulBIn4~DhAAc^wx⸨8baUu7`93Nǫ 2 w$e0u_6̙G\*?zzBg"\%W5d"۽#ݥs#[Kpb-6=>x1o?enO}S q$q3{KuwPgFL)2Flh_RRduE9B{ku\&02LK"siA9?:QQxcN-r/6Kbp:K: L_:"z_:ӟX4\ u-}W!U(@'t@ Wpz,oΓXk!uqd\ !a tDrPMm> `g䰖6DlkJ_N>@ȥ\gWvAj`YP2j2S:c#7r)C&]eV*U8r $Nj52+PLgE խr{uƸxI:\̓$'E]ʇ C9E+¼;呲3Ў%; ˚It`$_ō$s$xS꽈0N;βև5iXf)GyIAmSx˗;RtP ^:xdrf!1q &hZU o~S5/YK4 ]2(V:|cfH_M_m>&ܪ_ZVg5MޭsƳ4w-#`~Td6; ,~Nʙ;Mf~СG Y}qbo֒U7q]9=0$~ie}&2 ^o AŖKn+wM6`ioi0J7 hPp 2me^yÝy@iF>XDA W#C7m[b)b?W:)i=N*ڙ yJɡ y/3~e3tts]'~4BҦ䍂F3VhdLg8tԅj,PK_y<=]~@kfS{w8@hc1Z A#TW//8NNLL. 즴Hk(`PRޚɶQ@tlw%ڼW*br*v81-CSϗ?ؒ3kq}Blx8oVuƔd$0! ~Odhz$pC9ڟ# k2$_L;Me[=RO% }~lD?Sj| ',OD*Za ı?W$‚Pja PfbLkI,D/QrO[6>ூ@u '!Gui`}JED gkQy[؉aѩ4fڎg mMI Cf-bCH? oI=Wc&>9ǎx@Z9 |[v)e$;6db-=$*m[7 @d@)Q͏-g ;!W)e*Iu~y[%&a5k;Q;81c}4Fͥ@2T q <śXmwwa#flX?~iٕ~pʎ ָsbh:@JaPՙ}r:N-Vpwϭmg!|/;@I$Di,+KM$y:;B/r\cAkq-s=&8cW&p]a݇gt?8ZU%QTc ?'^|BC99z"T+ʪEփYЃ7$[涉;N6jp#G5Cs&$p!&;9X 1Ps֦lT0OT,(zIκ@ IɨAd2H瓁1c%a{ލf mӮ(TWNi|\Eد?Jȓ+RB!&>˜BǠT%!u{G%:Ka0"2h#">:O^2/k?Z^9WS&H-#7Oz7 <x H5A*|'_Wܸ)Iq,#Ƭ7hqɦY3tٵ0ɞ$1t=qA;*0Ⱦx o4eVՕ+qe`HFc^=c!>Y-Gki}eL2Z7. Ϝ^IA}[,| gO^HG!7w|Ҽ@<9Jƺ/ho^Vg ]#G.}э X#DbU:)k٘@cod/:Jvq`bSLƑB9hJٯPfk'el:yĴAYinq#6C\GFWc_N}L-0[=d24MG :$# I4-яj1joV"@4Sb .b^wz]U-~١c!lFކ:"}/CMvC&$)lQ!VCC`A,Ioɟq[r4H1= <aC |@Nq䧮pB%6Kuhq>bxuAl9woHdž,6,^]`~;> D  @,a27v:%v _4XI78lE%_@sOi0 NCAu  +^̑~ϼ]eE\Sݼ =9,WDur3fv^.įR3WSp4(zmYh0?Dei~?.YlՊ1[EUSbԘQXЯ*+x@MM6SLq]~j7;c)ko8BrX0X;QbTVs'癎Mܼ /q'zڂFLblCE٘3|j?PޕkZ^O=@AoAb|%mng@T}Ygdl|JWΝVCibaUHqe``bh5JKP@Ö"ɕ<"0 6AGB{I5J`'E{aָqg_=+q^ KZ,rnbkMŊoVdh''go xPB*!Yu9cY+ 4jh3.K5Ҋ'IS/욮tbm\B?i~HԟSE>Yy0K:, c[&F2 'ڴr4>sy!?I,bNKo`>wzug}nwР2'-a R|޵Wh陽ŠyΆѨ xMN곻RLJ8*(JkdHd b`bykr^}JS)I}(M* VwaE)feXm\Er 7qC5#A? N&(Q)Z⥮т#@&8]3m^w%^OԴ{|Jc^ fH1vWDN_N Khma#sQk"߀9~OY?OdҺ;~_@%#puъeR/8e[ZWY&3lFyGoTjϕ`$Ѧ 1)۱C眶;9O ʴڔ-k}jr4`$i+;ě"u0,sLG(˫$YB;.gDb UhIF'i%ms|v@a?1T} <-*O; O۬}I:'FOEBGU{YLځLNY$*0Գx}H[(iM8#=ێN|O+ >@)X'SlA ֙Qd953 b=(aٴpk Lj/ŻP?78ds۱M)3[kwpo/! ӄKV}Gʍ85AGdF!!"W{5G4K>vtoh~sG"ZSZѢ!3\rkqㄢV32 n!o N74&x/ V0e$(y" D \~W4k]s&P .v7v J3d\Ny ƒMmuqWsPĊdLm@ׂ?\L@@ӹ+_s'Ix[~`3HxEj Oad]eyt;qI&tLݿo >28_H|샙ÍU(_rVuOlz,0歟ؔ.e3)(t¼CuTX'N,Znfs L17G؜^ʳ#==2mVP *(]ٶn(f7aJt!vNp=Zq_٬ @5WCFwqt}!99;&:~ zA`ӪIE$G ɨr||f&g}3MS$c!Βm\ȶ5UTZr!F dxKp/Y- )ļ<^Pp~t,Ju~'2½}I{R8XdLs2bXγF$N14Oc<,s E -HUgT89Aq;"N9| /$U*Dah`k$T;xA%jhWTKl-m'Wʘ+pmq^Ӻ]sESY.ߖF4{/Lx aQr3u*/Ь1f,)sf|ge S^B#}7 (tBϬ9ܢ'# =g&xXX~ byT3y\Cb;901DOCE;b㔥;VV+vX3MPPAv y4] jL \GUÒ :GȂЇDOy]gz=Cpf~1 K1fdd`/k\񐼥*A@釩-jdbA3ަ2oZBG msW;>NYp(5y $0Bx]-x:vxk?/|0Io Yh3D]ݜ(6,M=o{zAJ-X9|n2`in2p%@v)q i_ ț,( |n-TY|5]0$lCbi;AWm/hM&<Ә$=5IH59) Iޓaf'3If&A"fjyt5Lg;tG2Ypz@`-zN߯N\#D%y߿#tLTeV`~GGA[J#ˣ:v3jSf?P~=:mt%ʡGwýYzx>꤭y0_sCd2\}$B0Gib~Xן\EDrd$oFGုWi7`N:sUo z/{58 s\ȹC%`|:CCVw v1{<9x/ Xx04v>_sC:͉Z%`bIJjMlU(yC+y8XeP=0|` Zf3=k>b>էN-::աU2UX5\ [ nfs-o[SCs^l R"}#~Аl>P/ǥPYY"I͢gpd7Zn XN\w&|4epʽ4hʀBwjֺ)*ko5(E;p27M=:Vπ:y%"!0ԵH)}=0Nm Uē嵄*Ɲ9dMCL/5H$inם5V[+`2֬]PShXCNc<0L4q\_kM3[ v;PNZ>KDąW~UìR M+:QlLCL(ońidgc5@Tc]R$sGbgW @`Ex||_K>o}˨ǸrGC%c}тF (M$^Qd@ıD]K_'s ^z&Racx+@`0%vYGS>52מ3eVwEQX=.>yF;􌆈3f68HڃnŐ| -~V# I73ñ@>(Ԏˇ[vYurt7L.5ks"^t3~PHu{I P_-kBEMLN x^!4' l`$5oi'!ލsM)T0N_+{ag~CV5E/Y)Iҗ5PA 6;*>rbm-l(Tt᥍0Zlw'W37`~ h&_u, d߰tIF쇜}v# nWs 04 .4wi(ƿOv\hZxdFnxZu?j @6|b򐰸۞D_Tt3FjquY8*/TdۀqyB;:AV; FEjA/JMm(^<=ʴp4HGCJ-T pU&OrVzQSZ?MIBy)Wƪ-Zٖ}! Yv!_d1GfSK's Yb-1N3?7(Vb%6m3x2gETe98K>k;5Uz﹙yT̨8E6t0QdLfY4XAҐbQدÿXs :Kq~"i}9Vgj#@CRQ1,I{asxOT UX\jrN:7f<ɺ\ L^dc,_;6 Te ˱^YgaSϙ)K.J&I:9ɥH0RR:ylyZe]A,Z 79p}.B^E00jt~Bu*RV HM Q0* |{Kp|NA Us|E`71u;k`u@i7u3Pg79FSoW|NR*cD$!+cX"=si(!8K˷~ [ Mz+~s)[6 {2r)z)6?Ң‘G c΁den|k%sD,9r('^x∈񎽼gIQ]``~y`Wſ'rjϔ.;?!jk)a,u\D =H& -:}aB1mqKpr%ɤL25M8%aWMo1裪ǒZĨBlCL5U10}l( )W.`<܆pa/Ŋ,|!~qK]KeruF7PMAAY#P!UP( $eBazETj8m'&<%9ፉ  }`!H5BbW&*3҉=g@HUg0" OC!A:7r7Kً^Z@̗wk(#Vv.|)(A>`%2LV4 G)9/tBv9?v.(?)Eߪd4v:yƍ)hIe)*H3ݹ3:尩CG+` {V&O2k|=aiH\Q'^&,+KKxɞr=9]%]&3ĥh_m)3]!$UԮj#Kj}RP2 eYQCgXOgu}Jd tůPVbyOB0t̘-8 [7yC9X DgSm2ߠĈ7y[_jkMxjL:''2R /T y1 * {5Tyw(X +mQlRMkl4[ckި)1srAzhR?NĀ!{T vVT0<<ixٺC;:{A+XbqĤc^_m4cDR{́p^h3 ]rH=1ֿ0rEhuyh ֲG_YڦȀB$ gKakS&1풮#cGb3\tVvU!Pndcwi8̞M.1| οwu^*<#-s2('W.N99Ϗ)]wt -/ W-xMWF"yEAX=DTA*dD-Im7TqL"ӈ鿀UY!nn؅8 ؜L|OЖOvO7K`H`%1UʟÐC$G"3zd\em&7[\b2@K q=]:[oYo[*eeHlRﳐndH8 {~'LijI+@oB;]٫Rk4USQjbF"@^@`wJNΝӾMYK\BDϓl6Vv#Ͳo]Fd:>e5qw[CVG&*0]_u\iGGIZ*oEmo W^iOYԒG[,u8/zLc,FyKx" *Մ9^ MI\0 Qذ~q-,p5QYHLGV,`#-l"3HZYN0cJhs N]h:ci8QŘ @74T 8~_Y0w3 ̾\@.!W<Ԗ;:@tڡr#h+qu؀X[ f— Tmߝ@ReyP 34\8ֶՇ1Mpl 53~N tT;$%1nFIE/.;aytus} w7 oN &>uV. OM^`OYƩQႵ=Y0l,YI)OӇN!;xgXͨ,X Oe-|$/{7i=5sIY:{ddǓ=>kQ5/QP!3lP9aqu^(ZAרTK.s0$q]˥oBr%<)ցұvޭӮ=[qonF^XSޜRC+|}NÒf3ӫZ5Y`x⃷V#"& 3`y>gOesLZ*V+`VU; -^HSE@7}!MC2L΁4L `抣YJ@@]4Zm&[PFmզ RaY:t8i] m\E=]}M!JVMl_NZ-C5_R9N[>~υ53:\,G$cP$);bX 4CIBf1~[?g¨l>oR([KT(dcԌ#|~xoA/K2+ DV4̋"a) o$סَov57#С7BM(BlU(uWӕȐL·V^+ R fwPm]^+zv Q̪^q5eyIoAk[ty,4ܧEAF|VJ(?"'h ַsWюmr4ٚFh!RO0=yUć;2#=Y+TKd[{fPZϝ`Ub%ݑ3 Re t7.RLdws20ɶz֥yH -72H W5I}xy2r;؞ʟԗ^>f9p.gn* -yacwiUt.{ MƲ_jlmӟh \4*b#ϠDqq9*(wtOtu"H?pJdVq:X 6m OY>ej:ODrXeC1j՜h%UD.bm]& )y{x"3i{$hu4ۗXe. ^@βΖX,uQqЕ~>YҚR>k,qTuB&`(|.qyp;dJ{ކW$U&"%X8QVq=%,:6QQD2 >A0DE!(}pq]pFfA!D~P_.="0L^ȣ뗎J=$.-/iF~'o ˦7ք&],| 7⛏ АK:NrwB^ZD%L, I!އJ{dA QMD%F5uLlI8sd)\7c骍R55^|[@'j~j୓Г Jx*S37[‹-ze cWQ0 oϾ?Eiom9~N[ ACJ t0$N ksk.2pduY;b|f,z H -q8玜w 7ե+>_6Vo`b ;Ok/@?8.<|`XPvpIqg7Jq+z/UOr56Պ{@ đJ*jȿKƳktNԷѢEyTz~(/ޤHf|ς`m!յ4Oe")j_ֲ!xRxVN͓"vuۯ0;&ɰ>Ї,S@:a,(7g_8dTz$2ZzM'/&.DA{pjn39;MMCePgo;mRix%@>N1#H&n ,vMνvPѪXʂTwX4K!0D0׳,;fVlkqVK>합PA]xy_Ye2nE|C_|a DKlHMKTP4\U )w+d "OqGIΡp g e. vP>YWe u*s0Yg]ovp#-^5-#m`-E"vbrx|ͤQ¡802'\P} 4L߾$Og14yAI$E,򒾣kj14;O=F 7IE"4%1rGhZvg`ɀg6!ሴMdHJ{ŪA=Фd-򋤇Mb%\ 8$R gOI` pA[ YW@`\FUzێmWtj 0+.a?t(f]yo2as3^Uanh2E_0yI/. w`ΑWy'1KONW3d/ē]ͤ:p)ח U$HS%0oX&:q|{ٜH ؼ:á^݉&ff(1U<K4lx~@c@ OARij\v,$wUi Dgb(Лd[JՎjO{\ؚ@h;eVqD݂߲D`mG,c/1[^3^8Qi6X {? Բ @ʵ@w9p~7|\DQTRLk{啚A0a`9C]vJehWK9H#g JD?L#s`7 -nbK'W&Ѹ唠)Cǂ- 7Y5`՛ŰIysEAns@F>qRc.ɘ\R̤хl.{#*H>ژ#mIxY΃hY̷㈃͏Rqu?A眱kNױX)_Bc_a;x0-*xؤU`w9p5Zu]HaQW)}MZ4xT1c<~BL1faA|:BuBFEmE 1.p y& -5FVk`8O[S Ko+r)NhL]qqP`Bq$USHl-J_r#-+ŠEds$܏vUtҼdj&`Mf,U \9H `@醱߉$ms_T(T4:fR2Pf/ y@FtsL>] aܰS mWRgψ萃v@MHOlT8N~Ԕ\^!!r^-藽Κ8T\wd6|"Z\Ge̘peٳюN Ԩ[j3ԭXc;&N y+G?~bsX[CQ934Pw!&AW*YƷ< ô6Ur;t! e7X]\ຶ])&:fRlu {lh`+A%Bjɟ-?E|2O ͹p0_~- qXw&'+o-1ۃj&w(8o `ҙ띥HB08gOkγĕACK90I/ .QB?] bW^X<-k|Dm tX͉[0S(ReۊX3Z=YhAkz2h@eԡkϟra=!ͫ+cVbаC"vWScܻG:FLq@ik haY5BQjM/IMa<1H& ޭ}7@|{=8S;IUۆ<415P/B~XQZYZcNA\rviC\*5R( OSs&In b-Ri;fʿGɡZGuἣW[]UZM"JJ/hlb.,pXWIfrFn`R⋁kʗ@ܟ=%*g0߾m}B![`8RyQ ֖BG=R۲(rnϑTg` MR;֊^V*1_[66{Vx11?R*AGkx)[mDkGM[6m>=bi0b꡴]hr5X"F(Gƫ-ń4n  1b#9x jCWyq(eal':-R~"޹'b@yr5赸7%ߛHcŎ-~@D: CRY8?NjS|/K|n/.rj;GT.jerLuaΖw4u ͲeWp]Ljx!j.ŒCnS;ZAw0[cOOE&m`/;%_(}Z̫NY$kK}Ѻ& pR_s|˅linOdx˰ u+ 33?Ah+m$Hpцsh- )i,MAs[6k}\|i7B˿?cF ҫe6g$_;ɣć1(*M9X5$8u}W k| 1",e@OzI-MdB97<9/h>w6W"6 ~H%{/)/vh0-FSC^杕O#}&-!E! 9s2ZۦEJmmDڧl6Cx 8m>'s'jjPg`4J.Ad9wZ46"[psc%{]*``iG[xA jXes8Yy1L6wkbN]Ga^y6Z |[鹘?;o .WGzuW2du+OuS=,FW-)= x@L`joR ؎*|M/>zG1+H豱a*Rѐ7TJ3?3&j>ޥSzYLeWB8ϽSe8dN*|`+OI֓ot(Qr+O{{̦>ٹAZ C: ]N# c.5ƈH`脔0 ,>Z<͊DU<φ3/N!&%뼤Ɉs!} րwF(FP=+yү3p/)9k!?w!52n2":(H> A}(uPYc҂zu?q{UmG8@2&?Gͭ/f.<£ۄ{Rk*?ƹۗ;+0cE$7v&o;4αk/7>ӂ 9`[@ \wPXtԖSMe2eRmNH/!q{ >0:Ry7$=⊠<-sL(V eᙑ,AQcAP¯Ek0{ڗBBbl-M/Y˨$jVQ6r=Va ~?M[PG ̇.̥9Zn0`VwW5nrLPV:8Mo^e8 9-:@fP#) 9bJnH w6䌍_' oR[(2j>f_[5u,+bAPzTSەy3ThYa?i,?ywL +VESCD}6^ે kIU hʠ4QFd *t tC- )Of%o%p,FQq6Dty"SF7@9y).8-sd=A~pڬTԋlyg6ZQÊ,8Mp <-PΒfⅩ(2 #bZhCѷ`8tMu^BZD3 @0Q%*M]/I̚X]GCeLYJIzvn)oI{םUtDVQ~'>ƒ(\ы<eh>f'iu3EAu^m7A9vP$>0$iA_fs 㹞 8qV1|r7ݫpCG֯g0X.FGK$ 22ux')q\QA村yCVJNZ S0U#I1~Z6ܢtl]a0'RMu6Zb}T!ڔÏ 1QwUkmХi)@Y(m?_{Y4QLaMy"_}4|~˙bZ)L&0RyVMt*F;V&>8IK_|b?YꑃF|i:*hY{4_R/[;7s@* erOl ^&("e%/WDkk/0߯}[w[Xjs,3E?FvhI1sW_|DȀF[{-[|6R&蟊 &٭ƸCŪa1)xN\°Bѹ4[S/0ϔ¨R{QUB"o`X8lWF?hA jlC2921Ƨtwb%cEk'A[1d z^~>DV!1$^N"̈aDV+PwqWhjA_S3Jі`m3|";8G,fr{=Al_[} ]t'Tt,QKr5eL'#'N!~h18H.U$9^rq zb 3a^ 4h$_2f tAE+gaQɟg[-xP?>k_|-f*]T絋h*=YX^RǀtqGt/N$ v"hƀgDm%Z35aIIRdp 2윢֥~P>)6ni Q%[o6R9*.X>X)x*Үl|45øBUgI?nKk7rDF \n'my_5d<ޜNm {PS 9.l<[ۍfa(1T$Eڶo9LOhlǯ*1ො*J)1fY9;2KL9b ^)L  Pzqq.tpwTԘSBi2zϱ$%VE%wAj%)uBCdI.Ť# Mw6j#w2*jBqG?%4s_utxlP;2-Ŕwd.R67XE/y2Ǵ_P # !4/!p68qy=~w ;m*A|QHN:^qI/RMmFg&ѤG[K̲$73$VxOq. ~@Trx**66yɸX-Q|lHrGx-dUKҨ tRv!Š%̸ {1I$؟X/b8`׷Dq)ngDPz$h-x7 dY ""P.DnEۮ#P٪uBHN/X(;TtqϒmUv ipDf9?/_h#`15kSK[v۴ǘo͹UZyiYb']@9WJ$Asz PMiЇb俆֮=eފwڬTR!4򕰣|^8:wdFg 퐘)P\m@3d25[=h"cd#bN W6́hWk7j>8S ADd/I}Blp3!BjYj1mНH3J&] :Qb2;fUϠ=Le5Ltt5yQ*UKYēۊ便*x&ŀ^')[y tuvLy(3g |$Ou`ui0D<Ȼ@9O;3kӰT$r=aN5({Jϫ{F>F5m+>cyU*$|ف)ؓ1b R=wiўk.re)AqS=##֡A4C9 4M"tQ}ww`|m$yus}LAÔ<K}qc{#6|k>7n{xsfLDod#2SsQJ^ƞ >'BEՇjwo< ~4'p穳3bD$QJ6ᐆWC'&;26^x:).Lz{WxCٰ 0Fa>1TU}ۚ 9QHjX561j5'PD8.wHמa^[aUk&'[g50/cE|`S h%_=E|\b9a0q\fUҸ=xT*{WQ ȷl`kO ~}+;yO­4K!8o^ϪEkhkQ[6SA!*i!cZ{0uݠP3꒮.M)rܠ'}V`qpQFU/JMUy {ޠKRR ~xyZv~?Qzf@螊u+'LnˏtEPtkcEϧv-Ե[k>.bC0HtNuWUF+mA0ˎJJ\] Gvً9K εYZԣ l9pq/9L .dŐs[aJJhnMh~x+<'8mcL-y];'FTo .(~ٵgZ8-)ݜ\2cd2sn1NQϫ1\#Ug{Lm6IUaVq̗r+٠|_g' ϝgLMGĮ!Q-xKbשZqE{$S=32>|zu$ۃ$SB>{{@'q<7+j  ;+Ӣ̺_\FбMcG9EN7t9֜hv)" p,& {֓8BИ6tG^ifD+#eSKV_bhl;ങboIL cvj?LN~9RPR$/+٤W>Z43fL7*'5FYÿqU7F0.Π'8!0l«'cQpv3_GA y~t7Qd O]E*,,pmV%! ?J>%VHB[xqx jOgYSûz 75{[UΤ)P`߼Y)^Inӫ՗W?h¬ WD_88G?cԓ]+77~ڕ/{c%vhMLc nkPyNʎFmfGH}.+`(f5M;NNn8%)~1>: ږ Yzr\_.HN]q1Ҷ R\aqX`ME`̭~{<}C*Dt;ŋhx{I;Scݗ,,VӢlC=`d*[0#J"S%mc?{ϠgbfOuz<]Dy4ld4Ȑܷtӧ~ ņ~ Acl  #@r[ݚOqݾv:VÇI:&m .iWkުi 9/pjR!4~2UYQL!FlMG}JZ{n++#cO|B7UYpaQQPB{;:\yvw4(d}+L-f;xx׹/O6cݰX}@>D#0L a+yѥD"]띃iO8]e_J#>3~䊧|&zښw-1l 0 ;1 VӅB;0ۯE~h<]"$ @%}b v}jA)0O3$c3m e;Y.X>Fms5 &FA:9JIVfc(Zt,_#0׸:x5 ^aܱ4 Gb+y"XV:O{;^OU֕:˹QTNDWz"ټc QFMk#n#&zkEϳUeue"l<(ώwEeQ,Si ,w|5Yeh!^ s,ﲊOr,@hDV:#Q(/Yvp(3R(+eyK0ND򎨴47|TBVDޔ>ԈugE>uR'\g Z yr )Jdn@Ιn,ޔ2A0(1̶рϏk?3rgE7HDzjr+^+@~)KZ t%dA?}``=0R6RD^~ ߶Cnj{X?; :p8FJ`(WdAvʊ𞎫- M U'B&%(_ N_H)mALm!Ɋt2 %I9U'T!ߙ0es)*.j,&,mF. 43혔V i߫/v;CS*z Ep"OBVA*EFY24bQQ-<7qo k,fM5VO=!ԅx:zHP~C_BDB6\3rNҕW 7a&(>Qui< GFDnU+r2q~jgp^! Oc>Ňҝ{|.IZG7`J'iQ-8q apB'$ CU0Fq}@RQM+[-y-,*o 7d?C&ͩ@gl2HG79,'"qj:JdporKxAkY)rQ&?ŒC#<,֗H=\S hr|[Oi/;zArYDSG?|n+ [!ZS{xԂ]VᏠ"Q&[)I[JK ^Us͇ \)n$yϣ?JŚNE qpU3 ef|8R.j3Q9"Pw4ńT n(s:iv%M#*ߣTzcOsmOEm1SkPbĤF*Meo hvOIno:rCY_LNR+6V};g/nS[n @j`em{Xݰc?BO( roJe#%F=<& &w pgf0g9XXD,ST U! G\瑘 p!a)03 5H7g7+>Ra|N␼({sBlإcf!;8,s)Q/1xhh1gR/omɯl@n564 Ƕξ>*0OR*N|henx9K!Ɨs}T۳lEpO1CK0 0Zƛ{G遈o _4(i>2H4nd@v$O`6nd Q=ibuFBh.+lTx~OoC8^`!4q\֘<`+tr?IfS#&:{іaD|B'P.xX@?ESH\R0u unja>n#h𚦍ZI2R)c~Vk);ܸˊ{+`$(HǙZW#"AIqW?|{ U$F砏Ɯ5@#>CvLM)=[YQ^\dY^Xt/@@@II#|vRP e_>AʨmeLhHiZ.@X`PF3AaB^ g AQ09k&o@n^]1@7cM#42)BMVJ-d5kQ)c~y3`>R4$T#oWH9-gADFe',l/#uX=co"3\. k]EeAt#,WNGgQ wrnYZSU" ؓ  H֎]wPbVs ^Fdmc]u 7/EK:'h:(uRi?*E_ N5e4S>!4c@GL@!| ӷœu+,ClE(m4jfp y6Be14:Hw7H>DX(P:x\J/ }O`;1B3W4\yvd0T Sb- {|io_5k曾Je&n]V>8;_BDk܉[PaP"=jM-fR U6K+:{nQr]s5QXhˉL1Өc&7ө.KCL[i}z88䲝E cۧq3v݄$1ȁU/61p>hhr2,լf{\x')I37|,li^]㴛ٸ8VSіI쪩ͻG0opg=w5mJ7z* .b ޳N !"Viǒ" $s?ͦ% }*i!P( h>^u5\gVIbʴ.X4-{ 1CM :|>Je_ӋP`'@dz: FKҖqǪN}YD!ڵzއ@*p-i^ mkc4% $eb9s?]? Dyxh$zsBmr;$`NE )&JNv}%Bz6bs5͌%ClXhrASbrSv.1XN?hس,V|l:(s{Hi8kr8aZ̚2Ĝ0l|,[#8&=s" N+5EF0K5 pe;h itu g#nn*AI?:p]s"f&b/i?6iT]⺇+#ف{ъܝEAs^u{\ez Gݯ3 cNCJ9vSqm'2"aӳjGrP )^_ӍH9X)NJb &q"Y-(=ܲI,e E,|^Evn}4ħ}W#)xgo$'2Lx <"gRf)gɱ}<t-%^ڨeƝAY7"!q^eb7'9&1_ 6ö5XJ4ФŊx(Ĭ(tj9$zɽuzty/su.E Ǟ,AR30Gz nTecQX#ycpI~O ](|`XO,׈ ]}C Uab%ktC"/vZu<`\?8Tݑ2ۭ;Z) s1>BMBW?&-?Ox ܗ4a|P( u&-`/-`8/] BX3gvDҰ! ˪goR_e~zDҰꂈzmfDedZMJK|[C 'Z̸PԟKya Nwl% n{#4,9Vv5b:(/t@n>Ut?VEeV5m`bJY\hV \Cvaib3ZB {Ϡzk}vϺ >#'t. ֖ׯ-i~"J+f']`%ɏg*6(Gp_ԧ"%O6/dk'F"@7/9Yxx7%Տ-E:Yv|c92i"ʂZ@A}:'}"I\2;a(qV_JOQ/]oh~Q%|#L߯k + Ue%vAp+Wl>EOC.B@o2qn!|.m~ҧ:! Xb% `>՛0(j"ă`~k1Ŵ|EbJC$ZIm=U2"7K 0 RTb8nP 9Hã;W[?x޸1`m Nо%&|^ve>32ZfEATlEj`JYxUl;e/^FmI'1W׋Pu,z#$Eٴo c`u ==_wp_5&14/9Hvn<Ը_1!?-vO|gHY禦-')/<12ŏJi@7w$XCiiЃbJ4 no6S69`K?$#E8|RhYD_*CޢFrTOL*Ƒ/THXssF N:ɜH~ӂ nv> $&`2Td#!hĉ {EObi(yW0/}: |U}2">p˦sy-VٲdGDF ` |LRyʐ (zǤfW Kg.hʺgpUW & Φ73FBx56Yh`į _KI Hv07/ʡnO31@sDO^X(`ȩ{RyDɅ H)c d cqn>wX 3xzJiß4yU;Jj9)E.RW+MɬLd2v#[iɯ4}9v$5Jmb83I·Y5 oFܪЬpQ8J[į["#lc4!S絺B֟^AR7kVz?`xo&{)A0gx1rP65aG]K7W nJt[fLZnBeEv~Nd*-M5g3 7NЈQ ᮄH],qPvSʖڣ!y:;-B@FȤX2l_'MRxS=e`bDI 2J2b界NJ88I؈G'K"!άf 9+!2+WAU ӛn1 >Eϔt9`8s{P-k;oϫUβe|)0x@[I}RMN\3]w4|Mݹwh{ O q@E?sZߑ(lG,ξ>|& 龥$^!pO+R?N-qiPTLTMaKsP.O^Ƚ @R;=&H[ZW+(&+`b 79Mz5yQ^'mFOc<Q'ϸN>ό$mJSgwㅒlL_T#\U.@5#@ZZV}mJ3o"*ku!s F7د%؁5h•O/Fg9㜷2v-W!ELybgʩԜ\fI0ͦ P ld;7UNc5/tY+ i-@ŁAW[ZީZO Td^a'vߠH $] K1H[Žpf.~xM#V2 ȁ᭎b 7" CmZ־\ek ,5l*ݜDR'S΅NP,M똳^EAQGT_mSMC`_}Ce2Ff_*j%h˂}*4YdAp:BW-|)@՚;ztyQpfm-k la+Q|mI]+쀫|]aTr<<P[iۗt(%LZLp5r0)?y@hE.'y27`[OVl镒/=wZښRn1,AB\7}Nid!IcB(8M:NY_B˯dC8|/ (~)!Þ$I}5nHU/g:;0W>BYAn]~11ɻO6?>ΒMwKli XGzQiЇQW1IZWkڎdz:x1y(n6՛P{8ϊXN%;rq cEE| '܁ 1nȌ<@Uȥߞ[X9?L|wFb1EY*X^t].X*Y0Z_9TgT}c9h+a%(ONp%[[!d~ TӺAxt~csP\)eK_D>Y'P Vo\rxz*Cze!DB+yh \:5R)ݢfӅ5&NK NN6N\J9Y9 ݪNThpseI7(RƲcZщh"֜B$7鵜FgdvL[z7J~D<3\P_4'|D{Pz. :36<+.0!)$xTXjX|y碍۹C gҿ+`a+U7ioC^!L JԞP>xFJI*Bj-壦&% nlI75mL}!~ۆFx&&L`љ/)sr؂i#L(֣1GQh&} $ӿ Ū}͉ҹ! rHfG?0}k>(ڔ;H!{م']b 0lC-Lviu3R 7dbw?k|=}NmpX(69dIcPKq'Θ۬21n+1.\&8ܤhޢ?A]muv>;ajh(c\ A]PYؚuMG,b)#u\9/VnG/c3qBeTC5 iy^B|̐fÿwbN(Zxj囹H۟Z,-٬8z uI]{(PxBo\*[_Nqb8a@G%5;٪Tazw@L@XkmJO ?l>Nec#F9<3x1 ȭ}:V^@'$V5[CGh ]B[ga4掻^JWy8Ww,.z Ds zaO~ ]$dwR{A~zzK3x0v\i(hrXNYNh9hT#DPͦ~y?S<5ko"yBy6Ě/+QW *.M\Ae Ԉ ʰXY::5^/~=^AMƘuB\R5kѕ5 t9!dBd Q^e;FvwW-%S uOm(L{򴉁e|kjqN$(*3 `1h}Sxƶ~e+\D"nUH~<ڇ8pŽ,ҽe$ގX1kʨGzjPnVWY|ب0"G&Ȃv³!,<ǘ^b6~a_9]U`?692GygTdRmm$FKkwmsL> 9C9J#hڝ& ;~aMbH%t6Cfr+ 'k<!tX-Pףy ~ú5j٘N`PkzCѬztWk ϷڬPԭ"amBYr Qkq\4#2/W!A->qV7Ӄϼȧ{Zg[N" lWi/-cIXbA,Բri`R7g˦JRW|E윦L4Qh *DiEԯf7hyV{e8쭮 uLB 哛.QM%oGj99j),RbSUA:0oetQ둷i.6nygLTm:LL}T!ٌchO+ICAX`p[_T{ TI}w":$Zv0.~ { ͖50jEW7t?d>QW{ l1V{2"2h_qpj)q!=9R:ͧ,eI}cU+_pio! OaUv%=a ֒Bh*Pm}xuL[4\=PZ4ա$Q#s&]R㹼eu9y q Q.(U`Q&F& Abd]zv[t iP2`Bu)[Rh$Y'Cs]䣢''U0&D$/4 Jh~e'6@F=sS 諱lCmoYK3 9Ĝ=BZ3ZjlX͖ػ}y!wpYA bHQ7|@)k, d w\esϸƝv_rYNLm+#@WV OHq=t!-ޘgkB|))q;Ƃg@P\SX%)*TMq]Ns)*GFvE6xғဵVBW~h.Z}`S(4ԃ.%Md;&k/_xMb?S;@p62]lvL@M(^ ir C܌ L@ss2 xSTAI>l ,Z͵9ұMTh{=yPg@1 &ʦcgZ[g]M#aMrӒ8?ح/xgLr'lŌng .MU;11⑍%b8 &شK2EOk ϷXX"QUZͣPK=rx¾ζKbm(\ i |3$H6\~Q$a3P08>iz`-Us7v`v2%.vxUEu1w dBq$ڱ/-ղs8 (B|DF{,Ũ #U {Uv}xX !L<\}&EW0+S SCؚWǾ=)gB C˲cY-R/erHYmAɮQ8Y./4Gڙ?mRNJ`)#_-+,,T^H cCr0نJH>щb YFP4 e,kr}St>Vv<'H35 %>,ړp8{]1\MiO78*fM*x~,[:SڝkRkj>\Kؑh kZF06Q٨=V/mj$KrY|Yt9nk, ?Q1-06]vC= Se/5bjyPi;+'}VyCt.,D<g%o.*mB琄6tEzJ8}neb279|Ȓ $`P:z4gR\̰-ɁP,d6zU*0Mo>4@iddCFL^hnt_H6Rx K=T-<0tZD USn_r/x%E}[9&óŠr9IT¼`~WY re@>ςF,̥p.K+\sJ2` }4 mǹ$1e 1^>b}L{ $.*9B4#!Fc~m2J̔n4BEF^Ϩz5xY匝١-UɀЋy}T0+1=S/<0Ҍ]b~<]'%EdKN%Kk%|b4h0q%ՋMfNU00=jzu|E29B 4֬1<{ʩ#`ҷO㬶GȀ{yMվd kCVJCcjA1v:qc +O\vO1& OR u TmV ;Qh7\Z5Q|!O y1@pv(k6Gɰ隣LMNz= F!5  ~6Q^5YСT֣pY>'m(U?$ gOFP%pPIly@QȆ΍{ G_Ο!Y_,fCژq֨@'$^ -*Yn٬R).''[Cyy{i۲Kdq6 Xeu%/ONﻐd^v{[L;x|ᎂ]KRoOK? #}wT.X"O<)7zC~y׿_ߔH7!H*>{!T !~V1Z'o}ӹ14[ٝX`yy][#)cn@K^L0ߢW|Bid~%4-&;Hr/ǽ,ki %VϲI1Gp(O6M/ǔЊ9Ul2ɕM\a!(1Z >N@>[~$ 4XFZQ|-pt#" #Ct5+tc3:~{Y @8QATf+{^o ]w "CP%utSς9"*\HVo;id]AW>p" (d]XZ'fCQ=\<@}~iCK.,~I*g1{•4A1X5E$Al3v~Ϊɍr#IޣQڻpx"~\VQ*ް7ܘY]sKBs!Z+Μ{KD4eJEQx@S٠{"[$I P #VE:YRH N=!L~WD6M;\\.@P0G^y( $ٯz,J Z4D!ĥ8nK#,Wv{㰃z~R3 rKЃʻE;P78&)5%# U+¸["v[ B]ħꩳLxKVvX~BpiRæd:y>Qfcdf% ׵-4+QC=9=s()CA$AO@drύ<+<‰él* 1Jup8һ<+6O€͉Sl)S @c A'^l[i{yPx\EmQłINV%u[.w|^/m=WB,koK`Gi{ J#N~R'>DApCat5KTO%%ڐNf)L+}V̚)25Xߺxc`WUN}"R$DuS 6ANK9Ÿ%bH1O<@ĊM7ğܠtf @&yUCZ6sI2eq`7,Zx'bQ +0V? 57w͑ego !;Je/Wp" I-qwn!VX:^u@/ ɪ\~W^0n@H01v?O !9^ 2`5u_/5vn).,‘^ӰGr:2QPcj͗_.=1%ײַq2:}Sˁ"una&!(-ڔ:WSPloI4dntO-n|s$^W)hU]⛩aMV|)ej `gkT s@!lW(WS,yDb /h%U-l.[_j)%xP3W&_TE1ZzP o  CCvǹ7 V<Ӣho1Տ⹠NIܪR.G~I$$ y" (CPYu@M+e[빮mpiS䙫 uj2* IsPdOB(ZԮh]"kҁkiāIV! \aPf;'wSQdZ}5v>21B#˚_U!}fH  &{,2-i]yr_@'>ڄN^ Mj"\7 ^e^PYaSU~%`oʐqX!6\YcOpQB\}%rO͜iLB a=Dko0(J" kY/P,y ӮBa)`S)9<ċ[Xf'GBi1}sЮ:Jr{8mXQdZRյ[Ϯ4];VN##<5US H#<44jII_FQ+=vfK}ЁFITꦵ2dΖ"ij,/hgcp3ʵE,`k![XWp#&T^ٱJJHVZX2+r(G[4oS&'q%Rvk/JGWuRW^ީذ/ͷ %Et OY8D9Hvli$@,\*sDygXG ofŨ*o0;a1#1{f˵,(2,$dwMvxuT\39g6B>3 1[J:#R:9R%" V j<% fury[nx`y^C,O9W UQ3VzF\pȈ;1:87HN&{!J˺|K.9|]>>hA~F WZ96OS6uZ4 (pcr;9EaĪRwͮ#5eMWSzsGӁ:} Bۮ._}=X&?}1v:BD7ؿ+ݏI6C D&Yb!>g ֡L ny馱uSk:#U3;HiTH n3GGZB 1XA"ݚ&)Ooz`ȀL*PYbo0{իm-J!ڤU,J(,K3zبNv`{MU'10rWWu* \޾.$,kw+/#[:P+=`y?݇N8qWIpCZVW,'h("r r#cw@Dds) Z.[Z7Ϭ'^/{?ï$г./D:r?  ph˖ l׻L\Ylt$H=>^Zgvzr` kLrtbQ&%j";VkZp 7k8U*bJ HAmӗæW$gFY(/!vM֦#*=;lT|Nk7pr^q*FŚi¡h}X,H +eDԂs?ʏ FX4\˘f3,KnV̧2ឺT=hjXq ߝFqMq.eA`xkniԣ0fgKQ#XF*끷,Iw|Uz|:$Ĭ'CP.Y&-1r:kCdTtDRvnzF3 ƐFRbN]֟awW~f<8z9.'\ B0b#w@tݔӃNW@er yC,LܞhrDխ"jɠ0,pKc6?3y=CbFƒ<L-GxVr:iq;هjBY\Pyk2|:=Ke>C (X-z 75i ix3ki]%$ȟYRȶJ樏PS9&3 3nK|ډ$D)RӬ-ɛF8N @5Rkk8޼ANd 优QTZRyv[Ʈn2$-bF^-\>*F;27E'ѐxt%$bv.V=XJA$8(qBuuǯVȑTߚb4pLypEʢh_#3&!&k@-:*DuB6&!+~&*e؋hL$i?4dtts q!ɸkQˣ}:Hijܩ8Ns Pm bY-^X3bIx!ǯ.#jp+'o*F*)k\A;E^a;*dM.Y&D^Ch/Y,x Sq2_\oҼ( ? -}5Zp*vґݙ-a_2v]iH׌h\gGBu>3YRe 7a[l\&ܭMaF$ * U/N/Aw$1(R.JR܀O |[+wJ6~*gBV=ь&BI U*OX"N^uCh|Ử9 Q6)7v2Ne = ;VCw} =LtS>3VMjկ@G)5?JB1fq;KíEDYT:)*U15jKFcLKGx(Zk]F?HJ}Hu e;}&!0nGtd䢂曄C*JSM&x)S.DIjo- L,j>x&\=`k_ꛯBYY;oU!fϋH "h4NϽ { ةΌوk>mE^  &vuv f+n_!\jpI 7lwpEU}ȅPGa_"+(rPSsuR{ 6<+{9~bQF"ʫo7„N'QdQt9h3XpN[(Zԅv"RCܔ ˘'tšИLzu(il+22D6[_A+ČEI}઻䳾96uPa @i׼9P84'x?!)%S>ރF֞f .Hf-&>KNV\`1џm%?i`m_nyY;U9dƈpV~'f;?t6^v5ĭv(e,f!s%s7ِf>q^ZHyO~M3?KZ5,? Йɦ8ý<(FK~[Wv[Zv҂vg *%2[+@u-dmXr8(+Έ(R \&m0oŒ8γ8Řσ͑FYx |4<0Q-JL.dP51a(p*t VSNN:T+k s8 s-eUs+= wJC9p)WwPX*1fܔa^GmI%}]yӜŕRhZE))_`8VlԮݏDv0f5+C &1j(6/7 6!י#  (b7;~iuP 5OX MáRʧ' &owA$ }jo$QK ht_f&"qbZFޤUNJ9>Qeoq.΍ ֔v䎕K2ʋfw~wDI_!ZoD՗P ^giUs }ZŔ4Č/](v5 'h_q]v;r bMm?+R9  > -OΪVBrbJ)'?$' am4aؚHkrXGxޗDj O鼠Z+ ]4+S9zc 3bX=wIۏ-ba`U;?88cGQ4%,9:c.^@; YF lFG130be/C:=x$3x_X~o yYÓ\fe5Ц>W.-{͝?[ENȇQeJΐh+2(Kx =0\M+=K lCusW$Z{~nme[[MC_ְ#m ^3*lnau .iL"&ÿ_Q$Zhh=M [&znJ߈6`[+#) EdJ<4r^5 `u ,JLΛY!'& l8 ?=1č2*!`49u>ߢ"0W&V6/Nc<ʌ hW- iplvٹH4GTV]Lp3iOC>R/ױC@)7~)>6acpzĐ9VR¤ı\GrEX Zd"j}IoA2bΨŧ"b&XmQ/y.9XceocN5LE^d \|ݩt|I(l4s&l@3LDP EGOcLJ]2ѥ-&U(ıA >T|Z8GD*7PC.|6V;/tGX7k+68uyP2 NÑm zJ8bq0TeQDqZ8E|Mص G8Jw: @eTiQҗebIƴ'}lkʲ*?<{O,"(ytmBvcFi;a.w]!M0y>2i `@*FjA韲bH_q!ň| P@M$ƻ$8HƆlߘy_Uz4jcպ/G#E)a'&v ܳ~-IZBhW͐kMA`0vAG )ۤbohz@蔍*ڧhgOO%TDb, k &%ǡK5}l_w14Otse8c/;.MRzg~Oy8~0bYk6}u } 1avf$tv:K';,R?&]M5w7 #fBo,:TМf.a%wrJ[ Y?µ*9p{ ݗ_n%j;k4x:38P0IC<5yZh2N|sKI|&fĆU_uJ[*$& 憶1mO8="iŏ,Naw>dK(q}!.g@8~č-G&teWNhSs}ȻSQ猛v ^xS3:xbh V9IU8T%6KiAd|YPȘOq/=WlJњUD]j- NuTJshz22QvZ!UD[!9M%g/{)w3wQDfhdmxu}2"ng4M40겤?mEu`DH'U ȕi|>mrzu'kNp8]`B TT{fdl-WCTC6tzi w\?H""+.o @٦;芃SjKrN9nS][h 3aRfG{̇^J)ە,cB YrGd?y![(8̰{NKf:K>߶/2dtݹTB;i Ɋen^iR<C1(|U$mK9X_JlkvyZ Kff J~ݑ=P d_$E@ڱkCT*nPm=HT W-= )%[>GS B)+ЖdsYlKmV(ROP|*ɲwz-^{/J%kh4WkTYQa7ûN( Rʪ{TaU0b ;3-ڲ ONb+zr`gYWh3B{"TrL'i&29rn >긠\]Qu,D[\ 2I%ikrލ)FqbX)^1L])ƃn.R~PfD&^dAQwNa^hjA_ % ޢ (4>MbYȜXÃtGX38<'YJM( haWYܼ/ P^h-<>, B:bƽ!VLaIO%L_=~XKqWRG" UûRf Zb!7mgpi] 1Eی$0Cm2vigLLؒBIP2L J]'Xx;f ߤ r)ZQ Cytd˳T Gїt|$=|q 䋽w/Z >R)΀_&1W{M\QqΤʑ%ٌjUi::胛ysQ"YQhQrb֙%@65dś4-[xJuVd9ֹw<ǓZ@vp>&UY.Ƽ7\7c) P3FA@Jy g+?pѩ6c&Z.4&t1Y3bt;0Y} x loQp >vJMxZJ$A W]'KZW= PxE&EKjjj}bǺZ#03"gK\g7$ * CɁ#k߆.$m+|ȁS-r㺹6wŻpP٢OOX۟Nթ*I;\S-.&f`\] ^- Uo̗t2 t6ƌw! %iI#yJb>Myx7MJޖBz2+ %mLdx"mQ>ii\ jҙt.a%R"y ~>6xYJ[UZ[{i>-b+f5* -f3EhEXټQqS.eZx{:>b?% 7|xBHpY\@\,VA/꾃]+(A$BE9UpUIWU$33L<.8@>:Y0|ƕ@StOknU.+Ю)5hK"p-hf(e:4$fA鸠]rґ)4ZQe\EJ܇3cXWjk ѫ&܏Сlr]Q%T*OשÓ`*1&I -ɠvt\~ޥEnNNDPȾfBX\h2.mzKn[ڮS'Z軱r U! .zhILf oџ0c{h$gL/UaH/Ψ3weJpP?a4R+~6e "kS$2|C4yV-|Rxit;1qn+XEuúğo=]6F:I߅B#T5BaA y, ޮ. :'C3d:ԃ״-&tV`.> ͐ W1wTeF%^|2Mnګ+N<C di"ICesޭlEM_w@\%zX\K+ʖV;4>~P ><ޤps=7 t]-ZȴnzMVAJdǧCVV*nd[䶐gvڗ ]8<([{> d-R053Q2(=M:7hۆ1!eѤRb_ isZA7@,cTrŐsJӸ R & ; !<+Lt̓T,GE)y)V3Yׇ!iuqKCń *146i\׺; (!H=iK9zr;@ rULDH Ɖɭ)b1!8'@?wNfO J`<+Cis?cSjiv]|e*Y]ŲC^ޡlV&+j7:hھg2_+-IX÷%S^.K/*J[P^Ftx>Z;4Up2ecufU|-ȴ\>:d0Ҽ~xLIx*`ny&>˓b5"2 qXs.Sh/^Ü(8ܗYS6_zh&W.m7۫b@Y{}8 Ƥ =3sU9y_<9c }+?||YL&KK yRߤJ-_G2Doca/)p]9 `QV~ GiK̘I[1( vT{oh/ 9!',I ml%~ "PvJ49wo~ѓ8%ce;2O,j~JԉR~4~%xH9=K`mtW niY.V&B,*j]@b]#t#W߻es RF")Oc x̠^iyX̹#j-mo< i_}8:H}@PYpɮGF8OGS1UnI,bYs`^-#FX~ȥj<:$+s?`bm))k*p+)Xt<3iYLU JxXZuU6a$/58AQ>@6plڬEBd@5+o<@CrN._w`kNNa 5N]ɫQy} W@q}A0D*\ö+&H$n1268, sV!+ G$4:* }e"*rB'@\KG5 @ 1E+TwqJO?;|6 9B] NP\6^j/#Q$T*L rnJLg!蛑G,AODUJB尷Qt5c# p o##D&6vl=ʳRu (Ov\UdK?l /"_XcBF#qIlV %ΫzPо}?V)U t4uyx7d(s+ K4){6 {(<] ~7HJ['Y} ӷ]MpwʍT 9쎇[4@&OYvJ(ʍ#@3 N 8s182˗h$^ 9׍Qbmpo&\FjBot fϼf)Qi}@cz ĩs=D eɲC懶 \ed11zS(eτZ}BZ?HXG&V*|FI #q,fo@ṗ[X3UeNِVJpl iaMAS. ڃZ_B839G^h3q DNQ73`+1F+ fwDE T`G:#q>30SFE2fV, 7w LzB ]o,zqPAp)Ou >}٫Un[c#[=XU(QT=PsЬ6޾h;&;0P,Y&cTYn,+ٿ0ngWm 1C|qkR)s—W{m/ޡ/fOYeIjC &u:U]weMn2.qδ1aL?ǹe 8߫8}E4A>Brgԋ[8ptD'1Bʹ/[z37]&6xI-i \ ,Ee$>294 2ws##QmJ}y dmk#6#5jm~߻//%Ē"H5@C^L9M^a:XcX)y܊/P`s[(/Fl28g3ne5[#z˒QJLlBs 5'9jrۀ\4YfU*.XWXv&2.=K./wBwms(]j^0ÎO'N=!L\`O z9F=L ' ]dRq>'ٯ LW[SyErJԖ: ,aBF(NmS6NO`8uYV!"aqk0YA|Z~y vɒz\W?ʌQ[&4L4aA@Dʹ :^SGА'rǜ8 %}ƿL b% 1^C(sđ⏑29zpVͽ5s ktj.!;ŧbxEIuıS<ɂ =OtFKPPߐdu/2!}@lƙr,4GCm}]*eJ9z_vT㈡ӏeBsVE{e_V{Ԇj? NA蝢G9]+KuHբr7Ylk[8\㙻`'O~0L;HJnRoUi7\,+1`[V-Zj%o2*HublwW/hf=EcmyR]Yff|(cLT*5v5i0:]?`,.&ؓa;䒑kP6ȢAqN;z81m{mkrh.UeVUXܮcd%Ϛ 0+"  8F&R1{7?qtR앪 w;,%xBȽ'$ߜ;?F!UKsW\1c.,*Mh/!HF$&&wCG=4Rp~ؙ>*p&XbU 뢔1_,(J#p_O)8W27A\"2-!!_cY4 *-oD2E+r5!aKpX6g?FK50U^9_?c[gxC(my (C0.֓f_txA#(qE$˼zc%c<0ʽEν Aգ pq6yam|fJu+4zlj]JO]̝Ѧ& %A_5vrXK73u昊Kr6`oMRC [Oi#K?G^TP_1Oyc2FX̒vXnnm̘0O^I3Q?'˫]\JzCb=f+. 2_ޢB0%N 6- b"1zdm1 ;"(|0P0rq%r =m)yܫ[mJ\4-G%p%hmU% }ё^47xADsknG_1Zq Zܳ*pc=އPN:}w/gJy7u҃t$dn8sDFB Q)5F;sh095X1j|QL̽W͆pgoX $"i V.gh J#C!k5xZhbHnz+ݚQG:F )FڒWT$+DҀTwCF~FP`,.dYyGod؅$?L-b󡥗sI<=[] _u &K<.ޙâAQ< X>8eեNtdVws'h`%UBd碠n_,r=>` b鿋_2I5ó &zHð<' 8I tI5iاF2]ufCKRT=MPW"5=vu)s?__]$xܩQO؛|U|rHn5FKo>C@B-BsKa P w$o;OG )o{\fFڠTD} c wMՍ4\Z8n}ܹ #FNc׮ܴtAILa&V2T$v:61~z|.c|?%F#mYEH!~!XL!v\mQ4.NW$D?\Գli뗭>q^޷?VAiAUoOI!ygWPb$be>A3JDo0COl^Fn1L8S2>#8g ks4ܒHQ,B\͕6ty',GA'*v`Jwkװ"e.br/[s+B\{ag r #\GdjFjWB,5E{Z tP&~6>r0;d$g{) U -O={:v)s\.uUa3],S":-8 rr oumbBW%R&:hS1`T6{op :qwCl|LS8!Egqkj ^)AעC\*Àfu]_v~4G++'OB"&lBj9.jZ00urOed,F\dE 6.޳oa;IĄ׉R[r3FGK% N.Ӳ&_hXq0^X-!3Ec3cMVĉP{CpA ,jrtOHxqL# <HF^nGU$nd3 ^^5 BD> { ؿHGX4Lj71l%@ڕTG N#yOFQ4'Gٻ%eؓ_O@;10?,Jvb/-ԑ~Y؄2^̺r.1b ّͨz iD XXpaO^susoG4EuVF1<>-)7g N߫ Ƙ'Kfuqc$"Rwem!ܿ̉.TF e4Mi6'Dŀ,zm DԲ,}jhm=FC]fޢSΰsFY^W8z1ӿj oVAcQavY/P^0 Ձg vRAhNb+a&`Tp(ߍAG~`$T=5ĭf 2>cv4Gq p&}zt )6Lpso9z_I)l,Jy[)v 9DH+ hww1 C?&Ϧ2Ha`I0Y gEگsdUT fրG{{~.P>>cG&̼u;BO@^AHȾP_. C҉]Rbʎ8:"*V=ՓT@<.?Xu1`sZD0Ҟ߸f#WDit#}`*xTs),=3*IeL3l֛ $"^ϋq X4 2I~Fu>C gH%QcW OuaK+yQ(5g;>SR% Fw wbS][jAxTU@q[рoi]?+o By#[W R)Ճ%rx7O[;Pz_) q/JޮǏ7oOZZ R o aà q!}.T(ҡ8 ;O$ 5R/v׽k\,\G̐ NF~h7- s@ߡes@ jMI5-]ӕ];?GEt0:DDxQ cQ\ T^TY?@a#.پ삓US=/vDn3Uxt1T"EYH$hHY3o)Кk'p}bJ2w-DE,H8vQEoB Q)tS`o$bpٯ=qSjmJ"mr+mz[F񲮬V)EYѫa$Xay; g c[ħ ]qֵW;3E6 [71нl꩒"47c`bBrncrN ZpqNX/K@۝{oXF x($ p-enްۃoW )l$]-4-E9:9+Nye1Ԛ')U¬Ze|5>.j?" W 0-avML ;-%[棘'K*TDHYN]H~6*(:=S+qMIݔ/~Tt?`o )JTrIP)9jd<0رT;BU r094lb6׋;d;PS Ak&tUұV #CyoUi>sLeqTF3#px 8e y\E 'Cp*lTB3=<ڤzu/kU- Jԥ yQ0Y/Y@i7rxV>\LMzkwJ%yIwYc#PSˣ|z|cEJ_*r2k1rCZ˹){Y>i%:xjSpf\%>Fr㸦ks*oWż (U"7T /l"W (G6L,9}{Hp#"Exj \RF];~#޾t dh~*>{u>7)S'Bl?YROmΚShsGMxԂgӺ^bƱt 9i5!NGLX\(-Z\\GE:N XYz.": UŢ6`%}eFe?:M⎕ayfD- ?-4 i_}ؾɰ4g5!q稺" łj32,f_IgwG6pbX0]3i+'ZղddvĐmӂ9hGb)/Թ5Vn^Lf~,LEnn;(34(/"&X^>jP|{ȸ(^{p&l^%e"Dwn;T-@-#ԋM;iߗx'|?Hwp16ɧ_'Dܱ*>LYWc:bgMo3QT T+!upX)-NZ M7׋#G0aos $bkN6=\ h]3Vx ufc:XX;of27Dk۰g#Ң!2QֿsZy;;U1KΖ~Q1 "0-[0Vz4+97ݧS6cVv>$]^&mPB&dx2 ۘ>?BQszqk/&ᆥZ.!vt90k_@ 19#Ug"dB ~>-6 GYK@M :aJY *B,\I$s_Kѧ0LgVդvV´~^n;w3y*Yp+j1w}*k?dV8rѵ@爒XCv7 :slۣ{yc%A':SL֯e=3&YqmASgJXD=eu8.W/[6I`'s D5]1$߁@PW =sd#L {K|_5sW9X+99uv $'?զYC|CKБ+D&xyiOޗsQP1+Ҁ~3_.qSG\JLD.n^vYd2N\ [# {-s! `4(rUр}JtyYAMuOm܌ZH6֞JWJ!ڊ)KAqΨZy|uec_L-==-p\$~e[yUgdg+VT z-It_}4GrF/dƳota=S֧d!Fiw6k0,f'p_01++ 9(Zo~jW2rhu~괝}Ym $T Ыfٜ=oT<mL:)SoON`PwIYh< jKeҊN@Rs QA0ff^v8&k |7r^olKv2AJE!E ފjLn'-l~ Is`[ ծrźk͈Z\8m 4N;iF% Uz:1whr~x_Gh\_Ce9cAhw@G+qC_x؁Ē|m& .&U}љ:QB9*r9~mv5z[h cM#.D( mt!(>\Q_(ׄL:jVvi:QZ*bl_ψx)&%J8 }!YTmm2|}`f"Ện]SKfa:_#cY{|>#P@/IzM=-XLd7ɘ,i9 C zҪ!<cý2|IWW3)R]s&30H{_!]+-CQ^8vS*  |(Y8O|{ p&£& w*5Pʹp$_N+-CR?3XW{$ÇڀX x$OC*! X~R""*S{($4RsˇF9YvFP8tcO4$W*M&AmGFO8% 4XËDiL7p1C] Q]8#[hߍ(N昚`G>.&E9*?&}tYp)(eF8Yc 'Zi7!KUտOnKX2. ]p$;QfSR(%A9 hMpQO_# YѩK<^mSGBD7=V/}p+#w(/M\!>Ѓu@U*+ݕpi^/Rх#S/)!~70MϞik(,j)06u9=^6.\!jpe+$g5K\d?qj5LtljV8ݮ\ɂ'^+qaփ{jfUV/‚B͕iUEyLlw5o2M<c !k@7c۲*Y \r)%XA_E>vDjlzP"(B v?NwYyNy) vU!sK1NQ|E&3st 5ˑE@9V/A5fKJԋ4V3k̦]L)q.FT,ʷ/ "^^V8YbgwF%ځ1?R]8L%A6d7_oݖ?"pEM-d%#{4"@.q:f[ +Nr޶- ~Z_@_6zlz?g-ff|eBg *Wh? QX9kVO ޥp">cY!:Pqr5-+pH0.@jΰ%Y2z#MMBln$s`db5`U5{ >t)o5zHׄ꜍J> ΍6䉽;µJq#q\(+꟬(ރ}f#Y(nV0Vī4 i4ܨW#W_w 7JMUi(-#,.;@%z~>=6kG77WsI'-|AAÎ+;J'qK͉G&0pҢCd5|2"uիK"%m~KثϡLbA )6 iEbr[<=7^MYW%?.iDzkq4e~ӷ&X,̝fص?Q׎ ?;q@-VuS4=OZQڤ:U1T8H +zTS- E<慢`0YʣNe lMY3S`QhGv +wM Di8$6K"{z=(ntM[PޒWЫco%E0:Lx% בm Hu)D-91p(r*$@ '1Mo!Y}"0Pb 8FzYs"x CNut7q<{P۴OX*.i'}v *_ǦD}^ Ssuހb&kMMȅ,!z` ф!i *0` Dzid\-aaA7DQG0#?ˠg~z8l7(M(bNT[6oI"!ztTh۠3Ym=ǚy%DcdA Z!&E 1+{ 9r#F#Y"ycaaZ 84rXMlfCʨ!CP*L`bwzd B,>roHe3W%@)'mYWCUNW _67!<-̧BB0nC> fe$m=maQ4r*x8$y£p˜@x }BYo[~f4…e}U'~cJ_:VE8K;kF-ˠR M|μ;L%#*9אX`zT5aKnA))L@2y(؝bJ4 ND6޳ӡ7:FpB6pTwo)"6Ol@'4. "ReZ%"vC`ެKQa KaǙŲ2IT 4=U?"qf.gҟm yST_4tlڦA@XhVI7W3?  f轓9ŀIC39S`Hl5x.KJ,- *ԐsDáz +k::*}08j^W iYu +Wθk+T r~m(SњWIbڊTqS#؂`Wzн(rיCY}EБ):Q,@<Y"fD94'٨|bBlmG"E2`~C8\pbz֙@"mNq}xۗ?Y:PC`wDna'\¦w/+̰@*jx^XF ֿzt#_iY5r)cWZMU CT_QǗX5¹Pp4f8tSg]e Y֠l8YK'vCAf#bqa̐Dmt!Ф٧-L7^`ی%O{PTaK!6d^c Eކ`3bIv۩.NS]m Fa.-P 7>@}64SPvFpX7.ռ#~ qۂHG7,N4-x~̮3冞4^7&) Q/1q"JI'l1& _<_\ {lkN9.>dd L}szs"܈Vt4`a}se"X= ]Ðs#CtMOI`(`e??Z)^Gr"pY@BBaP>~B62>_Ջٟ˴XTmsOP(̫_M8F' N֋@|"j;+sGbB}a`T"gBi.^i9< 4;!6R}`lk~~oła{1ng3Ay(F\[IDp e EɀwJT"kh(<1Lj7(RJ# ׬ M'{\Y?<{qוC&יMdXZb}(/>s W05#Y b d(܆;C?Fo?~Aߕ vxhZQ$ d5:Vެ]M(d  ehNJneZMyJ]e Bz%ۣ>-n,7x' u<>iUpTy)͓D*]FIWU^:<>*?.T}\dg$foޙ`X%h bĬ{F]C"ǕloDiX* p3Pv6Hf/ ߐecG9R?3nAS&LQ\%Mhƙ/TԲZ ) S(^+`'}w"c6/,p$&j{`Yp*X[!!+^[l:%c68+!B8J^\)&Vrx&@Hh=䮟\ BOStҐ [f -Z'&)ML ͔^H :z#C$ A[ [yV$8,̃)TeEIV3BDp-~p]{0_HfakOIti"fFئ}D7'F܌n-A\fjvXU4k}q{ʇ&i6Ia~j" jzJ=Pkt%5ߛ ,Q^ir'@Y¹۰Ig|mRh1m]+g6c0Ƥ]"̏3ͼvRu[[qOpXqR8lQGy8%;Nj}TCd d'G[viM+Da(v pR1P%Y5`%Y3O_~ /d햐qskb']+py'E֜(`VFc`f)&zf^z "v2!*vͳ&Zsy+KΗ XpmM+nt٤q-l= ]!?P!^BO'TLJY3g̎VB+pQ%wML|Xh\d'OI'_9sO-lh,CLI\Wie+[ZY4x?zSk[PCVy_y7zтIe5Wz}w}Oyﵖv/}ͺ=λvk<{gno6*ilL?3PfdL x#jb`LS2aQ&&? 2h4=L&f<= h=zV[46F `5㈱D10w (,k+僼1ݩU 6J!R[?JACڷw)>IdDFT+ֹ=(yVYiէGx!R%G$8rJm92 lGhT62MYGSz4Y0XpcZ*})Փr t{%B,qot.sU*ѷƒX gxsYȏxcزf㓺f{,OPu$%Haoޅ f5 Ogǧ*Mi,HEy1&fo  V~<׳ KB2qK;aL Ը6ɟc@ܙb0]sR,Tԯ̺αU)'hC^kvg4লJʎI\OmL,5 '?O+2)wA/ygψT9&Is+v2Sx| KRh feוyTb}?{:s{c(r;6Sy{&:-s6O<iM*=KYbT)q:l=c'ճCbBb 9W8֥2}`?NjA֤#hZp񕳾E{5^*sZ}k+  6kŀ{ l gG443z&[{HWPǏ7xWɳOӮ̈́[g$0x6b]"4pv?!p$Q3QpBVf~m5N˃MB^5>649j7~JwO+$:u]\ ݧAd.GxT502WRZP,T*Ɛ$=fCzȲjBa|CȇU?bP}ٺ)+$=vR=lWT7tNko*eь3 1؃d8ڜnVO};akd,O "NK֞s@x_Aĺ+ߪOA~9ڸ"RIaƸt ;唥tk~gR5-$dP1v`#oA oѯ=F;~RJ 3h83͟L]Ň? ަBOi\ >T%jkWo=/%ȋʍ ]p(^r0-Ḥh'quobJ%zuw>FVœT`*F}jTH{ ʕ<(Hz3f_ExfO&14Kc/3߷ g+OaS:7d 8Hc0X[MѠXIcx$Ԋvs^EװUzu\?-ÔX4So57Dž~Jě=[ fW)O3A9v-;ޛ=͋uu\tKoD}QK1}vqeIm$9b{qB[_މ_icO'GbE]a<#<ԇІ.<+ECd sTd.mAoJfe|'DIsk4;K͏z=3g|uY#%a[vdSW"Fc5Ycƍo&4Ufyj*-{9_͈5:av0-X m6]?8@Mx$٥a\Hu;HFЛ]io#ݸeF.UM""~:끓f`ʳI챫i$}boߧg_,SlqhR$T42WM\!XݲsVP1G5)xsƢӋlǗe~/D87Dߵkgwm%^G2 (ES6p81 r;B,/[8jr'ji{]A :Fq6j7v "7hM72ۉ/Yc Ͱň3937~vڑ=!K|Fs 01~롶E$ I١d0Zr+= ]fB?5e~"?ezb|þ'kT~SۊGXO1YB'|0Is1s/17@#_x' |aލ<0)jl[sRwq&l{ ha/1-p>Q )-3V[~bϻ2Q[ G 2ڝK,Lohbxbjo洅'.b\ͫ6aNJjef淮 q\^f{R><M2ܜ(VDmZNz ,.6R1P%)!E&MCkȩxѓ'5^,|6 >jb7Tq8u*C-~@p xn+GHnp1"$ _mHsCe0KDW|O&(aCҔŌwoAN o#~O`п$iz2#Ԩcߊ5Bu0 |ù%Cn"YmbO7q?-+)2O/2z Ĩ'bw-+żw1,*x Zo^ ª3$9W p/MG._#nע V*حݖ#[w$(RsEO}x.Lly6%6iZ:Wxx.#XN6O*<+ nUۿOmQ PC]96uaq5nsw\:kKGi6Ud62EbkIcBZgV;hfk`"*7_Ɖp jam՗Zp-4]`~6# /Xf s!js9u;kUՅ1Um%'CLC0lmXW`5${s٩7lqzhyZ,M%2~ORMI{+#Wb^iJ{3iX2>w-;utMm0Rq;X2o6)#9X[,83K;7? 6V-`2+TII$d۴~zf{!=:&jA@6V_$@D15"rlh왰E-Ea]`vxrC{i- 1' A/ =h{Z/gQD uծ|,ޝUXD\dUFJ[9ȟHehEped~ ARxʞkX&g}皭P gW#:5aTYtQVI2ʈ ́$h)k͖&o3eu,7V~ً(O =d"ў֍%$=Pl`\;QY)ZnLLޠȻZXq'DDQJ]FD2wbnv*6`sEC@9^\ًuV/05R4U[j"7[k%UZv$"I,(p}O2}E ]mNuz4nH!(g > -k_$8$>rB \J],1$Tb|5Ӕî"vډv>0. Z]Ŋ?hq6i_e$AVPlPJ%̄T ?%ႱC;.ͅIrx_*<p0&f_Wz:oU\g?q#sO# iZP?DSʛITq]b帳5W~6RLFE}i ԠK|bk xFHVsĥOw;F j WL^E,y{,^F; J5Z @|ekR}t kwBwAuWvg*3h9wsTbMJ4)4ҁR^4d5w_&+ίX  TeACݷFNsv}ĘFTUګڕ^]G*i&lLz8sVDV(%/uxqU~DO}kSiq M[YN1[G83zdbN v›롘̼d) Un̠vߙkd!W[L53;[ =d+Hp+${TOظg1>OmrcT5ٲ>5UeuvϬ~z\u{4W,۠]1~+L ɿ|ƞGH2>H`캂ȆsjI#R`K5|{K o %^<=;_PݿLS\eky:r0#0C9f4~ ^wvfc.+uT݄:$M/TO8 5)Ȯ~;k]; I*CyO>&C 37 !}|$|˴]}^r#`QޅKj%n_6ٵWGwezHo%𕛀 ~-Dj63OiIbqҦj[.JAh?eT կwTt_aDZVwɴ(kT8K&z7AgXB' Ԡ5F~Ydc:!m?JtL9Hm wnt xL>З;A[u)1E 󀡳_뷔Ck9Q1_?$ @@Q3NAdQ`W.JقXŌ@2sDzȃbZM+q7:*X~-ǹ6 E&v߀ <"͘6 MhOS, ݜ7OpdeSPA쥜n'K@^ԣ W*]J/= H2#*3FMMaE_mvI^-IjF0s9UU7 tl+k! $qej|S[ه]'$!;Q#벊B*M1֬y^ {=;mb+~~.~ G-@|!! ܊ze$dT%P@G!36>.爾៤BU>$_ xg#1dn15\k Tka=45cgڝ,w|=?z9:Z^Hz4%0C: -ժn`|٠~Z?, tݦ? L%_r;qn^;fcMdDa]8ڱ'@]m6=CsEEw;;  o"Xhsԓ>@vT(ΐE柬>xV7/rkKsRiATr-U %;Z0OV+ht@5i\ '=k9C1U5KIT,†t1W1#)UvTK_iX?јxg-U'VC-zbºDi-hE#y~RUjVEbmKsKYp E㠴~ D%VeH|=:Rk0ݚ$[)fWRcIakߠ&ec+gg.ɮό_:V甧м!(_/m؍{886?=LT\/$Uإ<$iاyk`; r@twm *IRv/~NQQ0MÛsʎ^F+ۛ܈.z J5>n>g"p! 7elک*h.K_=561O7 nq<64u2%IdLf=/&lM|@v-hnon, jo39A*8 EbA Iz]`rj(fdcojXؗ}vo:a:74j m1nC=$m܏CH]|5"}) <4dlV6,epva+䲍O.Q^~‹CANuݹZa;y3G_TͳDUpH`8 {LgnQb dw>L?R٦V<[s'# V9rc8Ӝ NM?XaƱh)јGuB`Y"rm-Τ*,$▕;΢;I`#zw<9mcCW8|9T!sn+0fڭ;vF]s$I8&*q dqIw$S ;