xtrack 0.69.4__tar.gz → 0.69.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {xtrack-0.69.4/xtrack.egg-info → xtrack-0.69.6}/PKG-INFO +1 -1
- xtrack-0.69.6/tests/test_rbend_rbarc.py +72 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_twiss.py +44 -0
- xtrack-0.69.6/xtrack/_version.py +1 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/environment.py +2 -2
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/line.py +32 -2
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/twiss.py +41 -9
- {xtrack-0.69.4 → xtrack-0.69.6/xtrack.egg-info}/PKG-INFO +1 -1
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack.egg-info/SOURCES.txt +1 -0
- xtrack-0.69.4/xtrack/_version.py +0 -1
- {xtrack-0.69.4 → xtrack-0.69.6}/LICENSE +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/MANIFEST.in +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/README.md +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/base_classes.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/be_beamfields/BB6D.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/be_beamfields/BB6Ddata.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/be_beamfields/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/be_beamfields/beambeam.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/be_beamfields/boost.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/be_beamfields/gaussian_fields.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/be_beamfields/propagate_sigma_matrix.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/be_beamfields/qgauss.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/be_beamfields/slicing.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/be_beamfields/spacecharge.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/elements.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/line.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/mathlibs.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/particles.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/ducktrack/temp_pyparticles.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/pyproject.toml +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/setup.cfg +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/setup.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_acceleration.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_amplitude_detuning.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_aperture_turn_ele_and_monitor.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_apertures.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_attr_replicas_and_slices.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_cavity_absolute_time.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_chromatic_functions_vs_madx.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_coasting.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_collective_tracker.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_collimation.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_element_characterization_functions.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_element_internal_record.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_elements.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_elements_classflags.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_elements_thick.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_environment.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_fcc_ee_solenoid_correction.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_fcc_ee_solenoid_correction_new_optimize_api.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_footprint.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_freeze_longitudinal.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_full_rings.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_hvkick.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_ions.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_lhc_match_phase_15.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_line.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_lumi.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_mad_writer.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_madloader.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_match_and_track_from_element.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_match_coupling_knob.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_match_nested.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_match_optics_and_ip_knob.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_match_optics_and_ip_knob_new_optimize_api.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_match_orbit_bump.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_match_tune_chroma_cminus.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_monitor.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_multiline.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_multisetter.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_multispecies.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_particles_api.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_periodic_symmetric_twiss_and_match.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_pipeline.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_prebuild_kernels.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_ps_against_ptc.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_ps_multiturn_twiss.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_psb_chicane.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_pyht_interface.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_radial_steering.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_radiation.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_radiation_equilibrium_emittances.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_random_gen.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_random_gen_exp.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_random_gen_gauss.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_random_gen_ruth.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_rf_track.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_rotation_signs.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_second_order_taylor_map.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_seeds.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_slice_and_insert_with_replicas.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_slice_elements.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_slicing.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_solenoid_bz_map_vs_boris.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_spacecharge_in_ring.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_sps_thick.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_survey.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_tapering.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_thick_lhc.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_tilt_shifts.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_tracker.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_trajectory_correcton.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_twiss_vs_madx_psb.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_vs_madx.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/tests/test_xmask_orbit_correction.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/_temp/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/_temp/boris_and_solenoid_map/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/_temp/boris_and_solenoid_map/boris.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/_temp/boris_and_solenoid_map/solenoid_field.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/_temp/lhc_match/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/_temp/lhc_match/gen_madx_optics_file.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/_temp/lhc_match/lhc_match.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/_temp/lhc_match/var_limits.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/base_element.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/apertures.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/apertures_src/limitellipse.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/apertures_src/limitpolygon.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/apertures_src/limitracetrack.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/apertures_src/limitrect.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/apertures_src/limitrectellipse.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/apertures_src/longitudinallimitrect.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/beam_interaction.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/bend.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/cavity.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/dipole_fringe.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/dipoleedge.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/drift.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/drift_elem.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/drift_slice.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/drift_slice_bend.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/drift_slice_octupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/drift_slice_quadrupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/drift_slice_sextupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/elens.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/exciter.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/firstordertaylormap.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/linesegmentmap.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/multipole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/nonlinearlens.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/octupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/quadrupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/referenceenergyincrease.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/rfmultipole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/second_order_taylor_map.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/sextupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/simplethinbend.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/simplethinquadrupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/solenoid.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/srotation.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thick_slice_bend.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thick_slice_drift.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thick_slice_octupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thick_slice_quadrupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thick_slice_sextupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thick_slice_solenoid.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thin_slice_bend.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thin_slice_bend_entry.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thin_slice_bend_exit.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thin_slice_octupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thin_slice_quadrupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/thin_slice_sextupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_bend.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_dipole_edge_linear.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_dipole_edge_nonlinear.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_dipole_fringe.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_mult_fringe.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_multipolar_components.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_multipole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_quadrupole.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_solenoid.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_srotation.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_thick_bend.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_thick_cfd.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_wedge.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_xrotation.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/track_yrotation.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/wedge.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/wire.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/xrotation.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/xyshift.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/yrotation.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/elements_src/zetashift.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/exciter.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/rft_element.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/slice_elements.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/beam_elements/slice_elements_thick.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/footprint.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/general.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/headers/atomicadd.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/headers/checks.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/headers/constants.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/headers/particle_states.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/headers/synrad_spectrum.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/internal_record.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/json_utils.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/linear_normal_form.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/loss_location_refinement/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/loss_location_refinement/loss_location_refinement.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/lumi.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/mad_loader.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/mad_writer.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/match.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/monitors/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/monitors/beam_position_monitor.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/monitors/beam_position_monitor.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/monitors/beam_profile_monitor.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/monitors/beam_profile_monitor.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/monitors/beam_size_monitor.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/monitors/beam_size_monitor.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/monitors/last_turns_monitor.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/monitors/last_turns_monitor.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/monitors/particles_monitor.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/monitors/particles_monitor.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/multiline/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/multiline/multiline.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/multiline/shared_knobs.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/multisetter/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/multisetter/multisetter.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/particles/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/particles/constants.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/particles/particles.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/particles/rng_src/base_rng.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/particles/rng_src/particles_rng.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/pipeline/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/pipeline/core.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/pipeline/manager.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/pipeline/multitracker.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/progress_indicator.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/random/__init__.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/random/random_generators.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/random/random_src/exponential.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/random/random_src/exponential_integral_Ei.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/random/random_src/normal.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/random/random_src/rutherford.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/random/random_src/uniform.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/random/random_src/uniform_accurate.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/slicing.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/survey.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/synctime.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/tapering.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/targets.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/tracker.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/tracker_data.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/tracker_src/tracker.h +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/trajectory_correction.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack/twissplot.py +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack.egg-info/dependency_links.txt +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack.egg-info/requires.txt +0 -0
- {xtrack-0.69.4 → xtrack-0.69.6}/xtrack.egg-info/top_level.txt +0 -0
@@ -0,0 +1,72 @@
|
|
1
|
+
import numpy as np
|
2
|
+
import xtrack as xt
|
3
|
+
import xobjects as xo
|
4
|
+
from cpymad.madx import Madx
|
5
|
+
|
6
|
+
def test_rbend_rbarc():
|
7
|
+
mad = Madx()
|
8
|
+
mad.input('''
|
9
|
+
ang = 0.6;
|
10
|
+
lb = 0.5;
|
11
|
+
rb: rbend, l=lb, angle=ang;
|
12
|
+
|
13
|
+
beam, particle=proton, energy=1.0;
|
14
|
+
seq: sequence, l=2;
|
15
|
+
rb, at=1;
|
16
|
+
endsequence;
|
17
|
+
use, sequence=seq;
|
18
|
+
''')
|
19
|
+
tw = xt.Table(mad.twiss(betx=1.0, bety=1.0))
|
20
|
+
|
21
|
+
ds_madx = tw['s', 'rb:1'] - tw['s', 'rb:1<<1']
|
22
|
+
|
23
|
+
line = xt.Line.from_madx_sequence(mad.sequence.seq)
|
24
|
+
|
25
|
+
xo.assert_allclose(ds_madx, line['rb'].length, atol=0, rtol=1e-12)
|
26
|
+
|
27
|
+
env = xt.Environment()
|
28
|
+
env['lb'] = 0.5
|
29
|
+
env['ang'] = 0.6
|
30
|
+
env.new('rb_rbarc', xt.Bend)
|
31
|
+
env.set('rb_rbarc', length='lb', angle='ang', rbend=True, rbarc=True, k0_from_h=True)
|
32
|
+
|
33
|
+
xo.assert_allclose(env['rb_rbarc'].length, ds_madx, atol=0, rtol=1e-12)
|
34
|
+
xo.assert_allclose(env['rb_rbarc'].h * env['rb_rbarc'].length, 0.6, atol=0, rtol=1e-12)
|
35
|
+
xo.assert_allclose(env['rb_rbarc'].edge_entry_angle, 0.3, atol=0, rtol=1e-12)
|
36
|
+
xo.assert_allclose(env['rb_rbarc'].edge_exit_angle, 0.3, atol=0, rtol=1e-12)
|
37
|
+
|
38
|
+
assert env['rb_rbarc'].get_expr('length') == "(vars['lb'] / f['sinc']((0.5 * vars['ang'])))"
|
39
|
+
assert env['rb_rbarc'].get_expr('h') == "(f['sin']((0.5 * vars['ang'])) / (0.5 * vars['lb']))"
|
40
|
+
assert env['rb_rbarc'].get_expr('k0') == env['rb_rbarc'].get_expr('h')
|
41
|
+
assert env['rb_rbarc'].get_expr('edge_entry_angle') == "(0.0 + (vars['ang'] / 2))"
|
42
|
+
assert env['rb_rbarc'].get_expr('edge_exit_angle') == "(0.0 + (vars['ang'] / 2))"
|
43
|
+
|
44
|
+
env.new('rb_norbarc', xt.Bend)
|
45
|
+
env.set('rb_norbarc', length='lb', angle='ang', rbend=True, rbarc=False, k0_from_h=True)
|
46
|
+
|
47
|
+
xo.assert_allclose(env['rb_norbarc'].length, 0.5, atol=0, rtol=1e-12)
|
48
|
+
xo.assert_allclose(env['rb_norbarc'].h * env['rb_norbarc'].length, 0.6, atol=0, rtol=1e-12)
|
49
|
+
xo.assert_allclose(env['rb_norbarc'].k0, env['rb_norbarc'].h, atol=0, rtol=1e-12)
|
50
|
+
xo.assert_allclose(env['rb_norbarc'].edge_entry_angle, 0.3, atol=0, rtol=1e-12)
|
51
|
+
xo.assert_allclose(env['rb_norbarc'].edge_exit_angle, 0.3, atol=0, rtol=1e-12)
|
52
|
+
|
53
|
+
assert env['rb_norbarc'].get_expr('length') == "vars['lb']"
|
54
|
+
assert env['rb_norbarc'].get_expr('h') == "(vars['ang'] / vars['lb'])"
|
55
|
+
assert env['rb_norbarc'].get_expr('k0') == env['rb_norbarc'].get_expr('h')
|
56
|
+
assert env['rb_norbarc'].get_expr('edge_entry_angle') == "(0.0 + (vars['ang'] / 2))"
|
57
|
+
assert env['rb_norbarc'].get_expr('edge_exit_angle') == "(0.0 + (vars['ang'] / 2))"
|
58
|
+
|
59
|
+
# Check an sbend
|
60
|
+
env.new('sb', xt.Bend)
|
61
|
+
env.set('sb', length='lb', angle='ang', rbend=False, rbarc=True, k0_from_h=True)
|
62
|
+
|
63
|
+
xo.assert_allclose(env['sb'].length, 0.5, atol=0, rtol=1e-12)
|
64
|
+
xo.assert_allclose(env['sb'].h * env['sb'].length, 0.6, atol=0, rtol=1e-12)
|
65
|
+
xo.assert_allclose(env['sb'].edge_entry_angle, 0, atol=1e-12, rtol=0)
|
66
|
+
xo.assert_allclose(env['sb'].edge_exit_angle, 0, atol=1e-12, rtol=0)
|
67
|
+
|
68
|
+
assert env['sb'].get_expr('length') == "vars['lb']"
|
69
|
+
assert env['sb'].get_expr('h') == "(vars['ang'] / vars['lb'])"
|
70
|
+
assert env['sb'].get_expr('k0') == env['sb'].get_expr('h')
|
71
|
+
assert env['sb'].get_expr('edge_entry_angle') == None
|
72
|
+
assert env['sb'].get_expr('edge_exit_angle') == None
|
@@ -1930,3 +1930,47 @@ def test_twiss_add_strengths(test_context):
|
|
1930
1930
|
assert "length" not in tw.keys()
|
1931
1931
|
tw.add_strengths()
|
1932
1932
|
assert "length" in tw.keys()
|
1933
|
+
|
1934
|
+
def test_coupling_calculations():
|
1935
|
+
|
1936
|
+
# Load a line and build tracker
|
1937
|
+
line = xt.Line.from_json(test_data_folder /
|
1938
|
+
'hllhc14_no_errors_with_coupling_knobs/line_b1.json')
|
1939
|
+
line.particle_ref = xt.Particles(mass0=xt.PROTON_MASS_EV, q0=1, energy0=7e12)
|
1940
|
+
line.cycle('ip1', inplace=True)
|
1941
|
+
line.twiss_default['method'] = '4d'
|
1942
|
+
|
1943
|
+
# Flat machine
|
1944
|
+
for nn in line.vars.get_table().rows['on_.*|corr_.*'].name:
|
1945
|
+
line.vars[nn] = 0
|
1946
|
+
|
1947
|
+
line['cmrskew'] = 0
|
1948
|
+
line['cmiskew'] = 0
|
1949
|
+
tw0 = line.twiss()
|
1950
|
+
|
1951
|
+
line['cmrskew'] = 0.5e-4
|
1952
|
+
line['cmiskew'] = -0.3e-4
|
1953
|
+
|
1954
|
+
tw = line.twiss(strengths = True)
|
1955
|
+
|
1956
|
+
c_min_from_k1s = (0+0j) * tw.s
|
1957
|
+
for ii in xt.progress_indicator.progress(range(len(tw.s))):
|
1958
|
+
c_min_from_k1s[ii] = 1 / (2*np.pi) * np.sum(tw.k1sl * np.sqrt(tw0.betx * tw0.bety)
|
1959
|
+
* np.exp(1j * 2 * np.pi * ((tw0.mux - tw0.mux[ii]) - (tw0.muy - tw0.muy[ii]))))
|
1960
|
+
|
1961
|
+
xo.assert_allclose(tw.c_minus_re + 1j*tw.c_minus_im, c_min_from_k1s, rtol=5e-2, atol=0)
|
1962
|
+
# Check phi1
|
1963
|
+
xo.assert_allclose(tw.c_minus_re + 1j*tw.c_minus_im,
|
1964
|
+
tw.c_minus * np.exp(1j * tw.c_phi1), rtol=1e-10, atol=0)
|
1965
|
+
# Check phi2
|
1966
|
+
xo.assert_allclose(tw.c_minus_re + 1j*tw.c_minus_im,
|
1967
|
+
tw.c_minus * np.exp(1j * (np.pi - tw.c_phi2)), rtol=3e-2, atol=0)
|
1968
|
+
# Check r1
|
1969
|
+
xo.assert_allclose(tw.c_r1, np.sqrt(tw.bety1 / tw.betx1), rtol=1e-5, atol=0)
|
1970
|
+
# Check r2
|
1971
|
+
xo.assert_allclose(tw.c_r2, np.sqrt(tw.betx2 / tw.bety2), rtol=1e-5, atol=0)
|
1972
|
+
|
1973
|
+
# Check c_minus
|
1974
|
+
xo.assert_allclose(np.abs(tw.c_minus_re + 1j*tw.c_minus_im), tw.c_minus, rtol=1e-10, atol=0)
|
1975
|
+
xo.assert_allclose(tw.c_minus_re_0, tw.c_minus_re[0], rtol=1e-10, atol=0)
|
1976
|
+
xo.assert_allclose(tw.c_minus_im_0, tw.c_minus_im[0], rtol=1e-10, atol=0)
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = '0.69.6'
|
@@ -603,7 +603,7 @@ class EnvRef:
|
|
603
603
|
def _handle_bend_kwargs(kwargs, _eval, env=None, name=None):
|
604
604
|
|
605
605
|
kwargs = kwargs.copy()
|
606
|
-
rbarc = kwargs.pop('rbarc',
|
606
|
+
rbarc = kwargs.pop('rbarc', True)
|
607
607
|
rbend = kwargs.pop('rbend', False)
|
608
608
|
|
609
609
|
if rbarc:
|
@@ -644,7 +644,7 @@ def _handle_bend_kwargs(kwargs, _eval, env=None, name=None):
|
|
644
644
|
else:
|
645
645
|
angle = kwargs.get('h', 0) * length
|
646
646
|
|
647
|
-
if
|
647
|
+
if rbend:
|
648
648
|
edge_entry_angle = kwargs.pop('edge_entry_angle', 0.)
|
649
649
|
if isinstance(edge_entry_angle, str):
|
650
650
|
edge_entry_angle = _eval(edge_entry_angle)
|
@@ -886,6 +886,28 @@ class Line:
|
|
886
886
|
self.particle_ref.t_sim = (
|
887
887
|
self.get_length() / self.particle_ref._xobject.beta0[0] / clight)
|
888
888
|
|
889
|
+
@property
|
890
|
+
def scattering(self):
|
891
|
+
if not hasattr(self, '_scattering') or self._scattering is None:
|
892
|
+
try:
|
893
|
+
from xcoll.line_tools import XcollScatteringAPI
|
894
|
+
self._scattering = XcollScatteringAPI(line=self)
|
895
|
+
except ImportError as error:
|
896
|
+
raise ImportError("Please install Xcoll to use this feature.") from error
|
897
|
+
|
898
|
+
return self._scattering
|
899
|
+
|
900
|
+
@property
|
901
|
+
def collimators(self):
|
902
|
+
if not hasattr(self, '_collimators') or self._collimators is None:
|
903
|
+
try:
|
904
|
+
from xcoll.line_tools import XcollCollimatorAPI
|
905
|
+
self._collimators = XcollCollimatorAPI(line=self)
|
906
|
+
except ImportError as error:
|
907
|
+
raise ImportError("Please install Xcoll to use this feature.") from error
|
908
|
+
|
909
|
+
return self._collimators
|
910
|
+
|
889
911
|
def discard_tracker(self):
|
890
912
|
|
891
913
|
"""
|
@@ -4402,6 +4424,9 @@ class Line:
|
|
4402
4424
|
def frac(x):
|
4403
4425
|
return x % 1
|
4404
4426
|
|
4427
|
+
def sinc(x):
|
4428
|
+
return np.sinc(x / np.pi)
|
4429
|
+
|
4405
4430
|
class Functions:
|
4406
4431
|
|
4407
4432
|
_mathfunctions = dict(
|
@@ -4419,7 +4444,7 @@ class Functions:
|
|
4419
4444
|
sinh = math.sinh,
|
4420
4445
|
cosh = math.cosh,
|
4421
4446
|
tanh = math.tanh,
|
4422
|
-
sinc =
|
4447
|
+
sinc = sinc,
|
4423
4448
|
abs = math.fabs,
|
4424
4449
|
erf = math.erf,
|
4425
4450
|
erfc = math.erfc,
|
@@ -4524,7 +4549,12 @@ def mk_class_namespace(extra_classes):
|
|
4524
4549
|
all_classes = element_classes + xf.element_classes + extra_classes + (Line,)
|
4525
4550
|
except ImportError:
|
4526
4551
|
all_classes = element_classes + extra_classes
|
4527
|
-
log.warning("Xfields not installed
|
4552
|
+
log.warning("Xfields not installed")
|
4553
|
+
try:
|
4554
|
+
import xcoll as xc
|
4555
|
+
all_classes += xc.element_classes
|
4556
|
+
except ImportError:
|
4557
|
+
log.warning("Xcoll not installed")
|
4528
4558
|
|
4529
4559
|
all_classes = all_classes + (EnergyProgram, xt.Replica)
|
4530
4560
|
|
@@ -221,6 +221,12 @@ def twiss_line(line, particle_ref=None, method=None,
|
|
221
221
|
- bety1: computed vertical beta function (Mais-Ripken) in meters
|
222
222
|
- betx2: computed horizontal beta function (Mais-Ripken) in meters
|
223
223
|
- bety2: computed vertical beta function (Mais-Ripken) in meters
|
224
|
+
- c_minus_re: real part of the closest tune approach coefficient
|
225
|
+
- c_minus_im: imaginary part of the closest tune approach coefficient
|
226
|
+
- c_r1: horizontal r1 coefficient for betatron coupling
|
227
|
+
- c_r2: vertical r2 coefficient for betatron coupling
|
228
|
+
- c_phi1: phase advance of the closest tune approach coefficient
|
229
|
+
- c_phi2: phase advance of the closest tune approach coefficient
|
224
230
|
The table also contains the following global quantities:
|
225
231
|
- qx: horizontal tune
|
226
232
|
- qy: vertical tune
|
@@ -230,6 +236,8 @@ def twiss_line(line, particle_ref=None, method=None,
|
|
230
236
|
- ddqx: horizontal second order chromaticity (d^2 qx / d delta^2)
|
231
237
|
- ddqy: vertical second order chromaticity (d^2 qy / d delta^2)
|
232
238
|
- c_minus: closest tune approach coefficient
|
239
|
+
- c_minus_re_0: real part of the closest tune approach coefficient (at start of the ring)
|
240
|
+
- c_minus_im_0: imaginary part of the closest tune approach coefficient (at start of the ring)
|
233
241
|
- slip_factor: slip factor (-1 / f_ref * d f_ref / d delta) (positive above transition)
|
234
242
|
- momentum_compaction_factor: momentum compaction factor (slip_factor + 1/gamma_0^2)
|
235
243
|
- T_rev0: reference revolution period in seconds
|
@@ -1223,27 +1231,51 @@ def _compute_global_quantities(line, twiss_res):
|
|
1223
1231
|
if 'mux' in twiss_res._data: # Lattice functions are available
|
1224
1232
|
mux = twiss_res['mux']
|
1225
1233
|
muy = twiss_res['muy']
|
1234
|
+
|
1226
1235
|
# Coupling
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
|
1236
|
+
# from Y. Luo et al., "Possible phase loop for the global betatron decoupling",
|
1237
|
+
# C-A/AP/#174, https://www.agsrhichome.bnl.gov//AP/ap_notes/ap_note_174.pdf
|
1238
|
+
w11 = W_matrix[:, 0, 0]
|
1239
|
+
w13 = W_matrix[:, 0, 2]
|
1240
|
+
w14 = W_matrix[:, 0, 3]
|
1241
|
+
w31 = W_matrix[:, 2, 0]
|
1242
|
+
w32 = W_matrix[:, 2, 1]
|
1243
|
+
w33 = W_matrix[:, 2, 2]
|
1244
|
+
|
1245
|
+
c_r1 = np.sqrt(w31**2 + w32**2) / w11
|
1246
|
+
c_r2 = np.sqrt(w13**2 + w14**2) / w33
|
1247
|
+
c_phi1 = np.arctan2(w32, w31)
|
1248
|
+
c_phi2 = np.arctan2(w14, w13)
|
1231
1249
|
|
1232
1250
|
# Coupling (https://arxiv.org/pdf/2005.02753.pdf)
|
1233
|
-
|
1251
|
+
# R. Jones, Measuring Tune, Chromaticity and Coupling,
|
1252
|
+
# Proceedings of the 2018 CERN–Accelerator–School
|
1253
|
+
cmin_arr = (2 * np.sqrt(c_r1*c_r2) *
|
1234
1254
|
np.abs(np.mod(mux[-1], 1) - np.mod(muy[-1], 1))
|
1235
|
-
/(1 +
|
1255
|
+
/(1 + c_r1 * c_r2))
|
1236
1256
|
c_minus = trapz(cmin_arr, s_vect)/(circumference)
|
1237
|
-
|
1238
|
-
|
1257
|
+
|
1258
|
+
c_minus_cplx = c_minus * np.exp(1j * c_phi1)
|
1259
|
+
c_minus_re = np.real(c_minus_cplx)
|
1260
|
+
c_minus_im = np.imag(c_minus_cplx)
|
1239
1261
|
|
1240
1262
|
qs = np.abs(twiss_res['muzeta'][-1])
|
1241
1263
|
|
1264
|
+
# Scalars
|
1242
1265
|
twiss_res._data.update({
|
1243
1266
|
'qx': mux[-1], 'qy': muy[-1], 'qs': qs,
|
1244
|
-
'c_minus': c_minus,
|
1267
|
+
'c_minus': c_minus,
|
1268
|
+
'c_minus_re_0': c_minus_re[0], 'c_minus_im_0': c_minus_im[0],
|
1245
1269
|
})
|
1246
1270
|
|
1271
|
+
# Coupling columns
|
1272
|
+
twiss_res['c_minus_re'] = c_minus_re
|
1273
|
+
twiss_res['c_minus_im'] = c_minus_im
|
1274
|
+
twiss_res['c_r1'] = c_r1
|
1275
|
+
twiss_res['c_r2'] = c_r2
|
1276
|
+
twiss_res['c_phi1'] = c_phi1
|
1277
|
+
twiss_res['c_phi2'] = c_phi2
|
1278
|
+
|
1247
1279
|
def _compute_chromatic_functions(line, init, delta_chrom, steps_r_matrix,
|
1248
1280
|
matrix_responsiveness_tol, matrix_stability_tol, symplectify,
|
1249
1281
|
method='6d', use_full_inverse=False,
|
xtrack-0.69.4/xtrack/_version.py
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = '0.69.4'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|