diff --git a/base/modules/auxil/psb_c_hsort_mod.f90 b/base/modules/auxil/psb_c_hsort_mod.f90 index e7eb2fbf..863614c9 100644 --- a/base/modules/auxil/psb_c_hsort_mod.f90 +++ b/base/modules/auxil/psb_c_hsort_mod.f90 @@ -44,10 +44,10 @@ module psb_c_hsort_mod use psb_const_mod interface psb_hsort - subroutine psb_chsort(x,ix,dir,flag) + subroutine psb_chsort(x,ix,dir,flag,reord) import complex(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_chsort end interface psb_hsort diff --git a/base/modules/auxil/psb_c_isort_mod.f90 b/base/modules/auxil/psb_c_isort_mod.f90 index d0dbd281..302a2d8e 100644 --- a/base/modules/auxil/psb_c_isort_mod.f90 +++ b/base/modules/auxil/psb_c_isort_mod.f90 @@ -44,10 +44,10 @@ module psb_c_isort_mod use psb_const_mod interface psb_isort - subroutine psb_cisort(x,ix,dir,flag) + subroutine psb_cisort(x,ix,dir,flag,reord) import complex(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_cisort end interface psb_isort diff --git a/base/modules/auxil/psb_c_msort_mod.f90 b/base/modules/auxil/psb_c_msort_mod.f90 index a74c32fd..54103747 100644 --- a/base/modules/auxil/psb_c_msort_mod.f90 +++ b/base/modules/auxil/psb_c_msort_mod.f90 @@ -55,10 +55,10 @@ module psb_c_msort_mod interface psb_msort - subroutine psb_cmsort(x,ix,dir,flag) + subroutine psb_cmsort(x,ix,dir,flag,reord) import complex(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag, reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_cmsort end interface psb_msort diff --git a/base/modules/auxil/psb_c_qsort_mod.f90 b/base/modules/auxil/psb_c_qsort_mod.f90 index 6c4ceb3f..178fdc72 100644 --- a/base/modules/auxil/psb_c_qsort_mod.f90 +++ b/base/modules/auxil/psb_c_qsort_mod.f90 @@ -45,10 +45,10 @@ module psb_c_qsort_mod interface psb_qsort - subroutine psb_cqsort(x,ix,dir,flag) + subroutine psb_cqsort(x,ix,dir,flag,reord) import complex(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_cqsort end interface psb_qsort diff --git a/base/modules/auxil/psb_d_hsort_mod.f90 b/base/modules/auxil/psb_d_hsort_mod.f90 index 570f27b1..e9d10a70 100644 --- a/base/modules/auxil/psb_d_hsort_mod.f90 +++ b/base/modules/auxil/psb_d_hsort_mod.f90 @@ -44,10 +44,10 @@ module psb_d_hsort_mod use psb_const_mod interface psb_hsort - subroutine psb_dhsort(x,ix,dir,flag) + subroutine psb_dhsort(x,ix,dir,flag,reord) import real(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_dhsort end interface psb_hsort diff --git a/base/modules/auxil/psb_d_isort_mod.f90 b/base/modules/auxil/psb_d_isort_mod.f90 index b34a3dff..e5e2a09a 100644 --- a/base/modules/auxil/psb_d_isort_mod.f90 +++ b/base/modules/auxil/psb_d_isort_mod.f90 @@ -44,10 +44,10 @@ module psb_d_isort_mod use psb_const_mod interface psb_isort - subroutine psb_disort(x,ix,dir,flag) + subroutine psb_disort(x,ix,dir,flag,reord) import real(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_disort end interface psb_isort diff --git a/base/modules/auxil/psb_d_msort_mod.f90 b/base/modules/auxil/psb_d_msort_mod.f90 index d035486b..3c4559bf 100644 --- a/base/modules/auxil/psb_d_msort_mod.f90 +++ b/base/modules/auxil/psb_d_msort_mod.f90 @@ -55,10 +55,10 @@ module psb_d_msort_mod interface psb_msort - subroutine psb_dmsort(x,ix,dir,flag) + subroutine psb_dmsort(x,ix,dir,flag,reord) import real(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag, reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_dmsort end interface psb_msort diff --git a/base/modules/auxil/psb_d_qsort_mod.f90 b/base/modules/auxil/psb_d_qsort_mod.f90 index 4da0b840..4a9953d8 100644 --- a/base/modules/auxil/psb_d_qsort_mod.f90 +++ b/base/modules/auxil/psb_d_qsort_mod.f90 @@ -64,10 +64,10 @@ module psb_d_qsort_mod end interface psb_ssrch interface psb_qsort - subroutine psb_dqsort(x,ix,dir,flag) + subroutine psb_dqsort(x,ix,dir,flag,reord) import real(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_dqsort end interface psb_qsort diff --git a/base/modules/auxil/psb_e_hsort_mod.f90 b/base/modules/auxil/psb_e_hsort_mod.f90 index 5433cec4..3bc38743 100644 --- a/base/modules/auxil/psb_e_hsort_mod.f90 +++ b/base/modules/auxil/psb_e_hsort_mod.f90 @@ -44,10 +44,10 @@ module psb_e_hsort_mod use psb_const_mod interface psb_hsort - subroutine psb_ehsort(x,ix,dir,flag) + subroutine psb_ehsort(x,ix,dir,flag,reord) import integer(psb_epk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_epk_), optional, intent(inout) :: ix(:) end subroutine psb_ehsort end interface psb_hsort diff --git a/base/modules/auxil/psb_e_isort_mod.f90 b/base/modules/auxil/psb_e_isort_mod.f90 index ead8af04..4006c412 100644 --- a/base/modules/auxil/psb_e_isort_mod.f90 +++ b/base/modules/auxil/psb_e_isort_mod.f90 @@ -44,10 +44,10 @@ module psb_e_isort_mod use psb_const_mod interface psb_isort - subroutine psb_eisort(x,ix,dir,flag) + subroutine psb_eisort(x,ix,dir,flag,reord) import integer(psb_epk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_epk_), optional, intent(inout) :: ix(:) end subroutine psb_eisort end interface psb_isort diff --git a/base/modules/auxil/psb_e_msort_mod.f90 b/base/modules/auxil/psb_e_msort_mod.f90 index 5a0758dd..ef9d5b8d 100644 --- a/base/modules/auxil/psb_e_msort_mod.f90 +++ b/base/modules/auxil/psb_e_msort_mod.f90 @@ -62,10 +62,10 @@ module psb_e_msort_mod interface psb_msort - subroutine psb_emsort(x,ix,dir,flag) + subroutine psb_emsort(x,ix,dir,flag,reord) import integer(psb_epk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag, reord integer(psb_epk_), optional, intent(inout) :: ix(:) end subroutine psb_emsort end interface psb_msort diff --git a/base/modules/auxil/psb_e_qsort_mod.f90 b/base/modules/auxil/psb_e_qsort_mod.f90 index 09f45d45..bfd9aa0d 100644 --- a/base/modules/auxil/psb_e_qsort_mod.f90 +++ b/base/modules/auxil/psb_e_qsort_mod.f90 @@ -64,10 +64,10 @@ module psb_e_qsort_mod end interface psb_ssrch interface psb_qsort - subroutine psb_eqsort(x,ix,dir,flag) + subroutine psb_eqsort(x,ix,dir,flag,reord) import integer(psb_epk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_epk_), optional, intent(inout) :: ix(:) end subroutine psb_eqsort end interface psb_qsort diff --git a/base/modules/auxil/psb_i2_hsort_mod.f90 b/base/modules/auxil/psb_i2_hsort_mod.f90 index 6a6c96de..76f7c3fe 100644 --- a/base/modules/auxil/psb_i2_hsort_mod.f90 +++ b/base/modules/auxil/psb_i2_hsort_mod.f90 @@ -44,10 +44,10 @@ module psb_i2_hsort_mod use psb_const_mod interface psb_hsort - subroutine psb_i2hsort(x,ix,dir,flag) + subroutine psb_i2hsort(x,ix,dir,flag,reord) import integer(psb_i2pk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_i2hsort end interface psb_hsort diff --git a/base/modules/auxil/psb_i2_isort_mod.f90 b/base/modules/auxil/psb_i2_isort_mod.f90 index 115da75c..a7b01662 100644 --- a/base/modules/auxil/psb_i2_isort_mod.f90 +++ b/base/modules/auxil/psb_i2_isort_mod.f90 @@ -44,10 +44,10 @@ module psb_i2_isort_mod use psb_const_mod interface psb_isort - subroutine psb_i2isort(x,ix,dir,flag) + subroutine psb_i2isort(x,ix,dir,flag,reord) import integer(psb_i2pk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_i2isort end interface psb_isort diff --git a/base/modules/auxil/psb_i2_msort_mod.f90 b/base/modules/auxil/psb_i2_msort_mod.f90 index caad0971..f884be48 100644 --- a/base/modules/auxil/psb_i2_msort_mod.f90 +++ b/base/modules/auxil/psb_i2_msort_mod.f90 @@ -62,10 +62,10 @@ module psb_i2_msort_mod interface psb_msort - subroutine psb_i2msort(x,ix,dir,flag) + subroutine psb_i2msort(x,ix,dir,flag,reord) import integer(psb_i2pk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag, reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_i2msort end interface psb_msort diff --git a/base/modules/auxil/psb_i2_qsort_mod.f90 b/base/modules/auxil/psb_i2_qsort_mod.f90 index 2f192a0a..4931a35e 100644 --- a/base/modules/auxil/psb_i2_qsort_mod.f90 +++ b/base/modules/auxil/psb_i2_qsort_mod.f90 @@ -64,10 +64,10 @@ module psb_i2_qsort_mod end interface psb_ssrch interface psb_qsort - subroutine psb_i2qsort(x,ix,dir,flag) + subroutine psb_i2qsort(x,ix,dir,flag,reord) import integer(psb_i2pk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_i2qsort end interface psb_qsort diff --git a/base/modules/auxil/psb_m_hsort_mod.f90 b/base/modules/auxil/psb_m_hsort_mod.f90 index 22ffdf34..06dab210 100644 --- a/base/modules/auxil/psb_m_hsort_mod.f90 +++ b/base/modules/auxil/psb_m_hsort_mod.f90 @@ -44,10 +44,10 @@ module psb_m_hsort_mod use psb_const_mod interface psb_hsort - subroutine psb_mhsort(x,ix,dir,flag) + subroutine psb_mhsort(x,ix,dir,flag,reord) import integer(psb_mpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_mhsort end interface psb_hsort diff --git a/base/modules/auxil/psb_m_isort_mod.f90 b/base/modules/auxil/psb_m_isort_mod.f90 index 1f82f389..11206fd0 100644 --- a/base/modules/auxil/psb_m_isort_mod.f90 +++ b/base/modules/auxil/psb_m_isort_mod.f90 @@ -44,10 +44,10 @@ module psb_m_isort_mod use psb_const_mod interface psb_isort - subroutine psb_misort(x,ix,dir,flag) + subroutine psb_misort(x,ix,dir,flag,reord) import integer(psb_mpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_misort end interface psb_isort diff --git a/base/modules/auxil/psb_m_msort_mod.f90 b/base/modules/auxil/psb_m_msort_mod.f90 index 12a33686..d433a3a6 100644 --- a/base/modules/auxil/psb_m_msort_mod.f90 +++ b/base/modules/auxil/psb_m_msort_mod.f90 @@ -62,10 +62,10 @@ module psb_m_msort_mod interface psb_msort - subroutine psb_mmsort(x,ix,dir,flag) + subroutine psb_mmsort(x,ix,dir,flag,reord) import integer(psb_mpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag, reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_mmsort end interface psb_msort diff --git a/base/modules/auxil/psb_m_qsort_mod.f90 b/base/modules/auxil/psb_m_qsort_mod.f90 index bf029065..b43a62c0 100644 --- a/base/modules/auxil/psb_m_qsort_mod.f90 +++ b/base/modules/auxil/psb_m_qsort_mod.f90 @@ -64,10 +64,10 @@ module psb_m_qsort_mod end interface psb_ssrch interface psb_qsort - subroutine psb_mqsort(x,ix,dir,flag) + subroutine psb_mqsort(x,ix,dir,flag,reord) import integer(psb_mpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_mqsort end interface psb_qsort diff --git a/base/modules/auxil/psb_s_hsort_mod.f90 b/base/modules/auxil/psb_s_hsort_mod.f90 index 4cee5508..7b25cec0 100644 --- a/base/modules/auxil/psb_s_hsort_mod.f90 +++ b/base/modules/auxil/psb_s_hsort_mod.f90 @@ -44,10 +44,10 @@ module psb_s_hsort_mod use psb_const_mod interface psb_hsort - subroutine psb_shsort(x,ix,dir,flag) + subroutine psb_shsort(x,ix,dir,flag,reord) import real(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_shsort end interface psb_hsort diff --git a/base/modules/auxil/psb_s_isort_mod.f90 b/base/modules/auxil/psb_s_isort_mod.f90 index 9692ed88..194ba2de 100644 --- a/base/modules/auxil/psb_s_isort_mod.f90 +++ b/base/modules/auxil/psb_s_isort_mod.f90 @@ -44,10 +44,10 @@ module psb_s_isort_mod use psb_const_mod interface psb_isort - subroutine psb_sisort(x,ix,dir,flag) + subroutine psb_sisort(x,ix,dir,flag,reord) import real(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_sisort end interface psb_isort diff --git a/base/modules/auxil/psb_s_msort_mod.f90 b/base/modules/auxil/psb_s_msort_mod.f90 index f3107290..ce0e4399 100644 --- a/base/modules/auxil/psb_s_msort_mod.f90 +++ b/base/modules/auxil/psb_s_msort_mod.f90 @@ -55,10 +55,10 @@ module psb_s_msort_mod interface psb_msort - subroutine psb_smsort(x,ix,dir,flag) + subroutine psb_smsort(x,ix,dir,flag,reord) import real(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag, reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_smsort end interface psb_msort diff --git a/base/modules/auxil/psb_s_qsort_mod.f90 b/base/modules/auxil/psb_s_qsort_mod.f90 index a5bdb2d9..5fbfe9e1 100644 --- a/base/modules/auxil/psb_s_qsort_mod.f90 +++ b/base/modules/auxil/psb_s_qsort_mod.f90 @@ -64,10 +64,10 @@ module psb_s_qsort_mod end interface psb_ssrch interface psb_qsort - subroutine psb_sqsort(x,ix,dir,flag) + subroutine psb_sqsort(x,ix,dir,flag,reord) import real(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_sqsort end interface psb_qsort diff --git a/base/modules/auxil/psb_z_hsort_mod.f90 b/base/modules/auxil/psb_z_hsort_mod.f90 index 98e47da2..bc3d3436 100644 --- a/base/modules/auxil/psb_z_hsort_mod.f90 +++ b/base/modules/auxil/psb_z_hsort_mod.f90 @@ -44,10 +44,10 @@ module psb_z_hsort_mod use psb_const_mod interface psb_hsort - subroutine psb_zhsort(x,ix,dir,flag) + subroutine psb_zhsort(x,ix,dir,flag,reord) import complex(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_zhsort end interface psb_hsort diff --git a/base/modules/auxil/psb_z_isort_mod.f90 b/base/modules/auxil/psb_z_isort_mod.f90 index 4048088a..bb51de00 100644 --- a/base/modules/auxil/psb_z_isort_mod.f90 +++ b/base/modules/auxil/psb_z_isort_mod.f90 @@ -44,10 +44,10 @@ module psb_z_isort_mod use psb_const_mod interface psb_isort - subroutine psb_zisort(x,ix,dir,flag) + subroutine psb_zisort(x,ix,dir,flag,reord) import complex(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_zisort end interface psb_isort diff --git a/base/modules/auxil/psb_z_msort_mod.f90 b/base/modules/auxil/psb_z_msort_mod.f90 index 515b69cf..6a830d5d 100644 --- a/base/modules/auxil/psb_z_msort_mod.f90 +++ b/base/modules/auxil/psb_z_msort_mod.f90 @@ -55,10 +55,10 @@ module psb_z_msort_mod interface psb_msort - subroutine psb_zmsort(x,ix,dir,flag) + subroutine psb_zmsort(x,ix,dir,flag,reord) import complex(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag, reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_zmsort end interface psb_msort diff --git a/base/modules/auxil/psb_z_qsort_mod.f90 b/base/modules/auxil/psb_z_qsort_mod.f90 index 2fc6baab..351c6ebd 100644 --- a/base/modules/auxil/psb_z_qsort_mod.f90 +++ b/base/modules/auxil/psb_z_qsort_mod.f90 @@ -45,10 +45,10 @@ module psb_z_qsort_mod interface psb_qsort - subroutine psb_zqsort(x,ix,dir,flag) + subroutine psb_zqsort(x,ix,dir,flag,reord) import complex(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) end subroutine psb_zqsort end interface psb_qsort diff --git a/base/serial/sort/psb_c_hsort_impl.f90 b/base/serial/sort/psb_c_hsort_impl.f90 index 2400fcf7..4251ddaa 100644 --- a/base/serial/sort/psb_c_hsort_impl.f90 +++ b/base/serial/sort/psb_c_hsort_impl.f90 @@ -41,18 +41,19 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_chsort(x,ix,dir,flag) +subroutine psb_chsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_chsort use psb_error_mod implicit none complex(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: flag_, n, i, err_act,info - integer(psb_ipk_) :: dir_, l + integer(psb_ipk_) :: flag_, err_act, info, reord_ + integer(psb_ipk_) :: n, i, l, dir_ complex(psb_spk_) :: key integer(psb_ipk_) :: index + complex(psb_spk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -60,6 +61,13 @@ subroutine psb_chsort(x,ix,dir,flag) name='psb_hsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -113,24 +121,57 @@ subroutine psb_chsort(x,ix,dir,flag) ix(i) = i end do end if - l = 0 - do i=1, n - key = x(i) - index = ix(i) - call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) - if (l /= i) then - write(psb_err_unit,*) 'Mismatch while heapifying ! ' - end if - end do - do i=n, 2, -1 - call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) - if (l /= i-1) then - write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i - end if - x(i) = key - ix(i) = index - end do - else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + + l = 0 + do i=1, n + key = x(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + x(i) = key + ix(i) = index + end do + case(psb_sort_noreord_x_) + tx = x + + l = 0 + do i=1, n + key = tx(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,tx,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,tx,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + tx(i) = key + ix(i) = index + end do + end select + else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + l = 0 do i=1, n key = x(i) diff --git a/base/serial/sort/psb_c_isort_impl.f90 b/base/serial/sort/psb_c_isort_impl.f90 index e6163753..0251d37e 100644 --- a/base/serial/sort/psb_c_isort_impl.f90 +++ b/base/serial/sort/psb_c_isort_impl.f90 @@ -40,16 +40,17 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_cisort(x,ix,dir,flag) +subroutine psb_cisort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_cisort use psb_error_mod implicit none complex(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act + integer(psb_ipk_) :: dir_, flag_, err_act, reord_ integer(psb_ipk_) :: n, i + complex(psb_spk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -57,6 +58,12 @@ subroutine psb_cisort(x,ix,dir,flag) name='psb_cisort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -90,39 +97,73 @@ subroutine psb_cisort(x,ix,dir,flag) ix(i) = i end do end if - - select case(dir_) - case (psb_lsort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_lsort_up_) call psi_clisrx_up(n,x,ix) - case (psb_lsort_down_) + case (psb_lsort_down_) call psi_clisrx_dw(n,x,ix) - case (psb_alsort_up_) + case (psb_alsort_up_) call psi_calisrx_up(n,x,ix) - case (psb_alsort_down_) + case (psb_alsort_down_) call psi_calisrx_dw(n,x,ix) - case (psb_asort_up_) + case (psb_asort_up_) call psi_caisrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_caisrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_lsort_up_) + call psi_clisrx_up(n,tx,ix) + case (psb_lsort_down_) + call psi_clisrx_dw(n,tx,ix) + case (psb_alsort_up_) + call psi_calisrx_up(n,tx,ix) + case (psb_alsort_down_) + call psi_calisrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_caisrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_caisrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else select case(dir_) case (psb_lsort_up_) - call psi_clisr_up(n,x) + call psi_clisr_up(n,x) case (psb_lsort_down_) - call psi_clisr_dw(n,x) + call psi_clisr_dw(n,x) case (psb_alsort_up_) - call psi_calisr_up(n,x) + call psi_calisr_up(n,x) case (psb_alsort_down_) - call psi_calisr_dw(n,x) + call psi_calisr_dw(n,x) case (psb_asort_up_) - call psi_caisr_up(n,x) + call psi_caisr_up(n,x) case (psb_asort_down_) - call psi_caisr_dw(n,x) + call psi_caisr_dw(n,x) case default ierr(1) = 3; ierr(2) = dir_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) diff --git a/base/serial/sort/psb_c_msort_impl.f90 b/base/serial/sort/psb_c_msort_impl.f90 index 751f6098..e61ee9e1 100644 --- a/base/serial/sort/psb_c_msort_impl.f90 +++ b/base/serial/sort/psb_c_msort_impl.f90 @@ -77,16 +77,16 @@ subroutine psb_cmsort_u(x,nout,dir) end subroutine psb_cmsort_u -subroutine psb_cmsort(x,ix,dir,flag) +subroutine psb_cmsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_cmsort use psb_error_mod use psb_ip_reord_mod implicit none complex(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, n, err_act + integer(psb_ipk_) :: dir_, flag_, n, err_act, reord_ integer(psb_ipk_), allocatable :: iaux(:) integer(psb_ipk_) :: iret, info, i @@ -96,6 +96,11 @@ subroutine psb_cmsort(x,ix,dir,flag) name='psb_cmsort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(dir)) then dir_ = dir else @@ -163,11 +168,25 @@ subroutine psb_cmsort(x,ix,dir,flag) ! only provide linked pointers. ! if (iret == 0 ) then - if (present(ix)) then - call psb_ip_reord(n,x,ix,iaux) - else - call psb_ip_reord(n,x,iaux) - end if + select case(reord_) + case(psb_sort_reord_x_) + if (present(ix)) then + call psb_ip_reord(n,x,ix,iaux) + else + call psb_ip_reord(n,x,iaux) + end if + case(psb_sort_noreord_x_) + if (present(ix)) then + call psb_ip_reord(n,ix,iaux) + else + call psb_errpush(psb_err_no_optional_arg_,name,a_err="ix") + goto 9999 + end if + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select end if return diff --git a/base/serial/sort/psb_c_qsort_impl.f90 b/base/serial/sort/psb_c_qsort_impl.f90 index 7f33c099..0111e9c2 100644 --- a/base/serial/sort/psb_c_qsort_impl.f90 +++ b/base/serial/sort/psb_c_qsort_impl.f90 @@ -41,22 +41,29 @@ ! Addison-Wesley ! -subroutine psb_cqsort(x,ix,dir,flag) +subroutine psb_cqsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_cqsort use psb_error_mod implicit none complex(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act, i + integer(psb_ipk_) :: dir_, flag_, err_act, i, reord_ integer(psb_ipk_) :: n + complex(psb_spk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name name='psb_cqsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(flag)) then flag_ = flag else @@ -91,25 +98,57 @@ subroutine psb_cqsort(x,ix,dir,flag) end do end if - select case(dir_) - case (psb_lsort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_lsort_up_) call psi_clqsrx_up(n,x,ix) - case (psb_lsort_down_) + case (psb_lsort_down_) call psi_clqsrx_dw(n,x,ix) - case (psb_alsort_up_) + case (psb_alsort_up_) call psi_calqsrx_up(n,x,ix) - case (psb_alsort_down_) + case (psb_alsort_down_) call psi_calqsrx_dw(n,x,ix) - case (psb_asort_up_) + case (psb_asort_up_) call psi_caqsrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_caqsrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_lsort_up_) + call psi_clqsrx_up(n,tx,ix) + case (psb_lsort_down_) + call psi_clqsrx_dw(n,tx,ix) + case (psb_alsort_up_) + call psi_calqsrx_up(n,tx,ix) + case (psb_alsort_down_) + call psi_calqsrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_caqsrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_caqsrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else + select case(dir_) case (psb_lsort_up_) call psi_clqsr_up(n,x) diff --git a/base/serial/sort/psb_d_hsort_impl.f90 b/base/serial/sort/psb_d_hsort_impl.f90 index ffb952d5..dac327d1 100644 --- a/base/serial/sort/psb_d_hsort_impl.f90 +++ b/base/serial/sort/psb_d_hsort_impl.f90 @@ -41,18 +41,19 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_dhsort(x,ix,dir,flag) +subroutine psb_dhsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_dhsort use psb_error_mod implicit none real(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: flag_, n, i, err_act,info - integer(psb_ipk_) :: dir_, l + integer(psb_ipk_) :: flag_, err_act, info, reord_ + integer(psb_ipk_) :: n, i, l, dir_ real(psb_dpk_) :: key integer(psb_ipk_) :: index + real(psb_dpk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -60,6 +61,13 @@ subroutine psb_dhsort(x,ix,dir,flag) name='psb_hsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -113,24 +121,57 @@ subroutine psb_dhsort(x,ix,dir,flag) ix(i) = i end do end if - l = 0 - do i=1, n - key = x(i) - index = ix(i) - call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) - if (l /= i) then - write(psb_err_unit,*) 'Mismatch while heapifying ! ' - end if - end do - do i=n, 2, -1 - call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) - if (l /= i-1) then - write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i - end if - x(i) = key - ix(i) = index - end do - else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + + l = 0 + do i=1, n + key = x(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + x(i) = key + ix(i) = index + end do + case(psb_sort_noreord_x_) + tx = x + + l = 0 + do i=1, n + key = tx(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,tx,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,tx,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + tx(i) = key + ix(i) = index + end do + end select + else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + l = 0 do i=1, n key = x(i) diff --git a/base/serial/sort/psb_d_isort_impl.f90 b/base/serial/sort/psb_d_isort_impl.f90 index 94e3abd4..62b6eed1 100644 --- a/base/serial/sort/psb_d_isort_impl.f90 +++ b/base/serial/sort/psb_d_isort_impl.f90 @@ -40,16 +40,17 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_disort(x,ix,dir,flag) +subroutine psb_disort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_disort use psb_error_mod implicit none real(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act + integer(psb_ipk_) :: dir_, flag_, err_act, reord_ integer(psb_ipk_) :: n, i + real(psb_dpk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -57,6 +58,12 @@ subroutine psb_disort(x,ix,dir,flag) name='psb_disort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -90,31 +97,61 @@ subroutine psb_disort(x,ix,dir,flag) ix(i) = i end do end if - - select case(dir_) - case (psb_sort_up_) - call psi_disrx_up(n,x,ix) - case (psb_sort_down_) - call psi_disrx_dw(n,x,ix) - case (psb_asort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_sort_up_) + call psi_disrx_up(n,x,ix) + case (psb_sort_down_) + call psi_disrx_dw(n,x,ix) + case (psb_asort_up_) call psi_daisrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_daisrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_sort_up_) + call psi_disrx_up(n,tx,ix) + case (psb_sort_down_) + call psi_disrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_daisrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_daisrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else select case(dir_) case (psb_sort_up_) call psi_disr_up(n,x) case (psb_sort_down_) call psi_disr_dw(n,x) case (psb_asort_up_) - call psi_daisr_up(n,x) + call psi_daisr_up(n,x) case (psb_asort_down_) - call psi_daisr_dw(n,x) + call psi_daisr_dw(n,x) case default ierr(1) = 3; ierr(2) = dir_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) diff --git a/base/serial/sort/psb_d_msort_impl.f90 b/base/serial/sort/psb_d_msort_impl.f90 index 66ad7897..7c38f27d 100644 --- a/base/serial/sort/psb_d_msort_impl.f90 +++ b/base/serial/sort/psb_d_msort_impl.f90 @@ -76,16 +76,16 @@ subroutine psb_dmsort_u(x,nout,dir) return end subroutine psb_dmsort_u -subroutine psb_dmsort(x,ix,dir,flag) +subroutine psb_dmsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_dmsort use psb_error_mod use psb_ip_reord_mod implicit none real(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag, reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, n, err_act + integer(psb_ipk_) :: dir_, flag_, n, err_act, reord_ integer(psb_ipk_), allocatable :: iaux(:) integer(psb_ipk_) :: iret, info, i @@ -95,6 +95,11 @@ subroutine psb_dmsort(x,ix,dir,flag) name='psb_dmsort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(dir)) then dir_ = dir else @@ -157,15 +162,28 @@ subroutine psb_dmsort(x,ix,dir,flag) ! Do the actual reordering, since the inner routines ! only provide linked pointers. ! - if (iret == 0 ) then - if (present(ix)) then - call psb_ip_reord(n,x,ix,iaux) - else - call psb_ip_reord(n,x,iaux) - end if + if (iret == 0 ) then + select case(reord_) + case(psb_sort_reord_x_) + if (present(ix)) then + call psb_ip_reord(n,x,ix,iaux) + else + call psb_ip_reord(n,x,iaux) + end if + case(psb_sort_noreord_x_) + if (present(ix)) then + call psb_ip_reord(n,ix,iaux) + else + call psb_errpush(psb_err_no_optional_arg_,name,a_err="ix") + goto 9999 + end if + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select end if - return 9999 call psb_error_handler(err_act) diff --git a/base/serial/sort/psb_d_qsort_impl.f90 b/base/serial/sort/psb_d_qsort_impl.f90 index 8e4b1d21..c397ba23 100644 --- a/base/serial/sort/psb_d_qsort_impl.f90 +++ b/base/serial/sort/psb_d_qsort_impl.f90 @@ -159,22 +159,29 @@ function psb_dssrch(key,n,v) result(ipos) return end function psb_dssrch -subroutine psb_dqsort(x,ix,dir,flag) +subroutine psb_dqsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_dqsort use psb_error_mod implicit none real(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act, i + integer(psb_ipk_) :: dir_, flag_, err_act, i, reord_ integer(psb_ipk_) :: n + real(psb_dpk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name name='psb_dqsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(flag)) then flag_ = flag else @@ -209,21 +216,49 @@ subroutine psb_dqsort(x,ix,dir,flag) end do end if - select case(dir_) - case (psb_sort_up_) - call psi_dqsrx_up(n,x,ix) - case (psb_sort_down_) - call psi_dqsrx_dw(n,x,ix) - case (psb_asort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_sort_up_) + call psi_dqsrx_up(n,x,ix) + case (psb_sort_down_) + call psi_dqsrx_dw(n,x,ix) + case (psb_asort_up_) call psi_daqsrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_daqsrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_sort_up_) + call psi_dqsrx_up(n,tx,ix) + case (psb_sort_down_) + call psi_dqsrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_daqsrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_daqsrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else + select case(dir_) case (psb_sort_up_) call psi_dqsr_up(n,x) diff --git a/base/serial/sort/psb_e_hsort_impl.f90 b/base/serial/sort/psb_e_hsort_impl.f90 index f1a1a78f..8fa00a83 100644 --- a/base/serial/sort/psb_e_hsort_impl.f90 +++ b/base/serial/sort/psb_e_hsort_impl.f90 @@ -41,18 +41,19 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_ehsort(x,ix,dir,flag) +subroutine psb_ehsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_ehsort use psb_error_mod implicit none integer(psb_epk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_epk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: flag_, n, i, err_act,info - integer(psb_epk_) :: dir_, l + integer(psb_ipk_) :: flag_, err_act, info, reord_ + integer(psb_epk_) :: n, i, l, dir_ integer(psb_epk_) :: key integer(psb_epk_) :: index + integer(psb_epk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -60,6 +61,13 @@ subroutine psb_ehsort(x,ix,dir,flag) name='psb_hsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -113,24 +121,57 @@ subroutine psb_ehsort(x,ix,dir,flag) ix(i) = i end do end if - l = 0 - do i=1, n - key = x(i) - index = ix(i) - call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) - if (l /= i) then - write(psb_err_unit,*) 'Mismatch while heapifying ! ' - end if - end do - do i=n, 2, -1 - call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) - if (l /= i-1) then - write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i - end if - x(i) = key - ix(i) = index - end do - else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + + l = 0 + do i=1, n + key = x(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + x(i) = key + ix(i) = index + end do + case(psb_sort_noreord_x_) + tx = x + + l = 0 + do i=1, n + key = tx(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,tx,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,tx,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + tx(i) = key + ix(i) = index + end do + end select + else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + l = 0 do i=1, n key = x(i) diff --git a/base/serial/sort/psb_e_isort_impl.f90 b/base/serial/sort/psb_e_isort_impl.f90 index 0fe32318..20d3600c 100644 --- a/base/serial/sort/psb_e_isort_impl.f90 +++ b/base/serial/sort/psb_e_isort_impl.f90 @@ -40,16 +40,17 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_eisort(x,ix,dir,flag) +subroutine psb_eisort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_eisort use psb_error_mod implicit none integer(psb_epk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_epk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act + integer(psb_ipk_) :: dir_, flag_, err_act, reord_ integer(psb_epk_) :: n, i + integer(psb_epk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -57,6 +58,12 @@ subroutine psb_eisort(x,ix,dir,flag) name='psb_eisort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -90,31 +97,61 @@ subroutine psb_eisort(x,ix,dir,flag) ix(i) = i end do end if - - select case(dir_) - case (psb_sort_up_) - call psi_eisrx_up(n,x,ix) - case (psb_sort_down_) - call psi_eisrx_dw(n,x,ix) - case (psb_asort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_sort_up_) + call psi_eisrx_up(n,x,ix) + case (psb_sort_down_) + call psi_eisrx_dw(n,x,ix) + case (psb_asort_up_) call psi_eaisrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_eaisrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_sort_up_) + call psi_eisrx_up(n,tx,ix) + case (psb_sort_down_) + call psi_eisrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_eaisrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_eaisrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else select case(dir_) case (psb_sort_up_) call psi_eisr_up(n,x) case (psb_sort_down_) call psi_eisr_dw(n,x) case (psb_asort_up_) - call psi_eaisr_up(n,x) + call psi_eaisr_up(n,x) case (psb_asort_down_) - call psi_eaisr_dw(n,x) + call psi_eaisr_dw(n,x) case default ierr(1) = 3; ierr(2) = dir_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) diff --git a/base/serial/sort/psb_e_msort_impl.f90 b/base/serial/sort/psb_e_msort_impl.f90 index b97d448a..93ac8a6e 100644 --- a/base/serial/sort/psb_e_msort_impl.f90 +++ b/base/serial/sort/psb_e_msort_impl.f90 @@ -131,16 +131,16 @@ subroutine psb_emsort_u(x,nout,dir) return end subroutine psb_emsort_u -subroutine psb_emsort(x,ix,dir,flag) +subroutine psb_emsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_emsort use psb_error_mod use psb_ip_reord_mod implicit none integer(psb_epk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag, reord integer(psb_epk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, n, err_act + integer(psb_ipk_) :: dir_, flag_, n, err_act, reord_ integer(psb_epk_), allocatable :: iaux(:) integer(psb_ipk_) :: iret, info, i @@ -150,6 +150,11 @@ subroutine psb_emsort(x,ix,dir,flag) name='psb_emsort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(dir)) then dir_ = dir else @@ -212,15 +217,28 @@ subroutine psb_emsort(x,ix,dir,flag) ! Do the actual reordering, since the inner routines ! only provide linked pointers. ! - if (iret == 0 ) then - if (present(ix)) then - call psb_ip_reord(n,x,ix,iaux) - else - call psb_ip_reord(n,x,iaux) - end if + if (iret == 0 ) then + select case(reord_) + case(psb_sort_reord_x_) + if (present(ix)) then + call psb_ip_reord(n,x,ix,iaux) + else + call psb_ip_reord(n,x,iaux) + end if + case(psb_sort_noreord_x_) + if (present(ix)) then + call psb_ip_reord(n,ix,iaux) + else + call psb_errpush(psb_err_no_optional_arg_,name,a_err="ix") + goto 9999 + end if + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select end if - return 9999 call psb_error_handler(err_act) diff --git a/base/serial/sort/psb_e_qsort_impl.f90 b/base/serial/sort/psb_e_qsort_impl.f90 index c70f8051..ea3bfd14 100644 --- a/base/serial/sort/psb_e_qsort_impl.f90 +++ b/base/serial/sort/psb_e_qsort_impl.f90 @@ -159,22 +159,29 @@ function psb_essrch(key,n,v) result(ipos) return end function psb_essrch -subroutine psb_eqsort(x,ix,dir,flag) +subroutine psb_eqsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_eqsort use psb_error_mod implicit none integer(psb_epk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_epk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act, i + integer(psb_ipk_) :: dir_, flag_, err_act, i, reord_ integer(psb_epk_) :: n + integer(psb_epk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name name='psb_eqsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(flag)) then flag_ = flag else @@ -209,21 +216,49 @@ subroutine psb_eqsort(x,ix,dir,flag) end do end if - select case(dir_) - case (psb_sort_up_) - call psi_eqsrx_up(n,x,ix) - case (psb_sort_down_) - call psi_eqsrx_dw(n,x,ix) - case (psb_asort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_sort_up_) + call psi_eqsrx_up(n,x,ix) + case (psb_sort_down_) + call psi_eqsrx_dw(n,x,ix) + case (psb_asort_up_) call psi_eaqsrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_eaqsrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_sort_up_) + call psi_eqsrx_up(n,tx,ix) + case (psb_sort_down_) + call psi_eqsrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_eaqsrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_eaqsrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else + select case(dir_) case (psb_sort_up_) call psi_eqsr_up(n,x) diff --git a/base/serial/sort/psb_m_hsort_impl.f90 b/base/serial/sort/psb_m_hsort_impl.f90 index 5dc92082..92f67d8b 100644 --- a/base/serial/sort/psb_m_hsort_impl.f90 +++ b/base/serial/sort/psb_m_hsort_impl.f90 @@ -41,18 +41,19 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_mhsort(x,ix,dir,flag) +subroutine psb_mhsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_mhsort use psb_error_mod implicit none integer(psb_mpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: flag_, n, i, err_act,info - integer(psb_ipk_) :: dir_, l + integer(psb_ipk_) :: flag_, err_act, info, reord_ + integer(psb_ipk_) :: n, i, l, dir_ integer(psb_mpk_) :: key integer(psb_ipk_) :: index + integer(psb_mpk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -60,6 +61,13 @@ subroutine psb_mhsort(x,ix,dir,flag) name='psb_hsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -113,24 +121,57 @@ subroutine psb_mhsort(x,ix,dir,flag) ix(i) = i end do end if - l = 0 - do i=1, n - key = x(i) - index = ix(i) - call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) - if (l /= i) then - write(psb_err_unit,*) 'Mismatch while heapifying ! ' - end if - end do - do i=n, 2, -1 - call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) - if (l /= i-1) then - write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i - end if - x(i) = key - ix(i) = index - end do - else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + + l = 0 + do i=1, n + key = x(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + x(i) = key + ix(i) = index + end do + case(psb_sort_noreord_x_) + tx = x + + l = 0 + do i=1, n + key = tx(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,tx,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,tx,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + tx(i) = key + ix(i) = index + end do + end select + else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + l = 0 do i=1, n key = x(i) diff --git a/base/serial/sort/psb_m_isort_impl.f90 b/base/serial/sort/psb_m_isort_impl.f90 index 1f373e42..ae6c0ce2 100644 --- a/base/serial/sort/psb_m_isort_impl.f90 +++ b/base/serial/sort/psb_m_isort_impl.f90 @@ -40,16 +40,17 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_misort(x,ix,dir,flag) +subroutine psb_misort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_misort use psb_error_mod implicit none integer(psb_mpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act + integer(psb_ipk_) :: dir_, flag_, err_act, reord_ integer(psb_ipk_) :: n, i + integer(psb_mpk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -57,6 +58,12 @@ subroutine psb_misort(x,ix,dir,flag) name='psb_misort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -90,31 +97,61 @@ subroutine psb_misort(x,ix,dir,flag) ix(i) = i end do end if - - select case(dir_) - case (psb_sort_up_) - call psi_misrx_up(n,x,ix) - case (psb_sort_down_) - call psi_misrx_dw(n,x,ix) - case (psb_asort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_sort_up_) + call psi_misrx_up(n,x,ix) + case (psb_sort_down_) + call psi_misrx_dw(n,x,ix) + case (psb_asort_up_) call psi_maisrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_maisrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_sort_up_) + call psi_misrx_up(n,tx,ix) + case (psb_sort_down_) + call psi_misrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_maisrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_maisrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else select case(dir_) case (psb_sort_up_) call psi_misr_up(n,x) case (psb_sort_down_) call psi_misr_dw(n,x) case (psb_asort_up_) - call psi_maisr_up(n,x) + call psi_maisr_up(n,x) case (psb_asort_down_) - call psi_maisr_dw(n,x) + call psi_maisr_dw(n,x) case default ierr(1) = 3; ierr(2) = dir_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) diff --git a/base/serial/sort/psb_m_msort_impl.f90 b/base/serial/sort/psb_m_msort_impl.f90 index 437d1069..d3af4673 100644 --- a/base/serial/sort/psb_m_msort_impl.f90 +++ b/base/serial/sort/psb_m_msort_impl.f90 @@ -131,16 +131,16 @@ subroutine psb_mmsort_u(x,nout,dir) return end subroutine psb_mmsort_u -subroutine psb_mmsort(x,ix,dir,flag) +subroutine psb_mmsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_mmsort use psb_error_mod use psb_ip_reord_mod implicit none integer(psb_mpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag, reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, n, err_act + integer(psb_ipk_) :: dir_, flag_, n, err_act, reord_ integer(psb_ipk_), allocatable :: iaux(:) integer(psb_ipk_) :: iret, info, i @@ -150,6 +150,11 @@ subroutine psb_mmsort(x,ix,dir,flag) name='psb_mmsort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(dir)) then dir_ = dir else @@ -212,15 +217,28 @@ subroutine psb_mmsort(x,ix,dir,flag) ! Do the actual reordering, since the inner routines ! only provide linked pointers. ! - if (iret == 0 ) then - if (present(ix)) then - call psb_ip_reord(n,x,ix,iaux) - else - call psb_ip_reord(n,x,iaux) - end if + if (iret == 0 ) then + select case(reord_) + case(psb_sort_reord_x_) + if (present(ix)) then + call psb_ip_reord(n,x,ix,iaux) + else + call psb_ip_reord(n,x,iaux) + end if + case(psb_sort_noreord_x_) + if (present(ix)) then + call psb_ip_reord(n,ix,iaux) + else + call psb_errpush(psb_err_no_optional_arg_,name,a_err="ix") + goto 9999 + end if + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select end if - return 9999 call psb_error_handler(err_act) diff --git a/base/serial/sort/psb_m_qsort_impl.f90 b/base/serial/sort/psb_m_qsort_impl.f90 index 6b70c3a0..2dd009b3 100644 --- a/base/serial/sort/psb_m_qsort_impl.f90 +++ b/base/serial/sort/psb_m_qsort_impl.f90 @@ -159,22 +159,29 @@ function psb_mssrch(key,n,v) result(ipos) return end function psb_mssrch -subroutine psb_mqsort(x,ix,dir,flag) +subroutine psb_mqsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_mqsort use psb_error_mod implicit none integer(psb_mpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act, i + integer(psb_ipk_) :: dir_, flag_, err_act, i, reord_ integer(psb_ipk_) :: n + integer(psb_mpk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name name='psb_mqsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(flag)) then flag_ = flag else @@ -209,21 +216,49 @@ subroutine psb_mqsort(x,ix,dir,flag) end do end if - select case(dir_) - case (psb_sort_up_) - call psi_mqsrx_up(n,x,ix) - case (psb_sort_down_) - call psi_mqsrx_dw(n,x,ix) - case (psb_asort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_sort_up_) + call psi_mqsrx_up(n,x,ix) + case (psb_sort_down_) + call psi_mqsrx_dw(n,x,ix) + case (psb_asort_up_) call psi_maqsrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_maqsrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_sort_up_) + call psi_mqsrx_up(n,tx,ix) + case (psb_sort_down_) + call psi_mqsrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_maqsrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_maqsrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else + select case(dir_) case (psb_sort_up_) call psi_mqsr_up(n,x) diff --git a/base/serial/sort/psb_s_hsort_impl.f90 b/base/serial/sort/psb_s_hsort_impl.f90 index 77fefe14..559f92c5 100644 --- a/base/serial/sort/psb_s_hsort_impl.f90 +++ b/base/serial/sort/psb_s_hsort_impl.f90 @@ -41,18 +41,19 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_shsort(x,ix,dir,flag) +subroutine psb_shsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_shsort use psb_error_mod implicit none real(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: flag_, n, i, err_act,info - integer(psb_ipk_) :: dir_, l + integer(psb_ipk_) :: flag_, err_act, info, reord_ + integer(psb_ipk_) :: n, i, l, dir_ real(psb_spk_) :: key integer(psb_ipk_) :: index + real(psb_spk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -60,6 +61,13 @@ subroutine psb_shsort(x,ix,dir,flag) name='psb_hsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -113,24 +121,57 @@ subroutine psb_shsort(x,ix,dir,flag) ix(i) = i end do end if - l = 0 - do i=1, n - key = x(i) - index = ix(i) - call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) - if (l /= i) then - write(psb_err_unit,*) 'Mismatch while heapifying ! ' - end if - end do - do i=n, 2, -1 - call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) - if (l /= i-1) then - write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i - end if - x(i) = key - ix(i) = index - end do - else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + + l = 0 + do i=1, n + key = x(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + x(i) = key + ix(i) = index + end do + case(psb_sort_noreord_x_) + tx = x + + l = 0 + do i=1, n + key = tx(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,tx,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,tx,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + tx(i) = key + ix(i) = index + end do + end select + else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + l = 0 do i=1, n key = x(i) diff --git a/base/serial/sort/psb_s_isort_impl.f90 b/base/serial/sort/psb_s_isort_impl.f90 index cdcc05eb..a8be6d46 100644 --- a/base/serial/sort/psb_s_isort_impl.f90 +++ b/base/serial/sort/psb_s_isort_impl.f90 @@ -40,16 +40,17 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_sisort(x,ix,dir,flag) +subroutine psb_sisort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_sisort use psb_error_mod implicit none real(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act + integer(psb_ipk_) :: dir_, flag_, err_act, reord_ integer(psb_ipk_) :: n, i + real(psb_spk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -57,6 +58,12 @@ subroutine psb_sisort(x,ix,dir,flag) name='psb_sisort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -90,31 +97,61 @@ subroutine psb_sisort(x,ix,dir,flag) ix(i) = i end do end if - - select case(dir_) - case (psb_sort_up_) - call psi_sisrx_up(n,x,ix) - case (psb_sort_down_) - call psi_sisrx_dw(n,x,ix) - case (psb_asort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_sort_up_) + call psi_sisrx_up(n,x,ix) + case (psb_sort_down_) + call psi_sisrx_dw(n,x,ix) + case (psb_asort_up_) call psi_saisrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_saisrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_sort_up_) + call psi_sisrx_up(n,tx,ix) + case (psb_sort_down_) + call psi_sisrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_saisrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_saisrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else select case(dir_) case (psb_sort_up_) call psi_sisr_up(n,x) case (psb_sort_down_) call psi_sisr_dw(n,x) case (psb_asort_up_) - call psi_saisr_up(n,x) + call psi_saisr_up(n,x) case (psb_asort_down_) - call psi_saisr_dw(n,x) + call psi_saisr_dw(n,x) case default ierr(1) = 3; ierr(2) = dir_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) diff --git a/base/serial/sort/psb_s_msort_impl.f90 b/base/serial/sort/psb_s_msort_impl.f90 index e3382f27..e3c0a184 100644 --- a/base/serial/sort/psb_s_msort_impl.f90 +++ b/base/serial/sort/psb_s_msort_impl.f90 @@ -76,16 +76,16 @@ subroutine psb_smsort_u(x,nout,dir) return end subroutine psb_smsort_u -subroutine psb_smsort(x,ix,dir,flag) +subroutine psb_smsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_smsort use psb_error_mod use psb_ip_reord_mod implicit none real(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag, reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, n, err_act + integer(psb_ipk_) :: dir_, flag_, n, err_act, reord_ integer(psb_ipk_), allocatable :: iaux(:) integer(psb_ipk_) :: iret, info, i @@ -95,6 +95,11 @@ subroutine psb_smsort(x,ix,dir,flag) name='psb_smsort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(dir)) then dir_ = dir else @@ -157,15 +162,28 @@ subroutine psb_smsort(x,ix,dir,flag) ! Do the actual reordering, since the inner routines ! only provide linked pointers. ! - if (iret == 0 ) then - if (present(ix)) then - call psb_ip_reord(n,x,ix,iaux) - else - call psb_ip_reord(n,x,iaux) - end if + if (iret == 0 ) then + select case(reord_) + case(psb_sort_reord_x_) + if (present(ix)) then + call psb_ip_reord(n,x,ix,iaux) + else + call psb_ip_reord(n,x,iaux) + end if + case(psb_sort_noreord_x_) + if (present(ix)) then + call psb_ip_reord(n,ix,iaux) + else + call psb_errpush(psb_err_no_optional_arg_,name,a_err="ix") + goto 9999 + end if + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select end if - return 9999 call psb_error_handler(err_act) diff --git a/base/serial/sort/psb_s_qsort_impl.f90 b/base/serial/sort/psb_s_qsort_impl.f90 index cae32546..6b2d4821 100644 --- a/base/serial/sort/psb_s_qsort_impl.f90 +++ b/base/serial/sort/psb_s_qsort_impl.f90 @@ -159,22 +159,29 @@ function psb_sssrch(key,n,v) result(ipos) return end function psb_sssrch -subroutine psb_sqsort(x,ix,dir,flag) +subroutine psb_sqsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_sqsort use psb_error_mod implicit none real(psb_spk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act, i + integer(psb_ipk_) :: dir_, flag_, err_act, i, reord_ integer(psb_ipk_) :: n + real(psb_spk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name name='psb_sqsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(flag)) then flag_ = flag else @@ -209,21 +216,49 @@ subroutine psb_sqsort(x,ix,dir,flag) end do end if - select case(dir_) - case (psb_sort_up_) - call psi_sqsrx_up(n,x,ix) - case (psb_sort_down_) - call psi_sqsrx_dw(n,x,ix) - case (psb_asort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_sort_up_) + call psi_sqsrx_up(n,x,ix) + case (psb_sort_down_) + call psi_sqsrx_dw(n,x,ix) + case (psb_asort_up_) call psi_saqsrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_saqsrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_sort_up_) + call psi_sqsrx_up(n,tx,ix) + case (psb_sort_down_) + call psi_sqsrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_saqsrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_saqsrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else + select case(dir_) case (psb_sort_up_) call psi_sqsr_up(n,x) diff --git a/base/serial/sort/psb_z_hsort_impl.f90 b/base/serial/sort/psb_z_hsort_impl.f90 index e796f831..9e886dde 100644 --- a/base/serial/sort/psb_z_hsort_impl.f90 +++ b/base/serial/sort/psb_z_hsort_impl.f90 @@ -41,18 +41,19 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_zhsort(x,ix,dir,flag) +subroutine psb_zhsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_zhsort use psb_error_mod implicit none complex(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: flag_, n, i, err_act,info - integer(psb_ipk_) :: dir_, l + integer(psb_ipk_) :: flag_, err_act, info, reord_ + integer(psb_ipk_) :: n, i, l, dir_ complex(psb_dpk_) :: key integer(psb_ipk_) :: index + complex(psb_dpk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -60,6 +61,13 @@ subroutine psb_zhsort(x,ix,dir,flag) name='psb_hsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -113,24 +121,57 @@ subroutine psb_zhsort(x,ix,dir,flag) ix(i) = i end do end if - l = 0 - do i=1, n - key = x(i) - index = ix(i) - call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) - if (l /= i) then - write(psb_err_unit,*) 'Mismatch while heapifying ! ' - end if - end do - do i=n, 2, -1 - call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) - if (l /= i-1) then - write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i - end if - x(i) = key - ix(i) = index - end do - else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + + l = 0 + do i=1, n + key = x(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,x,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,x,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + x(i) = key + ix(i) = index + end do + case(psb_sort_noreord_x_) + tx = x + + l = 0 + do i=1, n + key = tx(i) + index = ix(i) + call psi_idx_insert_heap(key,index,l,tx,ix,dir_,info) + if (l /= i) then + write(psb_err_unit,*) 'Mismatch while heapifying ! ' + end if + end do + do i=n, 2, -1 + call psi_idx_heap_get_first(key,index,l,tx,ix,dir_,info) + if (l /= i-1) then + write(psb_err_unit,*) 'Mismatch while pulling out of heap ',l,i + end if + tx(i) = key + ix(i) = index + end do + end select + else if (.not.present(ix)) then + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + l = 0 do i=1, n key = x(i) diff --git a/base/serial/sort/psb_z_isort_impl.f90 b/base/serial/sort/psb_z_isort_impl.f90 index 340ed8e3..465699da 100644 --- a/base/serial/sort/psb_z_isort_impl.f90 +++ b/base/serial/sort/psb_z_isort_impl.f90 @@ -40,16 +40,17 @@ ! Data Structures and Algorithms ! Addison-Wesley ! -subroutine psb_zisort(x,ix,dir,flag) +subroutine psb_zisort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_zisort use psb_error_mod implicit none complex(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act + integer(psb_ipk_) :: dir_, flag_, err_act, reord_ integer(psb_ipk_) :: n, i + complex(psb_dpk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -57,6 +58,12 @@ subroutine psb_zisort(x,ix,dir,flag) name='psb_zisort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if + if (present(flag)) then flag_ = flag else @@ -90,39 +97,73 @@ subroutine psb_zisort(x,ix,dir,flag) ix(i) = i end do end if - - select case(dir_) - case (psb_lsort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_lsort_up_) call psi_zlisrx_up(n,x,ix) - case (psb_lsort_down_) + case (psb_lsort_down_) call psi_zlisrx_dw(n,x,ix) - case (psb_alsort_up_) + case (psb_alsort_up_) call psi_zalisrx_up(n,x,ix) - case (psb_alsort_down_) + case (psb_alsort_down_) call psi_zalisrx_dw(n,x,ix) - case (psb_asort_up_) + case (psb_asort_up_) call psi_zaisrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_zaisrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_lsort_up_) + call psi_zlisrx_up(n,tx,ix) + case (psb_lsort_down_) + call psi_zlisrx_dw(n,tx,ix) + case (psb_alsort_up_) + call psi_zalisrx_up(n,tx,ix) + case (psb_alsort_down_) + call psi_zalisrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_zaisrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_zaisrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else select case(dir_) case (psb_lsort_up_) - call psi_zlisr_up(n,x) + call psi_zlisr_up(n,x) case (psb_lsort_down_) - call psi_zlisr_dw(n,x) + call psi_zlisr_dw(n,x) case (psb_alsort_up_) - call psi_zalisr_up(n,x) + call psi_zalisr_up(n,x) case (psb_alsort_down_) - call psi_zalisr_dw(n,x) + call psi_zalisr_dw(n,x) case (psb_asort_up_) - call psi_zaisr_up(n,x) + call psi_zaisr_up(n,x) case (psb_asort_down_) - call psi_zaisr_dw(n,x) + call psi_zaisr_dw(n,x) case default ierr(1) = 3; ierr(2) = dir_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) diff --git a/base/serial/sort/psb_z_msort_impl.f90 b/base/serial/sort/psb_z_msort_impl.f90 index 525ed572..24934e14 100644 --- a/base/serial/sort/psb_z_msort_impl.f90 +++ b/base/serial/sort/psb_z_msort_impl.f90 @@ -77,16 +77,16 @@ subroutine psb_zmsort_u(x,nout,dir) end subroutine psb_zmsort_u -subroutine psb_zmsort(x,ix,dir,flag) +subroutine psb_zmsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_zmsort use psb_error_mod use psb_ip_reord_mod implicit none complex(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, n, err_act + integer(psb_ipk_) :: dir_, flag_, n, err_act, reord_ integer(psb_ipk_), allocatable :: iaux(:) integer(psb_ipk_) :: iret, info, i @@ -96,6 +96,11 @@ subroutine psb_zmsort(x,ix,dir,flag) name='psb_zmsort' call psb_erractionsave(err_act) + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(dir)) then dir_ = dir else @@ -163,11 +168,25 @@ subroutine psb_zmsort(x,ix,dir,flag) ! only provide linked pointers. ! if (iret == 0 ) then - if (present(ix)) then - call psb_ip_reord(n,x,ix,iaux) - else - call psb_ip_reord(n,x,iaux) - end if + select case(reord_) + case(psb_sort_reord_x_) + if (present(ix)) then + call psb_ip_reord(n,x,ix,iaux) + else + call psb_ip_reord(n,x,iaux) + end if + case(psb_sort_noreord_x_) + if (present(ix)) then + call psb_ip_reord(n,ix,iaux) + else + call psb_errpush(psb_err_no_optional_arg_,name,a_err="ix") + goto 9999 + end if + case default + ierr(1) = 5; ierr(2) = reord_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select end if return diff --git a/base/serial/sort/psb_z_qsort_impl.f90 b/base/serial/sort/psb_z_qsort_impl.f90 index a1cdb193..ce3061ea 100644 --- a/base/serial/sort/psb_z_qsort_impl.f90 +++ b/base/serial/sort/psb_z_qsort_impl.f90 @@ -41,22 +41,29 @@ ! Addison-Wesley ! -subroutine psb_zqsort(x,ix,dir,flag) +subroutine psb_zqsort(x,ix,dir,flag,reord) use psb_sort_mod, psb_protect_name => psb_zqsort use psb_error_mod implicit none complex(psb_dpk_), intent(inout) :: x(:) - integer(psb_ipk_), optional, intent(in) :: dir, flag + integer(psb_ipk_), optional, intent(in) :: dir, flag,reord integer(psb_ipk_), optional, intent(inout) :: ix(:) - integer(psb_ipk_) :: dir_, flag_, err_act, i + integer(psb_ipk_) :: dir_, flag_, err_act, i, reord_ integer(psb_ipk_) :: n + complex(psb_dpk_), allocatable :: tx(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name name='psb_zqsort' call psb_erractionsave(err_act) + + if (present(reord)) then + reord_ = reord + else + reord_= psb_sort_reord_x_ + end if if (present(flag)) then flag_ = flag else @@ -91,25 +98,57 @@ subroutine psb_zqsort(x,ix,dir,flag) end do end if - select case(dir_) - case (psb_lsort_up_) + select case(reord_) + case (psb_sort_reord_x_) + select case(dir_) + case (psb_lsort_up_) call psi_zlqsrx_up(n,x,ix) - case (psb_lsort_down_) + case (psb_lsort_down_) call psi_zlqsrx_dw(n,x,ix) - case (psb_alsort_up_) + case (psb_alsort_up_) call psi_zalqsrx_up(n,x,ix) - case (psb_alsort_down_) + case (psb_alsort_down_) call psi_zalqsrx_dw(n,x,ix) - case (psb_asort_up_) + case (psb_asort_up_) call psi_zaqsrx_up(n,x,ix) - case (psb_asort_down_) + case (psb_asort_down_) call psi_zaqsrx_dw(n,x,ix) - case default - ierr(1) = 3; ierr(2) = dir_; + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + case(psb_sort_noreord_x_) + tx = x + select case(dir_) + case (psb_lsort_up_) + call psi_zlqsrx_up(n,tx,ix) + case (psb_lsort_down_) + call psi_zlqsrx_dw(n,tx,ix) + case (psb_alsort_up_) + call psi_zalqsrx_up(n,tx,ix) + case (psb_alsort_down_) + call psi_zalqsrx_dw(n,tx,ix) + case (psb_asort_up_) + call psi_zaqsrx_up(n,tx,ix) + case (psb_asort_down_) + call psi_zaqsrx_dw(n,tx,ix) + case default + ierr(1) = 3; ierr(2) = dir_; + call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) + goto 9999 + end select + end select + else + select case(reord_) + case (psb_sort_reord_x_) + !OK + case default + ierr(1) = 5; ierr(2) = reord_; call psb_errpush(psb_err_input_value_invalid_i_,name,i_err=ierr) goto 9999 end select - else + select case(dir_) case (psb_lsort_up_) call psi_zlqsr_up(n,x) diff --git a/docs/html/userhtmlse6.html b/docs/html/userhtmlse6.html index f5be71d9..c26876b8 100644 --- a/docs/html/userhtmlse6.html +++ b/docs/html/userhtmlse6.html @@ -3886,10 +3886,10 @@ class="pplb7t-x-x-120">_hsort — Sorting by the Heapsort algorithm
-call psb_isort(x,ix,dir,flag)
-call psb_msort(x,ix,dir,flag)
-call psb_qsort(x,ix,dir,flag)
-call psb_hsort(x,ix,dir,flag)
+call psb_isort(x,ix,dir,flag,reord)
+call psb_msort(x,ix,dir,flag,reord)
+call psb_qsort(x,ix,dir,flag,reord)
+call psb_hsort(x,ix,dir,flag,reord)
 

These serial routines sort a sequence

A vector of indices.
Type:optional.
Specified as: an integer array of (at least) the same size as X. +class="newline" />Specified as: an integer array of (at least) the same size as X. This + argument is required when reord = psb_sort_noreord_x_.

-

+

dir

-

The desired ordering.

The desired ordering.
Type:optional.
Specified as: an integer value:

-

+

Integer and real data:

-

psb_sort_up_, psb_sort_down_, psb_asort_up_, @@ -3952,11 +3959,11 @@ class="cmtt-10">psb_sort_up_.

-

+

Complex data:

-

psb_lsort_up_, psb_lsort_down_, psb_asort_up_, @@ -3964,11 +3971,11 @@ class="cmtt-10">psb_asort_up_, class="cmtt-10">psb_asort_down_; default psb_lsort_up_.

-

+

flag

-

Whether to keep the original values in

Whether to keep the original values in IX.
Type:optional.
psb_sort_ovw_idx_ or psb_sort_keep_idx_; default psb_sort_ovw_idx_. +

+

+reord

+

Whether to reorder the input vector x or just return IX for further + usage.
Type:optional.
Specified as: an integer value psb_sort_reord_x_ or psb_sort_noreord_x_; + default psb_sort_reord_x_.

-

+

-

+

On Return

-

+

-

+

x

-

The sequence of values, in the chosen ordering.

The sequence of values; if reord=psb_sort_reord_x_ it will be in the + chosen ordering.
Type:required.
Specified as: an integer, real or complex array of rank 1.

-

+

ix

-

A vector of indices.

A vector of indices.
Type: Optional
An integer array of rank 1, whose entries are moved to the same position - as the corresponding entries in x.

-

An integer array of rank 1, whose i-th entry gives the position of the + (sorted) value of x in the original sequence. + + + +

Notes

  1. -

    For integer or real data the sorting can be performed in the up/down +

    For integer or real data the sorting can be performed in the up/down direction, on the natural or absolute values;

  2. -

    For complex data the sorting can be done in a lexicographic order (i.e.: +

    For complex data the sorting can be done in a lexicographic order (i.e.: sort on the real part with ties broken according to the imaginary part) or on the absolute values; - - -

  3. -

    The routines return the items in the chosen ordering; the output +

    The routines return the items in the chosen ordering; the output difference is the handling of ties (i.e. items with an equal value) in the original input. With the insertion-sort or merge-sort algorithms ties are preserved in the same relative order as they had in the original sequence, @@ -4032,7 +4058,22 @@ class="pplb7t-x-x-120">Notes

  4. -

    If

    If reord = psb_sort_noreord_x_, then the input sequence x is not reordered; + the output is given in ix. Calling without ix in this case is flagged as an + error; +

  5. +
  6. +

    If flag = psb_) occupied in the original data sequence;

  7. -

    If +

    If flag = psb_ix(:) have already been initialized by the user;

  8. -

    Three sorting algorithms have a similar + + + +

    Three sorting algorithms have a similar O(n log ); of the other three, However note that:

    1. -

      The the best case running time for insertion sort is +

      The the best case running time for insertion sort is Ω(n) while the @@ -4110,8 +4154,8 @@ class="zplmr7t-">); however for very short input sequences this is likely to be the fastest method;

    2. -

      The worst case running time + class="enumerate" id="x12-105018x2"> +

      The worst case running time for quicksort is O(); the algorithm implemented here follows the apply;

    3. -

      The worst case running time for merge-sort and heap-sort is + class="enumerate" id="x12-105020x3"> +

      The worst case running time for merge-sort and heap-sort is O(n log n) as the average case; - - -

    4. -

      The merge-sort algorithm is implemented to take advantage of + class="enumerate" id="x12-105022x4"> +

      The merge-sort algorithm is implemented to take advantage of subsequences that may be already in the desired ordering prior to the subroutine call; this situation is relatively common when dealing with groups of indices of sparse matrix entries, thus merge-sort is diff --git a/docs/psblas-3.9.pdf b/docs/psblas-3.9.pdf index a0d16c37..4bbd69b4 100644 --- a/docs/psblas-3.9.pdf +++ b/docs/psblas-3.9.pdf @@ -21904,88 +21904,116 @@ endstream endobj 1742 0 obj << -/Length 6342 +/Length 7828 >> stream 0 g 0 G 0 g 0 G BT -/F75 11.9552 Tf 150.705 706.129 Td [(6.27)-1000(Sorting)-250(utilities)-250(\227)]TJ -0.371 -19.314 Td [(psb)]TJ +/F75 11.9552 Tf 150.705 706.129 Td [(6.27)-1000(Sorting)-250(utilities)-250(\227)]TJ -0.371 -18.964 Td [(psb)]TJ ET q -1 0 0 1 170.969 687.014 cm +1 0 0 1 170.969 687.364 cm []0 d 0 J 0.398 w 0 0 m 3.587 0 l S Q BT -/F75 11.9552 Tf 174.555 686.815 Td [(isort)-250(\227)-250(Sorting)-250(by)-250(the)-250(Insertion-sort)-250(algorithm)]TJ -24.221 -12.136 Td [(psb)]TJ +/F75 11.9552 Tf 174.555 687.165 Td [(isort)-250(\227)-250(Sorting)-250(by)-250(the)-250(Insertion-sort)-250(algorithm)]TJ -24.221 -11.955 Td [(psb)]TJ ET q -1 0 0 1 170.969 674.878 cm +1 0 0 1 170.969 675.409 cm []0 d 0 J 0.398 w 0 0 m 3.587 0 l S Q BT -/F75 11.9552 Tf 174.555 674.679 Td [(msort)-250(\227)-250(Sorting)-250(by)-250(the)-250(Merge-sort)-250(algorithm)]TJ -24.221 -12.136 Td [(psb)]TJ +/F75 11.9552 Tf 174.555 675.21 Td [(msort)-250(\227)-250(Sorting)-250(by)-250(the)-250(Merge-sort)-250(algorithm)]TJ -24.221 -11.955 Td [(psb)]TJ ET q -1 0 0 1 170.969 662.742 cm +1 0 0 1 170.969 663.454 cm []0 d 0 J 0.398 w 0 0 m 3.587 0 l S Q BT -/F75 11.9552 Tf 174.555 662.543 Td [(qsort)-250(\227)-250(Sorting)-250(by)-250(the)-250(Quicksort)-250(algorithm)]TJ -24.221 -12.136 Td [(psb)]TJ +/F75 11.9552 Tf 174.555 663.255 Td [(qsort)-250(\227)-250(Sorting)-250(by)-250(the)-250(Quicksort)-250(algorithm)]TJ -24.221 -11.955 Td [(psb)]TJ ET q -1 0 0 1 170.969 650.607 cm +1 0 0 1 170.969 651.499 cm []0 d 0 J 0.398 w 0 0 m 3.587 0 l S Q BT -/F75 11.9552 Tf 174.555 650.407 Td [(hsort)-250(\227)-250(Sorting)-250(by)-250(the)-250(Heapsort)-250(algorithm)]TJ +/F75 11.9552 Tf 174.555 651.3 Td [(hsort)-250(\227)-250(Sorting)-250(by)-250(the)-250(Heapsort)-250(algorithm)]TJ 0 g 0 G 0 g 0 G -/F145 9.9626 Tf -23.85 -20.648 Td [(call)-525(psb_isort\050x,ix,dir,flag\051)]TJ 0 -11.955 Td [(call)-525(psb_msort\050x,ix,dir,flag\051)]TJ 0 -11.955 Td [(call)-525(psb_qsort\050x,ix,dir,flag\051)]TJ 0 -11.955 Td [(call)-525(psb_hsort\050x,ix,dir,flag\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 165.649 573.426 Tm [(These)-314(serial)-313(r)17(outines)-313(sort)-314(a)-314(sequence)]TJ/F78 9.9626 Tf 1 0 0 1 335.711 573.426 Tm [(X)]TJ/F84 9.9626 Tf 1.02 0 0 1 346.436 573.426 Tm [(into)-314(ascending)-313(or)-314(descending)-314(or)18(-)]TJ 1.02 0 0 1 150.705 561.471 Tm [(der)73(.)-328(The)-253(ar)18(gument)-253(meaning)-253(is)-253(identical)-253(for)-253(all)-253(calls;)-257(the)-253(only)-253(dif)17(f)1(er)17(ence)-253(is)-253(the)]TJ 1 0 0 1 150.705 549.516 Tm [(algorithm)-250(used)-250(to)-250(accomplish)-250(the)-250(task)-250(\050see)-250(Usage)-250(Notes)-250(below\051.)]TJ +/F145 9.9626 Tf -23.85 -19.808 Td [(call)-525(psb_isort\050x,ix,dir,flag,reord\051)]TJ 0 -11.955 Td [(call)-525(psb_msort\050x,ix,dir,flag,reord\051)]TJ 0 -11.955 Td [(call)-525(psb_qsort\050x,ix,dir,flag,reord\051)]TJ 0 -11.955 Td [(call)-525(psb_hsort\050x,ix,dir,flag,reord\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 165.649 575.819 Tm [(These)-314(serial)-313(r)17(outines)-313(sort)-314(a)-314(sequence)]TJ/F78 9.9626 Tf 1 0 0 1 335.711 575.819 Tm [(X)]TJ/F84 9.9626 Tf 1.02 0 0 1 346.436 575.819 Tm [(into)-314(ascending)-313(or)-314(descending)-314(or)18(-)]TJ 1.02 0 0 1 150.705 563.864 Tm [(der)73(.)-328(The)-253(ar)18(gument)-253(meaning)-253(is)-253(identical)-253(for)-253(all)-253(calls;)-257(the)-253(only)-253(dif)17(f)1(er)17(ence)-253(is)-253(the)]TJ 1 0 0 1 150.705 551.909 Tm [(algorithm)-250(used)-250(to)-250(accomplish)-250(the)-250(task)-250(\050see)-250(Usage)-250(Notes)-250(below\051.)]TJ 0 g 0 G -/F75 9.9626 Tf 0 -20.467 Td [(T)90(ype:)]TJ +/F75 9.9626 Tf 0 -19.808 Td [(T)90(ype:)]TJ 0 g 0 G /F84 9.9626 Tf 29.439 0 Td [(Asynchr)18(onous.)]TJ 0 g 0 G -/F75 9.9626 Tf -29.439 -20.648 Td [(On)-250(Entry)]TJ +/F75 9.9626 Tf -29.439 -19.866 Td [(On)-250(Entry)]TJ 0 g 0 G 0 g 0 G - 0 -20.648 Td [(x)]TJ + 0 -19.866 Td [(x)]TJ 0 g 0 G -/F84 9.9626 Tf 9.654 0 Td [(The)-250(sequence)-250(to)-250(be)-250(sorted.)]TJ 14.944 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 23.999 0 Td [(required)]TJ/F84 9.9626 Tf 39.293 0 Td [(.)]TJ -62.984 -11.956 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)74(,)-250(r)18(eal)-250(or)-250(complex)-250(array)-250(of)-250(rank)-250(1.)]TJ +/F84 9.9626 Tf 9.654 0 Td [(The)-250(sequence)-250(to)-250(be)-250(sorted.)]TJ 14.944 -11.956 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 23.999 0 Td [(required)]TJ/F84 9.9626 Tf 39.293 0 Td [(.)]TJ -62.984 -11.955 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)74(,)-250(r)18(eal)-250(or)-250(complex)-250(array)-250(of)-250(rank)-250(1.)]TJ 0 g 0 G -/F75 9.9626 Tf -24.906 -20.648 Td [(ix)]TJ +/F75 9.9626 Tf -24.906 -19.866 Td [(ix)]TJ 0 g 0 G -/F84 9.9626 Tf 12.891 0 Td [(A)-250(vector)-250(of)-250(indices.)]TJ 11.707 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 23.999 0 Td [(optional)]TJ/F84 9.9626 Tf 38.187 0 Td [(.)]TJ -61.878 -11.955 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)-250(array)-250(of)-250(\050at)-250(least\051)-250(the)-250(same)-250(size)-250(as)]TJ/F78 9.9626 Tf 254.19 0 Td [(X)]TJ/F84 9.9626 Tf 7.536 0 Td [(.)]TJ +/F84 9.9626 Tf 12.891 0 Td [(A)-250(vector)-250(of)-250(indices.)]TJ 11.707 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 23.999 0 Td [(optional)]TJ/F84 9.9626 Tf 38.187 0 Td [(.)]TJ 0.98 0 0 1 175.611 424.682 Tm [(Speci\002ed)-198(as:)-288(an)-198(integer)-198(array)-198(of)-198(\050at)-198(least\051)-198(t)1(he)-198(same)-198(size)-198(as)]TJ/F78 9.9626 Tf 1 0 0 1 418.918 424.682 Tm [(X)]TJ/F84 9.9626 Tf 0.98 0 0 1 426.455 424.682 Tm [(.)-297(This)-198(ar)18(gument)]TJ 1 0 0 1 175.611 412.726 Tm [(is)-250(r)18(equir)18(ed)-250(when)]TJ/F78 9.9626 Tf 76.926 0 Td [(r)-17(e)-25(o)-25(r)-17(d)]TJ/F192 10.3811 Tf 24.884 0 Td [(=)]TJ/F78 9.9626 Tf 11.634 0 Td [(p)-25(s)-25(b)]TJ +ET +q +1 0 0 1 303.745 412.926 cm +[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S +Q +BT +/F78 9.9626 Tf 306.858 412.726 Td [(s)-25(o)-25(r)-35(t)]TJ +ET +q +1 0 0 1 323.919 412.926 cm +[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S +Q +BT +/F78 9.9626 Tf 327.032 412.726 Td [(n)-25(o)-25(r)-17(e)-25(o)-25(r)-17(d)]TJ +ET +q +1 0 0 1 360.083 412.926 cm +[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S +Q +BT +/F78 9.9626 Tf 363.366 412.726 Td [(x)]TJ +ET +q +1 0 0 1 369.169 412.926 cm +[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S +Q +BT +/F84 9.9626 Tf 372.158 412.726 Td [(.)]TJ 0 g 0 G -/F75 9.9626 Tf -286.632 -20.648 Td [(dir)]TJ +/F75 9.9626 Tf -221.453 -19.866 Td [(dir)]TJ 0 g 0 G /F84 9.9626 Tf 17.952 0 Td [(The)-250(desir)18(ed)-250(or)18(dering.)]TJ 6.646 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 23.999 0 Td [(optional)]TJ/F84 9.9626 Tf 38.187 0 Td [(.)]TJ -61.878 -11.955 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)-250(value:)]TJ 0 g 0 G -/F75 9.9626 Tf 0 -20.648 Td [(Integer)-250(and)-250(real)-250(data:)]TJ +/F75 9.9626 Tf 0 -19.867 Td [(Integer)-250(and)-250(real)-250(data:)]TJ 0 g 0 G -/F145 9.9626 Tf 101.28 0 Td [(psb_sort_up_)]TJ/F84 9.9626 Tf 1.02 0 0 1 339.655 354.078 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 345.778 354.078 Tm [(psb_sort_down_)]TJ/F84 9.9626 Tf 1.02 0 0 1 419.003 354.078 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 425.126 354.078 Tm [(psb_asort_up_)]TJ/F84 9.9626 Tf 1.02 0 0 1 493.121 354.078 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 197.529 342.122 Tm [(psb_asort_down_)]TJ/F84 9.9626 Tf 78.455 0 Td [(;)-250(default)]TJ/F145 9.9626 Tf 38.784 0 Td [(psb_sort_up_)]TJ/F84 9.9626 Tf 62.765 0 Td [(.)]TJ +/F145 9.9626 Tf 101.28 0 Td [(psb_sort_up_)]TJ/F84 9.9626 Tf 1.02 0 0 1 339.655 349.083 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 345.778 349.083 Tm [(psb_sort_down_)]TJ/F84 9.9626 Tf 1.02 0 0 1 419.003 349.083 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 425.126 349.083 Tm [(psb_asort_up_)]TJ/F84 9.9626 Tf 1.02 0 0 1 493.121 349.083 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 197.529 337.128 Tm [(psb_asort_down_)]TJ/F84 9.9626 Tf 78.455 0 Td [(;)-250(default)]TJ/F145 9.9626 Tf 38.784 0 Td [(psb_sort_up_)]TJ/F84 9.9626 Tf 62.765 0 Td [(.)]TJ 0 g 0 G -/F75 9.9626 Tf -201.922 -16.301 Td [(Complex)-250(data:)]TJ +/F75 9.9626 Tf -201.922 -15.881 Td [(Complex)-250(data:)]TJ 0 g 0 G -/F145 9.9626 Tf 70.287 0 Td [(psb_lsort_up_)]TJ/F84 9.9626 Tf 0.98 0 0 1 313.892 325.821 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 318.345 325.821 Tm [(psb_lsort_down_)]TJ/F84 9.9626 Tf 0.98 0 0 1 396.8 325.821 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 401.254 325.821 Tm [(psb_asort_up_)]TJ/F84 9.9626 Tf 0.98 0 0 1 469.248 325.821 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 473.701 325.821 Tm [(psb_asort_down_)]TJ/F84 9.9626 Tf 0.98 0 0 1 552.157 325.821 Tm [(;)]TJ 1 0 0 1 197.529 313.866 Tm [(default)]TJ/F145 9.9626 Tf 33.803 0 Td [(psb_lsort_up_)]TJ/F84 9.9626 Tf 67.994 0 Td [(.)]TJ +/F145 9.9626 Tf 70.287 0 Td [(psb_lsort_up_)]TJ/F84 9.9626 Tf 0.98 0 0 1 313.892 321.247 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 318.345 321.247 Tm [(psb_lsort_down_)]TJ/F84 9.9626 Tf 0.98 0 0 1 396.8 321.247 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 401.254 321.247 Tm [(psb_asort_up_)]TJ/F84 9.9626 Tf 0.98 0 0 1 469.248 321.247 Tm [(,)]TJ/F145 9.9626 Tf 1 0 0 1 473.701 321.247 Tm [(psb_asort_down_)]TJ/F84 9.9626 Tf 0.98 0 0 1 552.157 321.247 Tm [(;)]TJ 1 0 0 1 197.529 309.292 Tm [(default)]TJ/F145 9.9626 Tf 33.803 0 Td [(psb_lsort_up_)]TJ/F84 9.9626 Tf 67.994 0 Td [(.)]TJ 0 g 0 G -/F75 9.9626 Tf -148.621 -20.648 Td [(\003ag)]TJ +/F75 9.9626 Tf -148.621 -19.867 Td [(\003ag)]TJ 0 g 0 G -/F84 9.9626 Tf 21.091 0 Td [(Whether)-250(to)-250(keep)-250(the)-250(original)-250(values)-250(in)]TJ/F78 9.9626 Tf 171.519 0 Td [(I)-81(X)]TJ/F84 9.9626 Tf 11.661 0 Td [(.)]TJ -179.673 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 23.999 0 Td [(optional)]TJ/F84 9.9626 Tf 38.187 0 Td [(.)]TJ 0.98 0 0 1 175.611 269.307 Tm [(Speci\002ed)-194(as:)-286(an)-193(integer)-194(value)]TJ/F145 9.9626 Tf 1 0 0 1 301.54 269.307 Tm [(psb_sort_ovw_idx_)]TJ/F84 9.9626 Tf 0.98 0 0 1 392.349 269.307 Tm [(or)]TJ/F145 9.9626 Tf 1 0 0 1 403.429 269.307 Tm [(psb_sort_keep_idx_)]TJ/F84 9.9626 Tf 0.98 0 0 1 497.575 269.307 Tm [(;)]TJ 1 0 0 1 175.611 257.352 Tm [(default)]TJ/F145 9.9626 Tf 33.803 0 Td [(psb_sort_ovw_idx_)]TJ/F84 9.9626 Tf 88.916 0 Td [(.)]TJ +/F84 9.9626 Tf 21.091 0 Td [(Whether)-250(to)-250(keep)-250(the)-250(original)-250(values)-250(in)]TJ/F78 9.9626 Tf 171.519 0 Td [(I)-81(X)]TJ/F84 9.9626 Tf 11.661 0 Td [(.)]TJ -179.673 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 23.999 0 Td [(optional)]TJ/F84 9.9626 Tf 38.187 0 Td [(.)]TJ 0.98 0 0 1 175.611 265.515 Tm [(Speci\002ed)-194(as:)-286(an)-193(integer)-194(value)]TJ/F145 9.9626 Tf 1 0 0 1 301.54 265.515 Tm [(psb_sort_ovw_idx_)]TJ/F84 9.9626 Tf 0.98 0 0 1 392.349 265.515 Tm [(or)]TJ/F145 9.9626 Tf 1 0 0 1 403.429 265.515 Tm [(psb_sort_keep_idx_)]TJ/F84 9.9626 Tf 0.98 0 0 1 497.575 265.515 Tm [(;)]TJ 1 0 0 1 175.611 253.56 Tm [(default)]TJ/F145 9.9626 Tf 33.803 0 Td [(psb_sort_ovw_idx_)]TJ/F84 9.9626 Tf 88.916 0 Td [(.)]TJ 0 g 0 G -/F75 9.9626 Tf -147.625 -22.64 Td [(On)-250(Return)]TJ +/F75 9.9626 Tf -147.625 -19.866 Td [(reord)]TJ 0 g 0 G +/F84 9.9626 Tf 0.984 0 0 1 179.546 233.694 Tm [(Whether)-253(to)-254(r)19(eor)18(der)-253(the)-254(input)-253(vector)]TJ/F78 9.9626 Tf 1 0 0 1 337.115 233.694 Tm [(x)]TJ/F84 9.9626 Tf 0.984 0 0 1 344.804 233.694 Tm [(or)-253(just)-254(r)19(eturn)]TJ/F78 9.9626 Tf 1 0 0 1 404.732 233.694 Tm [(I)-81(X)]TJ/F84 9.9626 Tf 0.984 0 0 1 418.877 233.694 Tm [(for)-253(further)-254(usage.)]TJ 1 0 0 1 175.303 221.738 Tm [(T)90(ype:)]TJ/F75 9.9626 Tf 23.999 0 Td [(optional)]TJ/F84 9.9626 Tf 38.187 0 Td [(.)]TJ 0.98 0 0 1 175.611 209.783 Tm [(Speci\002ed)-194(as:)-286(an)-193(integer)-194(value)]TJ/F145 9.9626 Tf 1 0 0 1 301.54 209.783 Tm [(psb_sort_reord_x_)]TJ/F84 9.9626 Tf 0.98 0 0 1 392.349 209.783 Tm [(or)]TJ/F145 9.9626 Tf 1 0 0 1 403.429 209.783 Tm [(psb_sort_noreord_x_)]TJ/F84 9.9626 Tf 0.98 0 0 1 502.806 209.783 Tm [(;)]TJ 1 0 0 1 175.611 197.828 Tm [(default)]TJ/F145 9.9626 Tf 33.803 0 Td [(psb_sort_reord_x_)]TJ/F84 9.9626 Tf 88.916 0 Td [(.)]TJ 0 g 0 G - 0 -20.648 Td [(x)]TJ +/F75 9.9626 Tf -147.625 -21.771 Td [(On)-250(Return)]TJ 0 g 0 G -/F84 9.9626 Tf 9.654 0 Td [(The)-250(sequence)-250(of)-250(values,)-250(in)-250(the)-250(chosen)-250(or)18(dering.)]TJ 14.944 -11.956 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 23.999 0 Td [(required)]TJ/F84 9.9626 Tf 39.293 0 Td [(.)]TJ -62.984 -11.955 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)74(,)-250(r)18(eal)-250(or)-250(complex)-250(array)-250(of)-250(rank)-250(1.)]TJ 0 g 0 G -/F75 9.9626 Tf -24.906 -20.648 Td [(ix)]TJ + 0 -19.866 Td [(x)]TJ 0 g 0 G -/F84 9.9626 Tf 12.891 0 Td [(A)-250(vector)-250(of)-250(indices.)]TJ 11.707 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 27.088 0 Td [(Optional)]TJ/F84 9.9626 Tf 0.996 0 0 1 175.223 145.595 Tm [(An)-251(integer)-250(array)-251(of)-251(rank)-250(1,)-251(whose)-251(entries)-250(ar)18(e)-251(moved)-251(to)-250(the)-251(same)-251(position)]TJ 1 0 0 1 175.611 133.64 Tm [(as)-250(the)-250(corr)18(esponding)-250(entries)-250(in)]TJ/F78 9.9626 Tf 138.215 0 Td [(x)]TJ/F84 9.9626 Tf 5.206 0 Td [(.)]TJ +/F84 9.9626 Tf 0.984 0 0 1 160.359 156.191 Tm [(The)-254(sequence)-254(of)-254(values;)-254(if)]TJ/F145 9.9626 Tf 1 0 0 1 274.16 156.191 Tm [(reord=psb_sort_reord_x_)]TJ/F84 9.9626 Tf 0.984 0 0 1 396.947 156.191 Tm [(it)-254(will)-254(be)-254(in)-254(the)-254(chosen)]TJ 1 0 0 1 175.611 144.236 Tm [(or)18(dering.)]TJ -0.308 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 23.999 0 Td [(required)]TJ/F84 9.9626 Tf 39.293 0 Td [(.)]TJ -62.984 -11.955 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)74(,)-250(r)18(eal)-250(or)-250(complex)-250(array)-250(of)-250(rank)-250(1.)]TJ 0 g 0 G - -3.944 -43.202 Td [(110)]TJ + 139.477 -29.888 Td [(110)]TJ 0 g 0 G ET @@ -21993,117 +22021,152 @@ endstream endobj 1746 0 obj << -/Length 9569 +/Length 11593 >> stream 0 g 0 G 0 g 0 G +0 g 0 G BT -/F75 11.9552 Tf 99.895 706.129 Td [(Notes)]TJ +/F75 9.9626 Tf 99.895 706.129 Td [(ix)]TJ 0 g 0 G -/F84 9.9626 Tf 12.454 -19.925 Td [(1.)]TJ +/F84 9.9626 Tf 12.892 0 Td [(A)-250(vector)-250(of)-250(indices.)]TJ 11.706 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 27.088 0 Td [(Optional)]TJ/F84 9.9626 Tf 1.02 0 0 1 124.413 682.219 Tm [(An)-353(integer)-353(array)-354(of)-353(rank)-353(1,)-380(whose)]TJ/F78 9.9626 Tf 1 0 0 1 285.438 682.219 Tm [(i)]TJ/F84 9.9626 Tf 1.02 0 0 1 288.402 682.219 Tm [(-th)-353(entry)-353(gives)-354(the)-353(position)-353(of)-353(the)]TJ 1 0 0 1 124.473 670.263 Tm [(\050sorted\051)-250(value)-250(of)]TJ/F78 9.9626 Tf 75.152 0 Td [(x)]TJ/F84 9.9626 Tf 7.696 0 Td [(in)-250(the)-250(original)-250(sequence.)]TJ/F75 11.9552 Tf -107.426 -21.917 Td [(Notes)]TJ +0 g 0 G +/F84 9.9626 Tf 12.454 -19.926 Td [(1.)]TJ 0 g 0 G - 1.02 0 0 1 124.802 686.204 Tm [(For)-318(integer)-317(or)-318(r)18(eal)-318(data)-318(the)-318(sorting)-317(can)-318(be)-318(performed)-317(in)-318(the)-318(up/down)]TJ 1 0 0 1 124.802 674.248 Tm [(dir)18(ection,)-250(on)-250(the)-250(natural)-250(or)-250(absolute)-250(values;)]TJ + 1.02 0 0 1 124.802 628.42 Tm [(For)-318(integer)-317(or)-318(r)18(eal)-318(data)-318(the)-318(sorting)-317(can)-318(be)-318(performed)-317(in)-318(the)-318(up/down)]TJ 1 0 0 1 124.802 616.465 Tm [(dir)18(ection,)-250(on)-250(the)-250(natural)-250(or)-250(absolute)-250(values;)]TJ 0 g 0 G -12.453 -19.925 Td [(2.)]TJ 0 g 0 G - 1.02 0 0 1 124.802 654.323 Tm [(For)-287(complex)-288(data)-287(the)-287(sorting)-288(can)-287(be)-287(done)-288(in)-287(a)-287(lexicographic)-288(or)18(der)-287(\050i.e.:)]TJ 1.007 0 0 1 124.802 642.368 Tm [(sort)-247(on)-248(the)-247(r)18(eal)-248(part)-247(with)-248(tie)1(s)-248(br)18(oken)-247(accor)17(ding)-247(to)-247(the)-248(imaginary)-247(part\051)-248(or)]TJ 1 0 0 1 124.802 630.413 Tm [(on)-250(the)-250(absolute)-250(values;)]TJ + 1.02 0 0 1 124.802 596.54 Tm [(For)-287(complex)-288(data)-287(the)-287(sorting)-288(can)-287(be)-287(done)-288(in)-287(a)-287(lexicographic)-288(or)18(der)-287(\050i.e.:)]TJ 1.007 0 0 1 124.802 584.585 Tm [(sort)-247(on)-248(the)-247(r)18(eal)-248(part)-247(with)-248(tie)1(s)-248(br)18(oken)-247(accor)17(ding)-247(to)-247(the)-248(imaginary)-247(part\051)-248(or)]TJ 1 0 0 1 124.802 572.629 Tm [(on)-250(the)-250(absolute)-250(values;)]TJ 0 g 0 G -12.453 -19.925 Td [(3.)]TJ 0 g 0 G - 0.98 0 0 1 124.493 610.488 Tm [(The)-240(r)18(outines)-240(r)18(et)1(urn)-241(the)-240(items)-240(in)-240(the)-240(chosen)-240(or)18(dering;)-245(the)-240(output)-240(dif)18(fer)18(ence)]TJ 0.98 0 0 1 124.802 598.532 Tm [(is)-256(the)-256(handling)-256(of)-256(ties)-256(\050i.e.)-318(items)-256(with)-256(an)-256(equal)-256(value\051)-256(in)-256(the)-256(original)-256(input.)]TJ 1 0 0 1 124.304 586.577 Tm [(W)55(ith)-250(the)-250(insertion-sort)-250(or)-250(mer)18(ge-sort)-250(algorithms)-250(ties)-250(ar)18(e)-250(pr)18(eserved)-250(in)-250(the)]TJ 0.997 0 0 1 124.802 574.622 Tm [(same)-250(r)18(elative)-250(or)18(der)-251(as)-250(they)-250(had)-251(i)1(n)-251(the)-250(original)-250(sequence,)-251(while)-250(this)-250(is)-250(not)]TJ 1 0 0 1 124.802 562.667 Tm [(guaranteed)-250(for)-250(quicksort)-250(or)-250(heapsort;)]TJ + 0.98 0 0 1 124.493 552.704 Tm [(The)-240(r)18(outines)-240(r)18(et)1(urn)-241(the)-240(items)-240(in)-240(the)-240(chosen)-240(or)18(dering;)-245(the)-240(output)-240(dif)18(fer)18(ence)]TJ 0.98 0 0 1 124.802 540.749 Tm [(is)-256(the)-256(handling)-256(of)-256(ties)-256(\050i.e.)-318(items)-256(with)-256(an)-256(equal)-256(value\051)-256(in)-256(the)-256(original)-256(input.)]TJ 1 0 0 1 124.304 528.794 Tm [(W)55(ith)-250(the)-250(insertion-sort)-250(or)-250(mer)18(ge-sort)-250(algorithms)-250(ties)-250(ar)18(e)-250(pr)18(eserved)-250(in)-250(the)]TJ 0.997 0 0 1 124.802 516.839 Tm [(same)-250(r)18(elative)-250(or)18(der)-251(as)-250(they)-250(had)-251(i)1(n)-251(the)-250(original)-250(sequence,)-251(while)-250(this)-250(is)-250(not)]TJ 1 0 0 1 124.802 504.884 Tm [(guaranteed)-250(for)-250(quicksort)-250(or)-250(heapsort;)]TJ 0 g 0 G - -12.453 -19.925 Td [(4.)]TJ + -12.453 -19.926 Td [(4.)]TJ 0 g 0 G - 0.98 0 0 1 124.802 542.742 Tm [(If)]TJ/F78 9.9626 Tf 1 0 0 1 135.146 542.742 Tm [(f)-160(l)-70(a)-47(g)]TJ/F192 10.3811 Tf 20.72 0 Td [(=)]TJ/F78 9.9626 Tf 11.634 0 Td [(p)-25(s)-25(b)]TJ + 0.99 0 0 1 124.802 484.958 Tm [(If)]TJ/F78 9.9626 Tf 1 0 0 1 133.93 484.958 Tm [(r)-17(e)-25(o)-25(r)-17(d)]TJ/F192 10.3811 Tf 24.891 0 Td [(=)]TJ/F78 9.9626 Tf 11.642 0 Td [(p)-25(s)-25(b)]TJ ET q -1 0 0 1 182.189 542.941 cm +1 0 0 1 185.152 485.158 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F78 9.9626 Tf 185.303 542.742 Td [(s)-25(o)-25(r)-35(t)]TJ +/F78 9.9626 Tf 188.266 484.958 Td [(s)-25(o)-25(r)-35(t)]TJ ET q -1 0 0 1 202.364 542.941 cm +1 0 0 1 205.326 485.158 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F78 9.9626 Tf 205.477 542.742 Td [(o)-35(v)-25(w)]TJ +/F78 9.9626 Tf 208.44 484.958 Td [(n)-25(o)-25(r)-17(e)-25(o)-25(r)-17(d)]TJ ET q -1 0 0 1 223.394 542.941 cm +1 0 0 1 241.49 485.158 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F78 9.9626 Tf 226.438 542.742 Td [(i)-32(d)-42(x)]TJ +/F78 9.9626 Tf 244.773 484.958 Td [(x)]TJ ET q -1 0 0 1 240.729 542.941 cm +1 0 0 1 250.576 485.158 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F84 9.9626 Tf 0.98 0 0 1 246.101 542.742 Tm [(then)-244(the)-244(entries)-244(in)]TJ/F78 9.9626 Tf 1 0 0 1 326.032 542.742 Tm [(i)-49(x)]TJ/F192 10.3811 Tf 8.587 0 Td [(\050)]TJ/F84 9.9626 Tf 0.98 0 0 1 338.769 542.742 Tm [(1)]TJ 1 0 0 1 346.542 542.742 Tm [(:)]TJ/F78 9.9626 Tf 5.507 0 Td [(n)]TJ/F192 10.3811 Tf 5.788 0 Td [(\051)]TJ/F84 9.9626 Tf 0.98 0 0 1 364.37 542.742 Tm [(wher)18(e)]TJ/F78 9.9626 Tf 1 0 0 1 393.733 542.742 Tm [(n)]TJ/F84 9.9626 Tf 0.98 0 0 1 401.779 542.742 Tm [(is)-244(the)-244(size)]TJ 0.984 0 0 1 124.802 530.786 Tm [(of)]TJ/F78 9.9626 Tf 1 0 0 1 136.206 530.786 Tm [(x)]TJ/F84 9.9626 Tf 0.984 0 0 1 143.904 530.786 Tm [(ar)18(e)-254(initialized)-254(to)]TJ/F78 9.9626 Tf 1 0 0 1 216.929 530.786 Tm [(i)-49(x)]TJ/F192 10.3811 Tf 8.588 0 Td [(\050)]TJ/F78 9.9626 Tf 4.204 0 Td [(i)]TJ/F192 10.3811 Tf 3.088 0 Td [(\051)]TJ/F190 10.3811 Tf 7.046 0 Td [(\040)]TJ/F78 9.9626 Tf 13.332 0 Td [(i)]TJ/F84 9.9626 Tf 0.984 0 0 1 256.15 530.786 Tm [(;)-254(thus,)-255(upon)-254(r)18(eturn)-254(fr)18(om)-254(the)-254(subr)18(outine,)-254(for)]TJ 1.02 0 0 1 124.802 518.831 Tm [(each)-260(index)]TJ/F78 9.9626 Tf 1 0 0 1 175.703 518.831 Tm [(i)]TJ/F84 9.9626 Tf 1.02 0 0 1 181.308 518.831 Tm [(we)-260(have)-260(in)]TJ/F78 9.9626 Tf 1 0 0 1 233.102 518.831 Tm [(i)-49(x)]TJ/F192 10.3811 Tf 8.588 0 Td [(\050)]TJ/F78 9.9626 Tf 4.204 0 Td [(i)]TJ/F192 10.3811 Tf 3.088 0 Td [(\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 255.772 518.831 Tm [(the)-260(position)-260(that)-260(the)-259(item)]TJ/F78 9.9626 Tf 1 0 0 1 371.842 518.831 Tm [(x)]TJ/F192 10.3811 Tf 5.33 0 Td [(\050)]TJ/F78 9.9626 Tf 4.204 0 Td [(i)]TJ/F192 10.3811 Tf 3.088 0 Td [(\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 391.255 518.831 Tm [(occupied)-260(in)]TJ 1 0 0 1 124.802 506.876 Tm [(the)-250(original)-250(data)-250(sequence;)]TJ +/F84 9.9626 Tf 0.99 0 0 1 253.565 484.958 Tm [(,)-253(then)-253(the)-253(input)-253(sequence)]TJ/F78 9.9626 Tf 1 0 0 1 365.544 484.958 Tm [(x)]TJ/F84 9.9626 Tf 0.99 0 0 1 373.244 484.958 Tm [(is)-253(not)-253(r)18(eor)19(der)18(ed;)]TJ 1.02 0 0 1 124.802 473.003 Tm [(the)-254(output)-255(i)1(s)-255(given)-254(in)]TJ/F78 9.9626 Tf 1 0 0 1 223.674 473.003 Tm [(i)-49(x)]TJ/F84 9.9626 Tf 1.02 0 0 1 232.137 473.003 Tm [(.)-331(Calling)-255(without)]TJ/F78 9.9626 Tf 1 0 0 1 311.637 473.003 Tm [(i)-49(x)]TJ/F84 9.9626 Tf 1.02 0 0 1 322.684 473.003 Tm [(in)-254(this)-255(case)-254(is)-254(\003agged)-254(as)-255(an)]TJ 1 0 0 1 124.802 461.048 Tm [(err)18(or;)]TJ 0 g 0 G -12.453 -19.925 Td [(5.)]TJ 0 g 0 G - 1.02 0 0 1 124.802 486.951 Tm [(If)]TJ/F78 9.9626 Tf 1 0 0 1 136.291 486.951 Tm [(f)-160(l)-70(a)-47(g)]TJ/F192 10.3811 Tf 22.147 0 Td [(=)]TJ/F78 9.9626 Tf 13.061 0 Td [(p)-25(s)-25(b)]TJ + 0.98 0 0 1 124.802 441.123 Tm [(If)]TJ/F78 9.9626 Tf 1 0 0 1 135.146 441.123 Tm [(f)-160(l)-70(a)-47(g)]TJ/F192 10.3811 Tf 20.72 0 Td [(=)]TJ/F78 9.9626 Tf 11.634 0 Td [(p)-25(s)-25(b)]TJ +ET +q +1 0 0 1 182.189 441.322 cm +[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S +Q +BT +/F78 9.9626 Tf 185.303 441.123 Td [(s)-25(o)-25(r)-35(t)]TJ +ET +q +1 0 0 1 202.364 441.322 cm +[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S +Q +BT +/F78 9.9626 Tf 205.477 441.123 Td [(o)-35(v)-25(w)]TJ +ET +q +1 0 0 1 223.394 441.322 cm +[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S +Q +BT +/F78 9.9626 Tf 226.438 441.123 Td [(i)-32(d)-42(x)]TJ +ET +q +1 0 0 1 240.729 441.322 cm +[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S +Q +BT +/F84 9.9626 Tf 0.98 0 0 1 246.101 441.123 Tm [(then)-244(the)-244(entries)-244(in)]TJ/F78 9.9626 Tf 1 0 0 1 326.032 441.123 Tm [(i)-49(x)]TJ/F192 10.3811 Tf 8.587 0 Td [(\050)]TJ/F84 9.9626 Tf 0.98 0 0 1 338.769 441.123 Tm [(1)]TJ 1 0 0 1 346.542 441.123 Tm [(:)]TJ/F78 9.9626 Tf 5.507 0 Td [(n)]TJ/F192 10.3811 Tf 5.788 0 Td [(\051)]TJ/F84 9.9626 Tf 0.98 0 0 1 364.37 441.123 Tm [(wher)18(e)]TJ/F78 9.9626 Tf 1 0 0 1 393.733 441.123 Tm [(n)]TJ/F84 9.9626 Tf 0.98 0 0 1 401.779 441.123 Tm [(is)-244(the)-244(size)]TJ 0.984 0 0 1 124.802 429.167 Tm [(of)]TJ/F78 9.9626 Tf 1 0 0 1 136.206 429.167 Tm [(x)]TJ/F84 9.9626 Tf 0.984 0 0 1 143.904 429.167 Tm [(ar)18(e)-254(initialized)-254(to)]TJ/F78 9.9626 Tf 1 0 0 1 216.929 429.167 Tm [(i)-49(x)]TJ/F192 10.3811 Tf 8.588 0 Td [(\050)]TJ/F78 9.9626 Tf 4.204 0 Td [(i)]TJ/F192 10.3811 Tf 3.088 0 Td [(\051)]TJ/F190 10.3811 Tf 7.046 0 Td [(\040)]TJ/F78 9.9626 Tf 13.332 0 Td [(i)]TJ/F84 9.9626 Tf 0.984 0 0 1 256.15 429.167 Tm [(;)-254(thus,)-255(upon)-254(r)18(eturn)-254(fr)18(om)-254(the)-254(subr)18(outine,)-254(for)]TJ 1.02 0 0 1 124.802 417.212 Tm [(each)-260(index)]TJ/F78 9.9626 Tf 1 0 0 1 175.703 417.212 Tm [(i)]TJ/F84 9.9626 Tf 1.02 0 0 1 181.308 417.212 Tm [(we)-260(have)-260(in)]TJ/F78 9.9626 Tf 1 0 0 1 233.102 417.212 Tm [(i)-49(x)]TJ/F192 10.3811 Tf 8.588 0 Td [(\050)]TJ/F78 9.9626 Tf 4.204 0 Td [(i)]TJ/F192 10.3811 Tf 3.088 0 Td [(\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 255.772 417.212 Tm [(the)-260(position)-260(that)-260(the)-259(item)]TJ/F78 9.9626 Tf 1 0 0 1 371.842 417.212 Tm [(x)]TJ/F192 10.3811 Tf 5.33 0 Td [(\050)]TJ/F78 9.9626 Tf 4.204 0 Td [(i)]TJ/F192 10.3811 Tf 3.088 0 Td [(\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 391.255 417.212 Tm [(occupied)-260(in)]TJ 1 0 0 1 124.802 405.257 Tm [(the)-250(original)-250(data)-250(sequence;)]TJ +0 g 0 G + -12.453 -19.925 Td [(6.)]TJ +0 g 0 G + 1.02 0 0 1 124.802 385.332 Tm [(If)]TJ/F78 9.9626 Tf 1 0 0 1 136.291 385.332 Tm [(f)-160(l)-70(a)-47(g)]TJ/F192 10.3811 Tf 22.147 0 Td [(=)]TJ/F78 9.9626 Tf 13.061 0 Td [(p)-25(s)-25(b)]TJ ET q -1 0 0 1 186.188 487.15 cm +1 0 0 1 186.188 385.531 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F78 9.9626 Tf 189.302 486.951 Td [(s)-25(o)-25(r)-35(t)]TJ +/F78 9.9626 Tf 189.302 385.332 Td [(s)-25(o)-25(r)-35(t)]TJ ET q -1 0 0 1 206.362 487.15 cm +1 0 0 1 206.362 385.531 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F78 9.9626 Tf 209.476 486.951 Td [(k)-30(e)-25(e)-80(p)]TJ +/F78 9.9626 Tf 209.476 385.332 Td [(k)-30(e)-25(e)-80(p)]TJ ET q -1 0 0 1 228.698 487.15 cm +1 0 0 1 228.698 385.531 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F78 9.9626 Tf 231.742 486.951 Td [(i)-32(d)-42(x)]TJ +/F78 9.9626 Tf 231.742 385.332 Td [(i)-32(d)-42(x)]TJ ET q -1 0 0 1 246.033 487.15 cm +1 0 0 1 246.033 385.531 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F84 9.9626 Tf 1.02 0 0 1 252.283 486.951 Tm [(the)-321(r)18(outine)-321(will)-321(assume)-321(that)-321(the)-321(entries)-321(in)]TJ/F78 9.9626 Tf 1 0 0 1 124.857 474.996 Tm [(i)-49(x)]TJ/F192 10.3811 Tf 8.587 0 Td [(\050)]TJ/F84 9.9626 Tf 4.274 0 Td [(:)]TJ/F192 10.3811 Tf 2.74 0 Td [(\051)]TJ/F84 9.9626 Tf 6.64 0 Td [(have)-250(alr)18(eady)-250(been)-250(initialized)-250(by)-250(the)-250(user;)]TJ +/F84 9.9626 Tf 1.02 0 0 1 252.283 385.332 Tm [(the)-321(r)18(outine)-321(will)-321(assume)-321(that)-321(the)-321(entries)-321(in)]TJ/F78 9.9626 Tf 1 0 0 1 124.857 373.377 Tm [(i)-49(x)]TJ/F192 10.3811 Tf 8.587 0 Td [(\050)]TJ/F84 9.9626 Tf 4.274 0 Td [(:)]TJ/F192 10.3811 Tf 2.74 0 Td [(\051)]TJ/F84 9.9626 Tf 6.64 0 Td [(have)-250(alr)18(eady)-250(been)-250(initialized)-250(by)-250(the)-250(user;)]TJ 0 g 0 G - -34.749 -19.926 Td [(6.)]TJ + -34.749 -19.926 Td [(7.)]TJ 0 g 0 G - 0.98 0 0 1 124.493 455.07 Tm [(Thr)18(ee)-256(sorting)-256(algorithms)-256(have)-256(a)-256(similar)]TJ/F78 9.9626 Tf 1 0 0 1 296.993 455.07 Tm [(O)]TJ/F192 10.3811 Tf 8 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F84 9.9626 Tf 7.324 0 Td [(log)]TJ/F78 9.9626 Tf 15.662 0 Td [(n)]TJ/F192 10.3811 Tf 5.789 0 Td [(\051)]TJ/F84 9.9626 Tf 0.98 0 0 1 344.691 455.07 Tm [(expected)-256(r)8(unning)-256(time,)]TJ 1.017 0 0 1 124.384 443.115 Tm [(wher)18(eas)-247(insertion)-246(sort)-247(has)-246(an)-247(expected)-246(r)8(unning)-247(time)]TJ/F78 9.9626 Tf 1 0 0 1 360.734 443.115 Tm [(O)]TJ/F192 10.3811 Tf 8 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F84 7.5716 Tf 5.664 3.617 Td [(2)]TJ/F192 10.3811 Tf 4.408 -3.617 Td [(\051)]TJ/F84 9.9626 Tf 1.017 0 0 1 387.23 443.115 Tm [(;)-247(of)-246(the)-247(other)]TJ 0.999 0 0 1 124.802 431.16 Tm [(thr)18(ee,)-250(in)-250(the)-249(average)-250(case)-250(quicksort)-250(will)-249(be)-250(the)-250(fastest)-250(and)-249(mer)18(ge-sort)-250(the)]TJ 1 0 0 1 124.802 419.205 Tm [(slowest.)-310(However)-250(note)-250(that:)]TJ + 0.98 0 0 1 124.493 353.451 Tm [(Thr)18(ee)-256(sorting)-256(algorithms)-256(have)-256(a)-256(similar)]TJ/F78 9.9626 Tf 1 0 0 1 296.993 353.451 Tm [(O)]TJ/F192 10.3811 Tf 8 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F84 9.9626 Tf 7.324 0 Td [(log)]TJ/F78 9.9626 Tf 15.662 0 Td [(n)]TJ/F192 10.3811 Tf 5.789 0 Td [(\051)]TJ/F84 9.9626 Tf 0.98 0 0 1 344.691 353.451 Tm [(expected)-256(r)8(unning)-256(time,)]TJ 1.017 0 0 1 124.384 341.496 Tm [(wher)18(eas)-247(insertion)-246(sort)-247(has)-246(an)-247(expected)-246(r)8(unning)-247(time)]TJ/F78 9.9626 Tf 1 0 0 1 360.734 341.496 Tm [(O)]TJ/F192 10.3811 Tf 8 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F84 7.5716 Tf 5.664 3.617 Td [(2)]TJ/F192 10.3811 Tf 4.408 -3.617 Td [(\051)]TJ/F84 9.9626 Tf 1.017 0 0 1 387.23 341.496 Tm [(;)-247(of)-246(the)-247(other)]TJ 0.999 0 0 1 124.802 329.541 Tm [(thr)18(ee,)-250(in)-250(the)-249(average)-250(case)-250(quicksort)-250(will)-249(be)-250(the)-250(fastest)-250(and)-249(mer)18(ge-sort)-250(the)]TJ 1 0 0 1 124.802 317.586 Tm [(slowest.)-310(However)-250(note)-250(that:)]TJ 0 g 0 G 5.32 -19.925 Td [(\050a\051)]TJ 0 g 0 G - 1.02 0 0 1 146.411 399.28 Tm [(The)-274(the)-273(best)-274(case)-274(r)8(unning)-274(ti)1(me)-274(for)-274(insertion)-274(so)1(rt)-274(is)]TJ/F243 9.9626 Tf 1 0 0 1 376.039 399.28 Tm [(W)]TJ/F192 10.3811 Tf 8.528 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F192 10.3811 Tf 5.789 0 Td [(\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 401.56 399.28 Tm [(while)-274(the)]TJ 1.02 0 0 1 146.72 387.324 Tm [(average)-359(and)-360(worst)-359(case)-359(ar)17(e)]TJ/F78 9.9626 Tf 1 0 0 1 275.57 387.324 Tm [(O)]TJ/F192 10.3811 Tf 7.999 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F84 7.5716 Tf 5.664 3.617 Td [(2)]TJ/F192 10.3811 Tf 4.409 -3.617 Td [(\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 302.065 387.324 Tm [(;)-416(however)-360(for)-359(very)-359(short)-360(input)]TJ 1 0 0 1 146.72 375.369 Tm [(sequences)-250(this)-250(is)-250(likely)-250(to)-250(be)-250(the)-250(fastest)-250(method;)]TJ + 1.02 0 0 1 146.411 297.661 Tm [(The)-274(the)-273(best)-274(case)-274(r)8(unning)-274(ti)1(me)-274(for)-274(insertion)-274(so)1(rt)-274(is)]TJ/F243 9.9626 Tf 1 0 0 1 376.039 297.661 Tm [(W)]TJ/F192 10.3811 Tf 8.528 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F192 10.3811 Tf 5.789 0 Td [(\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 401.56 297.661 Tm [(while)-274(the)]TJ 1.02 0 0 1 146.72 285.705 Tm [(average)-359(and)-360(worst)-359(case)-359(ar)17(e)]TJ/F78 9.9626 Tf 1 0 0 1 275.57 285.705 Tm [(O)]TJ/F192 10.3811 Tf 7.999 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F84 7.5716 Tf 5.664 3.617 Td [(2)]TJ/F192 10.3811 Tf 4.409 -3.617 Td [(\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 302.065 285.705 Tm [(;)-416(however)-360(for)-359(very)-359(short)-360(input)]TJ 1 0 0 1 146.72 273.75 Tm [(sequences)-250(this)-250(is)-250(likely)-250(to)-250(be)-250(the)-250(fastest)-250(method;)]TJ 0 g 0 G -17.126 -15.94 Td [(\050b\051)]TJ 0 g 0 G - 0.98 0 0 1 146.411 359.429 Tm [(The)-241(worst)-240(case)-241(r)8(unning)-241(time)-240(for)-241(quicksort)-241(is)]TJ/F78 9.9626 Tf 1 0 0 1 338.306 359.429 Tm [(O)]TJ/F192 10.3811 Tf 8 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F84 7.5716 Tf 5.664 3.616 Td [(2)]TJ/F192 10.3811 Tf 4.408 -3.616 Td [(\051)]TJ/F84 9.9626 Tf 0.98 0 0 1 364.802 359.429 Tm [(;)-245(the)-241(algorithm)-241(im-)]TJ 1.007 0 0 1 146.421 347.474 Tm [(plemented)-246(her)18(e)-246(follows)-246(the)-246(well-known)-246(median-of-thr)18(ee)-246(heuristics,)]TJ 1 0 0 1 146.72 335.519 Tm [(but)-250(the)-250(worst)-250(case)-250(may)-250(still)-250(apply;)]TJ + 0.98 0 0 1 146.411 257.81 Tm [(The)-241(worst)-240(case)-241(r)8(unning)-241(time)-240(for)-241(quicksort)-241(is)]TJ/F78 9.9626 Tf 1 0 0 1 338.306 257.81 Tm [(O)]TJ/F192 10.3811 Tf 8 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F84 7.5716 Tf 5.664 3.616 Td [(2)]TJ/F192 10.3811 Tf 4.408 -3.616 Td [(\051)]TJ/F84 9.9626 Tf 0.98 0 0 1 364.802 257.81 Tm [(;)-245(the)-241(algorithm)-241(im-)]TJ 1.007 0 0 1 146.421 245.855 Tm [(plemented)-246(her)18(e)-246(follows)-246(the)-246(well-known)-246(median-of-thr)18(ee)-246(heuristics,)]TJ 1 0 0 1 146.72 233.9 Tm [(but)-250(the)-250(worst)-250(case)-250(may)-250(still)-250(apply;)]TJ 0 g 0 G - -16.04 -15.941 Td [(\050c\051)]TJ + -16.04 -15.94 Td [(\050c\051)]TJ 0 g 0 G - 0.98 0 0 1 146.411 319.578 Tm [(The)-194(worst)-194(case)-194(r)9(unning)-194(time)-194(for)-194(mer)18(ge-sort)-193(and)-194(heap-sort)-194(is)]TJ/F78 9.9626 Tf 1 0 0 1 402.204 319.578 Tm [(O)]TJ/F192 10.3811 Tf 8 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F84 9.9626 Tf 7.324 0 Td [(log)]TJ/F78 9.9626 Tf 15.663 0 Td [(n)]TJ/F192 10.3811 Tf 5.788 0 Td [(\051)]TJ/F84 9.9626 Tf -296.533 -11.955 Td [(as)-250(the)-250(average)-250(case;)]TJ + 0.98 0 0 1 146.411 217.96 Tm [(The)-194(worst)-194(case)-194(r)9(unning)-194(time)-194(for)-194(mer)18(ge-sort)-193(and)-194(heap-sort)-194(is)]TJ/F78 9.9626 Tf 1 0 0 1 402.204 217.96 Tm [(O)]TJ/F192 10.3811 Tf 8 0 Td [(\050)]TJ/F78 9.9626 Tf 4.274 0 Td [(n)]TJ/F84 9.9626 Tf 7.324 0 Td [(log)]TJ/F78 9.9626 Tf 15.663 0 Td [(n)]TJ/F192 10.3811 Tf 5.788 0 Td [(\051)]TJ/F84 9.9626 Tf -296.533 -11.956 Td [(as)-250(the)-250(average)-250(case;)]TJ 0 g 0 G -17.704 -15.94 Td [(\050d\051)]TJ 0 g 0 G - 1.005 0 0 1 146.411 291.683 Tm [(The)-249(mer)18(ge-sort)-249(algorithm)-249(is)-249(implemented)-249(to)-250(take)-249(advantage)-249(of)-249(sub-)]TJ 1.02 0 0 1 146.72 279.728 Tm [(sequences)-260(that)-261(may)-261(be)-260(alr)18(eady)-261(in)-260(the)-261(desir)18(ed)-261(or)18(dering)-261(prior)-260(to)-261(the)]TJ 1.02 0 0 1 146.72 267.773 Tm [(subr)18(outine)-321(call;)-358(this)-321(situation)-320(is)-321(r)18(elatively)-321(common)-320(when)-321(dealing)]TJ 0.98 0 0 1 146.301 255.818 Tm [(with)-239(gr)18(oups)-240(of)-239(indices)-239(of)-240(sparse)-239(matrix)-240(entries,)-242(thus)-240(mer)19(ge-sort)-240(is)-239(the)]TJ 1.02 0 0 1 146.421 243.862 Tm [(pr)18(eferr)17(ed)-268(choice)-268(when)-268(a)-268(sorting)-268(is)-268(needed)-268(by)-269(other)-268(r)18(outines)-268(in)-268(the)]TJ 1 0 0 1 146.72 231.907 Tm [(library)111(.)]TJ + 1.005 0 0 1 146.411 190.064 Tm [(The)-249(mer)18(ge-sort)-249(algorithm)-249(is)-249(implemented)-249(to)-250(take)-249(advantage)-249(of)-249(sub-)]TJ 1.02 0 0 1 146.72 178.109 Tm [(sequences)-260(that)-261(may)-261(be)-260(alr)18(eady)-261(in)-260(the)-261(desir)18(ed)-261(or)18(dering)-261(prior)-260(to)-261(the)]TJ 1.02 0 0 1 146.72 166.154 Tm [(subr)18(outine)-321(call;)-358(this)-321(situation)-320(is)-321(r)18(elatively)-321(common)-320(when)-321(dealing)]TJ 0.98 0 0 1 146.301 154.199 Tm [(with)-239(gr)18(oups)-240(of)-239(indices)-239(of)-240(sparse)-239(matrix)-240(entries,)-242(thus)-240(mer)19(ge-sort)-240(is)-239(the)]TJ 1.02 0 0 1 146.421 142.243 Tm [(pr)18(eferr)17(ed)-268(choice)-268(when)-268(a)-268(sorting)-268(is)-268(needed)-268(by)-269(other)-268(r)18(outines)-268(in)-268(the)]TJ 1 0 0 1 146.72 130.288 Tm [(library)111(.)]TJ 0 g 0 G - 117.559 -141.469 Td [(111)]TJ + 117.559 -39.85 Td [(111)]TJ 0 g 0 G ET endstream endobj -1760 0 obj +1761 0 obj << /Length 172 >> @@ -22119,7 +22182,7 @@ ET endstream endobj -1764 0 obj +1765 0 obj << /Length 6837 >> @@ -22211,7 +22274,7 @@ ET endstream endobj -1770 0 obj +1771 0 obj << /Length 4738 >> @@ -22267,7 +22330,7 @@ ET endstream endobj -1776 0 obj +1777 0 obj << /Length 4507 >> @@ -22320,7 +22383,7 @@ ET endstream endobj -1784 0 obj +1785 0 obj << /Length 2607 >> @@ -22378,7 +22441,7 @@ ET endstream endobj -1788 0 obj +1789 0 obj << /Length 3383 >> @@ -22440,7 +22503,7 @@ ET endstream endobj -1792 0 obj +1793 0 obj << /Length 1171 >> @@ -22477,7 +22540,7 @@ ET endstream endobj -1796 0 obj +1797 0 obj << /Length 1466 >> @@ -22514,7 +22577,7 @@ ET endstream endobj -1800 0 obj +1801 0 obj << /Length 1287 >> @@ -22551,7 +22614,7 @@ ET endstream endobj -1804 0 obj +1805 0 obj << /Length 6065 >> @@ -22611,7 +22674,7 @@ ET endstream endobj -1809 0 obj +1810 0 obj << /Length 5230 >> @@ -22734,7 +22797,7 @@ ET endstream endobj -1817 0 obj +1818 0 obj << /Length 6196 >> @@ -22794,7 +22857,7 @@ ET endstream endobj -1821 0 obj +1822 0 obj << /Length 5025 >> @@ -22922,19 +22985,19 @@ endobj /Type /ObjStm /N 100 /First 971 -/Length 9352 +/Length 9365 >> stream 1717 0 1718 59 1713 118 1722 213 1720 352 1724 497 413 555 1721 612 1726 735 1728 853 1729 912 1730 971 1731 1030 1725 1089 1736 1211 1732 1368 1733 1513 1734 1660 1738 1807 417 1865 -1735 1922 1741 2030 1743 2148 421 2207 1740 2265 1745 2373 1747 2491 1748 2549 1749 2607 1750 2665 -1751 2723 1752 2781 1753 2839 1754 2897 1755 2955 1756 3013 1757 3071 1744 3129 1759 3266 1761 3384 -425 3443 1758 3501 1763 3582 1765 3700 429 3758 1766 3815 1767 3873 1762 3931 1769 4067 1771 4185 -433 4244 1772 4302 1773 4360 1768 4417 1775 4553 1777 4671 437 4729 1778 4786 1779 4844 1780 4902 -1774 4960 1783 5096 1785 5214 441 5273 1782 5331 1787 5426 1789 5544 445 5602 1786 5659 1791 5781 -1793 5899 449 5958 1790 6016 1795 6111 1797 6229 453 6287 1794 6344 1799 6439 1801 6557 457 6616 -1798 6674 1803 6769 1805 6887 461 6945 1802 7002 1808 7153 1810 7271 1811 7330 1812 7389 1813 7448 -1807 7507 1816 7645 1818 7763 465 7821 1815 7878 1820 8029 1822 8147 1823 8206 1824 8265 1825 8323 +1735 1922 1741 2030 1743 2148 421 2207 1740 2265 1745 2387 1747 2505 1748 2563 1749 2621 1750 2679 +1751 2736 1752 2794 1753 2852 1754 2910 1755 2968 1756 3026 1757 3084 1758 3142 1744 3200 1760 3337 +1762 3455 425 3514 1759 3572 1764 3653 1766 3771 429 3829 1767 3886 1768 3944 1763 4002 1770 4138 +1772 4256 433 4315 1773 4373 1774 4431 1769 4488 1776 4624 1778 4742 437 4800 1779 4857 1780 4915 +1781 4973 1775 5031 1784 5167 1786 5285 441 5344 1783 5402 1788 5497 1790 5615 445 5673 1787 5730 +1792 5852 1794 5970 449 6029 1791 6087 1796 6182 1798 6300 453 6358 1795 6415 1800 6510 1802 6628 +457 6687 1799 6745 1804 6840 1806 6958 461 7016 1803 7073 1809 7224 1811 7342 1812 7401 1813 7460 +1814 7519 1808 7578 1817 7716 1819 7834 465 7892 1816 7949 1821 8100 1823 8218 1824 8277 1825 8336 % 1717 0 obj << /D [1714 0 R /XYZ 150.705 370.138 null] @@ -23071,7 +23134,7 @@ stream >> % 1740 0 obj << -/Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F78 686 0 R >> +/Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F78 686 0 R /F192 942 0 R >> /ProcSet [ /PDF /Text ] >> % 1745 0 obj @@ -23088,365 +23151,365 @@ stream >> % 1748 0 obj << -/D [1745 0 R /XYZ 99.895 701.929 null] +/D [1745 0 R /XYZ 99.895 644.145 null] >> % 1749 0 obj << -/D [1745 0 R /XYZ 99.895 668.729 null] +/D [1745 0 R /XYZ 99.895 610.946 null] >> % 1750 0 obj << -/D [1745 0 R /XYZ 99.895 624.894 null] +/D [1745 0 R /XYZ 99.895 567.11 null] >> % 1751 0 obj << -/D [1745 0 R /XYZ 99.895 555.872 null] +/D [1745 0 R /XYZ 99.895 498.089 null] >> % 1752 0 obj << -/D [1745 0 R /XYZ 99.895 500.082 null] +/D [1745 0 R /XYZ 99.895 455.529 null] >> % 1753 0 obj << -/D [1745 0 R /XYZ 99.895 468.201 null] +/D [1745 0 R /XYZ 99.895 398.463 null] >> % 1754 0 obj << -/D [1745 0 R /XYZ 99.895 413.068 null] +/D [1745 0 R /XYZ 99.895 366.582 null] >> % 1755 0 obj << -/D [1745 0 R /XYZ 99.895 370.567 null] +/D [1745 0 R /XYZ 99.895 311.449 null] >> % 1756 0 obj << -/D [1745 0 R /XYZ 99.895 330.717 null] +/D [1745 0 R /XYZ 99.895 268.948 null] >> % 1757 0 obj << -/D [1745 0 R /XYZ 99.895 302.821 null] +/D [1745 0 R /XYZ 99.895 229.098 null] +>> +% 1758 0 obj +<< +/D [1745 0 R /XYZ 99.895 201.202 null] >> % 1744 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F78 686 0 R /F192 942 0 R /F190 941 0 R /F243 1285 0 R >> /ProcSet [ /PDF /Text ] >> -% 1759 0 obj +% 1760 0 obj << /Type /Page -/Contents 1760 0 R -/Resources 1758 0 R +/Contents 1761 0 R +/Resources 1759 0 R /MediaBox [0 0 595.276 841.89] /Parent 1739 0 R >> -% 1761 0 obj +% 1762 0 obj << -/D [1759 0 R /XYZ 149.705 753.953 null] +/D [1760 0 R /XYZ 149.705 753.953 null] >> % 425 0 obj << -/D [1759 0 R /XYZ 150.705 716.092 null] +/D [1760 0 R /XYZ 150.705 716.092 null] >> -% 1758 0 obj +% 1759 0 obj << /Font << /F75 685 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 1763 0 obj +% 1764 0 obj << /Type /Page -/Contents 1764 0 R -/Resources 1762 0 R +/Contents 1765 0 R +/Resources 1763 0 R /MediaBox [0 0 595.276 841.89] /Parent 1739 0 R >> -% 1765 0 obj +% 1766 0 obj << -/D [1763 0 R /XYZ 98.895 753.953 null] +/D [1764 0 R /XYZ 98.895 753.953 null] >> % 429 0 obj << -/D [1763 0 R /XYZ 99.895 716.092 null] +/D [1764 0 R /XYZ 99.895 716.092 null] >> -% 1766 0 obj +% 1767 0 obj << -/D [1763 0 R /XYZ 99.895 170.282 null] +/D [1764 0 R /XYZ 99.895 170.282 null] >> -% 1767 0 obj +% 1768 0 obj << -/D [1763 0 R /XYZ 99.895 149.368 null] +/D [1764 0 R /XYZ 99.895 149.368 null] >> -% 1762 0 obj +% 1763 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F192 942 0 R /F78 686 0 R /F190 941 0 R >> /ProcSet [ /PDF /Text ] >> -% 1769 0 obj +% 1770 0 obj << /Type /Page -/Contents 1770 0 R -/Resources 1768 0 R +/Contents 1771 0 R +/Resources 1769 0 R /MediaBox [0 0 595.276 841.89] /Parent 1739 0 R >> -% 1771 0 obj +% 1772 0 obj << -/D [1769 0 R /XYZ 149.705 753.953 null] +/D [1770 0 R /XYZ 149.705 753.953 null] >> % 433 0 obj << -/D [1769 0 R /XYZ 150.705 716.092 null] +/D [1770 0 R /XYZ 150.705 716.092 null] >> -% 1772 0 obj +% 1773 0 obj << -/D [1769 0 R /XYZ 150.705 348.22 null] +/D [1770 0 R /XYZ 150.705 348.22 null] >> -% 1773 0 obj +% 1774 0 obj << -/D [1769 0 R /XYZ 150.705 313.8 null] +/D [1770 0 R /XYZ 150.705 313.8 null] >> -% 1768 0 obj +% 1769 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F190 941 0 R /F78 686 0 R /F192 942 0 R >> /ProcSet [ /PDF /Text ] >> -% 1775 0 obj +% 1776 0 obj << /Type /Page -/Contents 1776 0 R -/Resources 1774 0 R +/Contents 1777 0 R +/Resources 1775 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1781 0 R +/Parent 1782 0 R >> -% 1777 0 obj +% 1778 0 obj << -/D [1775 0 R /XYZ 98.895 753.953 null] +/D [1776 0 R /XYZ 98.895 753.953 null] >> % 437 0 obj << -/D [1775 0 R /XYZ 99.895 716.092 null] ->> -% 1778 0 obj -<< -/D [1775 0 R /XYZ 99.895 441.869 null] +/D [1776 0 R /XYZ 99.895 716.092 null] >> % 1779 0 obj << -/D [1775 0 R /XYZ 99.895 395.439 null] +/D [1776 0 R /XYZ 99.895 441.869 null] >> % 1780 0 obj << -/D [1775 0 R /XYZ 99.895 363.559 null] +/D [1776 0 R /XYZ 99.895 395.439 null] >> -% 1774 0 obj +% 1781 0 obj +<< +/D [1776 0 R /XYZ 99.895 363.559 null] +>> +% 1775 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F78 686 0 R /F192 942 0 R /F190 941 0 R >> /ProcSet [ /PDF /Text ] >> -% 1783 0 obj +% 1784 0 obj << /Type /Page -/Contents 1784 0 R -/Resources 1782 0 R +/Contents 1785 0 R +/Resources 1783 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1781 0 R +/Parent 1782 0 R >> -% 1785 0 obj +% 1786 0 obj << -/D [1783 0 R /XYZ 149.705 753.953 null] +/D [1784 0 R /XYZ 149.705 753.953 null] >> % 441 0 obj << -/D [1783 0 R /XYZ 150.705 716.092 null] +/D [1784 0 R /XYZ 150.705 716.092 null] >> -% 1782 0 obj +% 1783 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 1787 0 obj +% 1788 0 obj << /Type /Page -/Contents 1788 0 R -/Resources 1786 0 R +/Contents 1789 0 R +/Resources 1787 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1781 0 R +/Parent 1782 0 R >> -% 1789 0 obj +% 1790 0 obj << -/D [1787 0 R /XYZ 98.895 753.953 null] +/D [1788 0 R /XYZ 98.895 753.953 null] >> % 445 0 obj << -/D [1787 0 R /XYZ 99.895 716.092 null] +/D [1788 0 R /XYZ 99.895 716.092 null] >> -% 1786 0 obj +% 1787 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F78 686 0 R /F190 941 0 R >> /ProcSet [ /PDF /Text ] >> -% 1791 0 obj +% 1792 0 obj << /Type /Page -/Contents 1792 0 R -/Resources 1790 0 R +/Contents 1793 0 R +/Resources 1791 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1781 0 R +/Parent 1782 0 R >> -% 1793 0 obj +% 1794 0 obj << -/D [1791 0 R /XYZ 149.705 753.953 null] +/D [1792 0 R /XYZ 149.705 753.953 null] >> % 449 0 obj << -/D [1791 0 R /XYZ 150.705 716.092 null] +/D [1792 0 R /XYZ 150.705 716.092 null] >> -% 1790 0 obj +% 1791 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 1795 0 obj +% 1796 0 obj << /Type /Page -/Contents 1796 0 R -/Resources 1794 0 R +/Contents 1797 0 R +/Resources 1795 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1781 0 R +/Parent 1782 0 R >> -% 1797 0 obj +% 1798 0 obj << -/D [1795 0 R /XYZ 98.895 753.953 null] +/D [1796 0 R /XYZ 98.895 753.953 null] >> % 453 0 obj << -/D [1795 0 R /XYZ 99.895 716.092 null] +/D [1796 0 R /XYZ 99.895 716.092 null] >> -% 1794 0 obj +% 1795 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 1799 0 obj +% 1800 0 obj << /Type /Page -/Contents 1800 0 R -/Resources 1798 0 R +/Contents 1801 0 R +/Resources 1799 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1781 0 R +/Parent 1782 0 R >> -% 1801 0 obj +% 1802 0 obj << -/D [1799 0 R /XYZ 149.705 753.953 null] +/D [1800 0 R /XYZ 149.705 753.953 null] >> % 457 0 obj << -/D [1799 0 R /XYZ 150.705 716.092 null] +/D [1800 0 R /XYZ 150.705 716.092 null] >> -% 1798 0 obj +% 1799 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 1803 0 obj +% 1804 0 obj << /Type /Page -/Contents 1804 0 R -/Resources 1802 0 R +/Contents 1805 0 R +/Resources 1803 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1806 0 R +/Parent 1807 0 R >> -% 1805 0 obj +% 1806 0 obj << -/D [1803 0 R /XYZ 98.895 753.953 null] +/D [1804 0 R /XYZ 98.895 753.953 null] >> % 461 0 obj << -/D [1803 0 R /XYZ 99.895 716.092 null] +/D [1804 0 R /XYZ 99.895 716.092 null] >> -% 1802 0 obj +% 1803 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F148 1490 0 R /F192 942 0 R /F78 686 0 R /F190 941 0 R >> /ProcSet [ /PDF /Text ] >> -% 1808 0 obj +% 1809 0 obj << /Type /Page -/Contents 1809 0 R -/Resources 1807 0 R +/Contents 1810 0 R +/Resources 1808 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1806 0 R ->> -% 1810 0 obj -<< -/D [1808 0 R /XYZ 149.705 753.953 null] +/Parent 1807 0 R >> % 1811 0 obj << -/D [1808 0 R /XYZ 150.705 576.399 null] +/D [1809 0 R /XYZ 149.705 753.953 null] >> % 1812 0 obj << -/D [1808 0 R /XYZ 150.705 541.925 null] +/D [1809 0 R /XYZ 150.705 576.399 null] >> % 1813 0 obj << -/D [1808 0 R /XYZ 150.705 451.085 null] +/D [1809 0 R /XYZ 150.705 541.925 null] >> -% 1807 0 obj +% 1814 0 obj +<< +/D [1809 0 R /XYZ 150.705 451.085 null] +>> +% 1808 0 obj << -/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1814 0 R >> +/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1815 0 R >> /ProcSet [ /PDF /Text ] >> -% 1816 0 obj +% 1817 0 obj << /Type /Page -/Contents 1817 0 R -/Resources 1815 0 R +/Contents 1818 0 R +/Resources 1816 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1806 0 R +/Parent 1807 0 R >> -% 1818 0 obj +% 1819 0 obj << -/D [1816 0 R /XYZ 98.895 753.953 null] +/D [1817 0 R /XYZ 98.895 753.953 null] >> % 465 0 obj << -/D [1816 0 R /XYZ 99.895 716.092 null] +/D [1817 0 R /XYZ 99.895 716.092 null] >> -% 1815 0 obj +% 1816 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F190 941 0 R /F148 1490 0 R /F192 942 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 1820 0 obj +% 1821 0 obj << /Type /Page -/Contents 1821 0 R -/Resources 1819 0 R +/Contents 1822 0 R +/Resources 1820 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1806 0 R ->> -% 1822 0 obj -<< -/D [1820 0 R /XYZ 149.705 753.953 null] +/Parent 1807 0 R >> % 1823 0 obj << -/D [1820 0 R /XYZ 150.705 588.355 null] +/D [1821 0 R /XYZ 149.705 753.953 null] >> % 1824 0 obj << -/D [1820 0 R /XYZ 150.705 553.88 null] +/D [1821 0 R /XYZ 150.705 588.355 null] >> % 1825 0 obj << -/D [1820 0 R /XYZ 150.705 463.04 null] +/D [1821 0 R /XYZ 150.705 553.88 null] >> endstream endobj -1829 0 obj +1830 0 obj << /Length 6060 >> @@ -23506,7 +23569,7 @@ ET endstream endobj -1833 0 obj +1834 0 obj << /Length 5209 >> @@ -23629,7 +23692,7 @@ ET endstream endobj -1840 0 obj +1841 0 obj << /Length 6144 >> @@ -23689,7 +23752,7 @@ ET endstream endobj -1845 0 obj +1846 0 obj << /Length 5122 >> @@ -23812,7 +23875,7 @@ ET endstream endobj -1852 0 obj +1853 0 obj << /Length 6205 >> @@ -23872,7 +23935,7 @@ ET endstream endobj -1856 0 obj +1857 0 obj << /Length 5076 >> @@ -23993,7 +24056,7 @@ ET endstream endobj -1863 0 obj +1864 0 obj << /Length 6206 >> @@ -24053,7 +24116,7 @@ ET endstream endobj -1867 0 obj +1868 0 obj << /Length 5140 >> @@ -24176,7 +24239,7 @@ ET endstream endobj -1874 0 obj +1875 0 obj << /Length 6113 >> @@ -24236,7 +24299,7 @@ ET endstream endobj -1879 0 obj +1880 0 obj << /Length 6575 >> @@ -24372,7 +24435,7 @@ ET endstream endobj -1889 0 obj +1890 0 obj << /Length 5618 >> @@ -24429,7 +24492,7 @@ ET endstream endobj -1894 0 obj +1895 0 obj << /Length 5630 >> @@ -24485,7 +24548,7 @@ ET endstream endobj -1901 0 obj +1902 0 obj << /Length 6870 >> @@ -24509,7 +24572,7 @@ ET endstream endobj -1907 0 obj +1908 0 obj << /Length 10395 >> @@ -24960,7 +25023,7 @@ ET endstream endobj -1911 0 obj +1912 0 obj << /Length 3566 >> @@ -25071,7 +25134,7 @@ ET endstream endobj -1918 0 obj +1919 0 obj << /Length 1379 >> @@ -25114,7 +25177,7 @@ ET endstream endobj -1924 0 obj +1925 0 obj << /Length 1583 >> @@ -25171,7 +25234,7 @@ ET endstream endobj -1930 0 obj +1931 0 obj << /Length 2082 >> @@ -25242,7 +25305,7 @@ ET endstream endobj -1936 0 obj +1937 0 obj << /Length 535 >> @@ -25258,347 +25321,351 @@ ET endstream endobj -1826 0 obj +1827 0 obj << /Type /ObjStm /N 100 -/First 975 -/Length 9500 ->> -stream -1819 0 1828 138 1830 256 469 314 1827 371 1832 522 1834 640 1835 699 1836 758 1837 817 -1831 876 1839 1014 1841 1132 473 1190 1838 1247 1844 1398 1846 1516 1847 1575 1848 1634 1849 1693 -1843 1752 1851 1890 1853 2008 477 2066 1850 2123 1855 2274 1857 2392 1858 2451 1859 2510 1860 2568 -1854 2626 1862 2764 1864 2882 481 2940 1861 2997 1866 3148 1868 3266 1869 3325 1870 3384 1871 3443 -1865 3502 1873 3640 1875 3758 485 3816 1872 3873 1878 4024 1880 4142 1881 4201 1882 4260 1884 4318 -1885 4377 1886 4436 1877 4495 1888 4676 1890 4794 489 4852 1891 4909 1887 4967 1893 5118 1895 5236 -493 5295 1896 5353 1892 5412 1900 5563 1897 5711 1898 5859 1902 6007 497 6065 1899 6122 1906 6217 -1908 6335 1903 6394 1904 6453 1905 6512 1910 6609 1912 6727 501 6785 1913 6842 1914 6900 1909 6958 -1917 7039 1919 7157 505 7216 1920 7274 1921 7332 1916 7391 1923 7472 1925 7590 509 7648 1926 7705 -1927 7763 1922 7821 1929 7902 1931 8020 513 8079 1932 8137 1933 8195 1928 8254 1935 8349 1937 8467 -% 1819 0 obj +/First 973 +/Length 9498 +>> +stream +1826 0 1820 58 1829 196 1831 314 469 372 1828 429 1833 580 1835 698 1836 757 1837 816 +1838 875 1832 934 1840 1072 1842 1190 473 1248 1839 1305 1845 1456 1847 1574 1848 1633 1849 1692 +1850 1751 1844 1810 1852 1948 1854 2066 477 2124 1851 2181 1856 2332 1858 2450 1859 2509 1860 2568 +1861 2626 1855 2684 1863 2822 1865 2940 481 2998 1862 3055 1867 3206 1869 3324 1870 3383 1871 3442 +1872 3501 1866 3560 1874 3698 1876 3816 485 3874 1873 3931 1879 4082 1881 4200 1882 4259 1883 4318 +1885 4376 1886 4435 1887 4494 1878 4553 1889 4734 1891 4852 489 4910 1892 4967 1888 5025 1894 5176 +1896 5294 493 5353 1897 5411 1893 5470 1901 5621 1898 5769 1899 5917 1903 6065 497 6123 1900 6180 +1907 6275 1909 6393 1904 6452 1905 6511 1906 6570 1911 6667 1913 6785 501 6843 1914 6900 1915 6958 +1910 7016 1918 7097 1920 7215 505 7274 1921 7332 1922 7390 1917 7449 1924 7530 1926 7648 509 7706 +1927 7763 1928 7821 1923 7879 1930 7960 1932 8078 513 8137 1933 8195 1934 8253 1929 8312 1936 8407 +% 1826 0 obj +<< +/D [1821 0 R /XYZ 150.705 463.04 null] +>> +% 1820 0 obj << -/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1814 0 R >> +/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1815 0 R >> /ProcSet [ /PDF /Text ] >> -% 1828 0 obj +% 1829 0 obj << /Type /Page -/Contents 1829 0 R -/Resources 1827 0 R +/Contents 1830 0 R +/Resources 1828 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1806 0 R +/Parent 1807 0 R >> -% 1830 0 obj +% 1831 0 obj << -/D [1828 0 R /XYZ 98.895 753.953 null] +/D [1829 0 R /XYZ 98.895 753.953 null] >> % 469 0 obj << -/D [1828 0 R /XYZ 99.895 716.092 null] +/D [1829 0 R /XYZ 99.895 716.092 null] >> -% 1827 0 obj +% 1828 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F190 941 0 R /F148 1490 0 R /F192 942 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 1832 0 obj +% 1833 0 obj << /Type /Page -/Contents 1833 0 R -/Resources 1831 0 R +/Contents 1834 0 R +/Resources 1832 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1806 0 R ->> -% 1834 0 obj -<< -/D [1832 0 R /XYZ 149.705 753.953 null] +/Parent 1807 0 R >> % 1835 0 obj << -/D [1832 0 R /XYZ 150.705 576.399 null] +/D [1833 0 R /XYZ 149.705 753.953 null] >> % 1836 0 obj << -/D [1832 0 R /XYZ 150.705 541.925 null] +/D [1833 0 R /XYZ 150.705 576.399 null] >> % 1837 0 obj << -/D [1832 0 R /XYZ 150.705 451.085 null] +/D [1833 0 R /XYZ 150.705 541.925 null] >> -% 1831 0 obj +% 1838 0 obj +<< +/D [1833 0 R /XYZ 150.705 451.085 null] +>> +% 1832 0 obj << -/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1814 0 R >> +/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1815 0 R >> /ProcSet [ /PDF /Text ] >> -% 1839 0 obj +% 1840 0 obj << /Type /Page -/Contents 1840 0 R -/Resources 1838 0 R +/Contents 1841 0 R +/Resources 1839 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1842 0 R +/Parent 1843 0 R >> -% 1841 0 obj +% 1842 0 obj << -/D [1839 0 R /XYZ 98.895 753.953 null] +/D [1840 0 R /XYZ 98.895 753.953 null] >> % 473 0 obj << -/D [1839 0 R /XYZ 99.895 716.092 null] +/D [1840 0 R /XYZ 99.895 716.092 null] >> -% 1838 0 obj +% 1839 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F190 941 0 R /F148 1490 0 R /F192 942 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 1844 0 obj +% 1845 0 obj << /Type /Page -/Contents 1845 0 R -/Resources 1843 0 R +/Contents 1846 0 R +/Resources 1844 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1842 0 R ->> -% 1846 0 obj -<< -/D [1844 0 R /XYZ 149.705 753.953 null] +/Parent 1843 0 R >> % 1847 0 obj << -/D [1844 0 R /XYZ 150.705 576.399 null] +/D [1845 0 R /XYZ 149.705 753.953 null] >> % 1848 0 obj << -/D [1844 0 R /XYZ 150.705 541.925 null] +/D [1845 0 R /XYZ 150.705 576.399 null] >> % 1849 0 obj << -/D [1844 0 R /XYZ 150.705 451.085 null] +/D [1845 0 R /XYZ 150.705 541.925 null] >> -% 1843 0 obj +% 1850 0 obj +<< +/D [1845 0 R /XYZ 150.705 451.085 null] +>> +% 1844 0 obj << -/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1814 0 R >> +/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1815 0 R >> /ProcSet [ /PDF /Text ] >> -% 1851 0 obj +% 1852 0 obj << /Type /Page -/Contents 1852 0 R -/Resources 1850 0 R +/Contents 1853 0 R +/Resources 1851 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1842 0 R +/Parent 1843 0 R >> -% 1853 0 obj +% 1854 0 obj << -/D [1851 0 R /XYZ 98.895 753.953 null] +/D [1852 0 R /XYZ 98.895 753.953 null] >> % 477 0 obj << -/D [1851 0 R /XYZ 99.895 716.092 null] +/D [1852 0 R /XYZ 99.895 716.092 null] >> -% 1850 0 obj +% 1851 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F190 941 0 R /F148 1490 0 R /F192 942 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 1855 0 obj +% 1856 0 obj << /Type /Page -/Contents 1856 0 R -/Resources 1854 0 R +/Contents 1857 0 R +/Resources 1855 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1842 0 R ->> -% 1857 0 obj -<< -/D [1855 0 R /XYZ 149.705 753.953 null] +/Parent 1843 0 R >> % 1858 0 obj << -/D [1855 0 R /XYZ 150.705 588.355 null] +/D [1856 0 R /XYZ 149.705 753.953 null] >> % 1859 0 obj << -/D [1855 0 R /XYZ 150.705 553.88 null] +/D [1856 0 R /XYZ 150.705 588.355 null] >> % 1860 0 obj << -/D [1855 0 R /XYZ 150.705 463.04 null] +/D [1856 0 R /XYZ 150.705 553.88 null] >> -% 1854 0 obj +% 1861 0 obj +<< +/D [1856 0 R /XYZ 150.705 463.04 null] +>> +% 1855 0 obj << -/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1814 0 R >> +/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1815 0 R >> /ProcSet [ /PDF /Text ] >> -% 1862 0 obj +% 1863 0 obj << /Type /Page -/Contents 1863 0 R -/Resources 1861 0 R +/Contents 1864 0 R +/Resources 1862 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1842 0 R +/Parent 1843 0 R >> -% 1864 0 obj +% 1865 0 obj << -/D [1862 0 R /XYZ 98.895 753.953 null] +/D [1863 0 R /XYZ 98.895 753.953 null] >> % 481 0 obj << -/D [1862 0 R /XYZ 99.895 716.092 null] +/D [1863 0 R /XYZ 99.895 716.092 null] >> -% 1861 0 obj +% 1862 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F190 941 0 R /F148 1490 0 R /F192 942 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 1866 0 obj +% 1867 0 obj << /Type /Page -/Contents 1867 0 R -/Resources 1865 0 R +/Contents 1868 0 R +/Resources 1866 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1842 0 R ->> -% 1868 0 obj -<< -/D [1866 0 R /XYZ 149.705 753.953 null] +/Parent 1843 0 R >> % 1869 0 obj << -/D [1866 0 R /XYZ 150.705 576.399 null] +/D [1867 0 R /XYZ 149.705 753.953 null] >> % 1870 0 obj << -/D [1866 0 R /XYZ 150.705 541.925 null] +/D [1867 0 R /XYZ 150.705 576.399 null] >> % 1871 0 obj << -/D [1866 0 R /XYZ 150.705 451.085 null] +/D [1867 0 R /XYZ 150.705 541.925 null] >> -% 1865 0 obj +% 1872 0 obj +<< +/D [1867 0 R /XYZ 150.705 451.085 null] +>> +% 1866 0 obj << -/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1814 0 R >> +/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F233 1044 0 R /F78 686 0 R /F279 1815 0 R >> /ProcSet [ /PDF /Text ] >> -% 1873 0 obj +% 1874 0 obj << /Type /Page -/Contents 1874 0 R -/Resources 1872 0 R +/Contents 1875 0 R +/Resources 1873 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1876 0 R +/Parent 1877 0 R >> -% 1875 0 obj +% 1876 0 obj << -/D [1873 0 R /XYZ 98.895 753.953 null] +/D [1874 0 R /XYZ 98.895 753.953 null] >> % 485 0 obj << -/D [1873 0 R /XYZ 99.895 716.092 null] +/D [1874 0 R /XYZ 99.895 716.092 null] >> -% 1872 0 obj +% 1873 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F190 941 0 R /F148 1490 0 R /F192 942 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 1878 0 obj +% 1879 0 obj << /Type /Page -/Contents 1879 0 R -/Resources 1877 0 R +/Contents 1880 0 R +/Resources 1878 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1876 0 R ->> -% 1880 0 obj -<< -/D [1878 0 R /XYZ 149.705 753.953 null] +/Parent 1877 0 R >> % 1881 0 obj << -/D [1878 0 R /XYZ 150.705 588.355 null] +/D [1879 0 R /XYZ 149.705 753.953 null] >> % 1882 0 obj << -/D [1878 0 R /XYZ 150.705 553.88 null] +/D [1879 0 R /XYZ 150.705 588.355 null] >> -% 1884 0 obj +% 1883 0 obj << -/D [1878 0 R /XYZ 150.705 465.726 null] +/D [1879 0 R /XYZ 150.705 553.88 null] >> % 1885 0 obj << -/D [1878 0 R /XYZ 150.705 433.845 null] +/D [1879 0 R /XYZ 150.705 465.726 null] >> % 1886 0 obj << -/D [1878 0 R /XYZ 150.705 343.006 null] +/D [1879 0 R /XYZ 150.705 433.845 null] >> -% 1877 0 obj +% 1887 0 obj +<< +/D [1879 0 R /XYZ 150.705 343.006 null] +>> +% 1878 0 obj << -/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F78 686 0 R /F192 942 0 R /F17 1883 0 R /F243 1285 0 R /F233 1044 0 R /F279 1814 0 R >> +/Font << /F84 687 0 R /F75 685 0 R /F145 940 0 R /F78 686 0 R /F192 942 0 R /F17 1884 0 R /F243 1285 0 R /F233 1044 0 R /F279 1815 0 R >> /ProcSet [ /PDF /Text ] >> -% 1888 0 obj +% 1889 0 obj << /Type /Page -/Contents 1889 0 R -/Resources 1887 0 R +/Contents 1890 0 R +/Resources 1888 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1876 0 R +/Parent 1877 0 R >> -% 1890 0 obj +% 1891 0 obj << -/D [1888 0 R /XYZ 98.895 753.953 null] +/D [1889 0 R /XYZ 98.895 753.953 null] >> % 489 0 obj << -/D [1888 0 R /XYZ 99.895 716.092 null] +/D [1889 0 R /XYZ 99.895 716.092 null] >> -% 1891 0 obj +% 1892 0 obj << -/D [1888 0 R /XYZ 99.895 222.691 null] +/D [1889 0 R /XYZ 99.895 222.691 null] >> -% 1887 0 obj +% 1888 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F78 686 0 R /F148 1490 0 R /F192 942 0 R /F190 941 0 R >> /ProcSet [ /PDF /Text ] >> -% 1893 0 obj +% 1894 0 obj << /Type /Page -/Contents 1894 0 R -/Resources 1892 0 R +/Contents 1895 0 R +/Resources 1893 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1876 0 R +/Parent 1877 0 R >> -% 1895 0 obj +% 1896 0 obj << -/D [1893 0 R /XYZ 149.705 753.953 null] +/D [1894 0 R /XYZ 149.705 753.953 null] >> % 493 0 obj << -/D [1893 0 R /XYZ 150.705 716.092 null] +/D [1894 0 R /XYZ 150.705 716.092 null] >> -% 1896 0 obj +% 1897 0 obj << -/D [1893 0 R /XYZ 150.705 222.691 null] +/D [1894 0 R /XYZ 150.705 222.691 null] >> -% 1892 0 obj +% 1893 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F148 1490 0 R /F192 942 0 R /F78 686 0 R /F190 941 0 R >> /ProcSet [ /PDF /Text ] >> -% 1900 0 obj +% 1901 0 obj << /Type /Page -/Contents 1901 0 R -/Resources 1899 0 R +/Contents 1902 0 R +/Resources 1900 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1876 0 R -/Annots [ 1897 0 R 1898 0 R ] +/Parent 1877 0 R +/Annots [ 1898 0 R 1899 0 R ] >> -% 1897 0 obj +% 1898 0 obj << /Type /Annot /Subtype /Link @@ -25606,7 +25673,7 @@ stream /Rect [145.364 511.904 152.427 523.964] /A << /S /GoTo /D (listing.5) >> >> -% 1898 0 obj +% 1899 0 obj << /Type /Annot /Subtype /Link @@ -25614,176 +25681,172 @@ stream /Rect [143.975 356.487 150.849 368.547] /A << /S /GoTo /D (listing.6) >> >> -% 1902 0 obj +% 1903 0 obj << -/D [1900 0 R /XYZ 98.895 753.953 null] +/D [1901 0 R /XYZ 98.895 753.953 null] >> % 497 0 obj << -/D [1900 0 R /XYZ 99.895 716.092 null] +/D [1901 0 R /XYZ 99.895 716.092 null] >> -% 1899 0 obj +% 1900 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 1906 0 obj +% 1907 0 obj << /Type /Page -/Contents 1907 0 R -/Resources 1905 0 R +/Contents 1908 0 R +/Resources 1906 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1876 0 R ->> -% 1908 0 obj -<< -/D [1906 0 R /XYZ 149.705 753.953 null] +/Parent 1877 0 R >> -% 1903 0 obj +% 1909 0 obj << -/D [1906 0 R /XYZ 150.705 411.235 null] +/D [1907 0 R /XYZ 149.705 753.953 null] >> % 1904 0 obj << -/D [1906 0 R /XYZ 150.705 182.902 null] +/D [1907 0 R /XYZ 150.705 411.235 null] >> % 1905 0 obj << -/Font << /F145 940 0 R /F279 1814 0 R /F84 687 0 R >> +/D [1907 0 R /XYZ 150.705 182.902 null] +>> +% 1906 0 obj +<< +/Font << /F145 940 0 R /F279 1815 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 1910 0 obj +% 1911 0 obj << /Type /Page -/Contents 1911 0 R -/Resources 1909 0 R +/Contents 1912 0 R +/Resources 1910 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1915 0 R +/Parent 1916 0 R >> -% 1912 0 obj +% 1913 0 obj << -/D [1910 0 R /XYZ 98.895 753.953 null] +/D [1911 0 R /XYZ 98.895 753.953 null] >> % 501 0 obj << -/D [1910 0 R /XYZ 99.895 716.092 null] +/D [1911 0 R /XYZ 99.895 716.092 null] >> -% 1913 0 obj +% 1914 0 obj << -/D [1910 0 R /XYZ 99.895 690.058 null] +/D [1911 0 R /XYZ 99.895 690.058 null] >> -% 1914 0 obj +% 1915 0 obj << -/D [1910 0 R /XYZ 99.895 693.143 null] +/D [1911 0 R /XYZ 99.895 693.143 null] >> -% 1909 0 obj +% 1910 0 obj << /Font << /F75 685 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 1917 0 obj +% 1918 0 obj << /Type /Page -/Contents 1918 0 R -/Resources 1916 0 R +/Contents 1919 0 R +/Resources 1917 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1915 0 R +/Parent 1916 0 R >> -% 1919 0 obj +% 1920 0 obj << -/D [1917 0 R /XYZ 149.705 753.953 null] +/D [1918 0 R /XYZ 149.705 753.953 null] >> % 505 0 obj << -/D [1917 0 R /XYZ 150.705 716.092 null] +/D [1918 0 R /XYZ 150.705 716.092 null] >> -% 1920 0 obj +% 1921 0 obj << -/D [1917 0 R /XYZ 150.705 678.98 null] +/D [1918 0 R /XYZ 150.705 678.98 null] >> -% 1921 0 obj +% 1922 0 obj << -/D [1917 0 R /XYZ 150.705 679.195 null] +/D [1918 0 R /XYZ 150.705 679.195 null] >> -% 1916 0 obj +% 1917 0 obj << /Font << /F75 685 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 1923 0 obj +% 1924 0 obj << /Type /Page -/Contents 1924 0 R -/Resources 1922 0 R +/Contents 1925 0 R +/Resources 1923 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1915 0 R +/Parent 1916 0 R >> -% 1925 0 obj +% 1926 0 obj << -/D [1923 0 R /XYZ 98.895 753.953 null] +/D [1924 0 R /XYZ 98.895 753.953 null] >> % 509 0 obj << -/D [1923 0 R /XYZ 99.895 716.092 null] +/D [1924 0 R /XYZ 99.895 716.092 null] >> -% 1926 0 obj +% 1927 0 obj << -/D [1923 0 R /XYZ 99.895 689.963 null] +/D [1924 0 R /XYZ 99.895 689.963 null] >> -% 1927 0 obj +% 1928 0 obj << -/D [1923 0 R /XYZ 99.895 693.143 null] +/D [1924 0 R /XYZ 99.895 693.143 null] >> -% 1922 0 obj +% 1923 0 obj << /Font << /F75 685 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 1929 0 obj +% 1930 0 obj << /Type /Page -/Contents 1930 0 R -/Resources 1928 0 R +/Contents 1931 0 R +/Resources 1929 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1915 0 R +/Parent 1916 0 R >> -% 1931 0 obj +% 1932 0 obj << -/D [1929 0 R /XYZ 149.705 753.953 null] +/D [1930 0 R /XYZ 149.705 753.953 null] >> % 513 0 obj << -/D [1929 0 R /XYZ 150.705 716.092 null] +/D [1930 0 R /XYZ 150.705 716.092 null] >> -% 1932 0 obj +% 1933 0 obj << -/D [1929 0 R /XYZ 150.705 678.98 null] +/D [1930 0 R /XYZ 150.705 678.98 null] >> -% 1933 0 obj +% 1934 0 obj << -/D [1929 0 R /XYZ 150.705 679.195 null] +/D [1930 0 R /XYZ 150.705 679.195 null] >> -% 1928 0 obj +% 1929 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 1935 0 obj +% 1936 0 obj << /Type /Page -/Contents 1936 0 R -/Resources 1934 0 R +/Contents 1937 0 R +/Resources 1935 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1915 0 R ->> -% 1937 0 obj -<< -/D [1935 0 R /XYZ 98.895 753.953 null] +/Parent 1916 0 R >> endstream endobj -1942 0 obj +1943 0 obj << /Length 4752 >> @@ -25867,7 +25930,7 @@ ET endstream endobj -1949 0 obj +1950 0 obj << /Length 5153 >> @@ -25955,7 +26018,7 @@ ET endstream endobj -1957 0 obj +1958 0 obj << /Length 3684 >> @@ -26045,7 +26108,7 @@ ET endstream endobj -1964 0 obj +1965 0 obj << /Length 4361 >> @@ -26142,7 +26205,7 @@ ET endstream endobj -1971 0 obj +1972 0 obj << /Length 7544 >> @@ -26329,7 +26392,7 @@ ET endstream endobj -1978 0 obj +1979 0 obj << /Length 7395 >> @@ -26506,7 +26569,7 @@ ET endstream endobj -1984 0 obj +1985 0 obj << /Length 656 >> @@ -26544,7 +26607,7 @@ ET endstream endobj -1988 0 obj +1989 0 obj << /Length 1399 >> @@ -26572,7 +26635,7 @@ ET endstream endobj -1996 0 obj +1997 0 obj << /Length 5053 >> @@ -26664,7 +26727,7 @@ ET endstream endobj -2007 0 obj +2008 0 obj << /Length 4359 >> @@ -26763,7 +26826,7 @@ ET endstream endobj -2011 0 obj +2012 0 obj << /Length 13651 >> @@ -27304,7 +27367,7 @@ ET endstream endobj -2020 0 obj +2021 0 obj << /Length 7660 >> @@ -27522,7 +27585,7 @@ ET endstream endobj -2024 0 obj +2025 0 obj << /Length 1133 >> @@ -27541,7 +27604,7 @@ ET endstream endobj -2033 0 obj +2034 0 obj << /Length 6132 >> @@ -27695,7 +27758,7 @@ ET endstream endobj -2039 0 obj +2040 0 obj << /Length 3490 >> @@ -27758,7 +27821,7 @@ ET endstream endobj -2043 0 obj +2044 0 obj << /Length 973 >> @@ -27799,43 +27862,47 @@ ET endstream endobj -1938 0 obj +1939 0 obj << /Type /ObjStm /N 100 /First 972 -/Length 10928 ->> -stream -517 0 1934 57 1941 152 1939 291 1943 436 521 495 1944 553 1945 612 1940 671 1948 766 -1946 905 1950 1050 525 1108 1951 1165 1952 1223 1947 1281 1956 1376 1954 1515 1958 1660 529 1719 -1959 1777 1960 1835 1955 1894 1963 1989 1961 2128 1965 2272 533 2330 1966 2387 1967 2444 1962 2502 -1970 2597 1968 2736 1972 2881 537 2940 1973 2998 1974 3057 1969 3116 1977 3239 1975 3378 1979 3520 -541 3578 1980 3635 1981 3693 1976 3751 1983 3874 1985 3992 1982 4051 1987 4134 1989 4252 545 4310 -1986 4367 1995 4462 1991 4619 1992 4766 1993 4914 1997 5061 549 5120 1998 5178 1994 5236 2006 5344 -2000 5510 2001 5657 2002 5804 2003 5952 2008 6099 553 6157 2005 6214 2010 6322 2004 6461 2012 6624 -1999 6683 2009 6743 2019 6853 2014 7019 2015 7164 2016 7311 2017 7458 2021 7605 557 7663 2018 7720 -2023 7815 2025 7933 2022 7992 2032 8087 2026 8262 2027 8407 2028 8550 2029 8697 2030 8841 2034 8990 -561 9048 2031 9105 2038 9200 2036 9339 2040 9484 565 9543 2037 9601 2042 9723 2044 9841 569 9899 -% 517 0 obj +/Length 10929 +>> +stream +1938 0 517 58 1935 115 1942 210 1940 349 1944 494 521 553 1945 611 1946 670 1941 729 +1949 824 1947 963 1951 1108 525 1166 1952 1223 1953 1281 1948 1339 1957 1434 1955 1573 1959 1718 +529 1777 1960 1835 1961 1893 1956 1952 1964 2047 1962 2186 1966 2330 533 2388 1967 2445 1968 2502 +1963 2560 1971 2655 1969 2794 1973 2939 537 2998 1974 3056 1975 3115 1970 3174 1978 3297 1976 3436 +1980 3578 541 3636 1981 3693 1982 3751 1977 3809 1984 3932 1986 4050 1983 4109 1988 4192 1990 4310 +545 4368 1987 4425 1996 4520 1992 4677 1993 4824 1994 4972 1998 5119 549 5178 1999 5236 1995 5294 +2007 5402 2001 5568 2002 5715 2003 5862 2004 6010 2009 6157 553 6215 2006 6272 2011 6380 2005 6519 +2013 6682 2000 6741 2010 6801 2020 6911 2015 7077 2016 7222 2017 7369 2018 7516 2022 7663 557 7721 +2019 7778 2024 7873 2026 7991 2023 8050 2033 8145 2027 8320 2028 8465 2029 8608 2030 8755 2031 8899 +2035 9048 561 9106 2032 9163 2039 9258 2037 9397 2041 9542 565 9601 2038 9659 2043 9781 2045 9899 +% 1938 0 obj << -/D [1935 0 R /XYZ 99.895 716.092 null] +/D [1936 0 R /XYZ 98.895 753.953 null] >> -% 1934 0 obj +% 517 0 obj +<< +/D [1936 0 R /XYZ 99.895 716.092 null] +>> +% 1935 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 1941 0 obj +% 1942 0 obj << /Type /Page -/Contents 1942 0 R -/Resources 1940 0 R +/Contents 1943 0 R +/Resources 1941 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1915 0 R -/Annots [ 1939 0 R ] +/Parent 1916 0 R +/Annots [ 1940 0 R ] >> -% 1939 0 obj +% 1940 0 obj << /Type /Annot /Subtype /Link @@ -27843,37 +27910,37 @@ stream /Rect [342.753 438.278 420.271 450.338] /A << /S /GoTo /D (spdata) >> >> -% 1943 0 obj +% 1944 0 obj << -/D [1941 0 R /XYZ 149.705 753.953 null] +/D [1942 0 R /XYZ 149.705 753.953 null] >> % 521 0 obj << -/D [1941 0 R /XYZ 150.705 716.092 null] +/D [1942 0 R /XYZ 150.705 716.092 null] >> -% 1944 0 obj +% 1945 0 obj << -/D [1941 0 R /XYZ 150.705 676.015 null] +/D [1942 0 R /XYZ 150.705 676.015 null] >> -% 1945 0 obj +% 1946 0 obj << -/D [1941 0 R /XYZ 150.705 679.195 null] +/D [1942 0 R /XYZ 150.705 679.195 null] >> -% 1940 0 obj +% 1941 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 1948 0 obj +% 1949 0 obj << /Type /Page -/Contents 1949 0 R -/Resources 1947 0 R +/Contents 1950 0 R +/Resources 1948 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1953 0 R -/Annots [ 1946 0 R ] +/Parent 1954 0 R +/Annots [ 1947 0 R ] >> -% 1946 0 obj +% 1947 0 obj << /Type /Annot /Subtype /Link @@ -27881,37 +27948,37 @@ stream /Rect [291.943 571.778 369.462 583.837] /A << /S /GoTo /D (spdata) >> >> -% 1950 0 obj +% 1951 0 obj << -/D [1948 0 R /XYZ 98.895 753.953 null] +/D [1949 0 R /XYZ 98.895 753.953 null] >> % 525 0 obj << -/D [1948 0 R /XYZ 99.895 716.092 null] +/D [1949 0 R /XYZ 99.895 716.092 null] >> -% 1951 0 obj +% 1952 0 obj << -/D [1948 0 R /XYZ 99.895 676.015 null] +/D [1949 0 R /XYZ 99.895 676.015 null] >> -% 1952 0 obj +% 1953 0 obj << -/D [1948 0 R /XYZ 99.895 679.195 null] +/D [1949 0 R /XYZ 99.895 679.195 null] >> -% 1947 0 obj +% 1948 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 1956 0 obj +% 1957 0 obj << /Type /Page -/Contents 1957 0 R -/Resources 1955 0 R +/Contents 1958 0 R +/Resources 1956 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1953 0 R -/Annots [ 1954 0 R ] +/Parent 1954 0 R +/Annots [ 1955 0 R ] >> -% 1954 0 obj +% 1955 0 obj << /Type /Annot /Subtype /Link @@ -27919,37 +27986,37 @@ stream /Rect [342.753 438.278 420.271 450.338] /A << /S /GoTo /D (spdata) >> >> -% 1958 0 obj +% 1959 0 obj << -/D [1956 0 R /XYZ 149.705 753.953 null] +/D [1957 0 R /XYZ 149.705 753.953 null] >> % 529 0 obj << -/D [1956 0 R /XYZ 150.705 716.092 null] +/D [1957 0 R /XYZ 150.705 716.092 null] >> -% 1959 0 obj +% 1960 0 obj << -/D [1956 0 R /XYZ 150.705 678.98 null] +/D [1957 0 R /XYZ 150.705 678.98 null] >> -% 1960 0 obj +% 1961 0 obj << -/D [1956 0 R /XYZ 150.705 679.195 null] +/D [1957 0 R /XYZ 150.705 679.195 null] >> -% 1955 0 obj +% 1956 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 1963 0 obj +% 1964 0 obj << /Type /Page -/Contents 1964 0 R -/Resources 1962 0 R +/Contents 1965 0 R +/Resources 1963 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1953 0 R -/Annots [ 1961 0 R ] +/Parent 1954 0 R +/Annots [ 1962 0 R ] >> -% 1961 0 obj +% 1962 0 obj << /Type /Annot /Subtype /Link @@ -27957,37 +28024,37 @@ stream /Rect [301.961 426.323 378.015 438.383] /A << /S /GoTo /D (vdata) >> >> -% 1965 0 obj +% 1966 0 obj << -/D [1963 0 R /XYZ 98.895 753.953 null] +/D [1964 0 R /XYZ 98.895 753.953 null] >> % 533 0 obj << -/D [1963 0 R /XYZ 99.895 716.092 null] +/D [1964 0 R /XYZ 99.895 716.092 null] >> -% 1966 0 obj +% 1967 0 obj << -/D [1963 0 R /XYZ 99.895 678.98 null] +/D [1964 0 R /XYZ 99.895 678.98 null] >> -% 1967 0 obj +% 1968 0 obj << -/D [1963 0 R /XYZ 99.895 679.195 null] +/D [1964 0 R /XYZ 99.895 679.195 null] >> -% 1962 0 obj +% 1963 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 1970 0 obj +% 1971 0 obj << /Type /Page -/Contents 1971 0 R -/Resources 1969 0 R +/Contents 1972 0 R +/Resources 1970 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1953 0 R -/Annots [ 1968 0 R ] +/Parent 1954 0 R +/Annots [ 1969 0 R ] >> -% 1968 0 obj +% 1969 0 obj << /Type /Annot /Subtype /Link @@ -27995,37 +28062,37 @@ stream /Rect [342.753 574.778 420.271 586.838] /A << /S /GoTo /D (spdata) >> >> -% 1972 0 obj +% 1973 0 obj << -/D [1970 0 R /XYZ 149.705 753.953 null] +/D [1971 0 R /XYZ 149.705 753.953 null] >> % 537 0 obj << -/D [1970 0 R /XYZ 150.705 716.092 null] +/D [1971 0 R /XYZ 150.705 716.092 null] >> -% 1973 0 obj +% 1974 0 obj << -/D [1970 0 R /XYZ 150.705 679.441 null] +/D [1971 0 R /XYZ 150.705 679.441 null] >> -% 1974 0 obj +% 1975 0 obj << -/D [1970 0 R /XYZ 150.705 679.657 null] +/D [1971 0 R /XYZ 150.705 679.657 null] >> -% 1969 0 obj +% 1970 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R /F78 686 0 R /F233 1044 0 R >> /ProcSet [ /PDF /Text ] >> -% 1977 0 obj +% 1978 0 obj << /Type /Page -/Contents 1978 0 R -/Resources 1976 0 R +/Contents 1979 0 R +/Resources 1977 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1953 0 R -/Annots [ 1975 0 R ] +/Parent 1954 0 R +/Annots [ 1976 0 R ] >> -% 1975 0 obj +% 1976 0 obj << /Type /Annot /Subtype /Link @@ -28033,75 +28100,75 @@ stream /Rect [396.215 574.59 472.269 586.65] /A << /S /GoTo /D (vdata) >> >> -% 1979 0 obj +% 1980 0 obj << -/D [1977 0 R /XYZ 98.895 753.953 null] +/D [1978 0 R /XYZ 98.895 753.953 null] >> % 541 0 obj << -/D [1977 0 R /XYZ 99.895 716.092 null] +/D [1978 0 R /XYZ 99.895 716.092 null] >> -% 1980 0 obj +% 1981 0 obj << -/D [1977 0 R /XYZ 99.895 679.413 null] +/D [1978 0 R /XYZ 99.895 679.413 null] >> -% 1981 0 obj +% 1982 0 obj << -/D [1977 0 R /XYZ 99.895 679.628 null] +/D [1978 0 R /XYZ 99.895 679.628 null] >> -% 1976 0 obj +% 1977 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R /F78 686 0 R /F233 1044 0 R >> /ProcSet [ /PDF /Text ] >> -% 1983 0 obj +% 1984 0 obj << /Type /Page -/Contents 1984 0 R -/Resources 1982 0 R +/Contents 1985 0 R +/Resources 1983 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1953 0 R +/Parent 1954 0 R >> -% 1985 0 obj +% 1986 0 obj << -/D [1983 0 R /XYZ 149.705 753.953 null] +/D [1984 0 R /XYZ 149.705 753.953 null] >> -% 1982 0 obj +% 1983 0 obj << /Font << /F233 1044 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 1987 0 obj +% 1988 0 obj << /Type /Page -/Contents 1988 0 R -/Resources 1986 0 R +/Contents 1989 0 R +/Resources 1987 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1990 0 R +/Parent 1991 0 R >> -% 1989 0 obj +% 1990 0 obj << -/D [1987 0 R /XYZ 98.895 753.953 null] +/D [1988 0 R /XYZ 98.895 753.953 null] >> % 545 0 obj << -/D [1987 0 R /XYZ 99.895 716.092 null] +/D [1988 0 R /XYZ 99.895 716.092 null] >> -% 1986 0 obj +% 1987 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 1995 0 obj +% 1996 0 obj << /Type /Page -/Contents 1996 0 R -/Resources 1994 0 R +/Contents 1997 0 R +/Resources 1995 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1990 0 R -/Annots [ 1991 0 R 1992 0 R 1993 0 R ] +/Parent 1991 0 R +/Annots [ 1992 0 R 1993 0 R 1994 0 R ] >> -% 1991 0 obj +% 1992 0 obj << /Type /Annot /Subtype /Link @@ -28109,7 +28176,7 @@ stream /Rect [371.126 442.264 443.414 454.323] /A << /S /GoTo /D (precdata) >> >> -% 1992 0 obj +% 1993 0 obj << /Type /Annot /Subtype /Link @@ -28117,7 +28184,7 @@ stream /Rect [222.066 352.6 228.343 366.303] /A << /S /GoTo /D (Hfootnote.4) >> >> -% 1993 0 obj +% 1994 0 obj << /Type /Annot /Subtype /Link @@ -28125,33 +28192,33 @@ stream /Rect [221.319 235.698 233.275 245.108] /A << /S /GoTo /D (table.21) >> >> -% 1997 0 obj +% 1998 0 obj << -/D [1995 0 R /XYZ 149.705 753.953 null] +/D [1996 0 R /XYZ 149.705 753.953 null] >> % 549 0 obj << -/D [1995 0 R /XYZ 150.705 716.092 null] +/D [1996 0 R /XYZ 150.705 716.092 null] >> -% 1998 0 obj +% 1999 0 obj << -/D [1995 0 R /XYZ 165.051 129.79 null] +/D [1996 0 R /XYZ 165.051 129.79 null] >> -% 1994 0 obj +% 1995 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 2006 0 obj +% 2007 0 obj << /Type /Page -/Contents 2007 0 R -/Resources 2005 0 R +/Contents 2008 0 R +/Resources 2006 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1990 0 R -/Annots [ 2000 0 R 2001 0 R 2002 0 R 2003 0 R ] +/Parent 1991 0 R +/Annots [ 2001 0 R 2002 0 R 2003 0 R 2004 0 R ] >> -% 2000 0 obj +% 2001 0 obj << /Type /Annot /Subtype /Link @@ -28159,7 +28226,7 @@ stream /Rect [283.359 567.422 295.314 580.259] /A << /S /GoTo /D (table.21) >> >> -% 2001 0 obj +% 2002 0 obj << /Type /Annot /Subtype /Link @@ -28167,7 +28234,7 @@ stream /Rect [366.137 520.379 378.292 532.438] /A << /S /GoTo /D (table.21) >> >> -% 2002 0 obj +% 2003 0 obj << /Type /Annot /Subtype /Link @@ -28175,7 +28242,7 @@ stream /Rect [379.319 483.736 386.292 496.573] /A << /S /GoTo /D (section.8) >> >> -% 2003 0 obj +% 2004 0 obj << /Type /Annot /Subtype /Link @@ -28183,29 +28250,29 @@ stream /Rect [136.757 451.412 148.712 460.822] /A << /S /GoTo /D (table.21) >> >> -% 2008 0 obj +% 2009 0 obj << -/D [2006 0 R /XYZ 98.895 753.953 null] +/D [2007 0 R /XYZ 98.895 753.953 null] >> % 553 0 obj << -/D [2006 0 R /XYZ 99.895 716.092 null] +/D [2007 0 R /XYZ 99.895 716.092 null] >> -% 2005 0 obj +% 2006 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 2010 0 obj +% 2011 0 obj << /Type /Page -/Contents 2011 0 R -/Resources 2009 0 R +/Contents 2012 0 R +/Resources 2010 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1990 0 R -/Annots [ 2004 0 R ] +/Parent 1991 0 R +/Annots [ 2005 0 R ] >> -% 2004 0 obj +% 2005 0 obj << /Type /Annot /Subtype /Link @@ -28213,29 +28280,29 @@ stream /Rect [404.253 212.933 412.423 220.405] /A << /S /GoTo /D (cite.BERTACCINIFILIPPONE) >> >> -% 2012 0 obj +% 2013 0 obj << -/D [2010 0 R /XYZ 149.705 753.953 null] +/D [2011 0 R /XYZ 149.705 753.953 null] >> -% 1999 0 obj +% 2000 0 obj << -/D [2010 0 R /XYZ -3900.052 719.08 null] +/D [2011 0 R /XYZ -3900.052 719.08 null] >> -% 2009 0 obj +% 2010 0 obj << /Font << /F233 1044 0 R /F84 687 0 R /F78 686 0 R /F190 941 0 R >> /ProcSet [ /PDF /Text ] >> -% 2019 0 obj +% 2020 0 obj << /Type /Page -/Contents 2020 0 R -/Resources 2018 0 R +/Contents 2021 0 R +/Resources 2019 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1990 0 R -/Annots [ 2014 0 R 2015 0 R 2016 0 R 2017 0 R ] +/Parent 1991 0 R +/Annots [ 2015 0 R 2016 0 R 2017 0 R 2018 0 R ] >> -% 2014 0 obj +% 2015 0 obj << /Type /Annot /Subtype /Link @@ -28243,7 +28310,7 @@ stream /Rect [314.678 576.377 392.197 588.437] /A << /S /GoTo /D (spdata) >> >> -% 2015 0 obj +% 2016 0 obj << /Type /Annot /Subtype /Link @@ -28251,7 +28318,7 @@ stream /Rect [395.856 505.741 468.144 517.801] /A << /S /GoTo /D (precdata) >> >> -% 2016 0 obj +% 2017 0 obj << /Type /Annot /Subtype /Link @@ -28259,7 +28326,7 @@ stream /Rect [371.454 435.105 438.512 447.165] /A << /S /GoTo /D (descdata) >> >> -% 2017 0 obj +% 2018 0 obj << /Type /Annot /Subtype /Link @@ -28267,46 +28334,46 @@ stream /Rect [317.418 128.475 389.706 140.535] /A << /S /GoTo /D (precdata) >> >> -% 2021 0 obj +% 2022 0 obj << -/D [2019 0 R /XYZ 98.895 753.953 null] +/D [2020 0 R /XYZ 98.895 753.953 null] >> % 557 0 obj << -/D [2019 0 R /XYZ 99.895 716.092 null] +/D [2020 0 R /XYZ 99.895 716.092 null] >> -% 2018 0 obj +% 2019 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 2023 0 obj +% 2024 0 obj << /Type /Page -/Contents 2024 0 R -/Resources 2022 0 R +/Contents 2025 0 R +/Resources 2023 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1990 0 R +/Parent 1991 0 R >> -% 2025 0 obj +% 2026 0 obj << -/D [2023 0 R /XYZ 149.705 753.953 null] +/D [2024 0 R /XYZ 149.705 753.953 null] >> -% 2022 0 obj +% 2023 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 2032 0 obj +% 2033 0 obj << /Type /Page -/Contents 2033 0 R -/Resources 2031 0 R +/Contents 2034 0 R +/Resources 2032 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2035 0 R -/Annots [ 2026 0 R 2027 0 R 2028 0 R 2029 0 R 2030 0 R ] +/Parent 2036 0 R +/Annots [ 2027 0 R 2028 0 R 2029 0 R 2030 0 R 2031 0 R ] >> -% 2026 0 obj +% 2027 0 obj << /Type /Annot /Subtype /Link @@ -28314,7 +28381,7 @@ stream /Rect [320.317 573.77 392.605 585.83] /A << /S /GoTo /D (precdata) >> >> -% 2027 0 obj +% 2028 0 obj << /Type /Annot /Subtype /Link @@ -28322,7 +28389,7 @@ stream /Rect [342.493 517.98 418.548 530.039] /A << /S /GoTo /D (vdata) >> >> -% 2028 0 obj +% 2029 0 obj << /Type /Annot /Subtype /Link @@ -28330,7 +28397,7 @@ stream /Rect [324.013 462.189 391.071 474.248] /A << /S /GoTo /D (descdata) >> >> -% 2029 0 obj +% 2030 0 obj << /Type /Annot /Subtype /Link @@ -28338,7 +28405,7 @@ stream /Rect [342.493 272.899 418.548 284.958] /A << /S /GoTo /D (vdata) >> >> -% 2030 0 obj +% 2031 0 obj << /Type /Annot /Subtype /Link @@ -28346,29 +28413,29 @@ stream /Rect [431.552 183.235 443.387 196.238] /A << /S /GoTo /D (section.11) >> >> -% 2034 0 obj +% 2035 0 obj << -/D [2032 0 R /XYZ 98.895 753.953 null] +/D [2033 0 R /XYZ 98.895 753.953 null] >> % 561 0 obj << -/D [2032 0 R /XYZ 99.895 716.092 null] +/D [2033 0 R /XYZ 99.895 716.092 null] >> -% 2031 0 obj +% 2032 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 2038 0 obj +% 2039 0 obj << /Type /Page -/Contents 2039 0 R -/Resources 2037 0 R +/Contents 2040 0 R +/Resources 2038 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2035 0 R -/Annots [ 2036 0 R ] +/Parent 2036 0 R +/Annots [ 2037 0 R ] >> -% 2036 0 obj +% 2037 0 obj << /Type /Annot /Subtype /Link @@ -28376,39 +28443,35 @@ stream /Rect [371.126 573.77 443.414 585.83] /A << /S /GoTo /D (precdata) >> >> -% 2040 0 obj +% 2041 0 obj << -/D [2038 0 R /XYZ 149.705 753.953 null] +/D [2039 0 R /XYZ 149.705 753.953 null] >> % 565 0 obj << -/D [2038 0 R /XYZ 150.705 716.092 null] +/D [2039 0 R /XYZ 150.705 716.092 null] >> -% 2037 0 obj +% 2038 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R /F78 686 0 R /F190 941 0 R >> /ProcSet [ /PDF /Text ] >> -% 2042 0 obj +% 2043 0 obj << /Type /Page -/Contents 2043 0 R -/Resources 2041 0 R +/Contents 2044 0 R +/Resources 2042 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2035 0 R +/Parent 2036 0 R >> -% 2044 0 obj +% 2045 0 obj << -/D [2042 0 R /XYZ 98.895 753.953 null] ->> -% 569 0 obj -<< -/D [2042 0 R /XYZ 99.895 716.092 null] +/D [2043 0 R /XYZ 98.895 753.953 null] >> endstream endobj -2050 0 obj +2051 0 obj << /Length 2715 >> @@ -28485,7 +28548,7 @@ ET endstream endobj -2058 0 obj +2059 0 obj << /Length 6107 >> @@ -28609,7 +28672,7 @@ ET endstream endobj -2065 0 obj +2066 0 obj << /Length 3194 >> @@ -28697,7 +28760,7 @@ ET endstream endobj -2069 0 obj +2070 0 obj << /Length 607 >> @@ -28713,7 +28776,7 @@ ET endstream endobj -2077 0 obj +2078 0 obj << /Length 8466 >> @@ -28863,7 +28926,7 @@ ET endstream endobj -2088 0 obj +2089 0 obj << /Length 7173 >> @@ -29003,7 +29066,7 @@ ET endstream endobj -2093 0 obj +2094 0 obj << /Length 4580 >> @@ -29070,7 +29133,7 @@ ET endstream endobj -2101 0 obj +2102 0 obj << /Length 8759 >> @@ -29222,7 +29285,7 @@ ET endstream endobj -2110 0 obj +2111 0 obj << /Length 6806 >> @@ -29347,7 +29410,7 @@ ET endstream endobj -2114 0 obj +2115 0 obj << /Length 1090 >> @@ -29370,7 +29433,7 @@ ET endstream endobj -2125 0 obj +2126 0 obj << /Length 8172 >> @@ -29604,7 +29667,7 @@ ET endstream endobj -2139 0 obj +2140 0 obj << /Length 9201 >> @@ -29861,7 +29924,7 @@ ET endstream endobj -2148 0 obj +2149 0 obj << /Length 4837 >> @@ -29930,21 +29993,21 @@ ET endstream endobj -2132 0 obj +2133 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figures/mat.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 2153 0 R +/PTEX.InfoDict 2154 0 R /BBox [0 0 438 395] /Resources << /ProcSet [ /PDF /ImageC ] /ExtGState << -/R7 2154 0 R +/R7 2155 0 R >>/XObject << -/R8 2155 0 R +/R8 2156 0 R >>>> /Length 3551 /Filter /FlateDecode @@ -29973,7 +30036,7 @@ r JXxC[ S^zݰ.F$ 5`2. L 0 # Z(DSj*'f;?buRr* ݁"@ai(o^/o*o endstream endobj -2155 0 obj +2156 0 obj << /Subtype /Image /ColorSpace /DeviceGray @@ -29992,7 +30055,7 @@ stream &@ endstream endobj -2159 0 obj +2160 0 obj << /Length 7547 >> @@ -30142,66 +30205,43 @@ ET endstream endobj -2134 0 obj -<< -/Type /XObject -/Subtype /Form -/FormType 1 -/PTEX.FileName (./figures/ell.pdf) -/PTEX.PageNumber 1 -/PTEX.InfoDict 2170 0 R -/BBox [0 0 447 205] -/Resources << -/ProcSet [ /PDF /ImageC /Text ] -/ExtGState << -/R7 2171 0 R ->>/XObject << -/R8 2172 0 R ->>/Font << /R9 2173 0 R/R11 2174 0 R>> ->> -/Length 2281 -/Filter /FlateDecode ->> -stream -xYˊ%WU~,okOý6=^! )EM3Pv)rZN8~s|9Z&vM -|-7;}Ζ)d_Dg|]]`l:H4d(f)֛d)L"bZ^3-~Ʀ%Luyf \HxPiGZb_NIIKP@``kM8ؖ8N6t%3L1V싋-5I@Ņh\ɶ!%/ 5QRŅUBk*#Hۑ?Hf[cǑ-"քNPYC&i]3D_(ԮQve3jJVggTen@in;Yi@fsa3g]FgsTAV܎ӓ+npN>.P;~R@c,S cߗ3ίޓKHNKR1 ҭ}|_i,K@4ytҔ[a>3-0'I$WPo%R*NڧK@X ʊF(9(jScA-\pCc&2k@=WZDD ND bENzUzV`T}Y@3Za_YQW5e^Mrj"K-wQU0FEX>5(!N bEZzԐ¨QŅVc1,2fɊb2/\4zK/2ome.N;z狩W04LeIG,N{PeZD>R2Ⴥ$].,-,-.uru]RNUJbϒ%ƒe](^E/""YE(:{/ȪUdr63hhk rѢ[i ҵ8 i ٮZZ9b E+#%E-. V\mhEdբ7Ryl6ky`d(T_>Ӕe+]@zcC׸l_&_64xn_'e:9F=Q/x؏_ ݾPyNhǞ(~J7+n$֭Lxxф8CySׄ ]f;XkL'/,kV@VwFjUQ/B 8Q!=ջL|LO/sbj p4b&zpLf.($}6OsXȅ_\@ *Hj`˂[^3[oM q<խ ؟! [~ UμHX`ZD .y Y*~TD%4ϴIcf QcYHC*cJRҀG ;ɿ@3~ZLkŎ8E8~xO_([zR6 -y-?Gz5O}MsAtԏ|THF -endstream -endobj -2045 0 obj +2046 0 obj << /Type /ObjStm /N 100 -/First 989 -/Length 12218 ->> -stream -2041 0 2049 95 2046 243 2047 388 2051 535 573 594 2048 652 2057 747 2052 913 2053 1058 -2054 1205 2055 1359 2059 1508 577 1566 2056 1623 2064 1718 2060 1875 2061 2022 2062 2169 2066 2323 -581 2382 2063 2440 2068 2535 2070 2653 585 2711 2067 2768 2076 2863 2072 3011 2073 3161 2078 3306 -589 3365 2079 3423 2080 3482 2081 3541 2082 3600 2075 3658 2087 3809 2074 3975 2083 4122 2084 4266 -2085 4410 2089 4555 2086 4613 2092 4764 2090 4903 2094 5047 2091 5106 2100 5214 2095 5371 2096 5516 -2097 5663 2102 5805 593 5863 2103 5920 2104 5978 2105 6036 2099 6094 2109 6245 2098 6402 2106 6546 -2107 6693 2111 6837 2108 6896 2113 7047 2115 7165 2112 7223 2124 7304 2117 7497 2127 7673 2118 7848 -2119 8031 2120 8183 2121 8338 2122 8490 2126 8644 597 8703 601 8761 2123 8819 2138 8942 2130 9099 -2131 9248 2133 9395 2140 9542 606 9600 610 9657 2141 9714 2142 9772 2137 9830 2147 9968 2153 10107 -2154 10287 2136 10330 2149 10477 2144 10536 2150 10595 2151 10654 2152 10713 2146 10772 2158 10910 2170 11049 -% 2041 0 obj +/First 987 +/Length 12093 +>> +stream +569 0 2042 57 2050 152 2047 300 2048 445 2052 592 573 651 2049 709 2058 804 2053 970 +2054 1115 2055 1262 2056 1416 2060 1565 577 1623 2057 1680 2065 1775 2061 1932 2062 2079 2063 2226 +2067 2380 581 2439 2064 2497 2069 2592 2071 2710 585 2768 2068 2825 2077 2920 2073 3068 2074 3218 +2079 3363 589 3422 2080 3480 2081 3539 2082 3598 2083 3657 2076 3715 2088 3866 2075 4032 2084 4179 +2085 4323 2086 4467 2090 4612 2087 4670 2093 4821 2091 4960 2095 5104 2092 5163 2101 5271 2096 5428 +2097 5573 2098 5720 2103 5862 593 5920 2104 5977 2105 6035 2106 6093 2100 6151 2110 6302 2099 6459 +2107 6603 2108 6750 2112 6894 2109 6953 2114 7104 2116 7222 2113 7280 2125 7361 2118 7554 2128 7730 +2119 7905 2120 8088 2121 8240 2122 8395 2123 8547 2127 8701 597 8760 601 8818 2124 8876 2139 8999 +2131 9156 2132 9305 2134 9452 2141 9599 606 9657 610 9714 2142 9771 2143 9829 2138 9887 2148 10025 +2154 10164 2155 10344 2137 10387 2150 10534 2145 10593 2151 10652 2152 10711 2153 10770 2147 10829 2159 10967 +% 569 0 obj +<< +/D [2043 0 R /XYZ 99.895 716.092 null] +>> +% 2042 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 2049 0 obj +% 2050 0 obj << /Type /Page -/Contents 2050 0 R -/Resources 2048 0 R +/Contents 2051 0 R +/Resources 2049 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2035 0 R -/Annots [ 2046 0 R 2047 0 R ] +/Parent 2036 0 R +/Annots [ 2047 0 R 2048 0 R ] >> -% 2046 0 obj +% 2047 0 obj << /Type /Annot /Subtype /Link @@ -30209,7 +30249,7 @@ stream /Rect [371.126 573.77 443.414 585.83] /A << /S /GoTo /D (precdata) >> >> -% 2047 0 obj +% 2048 0 obj << /Type /Annot /Subtype /Link @@ -30217,29 +30257,29 @@ stream /Rect [371.126 498.054 443.414 510.114] /A << /S /GoTo /D (precdata) >> >> -% 2051 0 obj +% 2052 0 obj << -/D [2049 0 R /XYZ 149.705 753.953 null] +/D [2050 0 R /XYZ 149.705 753.953 null] >> % 573 0 obj << -/D [2049 0 R /XYZ 150.705 716.092 null] +/D [2050 0 R /XYZ 150.705 716.092 null] >> -% 2048 0 obj +% 2049 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 2057 0 obj +% 2058 0 obj << /Type /Page -/Contents 2058 0 R -/Resources 2056 0 R +/Contents 2059 0 R +/Resources 2057 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2035 0 R -/Annots [ 2052 0 R 2053 0 R 2054 0 R 2055 0 R ] +/Parent 2036 0 R +/Annots [ 2053 0 R 2054 0 R 2055 0 R 2056 0 R ] >> -% 2052 0 obj +% 2053 0 obj << /Type /Annot /Subtype /Link @@ -30247,7 +30287,7 @@ stream /Rect [320.317 573.77 392.605 585.83] /A << /S /GoTo /D (precdata) >> >> -% 2053 0 obj +% 2054 0 obj << /Type /Annot /Subtype /Link @@ -30255,7 +30295,7 @@ stream /Rect [320.317 430.308 392.605 442.368] /A << /S /GoTo /D (precdata) >> >> -% 2054 0 obj +% 2055 0 obj << /Type /Annot /Subtype /Link @@ -30263,7 +30303,7 @@ stream /Rect [129.909 304.779 149.563 316.839] /A << /S /GoTo /D (subsection.12.4) >> >> -% 2055 0 obj +% 2056 0 obj << /Type /Annot /Subtype /Link @@ -30271,29 +30311,29 @@ stream /Rect [172.161 304.779 184.246 316.839] /A << /S /GoTo /D (section.13) >> >> -% 2059 0 obj +% 2060 0 obj << -/D [2057 0 R /XYZ 98.895 753.953 null] +/D [2058 0 R /XYZ 98.895 753.953 null] >> % 577 0 obj << -/D [2057 0 R /XYZ 99.895 716.092 null] +/D [2058 0 R /XYZ 99.895 716.092 null] >> -% 2056 0 obj +% 2057 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 2064 0 obj +% 2065 0 obj << /Type /Page -/Contents 2065 0 R -/Resources 2063 0 R +/Contents 2066 0 R +/Resources 2064 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2035 0 R -/Annots [ 2060 0 R 2061 0 R 2062 0 R ] +/Parent 2036 0 R +/Annots [ 2061 0 R 2062 0 R 2063 0 R ] >> -% 2060 0 obj +% 2061 0 obj << /Type /Annot /Subtype /Link @@ -30301,7 +30341,7 @@ stream /Rect [371.126 561.815 443.414 573.875] /A << /S /GoTo /D (precdata) >> >> -% 2061 0 obj +% 2062 0 obj << /Type /Annot /Subtype /Link @@ -30309,7 +30349,7 @@ stream /Rect [371.126 486.099 443.414 498.159] /A << /S /GoTo /D (precdata) >> >> -% 2062 0 obj +% 2063 0 obj << /Type /Annot /Subtype /Link @@ -30317,50 +30357,50 @@ stream /Rect [443.742 396.435 463.169 408.495] /A << /S /GoTo /D (subsection.10.8) >> >> -% 2066 0 obj +% 2067 0 obj << -/D [2064 0 R /XYZ 149.705 753.953 null] +/D [2065 0 R /XYZ 149.705 753.953 null] >> % 581 0 obj << -/D [2064 0 R /XYZ 150.705 716.092 null] +/D [2065 0 R /XYZ 150.705 716.092 null] >> -% 2063 0 obj +% 2064 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 2068 0 obj +% 2069 0 obj << /Type /Page -/Contents 2069 0 R -/Resources 2067 0 R +/Contents 2070 0 R +/Resources 2068 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2071 0 R +/Parent 2072 0 R >> -% 2070 0 obj +% 2071 0 obj << -/D [2068 0 R /XYZ 98.895 753.953 null] +/D [2069 0 R /XYZ 98.895 753.953 null] >> % 585 0 obj << -/D [2068 0 R /XYZ 99.895 716.092 null] +/D [2069 0 R /XYZ 99.895 716.092 null] >> -% 2067 0 obj +% 2068 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 2076 0 obj +% 2077 0 obj << /Type /Page -/Contents 2077 0 R -/Resources 2075 0 R +/Contents 2078 0 R +/Resources 2076 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2071 0 R -/Annots [ 2072 0 R 2073 0 R ] +/Parent 2072 0 R +/Annots [ 2073 0 R 2074 0 R ] >> -% 2072 0 obj +% 2073 0 obj << /Type /Annot /Subtype /Link @@ -30368,7 +30408,7 @@ stream /Rect [379.973 275.278 386.249 288.868] /A << /S /GoTo /D (Hfootnote.5) >> >> -% 2073 0 obj +% 2074 0 obj << /Type /Annot /Subtype /Link @@ -30376,45 +30416,45 @@ stream /Rect [342.753 134.696 420.271 146.755] /A << /S /GoTo /D (spdata) >> >> -% 2078 0 obj +% 2079 0 obj << -/D [2076 0 R /XYZ 149.705 753.953 null] +/D [2077 0 R /XYZ 149.705 753.953 null] >> % 589 0 obj << -/D [2076 0 R /XYZ 150.705 716.092 null] ->> -% 2079 0 obj -<< -/D [2076 0 R /XYZ 150.705 444.811 null] +/D [2077 0 R /XYZ 150.705 716.092 null] >> % 2080 0 obj << -/D [2076 0 R /XYZ 150.705 444.971 null] +/D [2077 0 R /XYZ 150.705 444.811 null] >> % 2081 0 obj << -/D [2076 0 R /XYZ 150.705 433.015 null] +/D [2077 0 R /XYZ 150.705 444.971 null] >> % 2082 0 obj << -/D [2076 0 R /XYZ 165.051 129.79 null] +/D [2077 0 R /XYZ 150.705 433.015 null] >> -% 2075 0 obj +% 2083 0 obj +<< +/D [2077 0 R /XYZ 165.051 129.79 null] +>> +% 2076 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F78 686 0 R /F192 942 0 R /F190 941 0 R /F148 1490 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 2087 0 obj +% 2088 0 obj << /Type /Page -/Contents 2088 0 R -/Resources 2086 0 R +/Contents 2089 0 R +/Resources 2087 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2071 0 R -/Annots [ 2074 0 R 2083 0 R 2084 0 R 2085 0 R ] +/Parent 2072 0 R +/Annots [ 2075 0 R 2084 0 R 2085 0 R 2086 0 R ] >> -% 2074 0 obj +% 2075 0 obj << /Type /Annot /Subtype /Link @@ -30422,7 +30462,7 @@ stream /Rect [291.943 654.503 364.232 666.562] /A << /S /GoTo /D (precdata) >> >> -% 2083 0 obj +% 2084 0 obj << /Type /Annot /Subtype /Link @@ -30430,7 +30470,7 @@ stream /Rect [342.493 584.479 418.548 596.539] /A << /S /GoTo /D (vdata) >> >> -% 2084 0 obj +% 2085 0 obj << /Type /Annot /Subtype /Link @@ -30438,7 +30478,7 @@ stream /Rect [342.493 514.456 418.548 526.516] /A << /S /GoTo /D (vdata) >> >> -% 2085 0 obj +% 2086 0 obj << /Type /Annot /Subtype /Link @@ -30446,25 +30486,25 @@ stream /Rect [291.943 374.41 359.001 386.47] /A << /S /GoTo /D (descdata) >> >> -% 2089 0 obj +% 2090 0 obj << -/D [2087 0 R /XYZ 98.895 753.953 null] +/D [2088 0 R /XYZ 98.895 753.953 null] >> -% 2086 0 obj +% 2087 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R /F78 686 0 R /F192 942 0 R /F190 941 0 R /F148 1490 0 R >> /ProcSet [ /PDF /Text ] >> -% 2092 0 obj +% 2093 0 obj << /Type /Page -/Contents 2093 0 R -/Resources 2091 0 R +/Contents 2094 0 R +/Resources 2092 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2071 0 R -/Annots [ 2090 0 R ] +/Parent 2072 0 R +/Annots [ 2091 0 R ] >> -% 2090 0 obj +% 2091 0 obj << /Type /Annot /Subtype /Link @@ -30472,25 +30512,25 @@ stream /Rect [393.303 554.876 469.357 566.936] /A << /S /GoTo /D (vdata) >> >> -% 2094 0 obj +% 2095 0 obj << -/D [2092 0 R /XYZ 149.705 753.953 null] +/D [2093 0 R /XYZ 149.705 753.953 null] >> -% 2091 0 obj +% 2092 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 2100 0 obj +% 2101 0 obj << /Type /Page -/Contents 2101 0 R -/Resources 2099 0 R +/Contents 2102 0 R +/Resources 2100 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2071 0 R -/Annots [ 2095 0 R 2096 0 R 2097 0 R ] +/Parent 2072 0 R +/Annots [ 2096 0 R 2097 0 R 2098 0 R ] >> -% 2095 0 obj +% 2096 0 obj << /Type /Annot /Subtype /Link @@ -30498,7 +30538,7 @@ stream /Rect [291.943 253.023 369.462 265.083] /A << /S /GoTo /D (spdata) >> >> -% 2096 0 obj +% 2097 0 obj << /Type /Annot /Subtype /Link @@ -30506,7 +30546,7 @@ stream /Rect [291.943 184.772 364.232 196.831] /A << /S /GoTo /D (precdata) >> >> -% 2097 0 obj +% 2098 0 obj << /Type /Annot /Subtype /Link @@ -30514,41 +30554,41 @@ stream /Rect [342.493 116.52 418.548 128.58] /A << /S /GoTo /D (vdata) >> >> -% 2102 0 obj +% 2103 0 obj << -/D [2100 0 R /XYZ 98.895 753.953 null] +/D [2101 0 R /XYZ 98.895 753.953 null] >> % 593 0 obj << -/D [2100 0 R /XYZ 99.895 716.092 null] ->> -% 2103 0 obj -<< -/D [2100 0 R /XYZ 99.895 397.916 null] +/D [2101 0 R /XYZ 99.895 716.092 null] >> % 2104 0 obj << -/D [2100 0 R /XYZ 99.895 398.076 null] +/D [2101 0 R /XYZ 99.895 397.916 null] >> % 2105 0 obj << -/D [2100 0 R /XYZ 99.895 386.121 null] +/D [2101 0 R /XYZ 99.895 398.076 null] >> -% 2099 0 obj +% 2106 0 obj +<< +/D [2101 0 R /XYZ 99.895 386.121 null] +>> +% 2100 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F78 686 0 R /F192 942 0 R /F190 941 0 R /F148 1490 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 2109 0 obj +% 2110 0 obj << /Type /Page -/Contents 2110 0 R -/Resources 2108 0 R +/Contents 2111 0 R +/Resources 2109 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2071 0 R -/Annots [ 2098 0 R 2106 0 R 2107 0 R ] +/Parent 2072 0 R +/Annots [ 2099 0 R 2107 0 R 2108 0 R ] >> -% 2098 0 obj +% 2099 0 obj << /Type /Annot /Subtype /Link @@ -30556,7 +30596,7 @@ stream /Rect [393.303 654.503 469.357 666.562] /A << /S /GoTo /D (vdata) >> >> -% 2106 0 obj +% 2107 0 obj << /Type /Annot /Subtype /Link @@ -30564,7 +30604,7 @@ stream /Rect [342.753 520.007 409.811 532.067] /A << /S /GoTo /D (descdata) >> >> -% 2107 0 obj +% 2108 0 obj << /Type /Annot /Subtype /Link @@ -30572,63 +30612,63 @@ stream /Rect [393.303 183.768 469.357 195.827] /A << /S /GoTo /D (vdata) >> >> -% 2111 0 obj +% 2112 0 obj << -/D [2109 0 R /XYZ 149.705 753.953 null] +/D [2110 0 R /XYZ 149.705 753.953 null] >> -% 2108 0 obj +% 2109 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R /F78 686 0 R /F192 942 0 R /F190 941 0 R /F148 1490 0 R >> /ProcSet [ /PDF /Text ] >> -% 2113 0 obj +% 2114 0 obj << /Type /Page -/Contents 2114 0 R -/Resources 2112 0 R +/Contents 2115 0 R +/Resources 2113 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2116 0 R +/Parent 2117 0 R >> -% 2115 0 obj +% 2116 0 obj << -/D [2113 0 R /XYZ 98.895 753.953 null] +/D [2114 0 R /XYZ 98.895 753.953 null] >> -% 2112 0 obj +% 2113 0 obj << /Font << /F75 685 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 2124 0 obj +% 2125 0 obj << /Type /Page -/Contents 2125 0 R -/Resources 2123 0 R +/Contents 2126 0 R +/Resources 2124 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2116 0 R -/Annots [ 2117 0 R 2127 0 R 2118 0 R 2119 0 R 2120 0 R 2121 0 R 2122 0 R ] +/Parent 2117 0 R +/Annots [ 2118 0 R 2128 0 R 2119 0 R 2120 0 R 2121 0 R 2122 0 R 2123 0 R ] >> -% 2117 0 obj +% 2118 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [368.938 636.522 495.412 648.582] /Subtype/Link/A<> >> -% 2127 0 obj +% 2128 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [174.615 624.567 218.45 636.627] /Subtype/Link/A<> >> -% 2118 0 obj +% 2119 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [191.223 593.098 397.198 605.158] /Subtype/Link/A<> >> -% 2119 0 obj +% 2120 0 obj << /Type /Annot /Subtype /Link @@ -30636,7 +30676,7 @@ stream /Rect [280.59 552.835 292.545 561.841] /A << /S /GoTo /D (cite.DesPat:11) >> >> -% 2120 0 obj +% 2121 0 obj << /Type /Annot /Subtype /Link @@ -30644,7 +30684,7 @@ stream /Rect [296.203 552.835 308.158 561.692] /A << /S /GoTo /D (cite.CaFiRo:2014) >> >> -% 2121 0 obj +% 2122 0 obj << /Type /Annot /Subtype /Link @@ -30652,7 +30692,7 @@ stream /Rect [311.815 552.835 323.771 561.841] /A << /S /GoTo /D (cite.Sparse03) >> >> -% 2122 0 obj +% 2123 0 obj << /Type /Annot /Subtype /Link @@ -30660,33 +30700,33 @@ stream /Rect [209.414 540.781 221.369 549.737] /A << /S /GoTo /D (cite.OurTechRep) >> >> -% 2126 0 obj +% 2127 0 obj << -/D [2124 0 R /XYZ 149.705 753.953 null] +/D [2125 0 R /XYZ 149.705 753.953 null] >> % 597 0 obj << -/D [2124 0 R /XYZ 150.705 716.092 null] +/D [2125 0 R /XYZ 150.705 716.092 null] >> % 601 0 obj << -/D [2124 0 R /XYZ 150.705 525.151 null] +/D [2125 0 R /XYZ 150.705 525.151 null] >> -% 2123 0 obj +% 2124 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R /F78 686 0 R /F233 1044 0 R >> /ProcSet [ /PDF /Text ] >> -% 2138 0 obj +% 2139 0 obj << /Type /Page -/Contents 2139 0 R -/Resources 2137 0 R +/Contents 2140 0 R +/Resources 2138 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2116 0 R -/Annots [ 2130 0 R 2131 0 R 2133 0 R ] +/Parent 2117 0 R +/Annots [ 2131 0 R 2132 0 R 2134 0 R ] >> -% 2130 0 obj +% 2131 0 obj << /Type /Annot /Subtype /Link @@ -30694,7 +30734,7 @@ stream /Rect [121.315 282.067 133.27 291.173] /A << /S /GoTo /D (cite.MRC:11) >> >> -% 2131 0 obj +% 2132 0 obj << /Type /Annot /Subtype /Link @@ -30702,7 +30742,7 @@ stream /Rect [253.836 246.183 265.791 255.592] /A << /S /GoTo /D (table.22) >> >> -% 2133 0 obj +% 2134 0 obj << /Type /Annot /Subtype /Link @@ -30710,53 +30750,53 @@ stream /Rect [310.367 176.296 317.241 188.355] /A << /S /GoTo /D (figure.6) >> >> -% 2140 0 obj +% 2141 0 obj << -/D [2138 0 R /XYZ 98.895 753.953 null] +/D [2139 0 R /XYZ 98.895 753.953 null] >> % 606 0 obj << -/D [2138 0 R /XYZ 99.895 349.244 null] +/D [2139 0 R /XYZ 99.895 349.244 null] >> % 610 0 obj << -/D [2138 0 R /XYZ 99.895 231.907 null] +/D [2139 0 R /XYZ 99.895 231.907 null] >> -% 2141 0 obj +% 2142 0 obj << -/D [2138 0 R /XYZ 99.895 211.056 null] +/D [2139 0 R /XYZ 99.895 211.056 null] >> -% 2142 0 obj +% 2143 0 obj << -/D [2138 0 R /XYZ 99.895 120.166 null] +/D [2139 0 R /XYZ 99.895 120.166 null] >> -% 2137 0 obj +% 2138 0 obj << -/Font << /F279 1814 0 R /F233 1044 0 R /F84 687 0 R /F145 940 0 R /F75 685 0 R /F78 686 0 R >> +/Font << /F279 1815 0 R /F233 1044 0 R /F84 687 0 R /F145 940 0 R /F75 685 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 2147 0 obj +% 2148 0 obj << /Type /Page -/Contents 2148 0 R -/Resources 2146 0 R +/Contents 2149 0 R +/Resources 2147 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2116 0 R -/Annots [ 2136 0 R ] +/Parent 2117 0 R +/Annots [ 2137 0 R ] >> -% 2153 0 obj +% 2154 0 obj << /Producer (GPL Ghostscript 9.10) /CreationDate (D:20140329133929+01'00') /ModDate (D:20140329133929+01'00') /Creator (cairo 1.13.1 \(http://cairographics.org\)) >> -% 2154 0 obj +% 2155 0 obj << /Type /ExtGState /OPM 1 >> -% 2136 0 obj +% 2137 0 obj << /Type /Annot /Subtype /Link @@ -30764,52 +30804,72 @@ stream /Rect [170.554 324.049 177.543 336.109] /A << /S /GoTo /D (algocf.1) >> >> -% 2149 0 obj -<< -/D [2147 0 R /XYZ 149.705 753.953 null] ->> -% 2144 0 obj +% 2150 0 obj << -/D [2147 0 R /XYZ 150.705 716.092 null] +/D [2148 0 R /XYZ 149.705 753.953 null] >> -% 2150 0 obj +% 2145 0 obj << -/D [2147 0 R /XYZ 397.506 407.446 null] +/D [2148 0 R /XYZ 150.705 716.092 null] >> % 2151 0 obj << -/D [2147 0 R /XYZ 150.705 260.219 null] +/D [2148 0 R /XYZ 397.506 407.446 null] >> % 2152 0 obj << -/D [2147 0 R /XYZ 150.705 226.207 null] +/D [2148 0 R /XYZ 150.705 260.219 null] >> -% 2146 0 obj +% 2153 0 obj +<< +/D [2148 0 R /XYZ 150.705 226.207 null] +>> +% 2147 0 obj << /Font << /F84 687 0 R /F78 686 0 R /F192 942 0 R /F145 940 0 R >> -/XObject << /Im6 2132 0 R >> +/XObject << /Im6 2133 0 R >> /ProcSet [ /PDF /Text ] >> -% 2158 0 obj +% 2159 0 obj << /Type /Page -/Contents 2159 0 R -/Resources 2157 0 R +/Contents 2160 0 R +/Resources 2158 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2116 0 R -/Annots [ 2135 0 R ] +/Parent 2117 0 R +/Annots [ 2136 0 R ] >> -% 2170 0 obj + +endstream +endobj +2135 0 obj << -/Producer (GPL Ghostscript 9.10) -/CreationDate (D:20140329133928+01'00') -/ModDate (D:20140329133928+01'00') -/Creator (cairo 1.13.1 \(http://cairographics.org\)) +/Type /XObject +/Subtype /Form +/FormType 1 +/PTEX.FileName (./figures/ell.pdf) +/PTEX.PageNumber 1 +/PTEX.InfoDict 2171 0 R +/BBox [0 0 447 205] +/Resources << +/ProcSet [ /PDF /ImageC /Text ] +/ExtGState << +/R7 2172 0 R +>>/XObject << +/R8 2173 0 R +>>/Font << /R9 2174 0 R/R11 2175 0 R>> >> - +/Length 2281 +/Filter /FlateDecode +>> +stream +xYˊ%WU~,okOý6=^! )EM3Pv)rZN8~s|9Z&vM +|-7;}Ζ)d_Dg|]]`l:H4d(f)֛d)L"bZ^3-~Ʀ%Luyf \HxPiGZb_NIIKP@``kM8ؖ8N6t%3L1V싋-5I@Ņh\ɶ!%/ 5QRŅUBk*#Hۑ?Hf[cǑ-"քNPYC&i]3D_(ԮQve3jJVggTen@in;Yi@fsa3g]FgsTAV܎ӓ+npN>.P;~R@c,S cߗ3ίޓKHNKR1 ҭ}|_i,K@4ytҔ[a>3-0'I$WPo%R*NڧK@X ʊF(9(jScA-\pCc&2k@=WZDD ND bENzUzV`T}Y@3Za_YQW5e^Mrj"K-wQU0FEX>5(!N bEZzԐ¨QŅVc1,2fɊb2/\4zK/2ome.N;z狩W04LeIG,N{PeZD>R2Ⴥ$].,-,-.uru]RNUJbϒ%ƒe](^E/""YE(:{/ȪUdr63hhk rѢ[i ҵ8 i ٮZZ9b E+#%E-. V\mhEdբ7Ryl6ky`d(T_>Ӕe+]@zcC׸l_&_64xn_'e:9F=Q/x؏_ ݾPyNhǞ(~J7+n$֭Lxxф8CySׄ ]f;XkL'/,kV@VwFjUQ/B 8Q!=ջL|LO/sbj p4b&zpLf.($}6OsXȅ_\@ *Hj`˂[^3[oM q<խ ؟! [~ UμHX`ZD .y Y*~TD%4ϴIcf QcYHC*cJRҀG ;ɿ@3~ZLkŎ8E8~xO_([zR6 +y-?Gz5O}MsAtԏ|THF endstream endobj -2172 0 obj +2173 0 obj << /Subtype /Image /ColorSpace /DeviceGray @@ -30828,7 +30888,7 @@ stream ;Y endstream endobj -2177 0 obj +2178 0 obj << /Filter /FlateDecode /Length 171 @@ -30837,7 +30897,7 @@ stream x]M FOĸma0,;vߛ|~D. #ƪ[ q2WNyYz&GNYM9.^i'dmQtCM)Y:2D^26Y?iRt4ఆ6޹Wc,Ož=+V endstream endobj -2179 0 obj +2180 0 obj << /Filter /FlateDecode /Length 191 @@ -30847,7 +30907,7 @@ x U}uT-mǸT)uɺDyC (|i_ endstream endobj -2180 0 obj +2181 0 obj << /Filter /FlateDecode /Length1 11124 @@ -30896,7 +30956,7 @@ B endstream endobj -2181 0 obj +2182 0 obj << /Filter /FlateDecode /Length1 3512 @@ -30912,7 +30972,7 @@ a l'uoL|Ero9ߺӣ( endstream endobj -2188 0 obj +2189 0 obj << /Length 8640 >> @@ -31080,20 +31140,20 @@ ET endstream endobj -2182 0 obj +2183 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (../figures/hll.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 2192 0 R +/PTEX.InfoDict 2193 0 R /BBox [0 0 494 214] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 2193 0 R ->>/Font << /R8 2194 0 R/R10 2195 0 R>> +/R7 2194 0 R +>>/Font << /R8 2195 0 R/R10 2196 0 R>> >> /Length 2880 /Filter /FlateDecode @@ -31115,7 +31175,7 @@ l <O?ӂ2.g9_*Ps OYTUvrƈSbzh8ѽXZ`矝@8w)akEvK|dGs%D YV@( zC׬87xVNj i3k4w(lV*|ikԦ*kK_Box:H+xi[;<+i`8= endstream endobj -2197 0 obj +2198 0 obj << /Filter /FlateDecode /Length 214 @@ -31124,7 +31184,7 @@ stream x]0 {@فLOK p#&QZ]VqA ׁ͈n G64( ~R6&{ax.[DKQ7idZ?:;> @@ -31522,20 +31582,20 @@ ET endstream endobj -2204 0 obj +2205 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figures/dia.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 2213 0 R +/PTEX.InfoDict 2214 0 R /BBox [0 0 499 211] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 2214 0 R ->>/Font << /R8 2215 0 R/R10 2216 0 R>> +/R7 2215 0 R +>>/Font << /R8 2216 0 R/R10 2217 0 R>> >> /Length 2502 /Filter /FlateDecode @@ -31553,7 +31613,7 @@ $ rca8zDbHd'\L/1ٌ,0Fc)T#  7,j7%ΥR6q4/ٸg]\\W\+3,mLrJ7&?9.yQQШѕ&Gsm7LϋI7=mMm/]o/vUQxT._lâQU.$Rg{cLq1><>bJ:_ƽ:dp>yov翑ӑ-u縑߿&& endstream endobj -2218 0 obj +2219 0 obj << /Filter /FlateDecode /Length 177 @@ -31563,7 +31623,7 @@ x t s1#8UlV"αCcfb/9=FpQbxCvQY endstream endobj -2220 0 obj +2221 0 obj << /Filter /FlateDecode /Length 197 @@ -31572,7 +31632,7 @@ stream x]M FmLqѦi{ ꢷ0j] #kkʳG Vn", FY^ fҁeM';3Mטy%hQBIk?={Ao3d++ĚJh ˪P* Q$ĆFCι=7[WL-asb endstream endobj -2221 0 obj +2222 0 obj << /Filter /FlateDecode /Length1 9528 @@ -31606,7 +31666,7 @@ E _ [C,0Z +ׅÿ]i ^g\oȯ'/! `?G&XI,bQ ~8߇^: Zp"'Drms#0F~6McӴBi6U Ⱦ?GN_XR=$=zC/]lQdE3ꊭi endstream endobj -2222 0 obj +2223 0 obj << /Filter /FlateDecode /Length1 4304 @@ -31632,7 +31692,7 @@ Hp }ػ.|wy endstream endobj -2227 0 obj +2228 0 obj << /Length 9674 >> @@ -31859,22 +31919,22 @@ ET endstream endobj -2223 0 obj +2224 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (../figures/hdia.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 2230 0 R +/PTEX.InfoDict 2231 0 R /BBox [0 0 556 211] /Resources << /ProcSet [ /PDF /ImageC /Text ] /ExtGState << -/R7 2231 0 R +/R7 2232 0 R >>/XObject << -/R8 2232 0 R ->>/Font << /R9 2233 0 R/R11 2234 0 R>> +/R8 2233 0 R +>>/Font << /R9 2234 0 R/R11 2235 0 R>> >> /Length 3027 /Filter /FlateDecode @@ -31891,7 +31951,7 @@ mC WهZ1mC8?ehc57-7hhlABgĠQ YP׾Zkaf%1#YStIo`FzT#:""w+jeqA#X#͸g = 1cPD-,ZJ3k-^ZnrABqL-9|S,cphbABgĠZ lYfF]æf^g8ų7ĊlT3" ڿV)Z?f̺1ְX]]LȿYKjϢKedjP\+uUq(q|Kcth|;D8T3Y˫HNJ+QnǨ١k1*R$`j f,vU#}Jo|Yք5%sM%x?kSW-"RMXQքG|dէԄ5kšjwjtnVUne4;r!6tA Y!eB:h yJ:D#R[Da̖Is<Hed m8% P#޴ϷmxGZˑn9s#jN5cG,rum|i8PE!*] GR,_#?fCsâݴϷ}$Ǯ`LyR+Q#KzT&z)H_x6=OOgixLE8ɫKc2OOUjSJ[YE,l^ygeآo }DBt'" +}fbB͏7x6qߟ` dP۝{%^w_΅)zɎ- ʪ#O! smRa;a\=sﮆ@w}.?NC ,P{ԅJ8}Hzw׿{Uۇ}nbURA4ۃǹ@7#ׯ"W}{{~fZg)wG?4 endstream endobj -2232 0 obj +2233 0 obj << /Subtype /Image /ColorSpace /DeviceGray @@ -31910,7 +31970,7 @@ stream 0l?@ endstream endobj -2236 0 obj +2237 0 obj << /Filter /FlateDecode /Length 177 @@ -31919,7 +31979,7 @@ stream x]1 EwN 0C%]24^/8Ilm.SHA SI-iPt>^T$DeΣZ=;b``JCR~r޵v]0c1%VKUP Jv4Dojy}C*Z|Y endstream endobj -2238 0 obj +2239 0 obj << /Filter /FlateDecode /Length 213 @@ -31931,7 +31991,7 @@ e Y$c yJ l endstream endobj -2239 0 obj +2240 0 obj << /Filter /FlateDecode /Length1 10604 @@ -31965,7 +32025,7 @@ b YF. XbιKo߾ں9 ,pxgx`K)Dl;yj8[=2dqmᏓ;EP%=X endstream endobj -2240 0 obj +2241 0 obj << /Filter /FlateDecode /Length1 5080 @@ -31986,7 +32046,7 @@ Y2 p}3y.pĀq%t1ޮonbeM03kD ^ow# '?rt39#W||ADe0bx`}u%\3Ze?|Od?o2U3W )' endstream endobj -2243 0 obj +2244 0 obj << /Length 1097 >> @@ -32046,7 +32106,7 @@ ET endstream endobj -2247 0 obj +2248 0 obj << /Length 7873 >> @@ -32113,7 +32173,7 @@ ET endstream endobj -2251 0 obj +2252 0 obj << /Length 5844 >> @@ -32216,7 +32276,7 @@ ET endstream endobj -2256 0 obj +2257 0 obj << /Length 5432 >> @@ -32404,7 +32464,7 @@ ET endstream endobj -2260 0 obj +2261 0 obj << /Length 2725 >> @@ -32508,7 +32568,7 @@ ET endstream endobj -2265 0 obj +2266 0 obj << /Length 81 >> @@ -32523,7 +32583,7 @@ ET endstream endobj -2269 0 obj +2270 0 obj << /Length 7303 >> @@ -32587,52 +32647,59 @@ ET endstream endobj -2175 0 obj +2176 0 obj << /Type /ObjStm /N 100 -/First 985 -/Length 11845 ->> -stream -2171 0 2173 43 2174 248 2176 537 2178 758 2135 971 2160 1117 2145 1175 2161 1234 2162 1293 -2163 1352 2164 1411 2165 1470 2166 1529 2167 1588 2168 1646 2156 1705 2169 1764 2157 1822 2187 2017 -2192 2174 2193 2354 2194 2397 2195 2700 2196 2905 2198 3118 2183 3339 2184 3486 2185 3633 2189 3780 -2190 3839 2191 3897 2186 3956 2207 4166 2213 4305 2214 4485 2215 4528 2216 4729 2217 5024 2219 5245 -2205 5458 2209 5604 2202 5662 2210 5721 2203 5779 2211 5838 2206 5896 2226 6050 2230 6189 2231 6369 -2233 6412 2234 6619 2235 6920 2237 7141 2224 7354 2228 7501 2229 7560 2225 7619 2242 7801 2244 7919 -2241 7977 2246 8060 2248 8178 614 8237 2245 8295 2250 8418 2252 8536 618 8594 622 8650 2253 8707 -626 8765 2249 8822 2255 8917 2257 9035 630 9094 634 9152 638 9210 642 9268 646 9326 650 9384 -654 9442 658 9500 2254 9558 2259 9653 2261 9771 662 9829 666 9886 670 9943 674 10000 2258 10057 -2264 10152 2266 10270 2263 10329 2268 10397 2270 10515 2271 10573 2272 10631 2013 10689 958 10746 957 10803 +/First 989 +/Length 11972 +>> +stream +2171 0 2172 180 2174 223 2175 428 2177 717 2179 938 2136 1151 2161 1297 2146 1355 2162 1414 +2163 1473 2164 1532 2165 1591 2166 1650 2167 1709 2168 1768 2169 1826 2157 1885 2170 1944 2158 2002 +2188 2197 2193 2354 2194 2534 2195 2577 2196 2880 2197 3085 2199 3298 2184 3519 2185 3666 2186 3813 +2190 3960 2191 4019 2192 4077 2187 4136 2208 4346 2214 4485 2215 4665 2216 4708 2217 4909 2218 5204 +2220 5425 2206 5638 2210 5784 2203 5842 2211 5901 2204 5959 2212 6018 2207 6076 2227 6230 2231 6369 +2232 6549 2234 6592 2235 6799 2236 7100 2238 7321 2225 7534 2229 7681 2230 7740 2226 7799 2243 7981 +2245 8099 2242 8157 2247 8240 2249 8358 614 8417 2246 8475 2251 8598 2253 8716 618 8774 622 8830 +2254 8887 626 8945 2250 9002 2256 9097 2258 9215 630 9274 634 9332 638 9390 642 9448 646 9506 +650 9564 654 9622 658 9680 2255 9738 2260 9833 2262 9951 662 10009 666 10066 670 10123 674 10180 +2259 10237 2265 10332 2267 10450 2264 10509 2269 10577 2271 10695 2272 10753 2273 10811 2014 10869 958 10926 % 2171 0 obj << +/Producer (GPL Ghostscript 9.10) +/CreationDate (D:20140329133928+01'00') +/ModDate (D:20140329133928+01'00') +/Creator (cairo 1.13.1 \(http://cairographics.org\)) +>> +% 2172 0 obj +<< /Type /ExtGState /OPM 1 >> -% 2173 0 obj +% 2174 0 obj << /BaseFont /YAZDUX+TimesNewRomanPSMT -/FontDescriptor 2176 0 R -/ToUnicode 2177 0 R +/FontDescriptor 2177 0 R +/ToUnicode 2178 0 R /Type /Font /FirstChar 48 /LastChar 57 /Widths [ 500 500 500 500 500 0 0 500 500 500] /Subtype /TrueType >> -% 2174 0 obj +% 2175 0 obj << /BaseFont /NDNSMY+FreeSerif -/FontDescriptor 2178 0 R -/ToUnicode 2179 0 R +/FontDescriptor 2179 0 R +/ToUnicode 2180 0 R /Type /Font /FirstChar 32 /LastChar 89 /Widths [ 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 721 0 0 0 0 0 0 0 0 385 0 0 0 0 0 0 0 667 529 0 0 0 0 0 701] /Subtype /TrueType >> -% 2176 0 obj +% 2177 0 obj << /Type /FontDescriptor /FontName /YAZDUX+TimesNewRomanPSMT @@ -32644,9 +32711,9 @@ stream /ItalicAngle 0 /StemV 95 /MissingWidth 777 -/FontFile2 2180 0 R +/FontFile2 2181 0 R >> -% 2178 0 obj +% 2179 0 obj << /Type /FontDescriptor /FontName /NDNSMY+FreeSerif @@ -32658,9 +32725,9 @@ stream /ItalicAngle 0 /StemV 105 /MissingWidth 600 -/FontFile2 2181 0 R +/FontFile2 2182 0 R >> -% 2135 0 obj +% 2136 0 obj << /Type /Annot /Subtype /Link @@ -32668,104 +32735,104 @@ stream /Rect [384.587 583.767 391.56 595.827] /A << /S /GoTo /D (figure.5) >> >> -% 2160 0 obj -<< -/D [2158 0 R /XYZ 98.895 753.953 null] ->> -% 2145 0 obj +% 2161 0 obj << -/D [2158 0 R /XYZ 389.217 621.446 null] +/D [2159 0 R /XYZ 98.895 753.953 null] >> -% 2161 0 obj +% 2146 0 obj << -/D [2158 0 R /XYZ 114.839 563.747 null] +/D [2159 0 R /XYZ 389.217 621.446 null] >> % 2162 0 obj << -/D [2158 0 R /XYZ 114.839 567.034 null] +/D [2159 0 R /XYZ 114.839 563.747 null] >> % 2163 0 obj << -/D [2158 0 R /XYZ 114.839 556.075 null] +/D [2159 0 R /XYZ 114.839 567.034 null] >> % 2164 0 obj << -/D [2158 0 R /XYZ 114.839 545.116 null] +/D [2159 0 R /XYZ 114.839 556.075 null] >> % 2165 0 obj << -/D [2158 0 R /XYZ 114.839 534.158 null] +/D [2159 0 R /XYZ 114.839 545.116 null] >> % 2166 0 obj << -/D [2158 0 R /XYZ 114.839 523.199 null] +/D [2159 0 R /XYZ 114.839 534.158 null] >> % 2167 0 obj << -/D [2158 0 R /XYZ 114.839 512.24 null] +/D [2159 0 R /XYZ 114.839 523.199 null] >> % 2168 0 obj << -/D [2158 0 R /XYZ 114.839 501.281 null] ->> -% 2156 0 obj -<< -/D [2158 0 R /XYZ 114.839 481.057 null] +/D [2159 0 R /XYZ 114.839 512.24 null] >> % 2169 0 obj << -/D [2158 0 R /XYZ 99.895 294.895 null] +/D [2159 0 R /XYZ 114.839 501.281 null] >> % 2157 0 obj << -/Font << /F84 687 0 R /F75 685 0 R /F233 1044 0 R /F279 1814 0 R /F78 686 0 R /F192 942 0 R /F190 941 0 R /F145 940 0 R >> -/XObject << /Im7 2134 0 R >> +/D [2159 0 R /XYZ 114.839 481.057 null] +>> +% 2170 0 obj +<< +/D [2159 0 R /XYZ 99.895 294.895 null] +>> +% 2158 0 obj +<< +/Font << /F84 687 0 R /F75 685 0 R /F233 1044 0 R /F279 1815 0 R /F78 686 0 R /F192 942 0 R /F190 941 0 R /F145 940 0 R >> +/XObject << /Im7 2135 0 R >> /ProcSet [ /PDF /Text ] >> -% 2187 0 obj +% 2188 0 obj << /Type /Page -/Contents 2188 0 R -/Resources 2186 0 R +/Contents 2189 0 R +/Resources 2187 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2116 0 R -/Annots [ 2183 0 R 2184 0 R 2185 0 R ] +/Parent 2117 0 R +/Annots [ 2184 0 R 2185 0 R 2186 0 R ] >> -% 2192 0 obj +% 2193 0 obj << /Producer (GPL Ghostscript 9.10) /CreationDate (D:20140329133928+01'00') /ModDate (D:20140329133928+01'00') /Creator (cairo 1.13.1 \(http://cairographics.org\)) >> -% 2193 0 obj +% 2194 0 obj << /Type /ExtGState /OPM 1 >> -% 2194 0 obj +% 2195 0 obj << /BaseFont /MCSFLP+FreeSerif -/FontDescriptor 2196 0 R -/ToUnicode 2197 0 R +/FontDescriptor 2197 0 R +/ToUnicode 2198 0 R /Type /Font /FirstChar 32 /LastChar 89 /Widths [ 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 721 0 670 0 610 564 0 714 0 385 709 0 0 0 724 0 0 667 529 606 0 0 0 0 701] /Subtype /TrueType >> -% 2195 0 obj +% 2196 0 obj << /BaseFont /AJRCAD+TimesNewRomanPSMT -/FontDescriptor 2198 0 R -/ToUnicode 2199 0 R +/FontDescriptor 2199 0 R +/ToUnicode 2200 0 R /Type /Font /FirstChar 48 /LastChar 57 /Widths [ 500 500 500 500 500 0 0 500 500 500] /Subtype /TrueType >> -% 2196 0 obj +% 2197 0 obj << /Type /FontDescriptor /FontName /MCSFLP+FreeSerif @@ -32777,9 +32844,9 @@ stream /ItalicAngle 0 /StemV 105 /MissingWidth 600 -/FontFile2 2200 0 R +/FontFile2 2201 0 R >> -% 2198 0 obj +% 2199 0 obj << /Type /FontDescriptor /FontName /AJRCAD+TimesNewRomanPSMT @@ -32791,9 +32858,9 @@ stream /ItalicAngle 0 /StemV 95 /MissingWidth 777 -/FontFile2 2201 0 R +/FontFile2 2202 0 R >> -% 2183 0 obj +% 2184 0 obj << /Type /Annot /Subtype /Link @@ -32801,7 +32868,7 @@ stream /Rect [453.687 426.731 460.661 438.791] /A << /S /GoTo /D (figure.5) >> >> -% 2184 0 obj +% 2185 0 obj << /Type /Annot /Subtype /Link @@ -32809,7 +32876,7 @@ stream /Rect [354.541 176.362 361.575 188.421] /A << /S /GoTo /D (figure.8) >> >> -% 2185 0 obj +% 2186 0 obj << /Type /Annot /Subtype /Link @@ -32817,68 +32884,68 @@ stream /Rect [487.118 128.475 494.142 140.535] /A << /S /GoTo /D (algocf.2) >> >> -% 2189 0 obj -<< -/D [2187 0 R /XYZ 149.705 753.953 null] ->> % 2190 0 obj << -/D [2187 0 R /XYZ 447.542 464.41 null] +/D [2188 0 R /XYZ 149.705 753.953 null] >> % 2191 0 obj << -/D [2187 0 R /XYZ 150.705 211.214 null] +/D [2188 0 R /XYZ 447.542 464.41 null] >> -% 2186 0 obj +% 2192 0 obj +<< +/D [2188 0 R /XYZ 150.705 211.214 null] +>> +% 2187 0 obj << -/Font << /F84 687 0 R /F78 686 0 R /F192 942 0 R /F145 940 0 R /F233 1044 0 R /F279 1814 0 R /F148 1490 0 R /F190 941 0 R /F75 685 0 R >> -/XObject << /Im8 2182 0 R >> +/Font << /F84 687 0 R /F78 686 0 R /F192 942 0 R /F145 940 0 R /F233 1044 0 R /F279 1815 0 R /F148 1490 0 R /F190 941 0 R /F75 685 0 R >> +/XObject << /Im8 2183 0 R >> /ProcSet [ /PDF /Text ] >> -% 2207 0 obj +% 2208 0 obj << /Type /Page -/Contents 2208 0 R -/Resources 2206 0 R +/Contents 2209 0 R +/Resources 2207 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2212 0 R -/Annots [ 2205 0 R ] +/Parent 2213 0 R +/Annots [ 2206 0 R ] >> -% 2213 0 obj +% 2214 0 obj << /Producer (GPL Ghostscript 9.10) /CreationDate (D:20140329133927+01'00') /ModDate (D:20140329133927+01'00') /Creator (cairo 1.13.1 \(http://cairographics.org\)) >> -% 2214 0 obj +% 2215 0 obj << /Type /ExtGState /OPM 1 >> -% 2215 0 obj +% 2216 0 obj << /BaseFont /BNRUAU+TimesNewRomanPSMT -/FontDescriptor 2217 0 R -/ToUnicode 2218 0 R +/FontDescriptor 2218 0 R +/ToUnicode 2219 0 R /Type /Font /FirstChar 45 /LastChar 55 /Widths [ 333 0 0 500 500 500 0 0 0 0 500] /Subtype /TrueType >> -% 2216 0 obj +% 2217 0 obj << /BaseFont /ICFUKB+FreeSerif -/FontDescriptor 2219 0 R -/ToUnicode 2220 0 R +/FontDescriptor 2220 0 R +/ToUnicode 2221 0 R /Type /Font /FirstChar 32 /LastChar 89 /Widths [ 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 721 0 0 0 610 564 0 0 0 0 0 0 0 0 724 0 0 667 529 606 0 0 0 0 701] /Subtype /TrueType >> -% 2217 0 obj +% 2218 0 obj << /Type /FontDescriptor /FontName /BNRUAU+TimesNewRomanPSMT @@ -32890,9 +32957,9 @@ stream /ItalicAngle 0 /StemV 95 /MissingWidth 777 -/FontFile2 2221 0 R +/FontFile2 2222 0 R >> -% 2219 0 obj +% 2220 0 obj << /Type /FontDescriptor /FontName /ICFUKB+FreeSerif @@ -32904,9 +32971,9 @@ stream /ItalicAngle 0 /StemV 105 /MissingWidth 600 -/FontFile2 2222 0 R +/FontFile2 2223 0 R >> -% 2205 0 obj +% 2206 0 obj << /Type /Annot /Subtype /Link @@ -32914,76 +32981,76 @@ stream /Rect [371.292 537.01 378.265 549.069] /A << /S /GoTo /D (figure.5) >> >> -% 2209 0 obj +% 2210 0 obj << -/D [2207 0 R /XYZ 98.895 753.953 null] +/D [2208 0 R /XYZ 98.895 753.953 null] >> -% 2202 0 obj +% 2203 0 obj << -/D [2207 0 R /XYZ 396.732 574.688 null] +/D [2208 0 R /XYZ 396.732 574.688 null] >> -% 2210 0 obj +% 2211 0 obj << -/D [2207 0 R /XYZ 99.895 526.012 null] +/D [2208 0 R /XYZ 99.895 526.012 null] >> -% 2203 0 obj +% 2204 0 obj << -/D [2207 0 R /XYZ 114.839 383.469 null] +/D [2208 0 R /XYZ 114.839 383.469 null] >> -% 2211 0 obj +% 2212 0 obj << -/D [2207 0 R /XYZ 99.895 187.185 null] +/D [2208 0 R /XYZ 99.895 187.185 null] >> -% 2206 0 obj +% 2207 0 obj << -/Font << /F84 687 0 R /F145 940 0 R /F233 1044 0 R /F75 685 0 R /F279 1814 0 R >> -/XObject << /Im9 2204 0 R >> +/Font << /F84 687 0 R /F145 940 0 R /F233 1044 0 R /F75 685 0 R /F279 1815 0 R >> +/XObject << /Im9 2205 0 R >> /ProcSet [ /PDF /Text ] >> -% 2226 0 obj +% 2227 0 obj << /Type /Page -/Contents 2227 0 R -/Resources 2225 0 R +/Contents 2228 0 R +/Resources 2226 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2212 0 R -/Annots [ 2224 0 R ] +/Parent 2213 0 R +/Annots [ 2225 0 R ] >> -% 2230 0 obj +% 2231 0 obj << /Producer (GPL Ghostscript 9.10) /CreationDate (D:20140329133928+01'00') /ModDate (D:20140329133928+01'00') /Creator (cairo 1.13.1 \(http://cairographics.org\)) >> -% 2231 0 obj +% 2232 0 obj << /Type /ExtGState /OPM 1 >> -% 2233 0 obj +% 2234 0 obj << /BaseFont /PBIKKX+TimesNewRomanPSMT -/FontDescriptor 2235 0 R -/ToUnicode 2236 0 R +/FontDescriptor 2236 0 R +/ToUnicode 2237 0 R /Type /Font /FirstChar 45 /LastChar 55 /Widths [ 333 0 0 500 500 0 500 500 500 500 500] /Subtype /TrueType >> -% 2234 0 obj +% 2235 0 obj << /BaseFont /ZBHFTP+FreeSerif -/FontDescriptor 2237 0 R -/ToUnicode 2238 0 R +/FontDescriptor 2238 0 R +/ToUnicode 2239 0 R /Type /Font /FirstChar 32 /LastChar 89 /Widths [ 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 721 0 670 0 610 564 0 714 0 0 709 0 0 0 724 0 0 667 529 606 0 0 0 0 701] /Subtype /TrueType >> -% 2235 0 obj +% 2236 0 obj << /Type /FontDescriptor /FontName /PBIKKX+TimesNewRomanPSMT @@ -32995,9 +33062,9 @@ stream /ItalicAngle 0 /StemV 95 /MissingWidth 777 -/FontFile2 2239 0 R +/FontFile2 2240 0 R >> -% 2237 0 obj +% 2238 0 obj << /Type /FontDescriptor /FontName /ZBHFTP+FreeSerif @@ -33009,9 +33076,9 @@ stream /ItalicAngle 0 /StemV 105 /MissingWidth 600 -/FontFile2 2240 0 R +/FontFile2 2241 0 R >> -% 2224 0 obj +% 2225 0 obj << /Type /Annot /Subtype /Link @@ -33019,226 +33086,222 @@ stream /Rect [440.392 344.666 447.366 356.726] /A << /S /GoTo /D (figure.5) >> >> -% 2228 0 obj +% 2229 0 obj << -/D [2226 0 R /XYZ 149.705 753.953 null] +/D [2227 0 R /XYZ 149.705 753.953 null] >> -% 2229 0 obj +% 2230 0 obj << -/D [2226 0 R /XYZ 447.542 382.345 null] +/D [2227 0 R /XYZ 447.542 382.345 null] >> -% 2225 0 obj +% 2226 0 obj << -/Font << /F84 687 0 R /F145 940 0 R /F78 686 0 R /F75 685 0 R /F192 942 0 R /F233 1044 0 R /F279 1814 0 R >> -/XObject << /Im10 2223 0 R >> +/Font << /F84 687 0 R /F145 940 0 R /F78 686 0 R /F75 685 0 R /F192 942 0 R /F233 1044 0 R /F279 1815 0 R >> +/XObject << /Im10 2224 0 R >> /ProcSet [ /PDF /Text ] >> -% 2242 0 obj +% 2243 0 obj << /Type /Page -/Contents 2243 0 R -/Resources 2241 0 R +/Contents 2244 0 R +/Resources 2242 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2212 0 R +/Parent 2213 0 R >> -% 2244 0 obj +% 2245 0 obj << -/D [2242 0 R /XYZ 98.895 753.953 null] +/D [2243 0 R /XYZ 98.895 753.953 null] >> -% 2241 0 obj +% 2242 0 obj << /Font << /F233 1044 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 2246 0 obj +% 2247 0 obj << /Type /Page -/Contents 2247 0 R -/Resources 2245 0 R +/Contents 2248 0 R +/Resources 2246 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2212 0 R +/Parent 2213 0 R >> -% 2248 0 obj +% 2249 0 obj << -/D [2246 0 R /XYZ 149.705 753.953 null] +/D [2247 0 R /XYZ 149.705 753.953 null] >> % 614 0 obj << -/D [2246 0 R /XYZ 150.705 716.092 null] +/D [2247 0 R /XYZ 150.705 716.092 null] >> -% 2245 0 obj +% 2246 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F233 1044 0 R /F145 940 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 2250 0 obj +% 2251 0 obj << /Type /Page -/Contents 2251 0 R -/Resources 2249 0 R +/Contents 2252 0 R +/Resources 2250 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2212 0 R +/Parent 2213 0 R >> -% 2252 0 obj +% 2253 0 obj << -/D [2250 0 R /XYZ 98.895 753.953 null] +/D [2251 0 R /XYZ 98.895 753.953 null] >> % 618 0 obj << -/D [2250 0 R /XYZ 99.895 554.06 null] +/D [2251 0 R /XYZ 99.895 554.06 null] >> % 622 0 obj << -/D [2250 0 R /XYZ 99.895 527.944 null] +/D [2251 0 R /XYZ 99.895 527.944 null] >> -% 2253 0 obj +% 2254 0 obj << -/D [2250 0 R /XYZ 99.895 315.727 null] +/D [2251 0 R /XYZ 99.895 315.727 null] >> % 626 0 obj << -/D [2250 0 R /XYZ 99.895 284.171 null] +/D [2251 0 R /XYZ 99.895 284.171 null] >> -% 2249 0 obj +% 2250 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 2255 0 obj +% 2256 0 obj << /Type /Page -/Contents 2256 0 R -/Resources 2254 0 R +/Contents 2257 0 R +/Resources 2255 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2212 0 R +/Parent 2213 0 R >> -% 2257 0 obj +% 2258 0 obj << -/D [2255 0 R /XYZ 149.705 753.953 null] +/D [2256 0 R /XYZ 149.705 753.953 null] >> % 630 0 obj << -/D [2255 0 R /XYZ 150.705 720.077 null] +/D [2256 0 R /XYZ 150.705 720.077 null] >> % 634 0 obj << -/D [2255 0 R /XYZ 150.705 633.991 null] +/D [2256 0 R /XYZ 150.705 633.991 null] >> % 638 0 obj << -/D [2255 0 R /XYZ 150.705 559.861 null] +/D [2256 0 R /XYZ 150.705 559.861 null] >> % 642 0 obj << -/D [2255 0 R /XYZ 150.705 485.732 null] +/D [2256 0 R /XYZ 150.705 485.732 null] >> % 646 0 obj << -/D [2255 0 R /XYZ 150.705 411.602 null] +/D [2256 0 R /XYZ 150.705 411.602 null] >> % 650 0 obj << -/D [2255 0 R /XYZ 150.705 325.516 null] +/D [2256 0 R /XYZ 150.705 325.516 null] >> % 654 0 obj << -/D [2255 0 R /XYZ 150.705 251.386 null] +/D [2256 0 R /XYZ 150.705 251.386 null] >> % 658 0 obj << -/D [2255 0 R /XYZ 150.705 177.256 null] +/D [2256 0 R /XYZ 150.705 177.256 null] >> -% 2254 0 obj +% 2255 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 2259 0 obj +% 2260 0 obj << /Type /Page -/Contents 2260 0 R -/Resources 2258 0 R +/Contents 2261 0 R +/Resources 2259 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2262 0 R +/Parent 2263 0 R >> -% 2261 0 obj +% 2262 0 obj << -/D [2259 0 R /XYZ 98.895 753.953 null] +/D [2260 0 R /XYZ 98.895 753.953 null] >> % 662 0 obj << -/D [2259 0 R /XYZ 99.895 720.077 null] +/D [2260 0 R /XYZ 99.895 720.077 null] >> % 666 0 obj << -/D [2259 0 R /XYZ 99.895 650.062 null] +/D [2260 0 R /XYZ 99.895 650.062 null] >> % 670 0 obj << -/D [2259 0 R /XYZ 99.895 580.047 null] +/D [2260 0 R /XYZ 99.895 580.047 null] >> % 674 0 obj << -/D [2259 0 R /XYZ 99.895 510.033 null] +/D [2260 0 R /XYZ 99.895 510.033 null] >> -% 2258 0 obj +% 2259 0 obj << /Font << /F75 685 0 R /F145 940 0 R /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 2264 0 obj +% 2265 0 obj << /Type /Page -/Contents 2265 0 R -/Resources 2263 0 R +/Contents 2266 0 R +/Resources 2264 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2262 0 R +/Parent 2263 0 R >> -% 2266 0 obj +% 2267 0 obj << -/D [2264 0 R /XYZ 149.705 753.953 null] +/D [2265 0 R /XYZ 149.705 753.953 null] >> -% 2263 0 obj +% 2264 0 obj << /Font << /F84 687 0 R >> /ProcSet [ /PDF /Text ] >> -% 2268 0 obj +% 2269 0 obj << /Type /Page -/Contents 2269 0 R -/Resources 2267 0 R +/Contents 2270 0 R +/Resources 2268 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2262 0 R ->> -% 2270 0 obj -<< -/D [2268 0 R /XYZ 98.895 753.953 null] +/Parent 2263 0 R >> % 2271 0 obj << -/D [2268 0 R /XYZ 99.895 723.717 null] +/D [2269 0 R /XYZ 98.895 753.953 null] >> % 2272 0 obj << -/D [2268 0 R /XYZ 99.895 698.792 null] +/D [2269 0 R /XYZ 99.895 723.717 null] >> -% 2013 0 obj +% 2273 0 obj << -/D [2268 0 R /XYZ 99.895 638.64 null] +/D [2269 0 R /XYZ 99.895 698.792 null] >> -% 958 0 obj +% 2014 0 obj << -/D [2268 0 R /XYZ 99.895 595.644 null] +/D [2269 0 R /XYZ 99.895 638.64 null] >> -% 957 0 obj +% 958 0 obj << -/D [2268 0 R /XYZ 99.895 538.043 null] +/D [2269 0 R /XYZ 99.895 595.644 null] >> endstream endobj -2278 0 obj +2279 0 obj << /Length 6164 >> @@ -33301,7 +33364,7 @@ ET endstream endobj -2296 0 obj +2297 0 obj << /Length1 1383 /Length2 5908 @@ -33372,7 +33435,7 @@ W 6S&_!S|esUFRyYﭧN endstream endobj -2298 0 obj +2299 0 obj << /Length1 1956 /Length2 7144 @@ -33489,7 +33552,7 @@ _g\e+J`ڼu FAa.Pgvasl ZBhgǠW -BѶNh`˨[Wj)q(͌.wY$Q0] endstream endobj -2300 0 obj +2301 0 obj << /Length1 1442 /Length2 6151 @@ -33567,7 +33630,7 @@ n^ r sbVb)l 2STH+PMzjzif$DMkV ?\ټ>߈ƶa<EELD6=tE.(%Fo~6r\l;s'$ֵ>4r$2DZ~*\R Yi$=ޡk'哙.m6–tY0O$)QrUQ+ߪ4(,Qb8mөqH=,Y8i SZ6m@`7~"L7\FdN#FHRKKHpb40 2~HKε֊X endstream endobj -2302 0 obj +2303 0 obj << /Length1 1478 /Length2 6403 @@ -33648,7 +33711,7 @@ O G0+B+渞bqGYitLxRIPvhԥϋ^:nwp5>^؉R}4agl}^(t7a &)ZS8n}@f0;b.ۣEL7%3C,@7[I [1sIX<[f܌a:?y3"u/'\d Dӹ=qU kκH$ yQ7pl*mhS]AD5ƫ79 endstream endobj -2304 0 obj +2305 0 obj << /Length1 1688 /Length2 8444 @@ -33739,7 +33802,7 @@ p b|<dF.O[vOhgyQ쮗h0},:(і~6umXRV<гJVM\Fw%T6VvQnϨ: M\څU-:φ57M}!ZD s  {$Q0݄n띮 (N3[( ?ӌo9Tuҫ6nuD!qZUT!pڐV؞/\h^:'.AES6P*BYL endstream endobj -2306 0 obj +2307 0 obj << /Length1 2571 /Length2 18274 @@ -33929,7 +33992,7 @@ bvT $L`u\$y 63ra *}LONVz`N~D|!5kW ˏ[u 1H6G yDАWC%ҸV96k>lLtg)d:|\,?پd5֌#2}Ù >>Ayr5d>>:Xqa x^J^a 2PAk@AP~)ο ׫lV]$>OmK1y^џ= "YkKgt[16eധp[hNc}]#^kNoʼm, 5uy<nTAt<w&+5Oy[N[P+J $iٍ/%ֈHEPBaz`~-a+wi W=Y%b-SQ=SVuIwﮖHC8q- WR͢ݼ?҉Gg5)9 P9_Q+[nk#%J!z6:Li)YexR4̩b&-bϠeNbx+Ԃ>xr}ԁ%Sx#\/aĬ1^BIO̅ԕx_<=rTi_[-W&g!z{Ni%3s|刽66g಑doD^-@AJHSPHS[N:OR~\bj1 p endstream endobj -2312 0 obj +2313 0 obj << /Length1 1191 /Length2 3225 @@ -34224,7 +34287,7 @@ s; 3B@Fs5 endstream endobj -2314 0 obj +2315 0 obj << /Length1 1188 /Length2 2740 @@ -34273,7 +34336,7 @@ A֪^ 6 f r^715ajAnWɩ!p clov>ժI83!/ J?|i$d_(/;b49%Xealwv_̹@drp.l䧏<ɁJt~M[y 3[{ endstream endobj -2316 0 obj +2317 0 obj << /Length1 1614 /Length2 22531 @@ -34393,7 +34456,7 @@ s K=(HfUrIQ$W0Lյ8Xk߉JMz{Pԓ>$ y"jrXfyLEtnyɎQ]Ex.B;[XnUOś1Ndɸ&Ό endstream endobj -2318 0 obj +2319 0 obj << /Length1 1616 /Length2 24418 @@ -34518,7 +34581,7 @@ c51 A2C05o]}I(&* ;@ar@\-@|5JZT .1T"aJk:bĖD| endstream endobj -2320 0 obj +2321 0 obj << /Length1 1620 /Length2 18334 @@ -34627,7 +34690,7 @@ Gɽ Ͽ([[ tz|' oUcyrH+(m 8$#% endstream endobj -2322 0 obj +2323 0 obj << /Length 1007 >> @@ -34697,7 +34760,7 @@ end endstream endobj -2323 0 obj +2324 0 obj << /Length 1577 >> @@ -34812,7 +34875,7 @@ end endstream endobj -2324 0 obj +2325 0 obj << /Length 1535 >> @@ -34918,7 +34981,7 @@ end endstream endobj -2325 0 obj +2326 0 obj << /Length 1724 >> @@ -35041,7 +35104,7 @@ end endstream endobj -2326 0 obj +2327 0 obj << /Length 2050 >> @@ -35187,7 +35250,7 @@ end endstream endobj -2327 0 obj +2328 0 obj << /Length 1543 >> @@ -35300,7 +35363,7 @@ end endstream endobj -2328 0 obj +2329 0 obj << /Length 1538 >> @@ -35413,7 +35476,7 @@ end endstream endobj -2329 0 obj +2330 0 obj << /Length 1538 >> @@ -35526,7 +35589,7 @@ end endstream endobj -2330 0 obj +2331 0 obj << /Length 853 >> @@ -35584,7 +35647,7 @@ end endstream endobj -2331 0 obj +2332 0 obj << /Length 1113 >> @@ -35662,7 +35725,7 @@ end endstream endobj -2332 0 obj +2333 0 obj << /Length 1477 >> @@ -35765,7 +35828,7 @@ end endstream endobj -2333 0 obj +2334 0 obj << /Length 1477 >> @@ -35868,7 +35931,7 @@ end endstream endobj -2334 0 obj +2335 0 obj << /Length 1482 >> @@ -35971,153 +36034,157 @@ end endstream endobj -2275 0 obj +2276 0 obj << /Type /ObjStm /N 100 -/First 1011 -/Length 18541 ->> -stream -916 0 917 57 933 114 913 171 914 227 2273 284 909 342 2274 399 2267 457 2277 551 -2279 669 1074 728 945 787 915 845 912 903 908 961 2143 1019 911 1078 2280 1136 910 1195 -2128 1252 2129 1311 2281 1370 2276 1429 2282 1524 2283 1544 2284 1915 2285 2018 2286 2341 2287 2364 -2288 2819 2289 2948 2290 3246 2291 3892 2293 4363 2294 4994 2295 5465 2297 6040 2299 6265 2301 6597 -2303 6841 2305 7112 2307 7460 2309 7966 2311 8200 2313 8674 2315 8906 2317 9137 2319 9616 2321 10192 -2292 10610 1883 11051 1814 11214 1490 11377 942 11538 941 11697 940 11857 1000 12018 1044 12179 1285 12340 -1157 12504 685 12674 687 12864 686 13054 688 13244 894 13357 978 13470 1052 13587 1087 13707 1117 13827 -1158 13947 1205 14067 1244 14187 1300 14307 1351 14427 1400 14547 1457 14667 1492 14787 1534 14907 1577 15027 -1626 15147 1663 15267 1698 15387 1739 15507 1781 15627 1806 15747 1842 15867 1876 15987 1915 16107 1953 16227 -1990 16347 2035 16467 2071 16587 2116 16707 2212 16827 2262 16947 2335 17049 2336 17167 2337 17288 2338 17409 +/First 1009 +/Length 18475 +>> +stream +957 0 916 57 917 114 933 171 913 228 914 284 2274 341 909 399 2275 456 2268 514 +2278 608 2280 726 1074 785 945 844 915 902 912 960 908 1018 2144 1076 911 1135 2281 1193 +910 1252 2129 1309 2130 1368 2282 1427 2277 1486 2283 1581 2284 1601 2285 1972 2286 2075 2287 2398 +2288 2421 2289 2876 2290 3005 2291 3303 2292 3949 2294 4420 2295 5051 2296 5522 2298 6097 2300 6322 +2302 6654 2304 6898 2306 7169 2308 7517 2310 8023 2312 8257 2314 8731 2316 8963 2318 9194 2320 9673 +2322 10249 2293 10667 1884 11108 1815 11271 1490 11434 942 11595 941 11754 940 11914 1000 12075 1044 12236 +1285 12397 1157 12561 685 12731 687 12921 686 13111 688 13301 894 13414 978 13527 1052 13644 1087 13764 +1117 13884 1158 14004 1205 14124 1244 14244 1300 14364 1351 14484 1400 14604 1457 14724 1492 14844 1534 14964 +1577 15084 1626 15204 1663 15324 1698 15444 1739 15564 1782 15684 1807 15804 1843 15924 1877 16044 1916 16164 +1954 16284 1991 16404 2036 16524 2072 16644 2117 16764 2213 16884 2263 17004 2336 17106 2337 17224 2338 17345 +% 957 0 obj +<< +/D [2269 0 R /XYZ 99.895 538.043 null] +>> % 916 0 obj << -/D [2268 0 R /XYZ 99.895 477.792 null] +/D [2269 0 R /XYZ 99.895 477.792 null] >> % 917 0 obj << -/D [2268 0 R /XYZ 99.895 433.422 null] +/D [2269 0 R /XYZ 99.895 433.422 null] >> % 933 0 obj << -/D [2268 0 R /XYZ 99.895 398.456 null] +/D [2269 0 R /XYZ 99.895 398.456 null] >> % 913 0 obj << -/D [2268 0 R /XYZ 99.895 352.81 null] +/D [2269 0 R /XYZ 99.895 352.81 null] >> % 914 0 obj << -/D [2268 0 R /XYZ 99.895 307.164 null] +/D [2269 0 R /XYZ 99.895 307.164 null] >> -% 2273 0 obj +% 2274 0 obj << -/D [2268 0 R /XYZ 99.895 261.519 null] +/D [2269 0 R /XYZ 99.895 261.519 null] >> % 909 0 obj << -/D [2268 0 R /XYZ 99.895 215.873 null] +/D [2269 0 R /XYZ 99.895 215.873 null] >> -% 2274 0 obj +% 2275 0 obj << -/D [2268 0 R /XYZ 99.895 170.895 null] +/D [2269 0 R /XYZ 99.895 170.895 null] >> -% 2267 0 obj +% 2268 0 obj << /Font << /F75 685 0 R /F84 687 0 R /F78 686 0 R >> /ProcSet [ /PDF /Text ] >> -% 2277 0 obj +% 2278 0 obj << /Type /Page -/Contents 2278 0 R -/Resources 2276 0 R +/Contents 2279 0 R +/Resources 2277 0 R /MediaBox [0 0 595.276 841.89] -/Parent 2262 0 R +/Parent 2263 0 R >> -% 2279 0 obj +% 2280 0 obj << -/D [2277 0 R /XYZ 149.705 753.953 null] +/D [2278 0 R /XYZ 149.705 753.953 null] >> % 1074 0 obj << -/D [2277 0 R /XYZ 150.705 716.092 null] +/D [2278 0 R /XYZ 150.705 716.092 null] >> % 945 0 obj << -/D [2277 0 R /XYZ 150.705 687.379 null] +/D [2278 0 R /XYZ 150.705 687.379 null] >> % 915 0 obj << -/D [2277 0 R /XYZ 150.705 632.184 null] +/D [2278 0 R /XYZ 150.705 632.184 null] >> % 912 0 obj << -/D [2277 0 R /XYZ 150.705 590.403 null] +/D [2278 0 R /XYZ 150.705 590.403 null] >> % 908 0 obj << -/D [2277 0 R /XYZ 150.705 545.192 null] +/D [2278 0 R /XYZ 150.705 545.192 null] >> -% 2143 0 obj +% 2144 0 obj << -/D [2277 0 R /XYZ 150.705 512.037 null] +/D [2278 0 R /XYZ 150.705 512.037 null] >> % 911 0 obj << -/D [2277 0 R /XYZ 150.705 480.156 null] +/D [2278 0 R /XYZ 150.705 480.156 null] >> -% 2280 0 obj +% 2281 0 obj << -/D [2277 0 R /XYZ 150.705 448.276 null] +/D [2278 0 R /XYZ 150.705 448.276 null] >> % 910 0 obj << -/D [2277 0 R /XYZ 150.705 407.09 null] +/D [2278 0 R /XYZ 150.705 407.09 null] >> -% 2128 0 obj +% 2129 0 obj << -/D [2277 0 R /XYZ 150.705 348.649 null] +/D [2278 0 R /XYZ 150.705 348.649 null] >> -% 2129 0 obj +% 2130 0 obj << -/D [2277 0 R /XYZ 150.705 304.874 null] +/D [2278 0 R /XYZ 150.705 304.874 null] >> -% 2281 0 obj +% 2282 0 obj << -/D [2277 0 R /XYZ 150.705 260.978 null] +/D [2278 0 R /XYZ 150.705 260.978 null] >> -% 2276 0 obj +% 2277 0 obj << /Font << /F84 687 0 R /F78 686 0 R /F145 940 0 R >> /ProcSet [ /PDF /Text ] >> -% 2282 0 obj -[1000] % 2283 0 obj -[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] +[1000] % 2284 0 obj -[277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8] +[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] % 2285 0 obj -[831 660 753 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 0 0 0 853 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 666 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 747 0 0 0 0 0 0 0 0 0 0 0 0 0 0 881 0 0 0 0 0 0 0 0 0 0 0 0 234 0 881 767] +[277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8] % 2286 0 obj -[528 542] +[831 660 753 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 0 0 0 853 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 666 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 747 0 0 0 0 0 0 0 0 0 0 0 0 0 0 881 0 0 0 0 0 0 0 0 0 0 0 0 234 0 881 767] % 2287 0 obj -[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] +[528 542] % 2288 0 obj -[531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3] +[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] % 2289 0 obj -[388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8] +[531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3] % 2290 0 obj -[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 761.9 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 500 500 611.1 500 277.8 833.3] +[388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8] % 2291 0 obj +[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 761.9 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 500 500 611.1 500 277.8 833.3] +% 2292 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] -% 2293 0 obj -[605 608 167 380 611 291 313 333 0 333 606 0 667 500 333 287 0 0 0 0 0 0 0 0 0 0 0 0 333 208 250 278 371 500 500 840 778 278 333 333 389 606 250 333 250 606 500 500 500 500 500 500 500 500 500 500 250 250 606 606 606 444 747 778 611 709 774 611 556 763 832 337 333 726 611 946 831 786 604 786 668 525 613 778 722 1000 667 667 667 333 606 333 606 500 278 500 553 444 611 479 333 556 582 291 234 556 291 883 582 546 601 560 395 424 326 603 565 834 516 556 500 333 606 333 606 0 0 0 278 500 500 1000 500 500 333 1144 525 331 998 0 0 0 0 0 0 500 500 606 500 1000 333 979 424 331 827 0 0 667 0 278 500 500 500 500 606 500] % 2294 0 obj -[528 545 167 333 556 278 333 333 0 333 606 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 333 250 333 500 500 500 889 778 278 333 333 389 606 250 333 250 296 500 500 500 500 500 500 500 500 500 500 250 250 606 606 606 500 747 722 611 667 778 611 556 722 778 333 333 667 556 944 778 778 611 778 667 556 611 778 722 944 722 667 667 333 606 333 606 500 278 444 463 407 500 389 278 500 500 278 278 444 278 778 556 444 500 463 389 389 333 556 500 722 500 500 444] +[605 608 167 380 611 291 313 333 0 333 606 0 667 500 333 287 0 0 0 0 0 0 0 0 0 0 0 0 333 208 250 278 371 500 500 840 778 278 333 333 389 606 250 333 250 606 500 500 500 500 500 500 500 500 500 500 250 250 606 606 606 444 747 778 611 709 774 611 556 763 832 337 333 726 611 946 831 786 604 786 668 525 613 778 722 1000 667 667 667 333 606 333 606 500 278 500 553 444 611 479 333 556 582 291 234 556 291 883 582 546 601 560 395 424 326 603 565 834 516 556 500 333 606 333 606 0 0 0 278 500 500 1000 500 500 333 1144 525 331 998 0 0 0 0 0 0 500 500 606 500 1000 333 979 424 331 827 0 0 667 0 278 500 500 500 500 606 500] % 2295 0 obj +[528 545 167 333 556 278 333 333 0 333 606 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 333 250 333 500 500 500 889 778 278 333 333 389 606 250 333 250 296 500 500 500 500 500 500 500 500 500 500 250 250 606 606 606 500 747 722 611 667 778 611 556 722 778 333 333 667 556 944 778 778 611 778 667 556 611 778 722 944 722 667 667 333 606 333 606 500 278 444 463 407 500 389 278 500 500 278 278 444 278 778 556 444 500 463 389 389 333 556 500 722 500 500 444] +% 2296 0 obj [611 611 167 333 611 333 333 333 0 333 606 0 667 500 333 333 0 0 0 0 0 0 0 0 0 0 0 0 333 227 250 278 402 500 500 889 833 278 333 333 444 606 250 333 250 296 500 500 500 500 500 500 500 500 500 500 250 250 606 606 606 444 747 778 667 722 833 611 556 833 833 389 389 778 611 1000 833 833 611 833 722 611 667 778 778 1000 667 667 667 333 606 333 606 500 278 500 611 444 611 500 389 556 611 333 333 611 333 889 611 556 611 611 389 444 333 611 556 833 500 556 500 310 606 310 606 0 0 0 333 500 500 1000 500 500 333 1000 611 389 1000 0 0 0 0 0 0 500 500 606 500 1000] -% 2297 0 obj +% 2298 0 obj << /Type /FontDescriptor /FontName /MNPEHI+CMEX10 @@ -36130,9 +36197,9 @@ stream /StemV 47 /XHeight 431 /CharSet (/radicalbigg) -/FontFile 2296 0 R +/FontFile 2297 0 R >> -% 2299 0 obj +% 2300 0 obj << /Type /FontDescriptor /FontName /SFGIZH+CMITT10 @@ -36145,9 +36212,9 @@ stream /StemV 69 /XHeight 431 /CharSet (/A/C/D/E/H/I/K/L/M/P/T/V/a/c/comma/d/e/exclam/f/g/h/hyphen/i/k/m/n/o/p/parenleft/parenright/period/r/s/slash/t/w/x/y) -/FontFile 2298 0 R +/FontFile 2299 0 R >> -% 2301 0 obj +% 2302 0 obj << /Type /FontDescriptor /FontName /TPELEW+CMMI10 @@ -36160,9 +36227,9 @@ stream /StemV 72 /XHeight 431 /CharSet (/arrowhookleft/greater/less) -/FontFile 2300 0 R +/FontFile 2301 0 R >> -% 2303 0 obj +% 2304 0 obj << /Type /FontDescriptor /FontName /SOSTRQ+CMR10 @@ -36175,9 +36242,9 @@ stream /StemV 69 /XHeight 431 /CharSet (/bracketleft/bracketright/equal/parenleft/parenright/plus) -/FontFile 2302 0 R +/FontFile 2303 0 R >> -% 2305 0 obj +% 2306 0 obj << /Type /FontDescriptor /FontName /VKSUEJ+CMSY10 @@ -36190,9 +36257,9 @@ stream /StemV 40 /XHeight 431 /CharSet (/B/H/I/arrowleft/arrowright/asteriskmath/bar/bardbl/braceleft/braceright/element/greaterequal/lessequal/minus/negationslash/radical) -/FontFile 2304 0 R +/FontFile 2305 0 R >> -% 2307 0 obj +% 2308 0 obj << /Type /FontDescriptor /FontName /XIQVGP+CMTT10 @@ -36205,9 +36272,9 @@ stream /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/Y/Z/a/ampersand/asciitilde/asterisk/b/backslash/bracketleft/bracketright/c/colon/comma/d/e/equal/f/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/percent/period/plus/q/quotesingle/r/s/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) -/FontFile 2306 0 R +/FontFile 2307 0 R >> -% 2309 0 obj +% 2310 0 obj << /Type /FontDescriptor /FontName /KPZRIA+CMTT8 @@ -36220,9 +36287,9 @@ stream /StemV 76 /XHeight 431 /CharSet (/b/c/d/e/i/l/n/p/r/s/t) -/FontFile 2308 0 R +/FontFile 2309 0 R >> -% 2311 0 obj +% 2312 0 obj << /Type /FontDescriptor /FontName /FYMOSO+CMTT9 @@ -36235,9 +36302,9 @@ stream /StemV 74 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/R/S/T/U/V/W/X/Y/a/ampersand/asterisk/b/c/colon/comma/d/e/equal/f/four/g/greater/h/hyphen/i/j/k/l/less/m/n/nine/o/one/p/parenleft/parenright/percent/period/plus/q/quotesingle/r/s/semicolon/six/slash/t/two/u/underscore/v/w/x/y/z/zero) -/FontFile 2310 0 R +/FontFile 2311 0 R >> -% 2313 0 obj +% 2314 0 obj << /Type /FontDescriptor /FontName /ZSBXRF+PazoMath @@ -36250,9 +36317,9 @@ stream /StemV 95 /XHeight 0 /CharSet (/Omega/infinity/summation) -/FontFile 2312 0 R +/FontFile 2313 0 R >> -% 2315 0 obj +% 2316 0 obj << /Type /FontDescriptor /FontName /DUJUUF+PazoMath-Italic @@ -36265,9 +36332,9 @@ stream /StemV 65 /XHeight 0 /CharSet (/alpha/beta) -/FontFile 2314 0 R +/FontFile 2315 0 R >> -% 2317 0 obj +% 2318 0 obj << /Type /FontDescriptor /FontName /BDDEWM+URWPalladioL-Bold @@ -36280,9 +36347,9 @@ stream /StemV 123 /XHeight 471 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/Y/Z/a/b/c/colon/comma/d/e/eight/emdash/endash/equal/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/question/quoteright/r/s/seven/six/slash/t/three/two/u/v/w/x/y/z/zero) -/FontFile 2316 0 R +/FontFile 2317 0 R >> -% 2319 0 obj +% 2320 0 obj << /Type /FontDescriptor /FontName /GLTUCO+URWPalladioL-Roma @@ -36295,9 +36362,9 @@ stream /StemV 84 /XHeight 469 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/Y/Z/a/ampersand/asterisk/b/bracketleft/bracketright/bullet/c/colon/comma/d/e/eight/emdash/endash/equal/f/fi/five/fl/four/g/grave/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quotedblleft/quotedblright/quoteright/r/s/section/semicolon/seven/six/slash/t/three/two/u/v/w/x/y/z/zero) -/FontFile 2318 0 R +/FontFile 2319 0 R >> -% 2321 0 obj +% 2322 0 obj << /Type /FontDescriptor /FontName /ZZXCQL+URWPalladioL-Ital @@ -36310,453 +36377,453 @@ stream /StemV 78 /XHeight 482 /CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/X/a/b/bracketleft/bracketright/c/colon/comma/d/e/f/fi/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/period/plus/q/quoteright/r/s/t/three/two/u/v/w/x/y/z/zero) -/FontFile 2320 0 R +/FontFile 2321 0 R >> -% 2292 0 obj +% 2293 0 obj << /Type /Encoding /Differences [2/fi/fl 30/grave 38/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 61/equal 63/question 65/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft 93/bracketright 97/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z 147/quotedblleft/quotedblright/bullet/endash/emdash 167/section] >> -% 1883 0 obj +% 1884 0 obj << /Type /Font /Subtype /Type1 /BaseFont /MNPEHI+CMEX10 -/FontDescriptor 2297 0 R +/FontDescriptor 2298 0 R /FirstChar 114 /LastChar 114 -/Widths 2282 0 R -/ToUnicode 2322 0 R +/Widths 2283 0 R +/ToUnicode 2323 0 R >> -% 1814 0 obj +% 1815 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SFGIZH+CMITT10 -/FontDescriptor 2299 0 R +/FontDescriptor 2300 0 R /FirstChar 33 /LastChar 121 -/Widths 2283 0 R -/ToUnicode 2323 0 R +/Widths 2284 0 R +/ToUnicode 2324 0 R >> % 1490 0 obj << /Type /Font /Subtype /Type1 /BaseFont /TPELEW+CMMI10 -/FontDescriptor 2301 0 R +/FontDescriptor 2302 0 R /FirstChar 44 /LastChar 62 -/Widths 2284 0 R -/ToUnicode 2324 0 R +/Widths 2285 0 R +/ToUnicode 2325 0 R >> % 942 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SOSTRQ+CMR10 -/FontDescriptor 2303 0 R +/FontDescriptor 2304 0 R /FirstChar 40 /LastChar 93 -/Widths 2289 0 R -/ToUnicode 2325 0 R +/Widths 2290 0 R +/ToUnicode 2326 0 R >> % 941 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VKSUEJ+CMSY10 -/FontDescriptor 2305 0 R +/FontDescriptor 2306 0 R /FirstChar 0 /LastChar 112 -/Widths 2290 0 R -/ToUnicode 2326 0 R +/Widths 2291 0 R +/ToUnicode 2327 0 R >> % 940 0 obj << /Type /Font /Subtype /Type1 /BaseFont /XIQVGP+CMTT10 -/FontDescriptor 2307 0 R +/FontDescriptor 2308 0 R /FirstChar 13 /LastChar 126 -/Widths 2291 0 R -/ToUnicode 2327 0 R +/Widths 2292 0 R +/ToUnicode 2328 0 R >> % 1000 0 obj << /Type /Font /Subtype /Type1 /BaseFont /KPZRIA+CMTT8 -/FontDescriptor 2309 0 R +/FontDescriptor 2310 0 R /FirstChar 98 /LastChar 116 -/Widths 2288 0 R -/ToUnicode 2328 0 R +/Widths 2289 0 R +/ToUnicode 2329 0 R >> % 1044 0 obj << /Type /Font /Subtype /Type1 /BaseFont /FYMOSO+CMTT9 -/FontDescriptor 2311 0 R +/FontDescriptor 2312 0 R /FirstChar 13 /LastChar 122 -/Widths 2287 0 R -/ToUnicode 2329 0 R +/Widths 2288 0 R +/ToUnicode 2330 0 R >> % 1285 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ZSBXRF+PazoMath -/FontDescriptor 2313 0 R +/FontDescriptor 2314 0 R /FirstChar 87 /LastChar 229 -/Widths 2285 0 R -/ToUnicode 2330 0 R +/Widths 2286 0 R +/ToUnicode 2331 0 R >> % 1157 0 obj << /Type /Font /Subtype /Type1 /BaseFont /DUJUUF+PazoMath-Italic -/FontDescriptor 2315 0 R +/FontDescriptor 2316 0 R /FirstChar 97 /LastChar 98 -/Widths 2286 0 R -/ToUnicode 2331 0 R +/Widths 2287 0 R +/ToUnicode 2332 0 R >> % 685 0 obj << /Type /Font /Subtype /Type1 /BaseFont /BDDEWM+URWPalladioL-Bold -/FontDescriptor 2317 0 R +/FontDescriptor 2318 0 R /FirstChar 2 /LastChar 151 -/Widths 2295 0 R -/Encoding 2292 0 R -/ToUnicode 2332 0 R +/Widths 2296 0 R +/Encoding 2293 0 R +/ToUnicode 2333 0 R >> % 687 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GLTUCO+URWPalladioL-Roma -/FontDescriptor 2319 0 R +/FontDescriptor 2320 0 R /FirstChar 2 /LastChar 167 -/Widths 2293 0 R -/Encoding 2292 0 R -/ToUnicode 2333 0 R +/Widths 2294 0 R +/Encoding 2293 0 R +/ToUnicode 2334 0 R >> % 686 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ZZXCQL+URWPalladioL-Ital -/FontDescriptor 2321 0 R +/FontDescriptor 2322 0 R /FirstChar 2 /LastChar 122 -/Widths 2294 0 R -/Encoding 2292 0 R -/ToUnicode 2334 0 R +/Widths 2295 0 R +/Encoding 2293 0 R +/ToUnicode 2335 0 R >> % 688 0 obj << /Type /Pages /Count 6 -/Parent 2335 0 R +/Parent 2336 0 R /Kids [678 0 R 691 0 R 737 0 R 793 0 R 841 0 R 884 0 R] >> % 894 0 obj << /Type /Pages /Count 6 -/Parent 2335 0 R +/Parent 2336 0 R /Kids [892 0 R 906 0 R 924 0 R 937 0 R 950 0 R 962 0 R] >> % 978 0 obj << /Type /Pages /Count 6 -/Parent 2335 0 R +/Parent 2336 0 R /Kids [967 0 R 982 0 R 1003 0 R 1014 0 R 1022 0 R 1033 0 R] >> % 1052 0 obj << /Type /Pages /Count 6 -/Parent 2335 0 R +/Parent 2336 0 R /Kids [1049 0 R 1054 0 R 1058 0 R 1063 0 R 1070 0 R 1078 0 R] >> % 1087 0 obj << /Type /Pages /Count 6 -/Parent 2335 0 R +/Parent 2336 0 R /Kids [1083 0 R 1089 0 R 1093 0 R 1097 0 R 1103 0 R 1107 0 R] >> % 1117 0 obj << /Type /Pages /Count 6 -/Parent 2335 0 R +/Parent 2336 0 R /Kids [1113 0 R 1120 0 R 1126 0 R 1133 0 R 1139 0 R 1143 0 R] >> % 1158 0 obj << /Type /Pages /Count 6 -/Parent 2336 0 R +/Parent 2337 0 R /Kids [1154 0 R 1162 0 R 1172 0 R 1178 0 R 1189 0 R 1194 0 R] >> % 1205 0 obj << /Type /Pages /Count 6 -/Parent 2336 0 R +/Parent 2337 0 R /Kids [1201 0 R 1207 0 R 1215 0 R 1223 0 R 1228 0 R 1236 0 R] >> % 1244 0 obj << /Type /Pages /Count 6 -/Parent 2336 0 R +/Parent 2337 0 R /Kids [1241 0 R 1249 0 R 1254 0 R 1267 0 R 1274 0 R 1282 0 R] >> % 1300 0 obj << /Type /Pages /Count 6 -/Parent 2336 0 R +/Parent 2337 0 R /Kids [1293 0 R 1309 0 R 1315 0 R 1326 0 R 1332 0 R 1343 0 R] >> % 1351 0 obj << /Type /Pages /Count 6 -/Parent 2336 0 R +/Parent 2337 0 R /Kids [1348 0 R 1360 0 R 1365 0 R 1374 0 R 1380 0 R 1389 0 R] >> % 1400 0 obj << /Type /Pages /Count 6 -/Parent 2336 0 R +/Parent 2337 0 R /Kids [1396 0 R 1410 0 R 1417 0 R 1426 0 R 1434 0 R 1438 0 R] >> % 1457 0 obj << /Type /Pages /Count 6 -/Parent 2337 0 R +/Parent 2338 0 R /Kids [1453 0 R 1459 0 R 1465 0 R 1472 0 R 1476 0 R 1481 0 R] >> % 1492 0 obj << /Type /Pages /Count 6 -/Parent 2337 0 R +/Parent 2338 0 R /Kids [1487 0 R 1494 0 R 1505 0 R 1510 0 R 1519 0 R 1526 0 R] >> % 1534 0 obj << /Type /Pages /Count 6 -/Parent 2337 0 R +/Parent 2338 0 R /Kids [1531 0 R 1538 0 R 1542 0 R 1550 0 R 1555 0 R 1563 0 R] >> % 1577 0 obj << /Type /Pages /Count 6 -/Parent 2337 0 R +/Parent 2338 0 R /Kids [1569 0 R 1579 0 R 1592 0 R 1596 0 R 1609 0 R 1616 0 R] >> % 1626 0 obj << /Type /Pages /Count 6 -/Parent 2337 0 R +/Parent 2338 0 R /Kids [1623 0 R 1628 0 R 1635 0 R 1639 0 R 1648 0 R 1656 0 R] >> % 1663 0 obj << /Type /Pages /Count 6 -/Parent 2337 0 R +/Parent 2338 0 R /Kids [1660 0 R 1666 0 R 1670 0 R 1677 0 R 1682 0 R 1688 0 R] >> % 1698 0 obj << /Type /Pages /Count 6 -/Parent 2338 0 R +/Parent 2339 0 R /Kids [1694 0 R 1701 0 R 1707 0 R 1714 0 R 1722 0 R 1726 0 R] >> % 1739 0 obj << /Type /Pages /Count 6 -/Parent 2338 0 R -/Kids [1736 0 R 1741 0 R 1745 0 R 1759 0 R 1763 0 R 1769 0 R] ->> -% 1781 0 obj -<< -/Type /Pages -/Count 6 -/Parent 2338 0 R -/Kids [1775 0 R 1783 0 R 1787 0 R 1791 0 R 1795 0 R 1799 0 R] +/Parent 2339 0 R +/Kids [1736 0 R 1741 0 R 1745 0 R 1760 0 R 1764 0 R 1770 0 R] >> -% 1806 0 obj +% 1782 0 obj << /Type /Pages /Count 6 -/Parent 2338 0 R -/Kids [1803 0 R 1808 0 R 1816 0 R 1820 0 R 1828 0 R 1832 0 R] +/Parent 2339 0 R +/Kids [1776 0 R 1784 0 R 1788 0 R 1792 0 R 1796 0 R 1800 0 R] >> -% 1842 0 obj +% 1807 0 obj << /Type /Pages /Count 6 -/Parent 2338 0 R -/Kids [1839 0 R 1844 0 R 1851 0 R 1855 0 R 1862 0 R 1866 0 R] +/Parent 2339 0 R +/Kids [1804 0 R 1809 0 R 1817 0 R 1821 0 R 1829 0 R 1833 0 R] >> -% 1876 0 obj +% 1843 0 obj << /Type /Pages /Count 6 -/Parent 2338 0 R -/Kids [1873 0 R 1878 0 R 1888 0 R 1893 0 R 1900 0 R 1906 0 R] +/Parent 2339 0 R +/Kids [1840 0 R 1845 0 R 1852 0 R 1856 0 R 1863 0 R 1867 0 R] >> -% 1915 0 obj +% 1877 0 obj << /Type /Pages /Count 6 /Parent 2339 0 R -/Kids [1910 0 R 1917 0 R 1923 0 R 1929 0 R 1935 0 R 1941 0 R] +/Kids [1874 0 R 1879 0 R 1889 0 R 1894 0 R 1901 0 R 1907 0 R] >> -% 1953 0 obj +% 1916 0 obj << /Type /Pages /Count 6 -/Parent 2339 0 R -/Kids [1948 0 R 1956 0 R 1963 0 R 1970 0 R 1977 0 R 1983 0 R] +/Parent 2340 0 R +/Kids [1911 0 R 1918 0 R 1924 0 R 1930 0 R 1936 0 R 1942 0 R] >> -% 1990 0 obj +% 1954 0 obj << /Type /Pages /Count 6 -/Parent 2339 0 R -/Kids [1987 0 R 1995 0 R 2006 0 R 2010 0 R 2019 0 R 2023 0 R] +/Parent 2340 0 R +/Kids [1949 0 R 1957 0 R 1964 0 R 1971 0 R 1978 0 R 1984 0 R] >> -% 2035 0 obj +% 1991 0 obj << /Type /Pages /Count 6 -/Parent 2339 0 R -/Kids [2032 0 R 2038 0 R 2042 0 R 2049 0 R 2057 0 R 2064 0 R] +/Parent 2340 0 R +/Kids [1988 0 R 1996 0 R 2007 0 R 2011 0 R 2020 0 R 2024 0 R] >> -% 2071 0 obj +% 2036 0 obj << /Type /Pages /Count 6 -/Parent 2339 0 R -/Kids [2068 0 R 2076 0 R 2087 0 R 2092 0 R 2100 0 R 2109 0 R] +/Parent 2340 0 R +/Kids [2033 0 R 2039 0 R 2043 0 R 2050 0 R 2058 0 R 2065 0 R] >> -% 2116 0 obj +% 2072 0 obj << /Type /Pages /Count 6 -/Parent 2339 0 R -/Kids [2113 0 R 2124 0 R 2138 0 R 2147 0 R 2158 0 R 2187 0 R] +/Parent 2340 0 R +/Kids [2069 0 R 2077 0 R 2088 0 R 2093 0 R 2101 0 R 2110 0 R] >> -% 2212 0 obj +% 2117 0 obj << /Type /Pages /Count 6 /Parent 2340 0 R -/Kids [2207 0 R 2226 0 R 2242 0 R 2246 0 R 2250 0 R 2255 0 R] +/Kids [2114 0 R 2125 0 R 2139 0 R 2148 0 R 2159 0 R 2188 0 R] >> -% 2262 0 obj +% 2213 0 obj << /Type /Pages -/Count 4 -/Parent 2340 0 R -/Kids [2259 0 R 2264 0 R 2268 0 R 2277 0 R] +/Count 6 +/Parent 2341 0 R +/Kids [2208 0 R 2227 0 R 2243 0 R 2247 0 R 2251 0 R 2256 0 R] >> -% 2335 0 obj +% 2263 0 obj << /Type /Pages -/Count 36 +/Count 4 /Parent 2341 0 R -/Kids [688 0 R 894 0 R 978 0 R 1052 0 R 1087 0 R 1117 0 R] +/Kids [2260 0 R 2265 0 R 2269 0 R 2278 0 R] >> % 2336 0 obj << /Type /Pages /Count 36 -/Parent 2341 0 R -/Kids [1158 0 R 1205 0 R 1244 0 R 1300 0 R 1351 0 R 1400 0 R] +/Parent 2342 0 R +/Kids [688 0 R 894 0 R 978 0 R 1052 0 R 1087 0 R 1117 0 R] >> % 2337 0 obj << /Type /Pages /Count 36 -/Parent 2341 0 R -/Kids [1457 0 R 1492 0 R 1534 0 R 1577 0 R 1626 0 R 1663 0 R] +/Parent 2342 0 R +/Kids [1158 0 R 1205 0 R 1244 0 R 1300 0 R 1351 0 R 1400 0 R] >> % 2338 0 obj << /Type /Pages /Count 36 -/Parent 2341 0 R -/Kids [1698 0 R 1739 0 R 1781 0 R 1806 0 R 1842 0 R 1876 0 R] +/Parent 2342 0 R +/Kids [1457 0 R 1492 0 R 1534 0 R 1577 0 R 1626 0 R 1663 0 R] >> endstream endobj -2342 0 obj +2343 0 obj << /Type /ObjStm /N 100 -/First 890 -/Length 9788 ->> -stream -2339 0 2340 121 2341 206 2343 311 675 380 671 454 667 542 663 630 659 718 655 806 -651 894 647 982 643 1070 639 1158 635 1246 631 1334 627 1422 623 1510 619 1584 615 1696 -611 1770 607 1858 602 1946 598 2020 594 2145 590 2219 586 2293 582 2418 578 2492 574 2580 -570 2668 566 2756 562 2844 558 2932 554 3020 550 3108 546 3182 542 3307 538 3381 534 3469 -530 3557 526 3645 522 3733 518 3807 514 3932 510 4006 506 4094 502 4182 498 4256 494 4381 -490 4455 486 4543 482 4631 478 4719 474 4807 470 4895 466 4983 462 5071 458 5159 454 5247 -450 5335 446 5423 442 5511 438 5599 434 5687 430 5775 426 5849 422 5975 418 6049 414 6137 -410 6225 406 6313 401 6401 397 6489 393 6577 389 6665 385 6753 381 6841 377 6929 373 7017 -369 7105 365 7193 361 7281 357 7369 353 7457 349 7545 345 7633 341 7721 337 7809 333 7897 -329 7985 325 8073 321 8161 317 8249 313 8323 309 8449 305 8523 301 8611 297 8699 293 8773 +/First 892 +/Length 9786 +>> +stream +2339 0 2340 121 2341 242 2342 327 2344 432 675 501 671 575 667 663 663 751 659 839 +655 927 651 1015 647 1103 643 1191 639 1279 635 1367 631 1455 627 1543 623 1631 619 1705 +615 1817 611 1891 607 1979 602 2067 598 2141 594 2266 590 2340 586 2414 582 2539 578 2613 +574 2701 570 2789 566 2877 562 2965 558 3053 554 3141 550 3229 546 3303 542 3428 538 3502 +534 3590 530 3678 526 3766 522 3854 518 3928 514 4053 510 4127 506 4215 502 4303 498 4377 +494 4502 490 4576 486 4664 482 4752 478 4840 474 4928 470 5016 466 5104 462 5192 458 5280 +454 5368 450 5456 446 5544 442 5632 438 5720 434 5808 430 5896 426 5970 422 6096 418 6170 +414 6258 410 6346 406 6434 401 6522 397 6610 393 6698 389 6786 385 6874 381 6962 377 7050 +373 7138 369 7226 365 7314 361 7402 357 7490 353 7578 349 7666 345 7754 341 7842 337 7930 +333 8018 329 8106 325 8194 321 8282 317 8370 313 8444 309 8570 305 8644 301 8732 297 8820 % 2339 0 obj << /Type /Pages /Count 36 -/Parent 2341 0 R -/Kids [1915 0 R 1953 0 R 1990 0 R 2035 0 R 2071 0 R 2116 0 R] +/Parent 2342 0 R +/Kids [1698 0 R 1739 0 R 1782 0 R 1807 0 R 1843 0 R 1877 0 R] >> % 2340 0 obj << /Type /Pages -/Count 10 -/Parent 2341 0 R -/Kids [2212 0 R 2262 0 R] +/Count 36 +/Parent 2342 0 R +/Kids [1916 0 R 1954 0 R 1991 0 R 2036 0 R 2072 0 R 2117 0 R] >> % 2341 0 obj << /Type /Pages +/Count 10 +/Parent 2342 0 R +/Kids [2213 0 R 2263 0 R] +>> +% 2342 0 obj +<< +/Type /Pages /Count 190 -/Kids [2335 0 R 2336 0 R 2337 0 R 2338 0 R 2339 0 R 2340 0 R] +/Kids [2336 0 R 2337 0 R 2338 0 R 2339 0 R 2340 0 R 2341 0 R] >> -% 2343 0 obj +% 2344 0 obj << /Type /Outlines /First 4 0 R @@ -37528,6 +37595,27 @@ stream /Parent 293 0 R /Next 301 0 R >> + +endstream +endobj +2345 0 obj +<< +/Type /ObjStm +/N 100 +/First 893 +/Length 11990 +>> +stream +293 0 289 125 285 199 281 287 277 375 273 463 269 551 265 639 261 727 257 815 +253 903 249 991 245 1079 241 1167 237 1255 233 1343 229 1431 225 1505 221 1630 217 1703 +213 1790 209 1864 205 1952 200 2040 196 2128 192 2216 188 2290 184 2416 180 2490 176 2578 +172 2666 168 2754 164 2842 160 2930 156 3018 152 3106 148 3194 144 3282 140 3370 136 3458 +132 3546 128 3634 124 3722 120 3810 116 3898 112 3986 108 4060 104 4186 100 4259 96 4344 +92 4427 88 4509 84 4591 80 4673 76 4755 72 4837 68 4919 64 5001 60 5083 56 5165 +52 5247 48 5329 44 5398 40 5507 36 5627 32 5696 28 5752 24 5871 20 5953 16 6022 +12 6140 8 6220 4 6285 2346 6378 2347 6574 2348 6747 2349 6927 2350 7104 2351 7281 2352 7461 +2353 7639 2354 7819 2355 7997 2356 8177 2357 8352 2358 8517 2359 8688 2360 8858 2361 9030 2362 9200 +2363 9372 2364 9541 2365 9710 2366 9882 2367 10052 2368 10224 2369 10394 2370 10566 2371 10736 2372 10908 % 293 0 obj << /Title 294 0 R @@ -37539,27 +37627,6 @@ stream /Last 309 0 R /Count -4 >> - -endstream -endobj -2344 0 obj -<< -/Type /ObjStm -/N 100 -/First 893 -/Length 12099 ->> -stream -289 0 285 74 281 162 277 250 273 338 269 426 265 514 261 602 257 690 253 778 -249 866 245 954 241 1042 237 1130 233 1218 229 1306 225 1380 221 1505 217 1578 213 1665 -209 1739 205 1827 200 1915 196 2003 192 2091 188 2165 184 2291 180 2365 176 2453 172 2541 -168 2629 164 2717 160 2805 156 2893 152 2981 148 3069 144 3157 140 3245 136 3333 132 3421 -128 3509 124 3597 120 3685 116 3773 112 3861 108 3935 104 4061 100 4134 96 4219 92 4302 -88 4384 84 4466 80 4548 76 4630 72 4712 68 4794 64 4876 60 4958 56 5040 52 5122 -48 5204 44 5273 40 5382 36 5502 32 5571 28 5627 24 5746 20 5828 16 5897 12 6015 -8 6095 4 6160 2345 6253 2346 6449 2347 6622 2348 6802 2349 6979 2350 7156 2351 7336 2352 7514 -2353 7694 2354 7872 2355 8052 2356 8225 2357 8390 2358 8562 2359 8732 2360 8904 2361 9073 2362 9242 -2363 9414 2364 9584 2365 9756 2366 9926 2367 10098 2368 10268 2369 10440 2370 10610 2371 10782 2372 10974 % 289 0 obj << /Title 290 0 R @@ -38138,150 +38205,145 @@ stream << /Title 5 0 R /A 1 0 R -/Parent 2343 0 R +/Parent 2344 0 R /First 8 0 R /Last 619 0 R /Count -14 >> -% 2345 0 obj +% 2346 0 obj << -/Names [(Doc-Start) 684 0 R (Hfootnote.1) 943 0 R (Hfootnote.2) 944 0 R (Hfootnote.3) 999 0 R (Hfootnote.4) 1998 0 R (Hfootnote.5) 2082 0 R] +/Names [(Doc-Start) 684 0 R (Hfootnote.1) 943 0 R (Hfootnote.2) 944 0 R (Hfootnote.3) 999 0 R (Hfootnote.4) 1999 0 R (Hfootnote.5) 2083 0 R] /Limits [(Doc-Start) (Hfootnote.5)] >> -% 2346 0 obj +% 2347 0 obj << /Names [(Item.1) 970 0 R (Item.10) 986 0 R (Item.100) 1711 0 R (Item.101) 1717 0 R (Item.102) 1718 0 R (Item.103) 1729 0 R] /Limits [(Item.1) (Item.103)] >> -% 2347 0 obj +% 2348 0 obj << /Names [(Item.104) 1730 0 R (Item.105) 1731 0 R (Item.106) 1748 0 R (Item.107) 1749 0 R (Item.108) 1750 0 R (Item.109) 1751 0 R] /Limits [(Item.104) (Item.109)] >> -% 2348 0 obj +% 2349 0 obj << /Names [(Item.11) 987 0 R (Item.110) 1752 0 R (Item.111) 1753 0 R (Item.112) 1754 0 R (Item.113) 1755 0 R (Item.114) 1756 0 R] /Limits [(Item.11) (Item.114)] >> -% 2349 0 obj -<< -/Names [(Item.115) 1757 0 R (Item.116) 1766 0 R (Item.117) 1767 0 R (Item.118) 1772 0 R (Item.119) 1773 0 R (Item.12) 988 0 R] -/Limits [(Item.115) (Item.12)] ->> % 2350 0 obj << -/Names [(Item.120) 1778 0 R (Item.121) 1779 0 R (Item.122) 1780 0 R (Item.123) 1811 0 R (Item.124) 1812 0 R (Item.125) 1813 0 R] -/Limits [(Item.120) (Item.125)] +/Names [(Item.115) 1757 0 R (Item.116) 1758 0 R (Item.117) 1767 0 R (Item.118) 1768 0 R (Item.119) 1773 0 R (Item.12) 988 0 R] +/Limits [(Item.115) (Item.12)] >> % 2351 0 obj << -/Names [(Item.126) 1823 0 R (Item.127) 1824 0 R (Item.128) 1825 0 R (Item.129) 1835 0 R (Item.13) 989 0 R (Item.130) 1836 0 R] -/Limits [(Item.126) (Item.130)] +/Names [(Item.120) 1774 0 R (Item.121) 1779 0 R (Item.122) 1780 0 R (Item.123) 1781 0 R (Item.124) 1812 0 R (Item.125) 1813 0 R] +/Limits [(Item.120) (Item.125)] >> % 2352 0 obj << -/Names [(Item.131) 1837 0 R (Item.132) 1847 0 R (Item.133) 1848 0 R (Item.134) 1849 0 R (Item.135) 1858 0 R (Item.136) 1859 0 R] -/Limits [(Item.131) (Item.136)] +/Names [(Item.126) 1814 0 R (Item.127) 1824 0 R (Item.128) 1825 0 R (Item.129) 1826 0 R (Item.13) 989 0 R (Item.130) 1836 0 R] +/Limits [(Item.126) (Item.130)] >> % 2353 0 obj << -/Names [(Item.137) 1860 0 R (Item.138) 1869 0 R (Item.139) 1870 0 R (Item.14) 990 0 R (Item.140) 1871 0 R (Item.141) 1881 0 R] -/Limits [(Item.137) (Item.141)] +/Names [(Item.131) 1837 0 R (Item.132) 1838 0 R (Item.133) 1848 0 R (Item.134) 1849 0 R (Item.135) 1850 0 R (Item.136) 1859 0 R] +/Limits [(Item.131) (Item.136)] >> % 2354 0 obj << -/Names [(Item.142) 1882 0 R (Item.143) 1884 0 R (Item.144) 1885 0 R (Item.145) 1886 0 R (Item.146) 1891 0 R (Item.147) 1896 0 R] -/Limits [(Item.142) (Item.147)] +/Names [(Item.137) 1860 0 R (Item.138) 1861 0 R (Item.139) 1870 0 R (Item.14) 990 0 R (Item.140) 1871 0 R (Item.141) 1872 0 R] +/Limits [(Item.137) (Item.141)] >> % 2355 0 obj << -/Names [(Item.148) 2151 0 R (Item.149) 2152 0 R (Item.15) 991 0 R (Item.150) 2253 0 R (Item.16) 992 0 R (Item.17) 993 0 R] -/Limits [(Item.148) (Item.17)] +/Names [(Item.142) 1882 0 R (Item.143) 1883 0 R (Item.144) 1885 0 R (Item.145) 1886 0 R (Item.146) 1887 0 R (Item.147) 1892 0 R] +/Limits [(Item.142) (Item.147)] >> % 2356 0 obj << -/Names [(Item.18) 994 0 R (Item.19) 995 0 R (Item.2) 971 0 R (Item.20) 996 0 R (Item.21) 997 0 R (Item.22) 998 0 R] -/Limits [(Item.18) (Item.22)] +/Names [(Item.148) 1897 0 R (Item.149) 2152 0 R (Item.15) 991 0 R (Item.150) 2153 0 R (Item.151) 2254 0 R (Item.16) 992 0 R] +/Limits [(Item.148) (Item.16)] >> % 2357 0 obj << -/Names [(Item.23) 1006 0 R (Item.24) 1007 0 R (Item.25) 1008 0 R (Item.26) 1009 0 R (Item.27) 1010 0 R (Item.28) 1011 0 R] -/Limits [(Item.23) (Item.28)] +/Names [(Item.17) 993 0 R (Item.18) 994 0 R (Item.19) 995 0 R (Item.2) 971 0 R (Item.20) 996 0 R (Item.21) 997 0 R] +/Limits [(Item.17) (Item.21)] >> % 2358 0 obj << -/Names [(Item.29) 1025 0 R (Item.3) 972 0 R (Item.30) 1026 0 R (Item.31) 1027 0 R (Item.32) 1028 0 R (Item.33) 1029 0 R] -/Limits [(Item.29) (Item.33)] +/Names [(Item.22) 998 0 R (Item.23) 1006 0 R (Item.24) 1007 0 R (Item.25) 1008 0 R (Item.26) 1009 0 R (Item.27) 1010 0 R] +/Limits [(Item.22) (Item.27)] >> % 2359 0 obj << -/Names [(Item.34) 1036 0 R (Item.35) 1037 0 R (Item.36) 1038 0 R (Item.37) 1039 0 R (Item.38) 1040 0 R (Item.39) 1041 0 R] -/Limits [(Item.34) (Item.39)] +/Names [(Item.28) 1011 0 R (Item.29) 1025 0 R (Item.3) 972 0 R (Item.30) 1026 0 R (Item.31) 1027 0 R (Item.32) 1028 0 R] +/Limits [(Item.28) (Item.32)] >> % 2360 0 obj << -/Names [(Item.4) 973 0 R (Item.40) 1042 0 R (Item.41) 1043 0 R (Item.42) 1086 0 R (Item.43) 1100 0 R (Item.44) 1101 0 R] -/Limits [(Item.4) (Item.44)] +/Names [(Item.33) 1029 0 R (Item.34) 1036 0 R (Item.35) 1037 0 R (Item.36) 1038 0 R (Item.37) 1039 0 R (Item.38) 1040 0 R] +/Limits [(Item.33) (Item.38)] >> % 2361 0 obj << -/Names [(Item.45) 1181 0 R (Item.46) 1210 0 R (Item.47) 1231 0 R (Item.48) 1257 0 R (Item.49) 1429 0 R (Item.5) 974 0 R] -/Limits [(Item.45) (Item.5)] +/Names [(Item.39) 1041 0 R (Item.4) 973 0 R (Item.40) 1042 0 R (Item.41) 1043 0 R (Item.42) 1086 0 R (Item.43) 1100 0 R] +/Limits [(Item.39) (Item.43)] >> % 2362 0 obj << -/Names [(Item.50) 1430 0 R (Item.51) 1431 0 R (Item.52) 1484 0 R (Item.53) 1491 0 R (Item.54) 1497 0 R (Item.55) 1498 0 R] -/Limits [(Item.50) (Item.55)] +/Names [(Item.44) 1101 0 R (Item.45) 1181 0 R (Item.46) 1210 0 R (Item.47) 1231 0 R (Item.48) 1257 0 R (Item.49) 1429 0 R] +/Limits [(Item.44) (Item.49)] >> % 2363 0 obj << -/Names [(Item.56) 1499 0 R (Item.57) 1500 0 R (Item.58) 1501 0 R (Item.59) 1513 0 R (Item.6) 975 0 R (Item.60) 1514 0 R] -/Limits [(Item.56) (Item.60)] +/Names [(Item.5) 974 0 R (Item.50) 1430 0 R (Item.51) 1431 0 R (Item.52) 1484 0 R (Item.53) 1491 0 R (Item.54) 1497 0 R] +/Limits [(Item.5) (Item.54)] >> % 2364 0 obj << -/Names [(Item.61) 1515 0 R (Item.62) 1522 0 R (Item.63) 1545 0 R (Item.64) 1546 0 R (Item.65) 1553 0 R (Item.66) 1558 0 R] -/Limits [(Item.61) (Item.66)] +/Names [(Item.55) 1498 0 R (Item.56) 1499 0 R (Item.57) 1500 0 R (Item.58) 1501 0 R (Item.59) 1513 0 R (Item.6) 975 0 R] +/Limits [(Item.55) (Item.6)] >> % 2365 0 obj << -/Names [(Item.67) 1559 0 R (Item.68) 1560 0 R (Item.69) 1572 0 R (Item.7) 976 0 R (Item.70) 1573 0 R (Item.71) 1574 0 R] -/Limits [(Item.67) (Item.71)] +/Names [(Item.60) 1514 0 R (Item.61) 1515 0 R (Item.62) 1522 0 R (Item.63) 1545 0 R (Item.64) 1546 0 R (Item.65) 1553 0 R] +/Limits [(Item.60) (Item.65)] >> % 2366 0 obj << -/Names [(Item.72) 1575 0 R (Item.73) 1576 0 R (Item.74) 1582 0 R (Item.75) 1583 0 R (Item.76) 1584 0 R (Item.77) 1585 0 R] -/Limits [(Item.72) (Item.77)] +/Names [(Item.66) 1558 0 R (Item.67) 1559 0 R (Item.68) 1560 0 R (Item.69) 1572 0 R (Item.7) 976 0 R (Item.70) 1573 0 R] +/Limits [(Item.66) (Item.70)] >> % 2367 0 obj << -/Names [(Item.78) 1586 0 R (Item.79) 1587 0 R (Item.8) 977 0 R (Item.80) 1599 0 R (Item.81) 1600 0 R (Item.82) 1601 0 R] -/Limits [(Item.78) (Item.82)] +/Names [(Item.71) 1574 0 R (Item.72) 1575 0 R (Item.73) 1576 0 R (Item.74) 1582 0 R (Item.75) 1583 0 R (Item.76) 1584 0 R] +/Limits [(Item.71) (Item.76)] >> % 2368 0 obj << -/Names [(Item.83) 1602 0 R (Item.84) 1603 0 R (Item.85) 1604 0 R (Item.86) 1605 0 R (Item.87) 1619 0 R (Item.88) 1631 0 R] -/Limits [(Item.83) (Item.88)] +/Names [(Item.77) 1585 0 R (Item.78) 1586 0 R (Item.79) 1587 0 R (Item.8) 977 0 R (Item.80) 1599 0 R (Item.81) 1600 0 R] +/Limits [(Item.77) (Item.81)] >> % 2369 0 obj << -/Names [(Item.89) 1642 0 R (Item.9) 985 0 R (Item.90) 1643 0 R (Item.91) 1651 0 R (Item.92) 1652 0 R (Item.93) 1673 0 R] -/Limits [(Item.89) (Item.93)] +/Names [(Item.82) 1601 0 R (Item.83) 1602 0 R (Item.84) 1603 0 R (Item.85) 1604 0 R (Item.86) 1605 0 R (Item.87) 1619 0 R] +/Limits [(Item.82) (Item.87)] >> % 2370 0 obj << -/Names [(Item.94) 1674 0 R (Item.95) 1685 0 R (Item.96) 1691 0 R (Item.97) 1697 0 R (Item.98) 1704 0 R (Item.99) 1710 0 R] -/Limits [(Item.94) (Item.99)] +/Names [(Item.88) 1631 0 R (Item.89) 1642 0 R (Item.9) 985 0 R (Item.90) 1643 0 R (Item.91) 1651 0 R (Item.92) 1652 0 R] +/Limits [(Item.88) (Item.92)] >> % 2371 0 obj << -/Names [(algocf.1) 2156 0 R (algocf.2) 2203 0 R (algocfline.1) 2142 0 R (algocfline.2) 2210 0 R (cite.2007c) 957 0 R (cite.2007d) 958 0 R] -/Limits [(algocf.1) (cite.2007d)] +/Names [(Item.93) 1673 0 R (Item.94) 1674 0 R (Item.95) 1685 0 R (Item.96) 1691 0 R (Item.97) 1697 0 R (Item.98) 1704 0 R] +/Limits [(Item.93) (Item.98)] >> % 2372 0 obj << -/Names [(cite.BERTACCINIFILIPPONE) 2013 0 R (cite.BLACS) 933 0 R (cite.BLAS1) 915 0 R (cite.BLAS2) 916 0 R (cite.BLAS3) 917 0 R (cite.CaFiRo:2014) 2128 0 R] -/Limits [(cite.BERTACCINIFILIPPONE) (cite.CaFiRo:2014)] +/Names [(Item.99) 1710 0 R (algocf.1) 2157 0 R (algocf.2) 2204 0 R (algocfline.1) 2143 0 R (algocfline.2) 2211 0 R (cite.2007c) 957 0 R] +/Limits [(Item.99) (cite.2007c)] >> endstream @@ -38291,527 +38353,527 @@ endobj /Type /ObjStm /N 100 /First 1040 -/Length 19171 ->> -stream -2373 0 2375 244 2376 465 2377 671 2378 861 2379 1043 2380 1239 2381 1465 2382 1685 2383 1913 -2384 2149 2385 2385 2386 2613 2387 2807 2388 2987 2389 3166 2390 3346 2391 3525 2392 3705 2393 3883 -2394 4061 2395 4241 2396 4420 2397 4600 2398 4779 2399 4959 2400 5138 2401 5318 2402 5497 2403 5669 -2404 5841 2405 6011 2406 6183 2407 6352 2408 6521 2409 6693 2410 6863 2411 7035 2412 7205 2413 7377 -2414 7547 2415 7719 2416 7890 2417 8062 2418 8235 2419 8433 2420 8628 2421 8825 2422 9013 2423 9195 -2424 9389 2425 9619 2426 9849 2427 10070 2428 10291 2429 10521 2430 10745 2431 10967 2432 11194 2433 11424 -2434 11652 2435 11878 2436 12102 2437 12332 2438 12556 2439 12778 2440 13000 2441 13251 2442 13512 2443 13769 -2444 14039 2445 14306 2446 14568 2447 14830 2448 15008 2449 15186 2450 15362 2451 15535 2452 15606 2453 15720 -2454 15832 2455 15943 2456 16054 2457 16171 2458 16294 2459 16412 2460 16524 2461 16637 2462 16749 2463 16859 -2464 16973 2465 17096 2466 17222 2467 17348 2468 17479 2469 17603 2470 17695 2471 17814 2472 17934 2473 18047 +/Length 19303 +>> +stream +2373 0 2375 205 2376 459 2377 678 2378 880 2379 1074 2380 1254 2381 1442 2382 1668 2383 1888 +2384 2113 2385 2349 2386 2585 2387 2815 2388 3015 2389 3195 2390 3374 2391 3554 2392 3733 2393 3913 +2394 4092 2395 4272 2396 4450 2397 4628 2398 4808 2399 4987 2400 5167 2401 5346 2402 5526 2403 5705 +2404 5878 2405 6050 2406 6220 2407 6392 2408 6562 2409 6734 2410 6903 2411 7072 2412 7244 2413 7414 +2414 7586 2415 7756 2416 7928 2417 8099 2418 8271 2419 8441 2420 8637 2421 8831 2422 9029 2423 9217 +2424 9400 2425 9579 2426 9809 2427 10039 2428 10262 2429 10482 2430 10710 2431 10935 2432 11157 2433 11383 +2434 11613 2435 11842 2436 12069 2437 12291 2438 12521 2439 12746 2440 12968 2441 13190 2442 13436 2443 13698 +2444 13954 2445 14222 2446 14490 2447 14752 2448 15014 2449 15214 2450 15394 2451 15569 2452 15738 2453 15834 +2454 15948 2455 16060 2456 16171 2457 16282 2458 16402 2459 16525 2460 16643 2461 16756 2462 16868 2463 16980 +2464 17091 2465 17203 2466 17316 2467 17442 2468 17567 2469 17698 2470 17822 2471 17914 2472 18033 2473 18151 % 2373 0 obj << -/Names [(cite.DesPat:11) 910 0 R (cite.DesignPatterns) 1074 0 R (cite.Filippone:2017:SMM:3034774.3017994) 2281 0 R (cite.KIVA3PSBLAS) 2274 0 R (cite.METIS) 945 0 R (cite.MPI1) 2280 0 R] -/Limits [(cite.DesPat:11) (cite.MPI1)] +/Names [(cite.2007d) 958 0 R (cite.BERTACCINIFILIPPONE) 2014 0 R (cite.BLACS) 933 0 R (cite.BLAS1) 915 0 R (cite.BLAS2) 916 0 R (cite.BLAS3) 917 0 R] +/Limits [(cite.2007d) (cite.BLAS3)] >> % 2375 0 obj << -/Names [(cite.MRC:11) 2143 0 R (cite.OurTechRep) 2129 0 R (cite.PARA04FOREST) 2272 0 R (cite.PSBLAS) 2273 0 R (cite.RouXiaXu:11) 911 0 R (cite.Sparse03) 909 0 R] -/Limits [(cite.MRC:11) (cite.Sparse03)] +/Names [(cite.CaFiRo:2014) 2129 0 R (cite.DesPat:11) 910 0 R (cite.DesignPatterns) 1074 0 R (cite.Filippone:2017:SMM:3034774.3017994) 2282 0 R (cite.KIVA3PSBLAS) 2275 0 R (cite.METIS) 945 0 R] +/Limits [(cite.CaFiRo:2014) (cite.METIS)] >> % 2376 0 obj << -/Names [(cite.machiels) 912 0 R (cite.metcalf) 908 0 R (cite.sblas02) 914 0 R (cite.sblas97) 913 0 R (descdata) 1017 0 R (equation.4.1) 1296 0 R] -/Limits [(cite.machiels) (equation.4.1)] +/Names [(cite.MPI1) 2281 0 R (cite.MRC:11) 2144 0 R (cite.OurTechRep) 2130 0 R (cite.PARA04FOREST) 2273 0 R (cite.PSBLAS) 2274 0 R (cite.RouXiaXu:11) 911 0 R] +/Limits [(cite.MPI1) (cite.RouXiaXu:11)] >> % 2377 0 obj << -/Names [(equation.4.2) 1297 0 R (equation.4.3) 1298 0 R (figure.1) 927 0 R (figure.2) 953 0 R (figure.3) 1399 0 R (figure.4) 1432 0 R] -/Limits [(equation.4.2) (figure.4)] +/Names [(cite.Sparse03) 909 0 R (cite.machiels) 912 0 R (cite.metcalf) 908 0 R (cite.sblas02) 914 0 R (cite.sblas97) 913 0 R (descdata) 1017 0 R] +/Limits [(cite.Sparse03) (descdata)] >> % 2378 0 obj << -/Names [(figure.5) 2150 0 R (figure.6) 2145 0 R (figure.7) 2190 0 R (figure.8) 2202 0 R (figure.9) 2229 0 R (listing.1) 1045 0 R] -/Limits [(figure.5) (listing.1)] +/Names [(equation.4.1) 1296 0 R (equation.4.2) 1297 0 R (equation.4.3) 1298 0 R (figure.1) 927 0 R (figure.2) 953 0 R (figure.3) 1399 0 R] +/Limits [(equation.4.1) (figure.3)] >> % 2379 0 obj << -/Names [(listing.2) 1075 0 R (listing.3) 1118 0 R (listing.4) 1137 0 R (listing.5) 1903 0 R (listing.6) 1904 0 R (lstlisting.-1) 1258 0 R] -/Limits [(listing.2) (lstlisting.-1)] +/Names [(figure.4) 1432 0 R (figure.5) 2151 0 R (figure.6) 2146 0 R (figure.7) 2191 0 R (figure.8) 2203 0 R (figure.9) 2230 0 R] +/Limits [(figure.4) (figure.9)] >> % 2380 0 obj << -/Names [(lstlisting.-10) 1973 0 R (lstlisting.-11) 1980 0 R (lstlisting.-12) 2079 0 R (lstlisting.-13) 2103 0 R (lstlisting.-14) 2161 0 R (lstlisting.-2) 1913 0 R] -/Limits [(lstlisting.-10) (lstlisting.-2)] +/Names [(listing.1) 1045 0 R (listing.2) 1075 0 R (listing.3) 1118 0 R (listing.4) 1137 0 R (listing.5) 1904 0 R (listing.6) 1905 0 R] +/Limits [(listing.1) (listing.6)] >> % 2381 0 obj << -/Names [(lstlisting.-3) 1920 0 R (lstlisting.-4) 1926 0 R (lstlisting.-5) 1932 0 R (lstlisting.-6) 1944 0 R (lstlisting.-7) 1951 0 R (lstlisting.-8) 1959 0 R] -/Limits [(lstlisting.-3) (lstlisting.-8)] +/Names [(lstlisting.-1) 1258 0 R (lstlisting.-10) 1974 0 R (lstlisting.-11) 1981 0 R (lstlisting.-12) 2080 0 R (lstlisting.-13) 2104 0 R (lstlisting.-14) 2162 0 R] +/Limits [(lstlisting.-1) (lstlisting.-14)] >> % 2382 0 obj << -/Names [(lstlisting.-9) 1966 0 R (lstnumber.-1.1) 1259 0 R (lstnumber.-1.2) 1260 0 R (lstnumber.-1.3) 1261 0 R (lstnumber.-1.4) 1262 0 R (lstnumber.-10.1) 1974 0 R] -/Limits [(lstlisting.-9) (lstnumber.-10.1)] +/Names [(lstlisting.-2) 1914 0 R (lstlisting.-3) 1921 0 R (lstlisting.-4) 1927 0 R (lstlisting.-5) 1933 0 R (lstlisting.-6) 1945 0 R (lstlisting.-7) 1952 0 R] +/Limits [(lstlisting.-2) (lstlisting.-7)] >> % 2383 0 obj << -/Names [(lstnumber.-11.1) 1981 0 R (lstnumber.-12.1) 2080 0 R (lstnumber.-12.2) 2081 0 R (lstnumber.-13.1) 2104 0 R (lstnumber.-13.2) 2105 0 R (lstnumber.-14.1) 2162 0 R] -/Limits [(lstnumber.-11.1) (lstnumber.-14.1)] +/Names [(lstlisting.-8) 1960 0 R (lstlisting.-9) 1967 0 R (lstnumber.-1.1) 1259 0 R (lstnumber.-1.2) 1260 0 R (lstnumber.-1.3) 1261 0 R (lstnumber.-1.4) 1262 0 R] +/Limits [(lstlisting.-8) (lstnumber.-1.4)] >> % 2384 0 obj << -/Names [(lstnumber.-14.2) 2163 0 R (lstnumber.-14.3) 2164 0 R (lstnumber.-14.4) 2165 0 R (lstnumber.-14.5) 2166 0 R (lstnumber.-14.6) 2167 0 R (lstnumber.-14.7) 2168 0 R] -/Limits [(lstnumber.-14.2) (lstnumber.-14.7)] +/Names [(lstnumber.-10.1) 1975 0 R (lstnumber.-11.1) 1982 0 R (lstnumber.-12.1) 2081 0 R (lstnumber.-12.2) 2082 0 R (lstnumber.-13.1) 2105 0 R (lstnumber.-13.2) 2106 0 R] +/Limits [(lstnumber.-10.1) (lstnumber.-13.2)] >> % 2385 0 obj << -/Names [(lstnumber.-2.1) 1914 0 R (lstnumber.-3.1) 1921 0 R (lstnumber.-4.1) 1927 0 R (lstnumber.-5.1) 1933 0 R (lstnumber.-6.1) 1945 0 R (lstnumber.-7.1) 1952 0 R] -/Limits [(lstnumber.-2.1) (lstnumber.-7.1)] +/Names [(lstnumber.-14.1) 2163 0 R (lstnumber.-14.2) 2164 0 R (lstnumber.-14.3) 2165 0 R (lstnumber.-14.4) 2166 0 R (lstnumber.-14.5) 2167 0 R (lstnumber.-14.6) 2168 0 R] +/Limits [(lstnumber.-14.1) (lstnumber.-14.6)] >> % 2386 0 obj << -/Names [(lstnumber.-8.1) 1960 0 R (lstnumber.-9.1) 1967 0 R (page.1) 683 0 R (page.10) 1016 0 R (page.100) 1679 0 R (page.101) 1684 0 R] -/Limits [(lstnumber.-8.1) (page.101)] +/Names [(lstnumber.-14.7) 2169 0 R (lstnumber.-2.1) 1915 0 R (lstnumber.-3.1) 1922 0 R (lstnumber.-4.1) 1928 0 R (lstnumber.-5.1) 1934 0 R (lstnumber.-6.1) 1946 0 R] +/Limits [(lstnumber.-14.7) (lstnumber.-6.1)] >> % 2387 0 obj << -/Names [(page.102) 1690 0 R (page.103) 1696 0 R (page.104) 1703 0 R (page.105) 1709 0 R (page.106) 1716 0 R (page.107) 1724 0 R] -/Limits [(page.102) (page.107)] +/Names [(lstnumber.-7.1) 1953 0 R (lstnumber.-8.1) 1961 0 R (lstnumber.-9.1) 1968 0 R (page.1) 683 0 R (page.10) 1016 0 R (page.100) 1679 0 R] +/Limits [(lstnumber.-7.1) (page.100)] >> % 2388 0 obj << -/Names [(page.108) 1728 0 R (page.109) 1738 0 R (page.11) 1024 0 R (page.110) 1743 0 R (page.111) 1747 0 R (page.112) 1761 0 R] -/Limits [(page.108) (page.112)] +/Names [(page.101) 1684 0 R (page.102) 1690 0 R (page.103) 1696 0 R (page.104) 1703 0 R (page.105) 1709 0 R (page.106) 1716 0 R] +/Limits [(page.101) (page.106)] >> % 2389 0 obj << -/Names [(page.113) 1765 0 R (page.114) 1771 0 R (page.115) 1777 0 R (page.116) 1785 0 R (page.117) 1789 0 R (page.118) 1793 0 R] -/Limits [(page.113) (page.118)] +/Names [(page.107) 1724 0 R (page.108) 1728 0 R (page.109) 1738 0 R (page.11) 1024 0 R (page.110) 1743 0 R (page.111) 1747 0 R] +/Limits [(page.107) (page.111)] >> % 2390 0 obj << -/Names [(page.119) 1797 0 R (page.12) 1035 0 R (page.120) 1801 0 R (page.121) 1805 0 R (page.122) 1810 0 R (page.123) 1818 0 R] -/Limits [(page.119) (page.123)] +/Names [(page.112) 1762 0 R (page.113) 1766 0 R (page.114) 1772 0 R (page.115) 1778 0 R (page.116) 1786 0 R (page.117) 1790 0 R] +/Limits [(page.112) (page.117)] >> % 2391 0 obj << -/Names [(page.124) 1822 0 R (page.125) 1830 0 R (page.126) 1834 0 R (page.127) 1841 0 R (page.128) 1846 0 R (page.129) 1853 0 R] -/Limits [(page.124) (page.129)] +/Names [(page.118) 1794 0 R (page.119) 1798 0 R (page.12) 1035 0 R (page.120) 1802 0 R (page.121) 1806 0 R (page.122) 1811 0 R] +/Limits [(page.118) (page.122)] >> % 2392 0 obj << -/Names [(page.13) 1051 0 R (page.130) 1857 0 R (page.131) 1864 0 R (page.132) 1868 0 R (page.133) 1875 0 R (page.134) 1880 0 R] -/Limits [(page.13) (page.134)] +/Names [(page.123) 1819 0 R (page.124) 1823 0 R (page.125) 1831 0 R (page.126) 1835 0 R (page.127) 1842 0 R (page.128) 1847 0 R] +/Limits [(page.123) (page.128)] >> % 2393 0 obj << -/Names [(page.135) 1890 0 R (page.136) 1895 0 R (page.137) 1902 0 R (page.138) 1908 0 R (page.139) 1912 0 R (page.14) 1056 0 R] -/Limits [(page.135) (page.14)] +/Names [(page.129) 1854 0 R (page.13) 1051 0 R (page.130) 1858 0 R (page.131) 1865 0 R (page.132) 1869 0 R (page.133) 1876 0 R] +/Limits [(page.129) (page.133)] >> % 2394 0 obj << -/Names [(page.140) 1919 0 R (page.141) 1925 0 R (page.142) 1931 0 R (page.143) 1937 0 R (page.144) 1943 0 R (page.145) 1950 0 R] -/Limits [(page.140) (page.145)] +/Names [(page.134) 1881 0 R (page.135) 1891 0 R (page.136) 1896 0 R (page.137) 1903 0 R (page.138) 1909 0 R (page.139) 1913 0 R] +/Limits [(page.134) (page.139)] >> % 2395 0 obj << -/Names [(page.146) 1958 0 R (page.147) 1965 0 R (page.148) 1972 0 R (page.149) 1979 0 R (page.15) 1060 0 R (page.150) 1985 0 R] -/Limits [(page.146) (page.150)] +/Names [(page.14) 1056 0 R (page.140) 1920 0 R (page.141) 1926 0 R (page.142) 1932 0 R (page.143) 1938 0 R (page.144) 1944 0 R] +/Limits [(page.14) (page.144)] >> % 2396 0 obj << -/Names [(page.151) 1989 0 R (page.152) 1997 0 R (page.153) 2008 0 R (page.154) 2012 0 R (page.155) 2021 0 R (page.156) 2025 0 R] -/Limits [(page.151) (page.156)] +/Names [(page.145) 1951 0 R (page.146) 1959 0 R (page.147) 1966 0 R (page.148) 1973 0 R (page.149) 1980 0 R (page.15) 1060 0 R] +/Limits [(page.145) (page.15)] >> % 2397 0 obj << -/Names [(page.157) 2034 0 R (page.158) 2040 0 R (page.159) 2044 0 R (page.16) 1065 0 R (page.160) 2051 0 R (page.161) 2059 0 R] -/Limits [(page.157) (page.161)] +/Names [(page.150) 1986 0 R (page.151) 1990 0 R (page.152) 1998 0 R (page.153) 2009 0 R (page.154) 2013 0 R (page.155) 2022 0 R] +/Limits [(page.150) (page.155)] >> % 2398 0 obj << -/Names [(page.162) 2066 0 R (page.163) 2070 0 R (page.164) 2078 0 R (page.165) 2089 0 R (page.166) 2094 0 R (page.167) 2102 0 R] -/Limits [(page.162) (page.167)] +/Names [(page.156) 2026 0 R (page.157) 2035 0 R (page.158) 2041 0 R (page.159) 2045 0 R (page.16) 1065 0 R (page.160) 2052 0 R] +/Limits [(page.156) (page.160)] >> % 2399 0 obj << -/Names [(page.168) 2111 0 R (page.169) 2115 0 R (page.17) 1072 0 R (page.170) 2126 0 R (page.171) 2140 0 R (page.172) 2149 0 R] -/Limits [(page.168) (page.172)] +/Names [(page.161) 2060 0 R (page.162) 2067 0 R (page.163) 2071 0 R (page.164) 2079 0 R (page.165) 2090 0 R (page.166) 2095 0 R] +/Limits [(page.161) (page.166)] >> % 2400 0 obj << -/Names [(page.173) 2160 0 R (page.174) 2189 0 R (page.175) 2209 0 R (page.176) 2228 0 R (page.177) 2244 0 R (page.178) 2248 0 R] -/Limits [(page.173) (page.178)] +/Names [(page.167) 2103 0 R (page.168) 2112 0 R (page.169) 2116 0 R (page.17) 1072 0 R (page.170) 2127 0 R (page.171) 2141 0 R] +/Limits [(page.167) (page.171)] >> % 2401 0 obj << -/Names [(page.179) 2252 0 R (page.18) 1080 0 R (page.180) 2257 0 R (page.181) 2261 0 R (page.182) 2266 0 R (page.183) 2270 0 R] -/Limits [(page.179) (page.183)] +/Names [(page.172) 2150 0 R (page.173) 2161 0 R (page.174) 2190 0 R (page.175) 2210 0 R (page.176) 2229 0 R (page.177) 2245 0 R] +/Limits [(page.172) (page.177)] >> % 2402 0 obj << -/Names [(page.184) 2279 0 R (page.19) 1085 0 R (page.2) 693 0 R (page.20) 1091 0 R (page.21) 1095 0 R (page.22) 1099 0 R] -/Limits [(page.184) (page.22)] +/Names [(page.178) 2249 0 R (page.179) 2253 0 R (page.18) 1080 0 R (page.180) 2258 0 R (page.181) 2262 0 R (page.182) 2267 0 R] +/Limits [(page.178) (page.182)] >> % 2403 0 obj << -/Names [(page.23) 1105 0 R (page.24) 1109 0 R (page.25) 1115 0 R (page.26) 1122 0 R (page.27) 1128 0 R (page.28) 1135 0 R] -/Limits [(page.23) (page.28)] +/Names [(page.183) 2271 0 R (page.184) 2280 0 R (page.19) 1085 0 R (page.2) 693 0 R (page.20) 1091 0 R (page.21) 1095 0 R] +/Limits [(page.183) (page.21)] >> % 2404 0 obj << -/Names [(page.29) 1141 0 R (page.3) 926 0 R (page.30) 1145 0 R (page.31) 1156 0 R (page.32) 1164 0 R (page.33) 1174 0 R] -/Limits [(page.29) (page.33)] +/Names [(page.22) 1099 0 R (page.23) 1105 0 R (page.24) 1109 0 R (page.25) 1115 0 R (page.26) 1122 0 R (page.27) 1128 0 R] +/Limits [(page.22) (page.27)] >> % 2405 0 obj << -/Names [(page.34) 1180 0 R (page.35) 1191 0 R (page.36) 1196 0 R (page.37) 1203 0 R (page.38) 1209 0 R (page.39) 1217 0 R] -/Limits [(page.34) (page.39)] +/Names [(page.28) 1135 0 R (page.29) 1141 0 R (page.3) 926 0 R (page.30) 1145 0 R (page.31) 1156 0 R (page.32) 1164 0 R] +/Limits [(page.28) (page.32)] >> % 2406 0 obj << -/Names [(page.4) 939 0 R (page.40) 1225 0 R (page.41) 1230 0 R (page.42) 1238 0 R (page.43) 1243 0 R (page.44) 1251 0 R] -/Limits [(page.4) (page.44)] +/Names [(page.33) 1174 0 R (page.34) 1180 0 R (page.35) 1191 0 R (page.36) 1196 0 R (page.37) 1203 0 R (page.38) 1209 0 R] +/Limits [(page.33) (page.38)] >> % 2407 0 obj << -/Names [(page.45) 1256 0 R (page.46) 1269 0 R (page.47) 1276 0 R (page.48) 1284 0 R (page.49) 1295 0 R (page.5) 952 0 R] -/Limits [(page.45) (page.5)] +/Names [(page.39) 1217 0 R (page.4) 939 0 R (page.40) 1225 0 R (page.41) 1230 0 R (page.42) 1238 0 R (page.43) 1243 0 R] +/Limits [(page.39) (page.43)] >> % 2408 0 obj << -/Names [(page.50) 1311 0 R (page.51) 1317 0 R (page.52) 1328 0 R (page.53) 1334 0 R (page.54) 1345 0 R (page.55) 1350 0 R] -/Limits [(page.50) (page.55)] +/Names [(page.44) 1251 0 R (page.45) 1256 0 R (page.46) 1269 0 R (page.47) 1276 0 R (page.48) 1284 0 R (page.49) 1295 0 R] +/Limits [(page.44) (page.49)] >> % 2409 0 obj << -/Names [(page.56) 1362 0 R (page.57) 1367 0 R (page.58) 1376 0 R (page.59) 1382 0 R (page.6) 964 0 R (page.60) 1391 0 R] -/Limits [(page.56) (page.60)] +/Names [(page.5) 952 0 R (page.50) 1311 0 R (page.51) 1317 0 R (page.52) 1328 0 R (page.53) 1334 0 R (page.54) 1345 0 R] +/Limits [(page.5) (page.54)] >> % 2410 0 obj << -/Names [(page.61) 1398 0 R (page.62) 1412 0 R (page.63) 1419 0 R (page.64) 1428 0 R (page.65) 1436 0 R (page.66) 1440 0 R] -/Limits [(page.61) (page.66)] +/Names [(page.55) 1350 0 R (page.56) 1362 0 R (page.57) 1367 0 R (page.58) 1376 0 R (page.59) 1382 0 R (page.6) 964 0 R] +/Limits [(page.55) (page.6)] >> % 2411 0 obj << -/Names [(page.67) 1455 0 R (page.68) 1461 0 R (page.69) 1467 0 R (page.7) 969 0 R (page.70) 1474 0 R (page.71) 1478 0 R] -/Limits [(page.67) (page.71)] +/Names [(page.60) 1391 0 R (page.61) 1398 0 R (page.62) 1412 0 R (page.63) 1419 0 R (page.64) 1428 0 R (page.65) 1436 0 R] +/Limits [(page.60) (page.65)] >> % 2412 0 obj << -/Names [(page.72) 1483 0 R (page.73) 1489 0 R (page.74) 1496 0 R (page.75) 1507 0 R (page.76) 1512 0 R (page.77) 1521 0 R] -/Limits [(page.72) (page.77)] +/Names [(page.66) 1440 0 R (page.67) 1455 0 R (page.68) 1461 0 R (page.69) 1467 0 R (page.7) 969 0 R (page.70) 1474 0 R] +/Limits [(page.66) (page.70)] >> % 2413 0 obj << -/Names [(page.78) 1528 0 R (page.79) 1533 0 R (page.8) 984 0 R (page.80) 1540 0 R (page.81) 1544 0 R (page.82) 1552 0 R] -/Limits [(page.78) (page.82)] +/Names [(page.71) 1478 0 R (page.72) 1483 0 R (page.73) 1489 0 R (page.74) 1496 0 R (page.75) 1507 0 R (page.76) 1512 0 R] +/Limits [(page.71) (page.76)] >> % 2414 0 obj << -/Names [(page.83) 1557 0 R (page.84) 1565 0 R (page.85) 1571 0 R (page.86) 1581 0 R (page.87) 1594 0 R (page.88) 1598 0 R] -/Limits [(page.83) (page.88)] +/Names [(page.77) 1521 0 R (page.78) 1528 0 R (page.79) 1533 0 R (page.8) 984 0 R (page.80) 1540 0 R (page.81) 1544 0 R] +/Limits [(page.77) (page.81)] >> % 2415 0 obj << -/Names [(page.89) 1611 0 R (page.9) 1005 0 R (page.90) 1618 0 R (page.91) 1625 0 R (page.92) 1630 0 R (page.93) 1637 0 R] -/Limits [(page.89) (page.93)] +/Names [(page.82) 1552 0 R (page.83) 1557 0 R (page.84) 1565 0 R (page.85) 1571 0 R (page.86) 1581 0 R (page.87) 1594 0 R] +/Limits [(page.82) (page.87)] >> % 2416 0 obj << -/Names [(page.94) 1641 0 R (page.95) 1650 0 R (page.96) 1658 0 R (page.97) 1662 0 R (page.98) 1668 0 R (page.99) 1672 0 R] -/Limits [(page.94) (page.99)] +/Names [(page.88) 1598 0 R (page.89) 1611 0 R (page.9) 1005 0 R (page.90) 1618 0 R (page.91) 1625 0 R (page.92) 1630 0 R] +/Limits [(page.88) (page.92)] >> % 2417 0 obj << -/Names [(page.i) 739 0 R (page.ii) 795 0 R (page.iii) 843 0 R (page.iv) 886 0 R (precdata) 1136 0 R (section*.1) 740 0 R] -/Limits [(page.i) (section*.1)] +/Names [(page.93) 1637 0 R (page.94) 1641 0 R (page.95) 1650 0 R (page.96) 1658 0 R (page.97) 1662 0 R (page.98) 1668 0 R] +/Limits [(page.93) (page.98)] >> % 2418 0 obj << -/Names [(section*.10) 634 0 R (section*.11) 638 0 R (section*.12) 642 0 R (section*.13) 646 0 R (section*.14) 650 0 R (section*.15) 654 0 R] -/Limits [(section*.10) (section*.15)] +/Names [(page.99) 1672 0 R (page.i) 739 0 R (page.ii) 795 0 R (page.iii) 843 0 R (page.iv) 886 0 R (precdata) 1136 0 R] +/Limits [(page.99) (precdata)] >> % 2419 0 obj << -/Names [(section*.16) 658 0 R (section*.17) 662 0 R (section*.18) 666 0 R (section*.19) 670 0 R (section*.2) 7 0 R (section*.20) 674 0 R] -/Limits [(section*.16) (section*.20)] +/Names [(section*.1) 740 0 R (section*.10) 634 0 R (section*.11) 638 0 R (section*.12) 642 0 R (section*.13) 646 0 R (section*.14) 650 0 R] +/Limits [(section*.1) (section*.14)] >> % 2420 0 obj << -/Names [(section*.21) 2271 0 R (section*.3) 2141 0 R (section*.4) 2169 0 R (section*.5) 2191 0 R (section*.6) 2211 0 R (section*.7) 622 0 R] -/Limits [(section*.21) (section*.7)] +/Names [(section*.15) 654 0 R (section*.16) 658 0 R (section*.17) 662 0 R (section*.18) 666 0 R (section*.19) 670 0 R (section*.2) 7 0 R] +/Limits [(section*.15) (section*.2)] >> % 2421 0 obj << -/Names [(section*.8) 626 0 R (section*.9) 630 0 R (section.1) 11 0 R (section.10) 545 0 R (section.11) 585 0 R (section.12) 597 0 R] -/Limits [(section*.8) (section.12)] +/Names [(section*.20) 674 0 R (section*.21) 2272 0 R (section*.3) 2142 0 R (section*.4) 2170 0 R (section*.5) 2192 0 R (section*.6) 2212 0 R] +/Limits [(section*.20) (section*.6)] >> % 2422 0 obj << -/Names [(section.13) 618 0 R (section.2) 15 0 R (section.3) 39 0 R (section.4) 224 0 R (section.5) 292 0 R (section.6) 312 0 R] -/Limits [(section.13) (section.6)] +/Names [(section*.7) 622 0 R (section*.8) 626 0 R (section*.9) 630 0 R (section.1) 11 0 R (section.10) 545 0 R (section.11) 585 0 R] +/Limits [(section*.7) (section.11)] >> % 2423 0 obj << -/Names [(section.7) 425 0 R (section.8) 497 0 R (section.9) 517 0 R (spbasedata) 1081 0 R (spdata) 1073 0 R (subsection.10.1) 549 0 R] -/Limits [(section.7) (subsection.10.1)] +/Names [(section.12) 597 0 R (section.13) 618 0 R (section.2) 15 0 R (section.3) 39 0 R (section.4) 224 0 R (section.5) 292 0 R] +/Limits [(section.12) (section.5)] >> % 2424 0 obj << -/Names [(subsection.10.2) 553 0 R (subsection.10.3) 557 0 R (subsection.10.4) 561 0 R (subsection.10.5) 565 0 R (subsection.10.6) 569 0 R (subsection.10.7) 573 0 R] -/Limits [(subsection.10.2) (subsection.10.7)] +/Names [(section.6) 312 0 R (section.7) 425 0 R (section.8) 497 0 R (section.9) 517 0 R (spbasedata) 1081 0 R (spdata) 1073 0 R] +/Limits [(section.6) (spdata)] >> % 2425 0 obj << -/Names [(subsection.10.8) 577 0 R (subsection.10.9) 581 0 R (subsection.11.1) 589 0 R (subsection.11.2) 593 0 R (subsection.12.1) 601 0 R (subsection.12.2) 606 0 R] -/Limits [(subsection.10.8) (subsection.12.2)] +/Names [(subsection.10.1) 549 0 R (subsection.10.2) 553 0 R (subsection.10.3) 557 0 R (subsection.10.4) 561 0 R (subsection.10.5) 565 0 R (subsection.10.6) 569 0 R] +/Limits [(subsection.10.1) (subsection.10.6)] >> % 2426 0 obj << -/Names [(subsection.12.3) 610 0 R (subsection.12.4) 614 0 R (subsection.2.1) 19 0 R (subsection.2.2) 23 0 R (subsection.2.3) 27 0 R (subsection.2.4) 35 0 R] -/Limits [(subsection.12.3) (subsection.2.4)] +/Names [(subsection.10.7) 573 0 R (subsection.10.8) 577 0 R (subsection.10.9) 581 0 R (subsection.11.1) 589 0 R (subsection.11.2) 593 0 R (subsection.12.1) 601 0 R] +/Limits [(subsection.10.7) (subsection.12.1)] >> % 2427 0 obj << -/Names [(subsection.3.1) 43 0 R (subsection.3.2) 107 0 R (subsection.3.3) 187 0 R (subsection.3.4) 216 0 R (subsection.3.5) 220 0 R (subsection.4.1) 228 0 R] -/Limits [(subsection.3.1) (subsection.4.1)] +/Names [(subsection.12.2) 606 0 R (subsection.12.3) 610 0 R (subsection.12.4) 614 0 R (subsection.2.1) 19 0 R (subsection.2.2) 23 0 R (subsection.2.3) 27 0 R] +/Limits [(subsection.12.2) (subsection.2.3)] >> % 2428 0 obj << -/Names [(subsection.4.10) 264 0 R (subsection.4.11) 268 0 R (subsection.4.12) 272 0 R (subsection.4.13) 276 0 R (subsection.4.14) 280 0 R (subsection.4.15) 284 0 R] -/Limits [(subsection.4.10) (subsection.4.15)] +/Names [(subsection.2.4) 35 0 R (subsection.3.1) 43 0 R (subsection.3.2) 107 0 R (subsection.3.3) 187 0 R (subsection.3.4) 216 0 R (subsection.3.5) 220 0 R] +/Limits [(subsection.2.4) (subsection.3.5)] >> % 2429 0 obj << -/Names [(subsection.4.16) 288 0 R (subsection.4.2) 232 0 R (subsection.4.3) 236 0 R (subsection.4.4) 240 0 R (subsection.4.5) 244 0 R (subsection.4.6) 248 0 R] -/Limits [(subsection.4.16) (subsection.4.6)] +/Names [(subsection.4.1) 228 0 R (subsection.4.10) 264 0 R (subsection.4.11) 268 0 R (subsection.4.12) 272 0 R (subsection.4.13) 276 0 R (subsection.4.14) 280 0 R] +/Limits [(subsection.4.1) (subsection.4.14)] >> % 2430 0 obj << -/Names [(subsection.4.7) 252 0 R (subsection.4.8) 256 0 R (subsection.4.9) 260 0 R (subsection.5.1) 296 0 R (subsection.5.2) 300 0 R (subsection.5.3) 304 0 R] -/Limits [(subsection.4.7) (subsection.5.3)] +/Names [(subsection.4.15) 284 0 R (subsection.4.16) 288 0 R (subsection.4.2) 232 0 R (subsection.4.3) 236 0 R (subsection.4.4) 240 0 R (subsection.4.5) 244 0 R] +/Limits [(subsection.4.15) (subsection.4.5)] >> % 2431 0 obj << -/Names [(subsection.5.4) 308 0 R (subsection.6.1) 316 0 R (subsection.6.10) 352 0 R (subsection.6.11) 356 0 R (subsection.6.12) 360 0 R (subsection.6.13) 364 0 R] -/Limits [(subsection.5.4) (subsection.6.13)] +/Names [(subsection.4.6) 248 0 R (subsection.4.7) 252 0 R (subsection.4.8) 256 0 R (subsection.4.9) 260 0 R (subsection.5.1) 296 0 R (subsection.5.2) 300 0 R] +/Limits [(subsection.4.6) (subsection.5.2)] >> % 2432 0 obj << -/Names [(subsection.6.14) 368 0 R (subsection.6.15) 372 0 R (subsection.6.16) 376 0 R (subsection.6.17) 380 0 R (subsection.6.18) 384 0 R (subsection.6.19) 388 0 R] -/Limits [(subsection.6.14) (subsection.6.19)] +/Names [(subsection.5.3) 304 0 R (subsection.5.4) 308 0 R (subsection.6.1) 316 0 R (subsection.6.10) 352 0 R (subsection.6.11) 356 0 R (subsection.6.12) 360 0 R] +/Limits [(subsection.5.3) (subsection.6.12)] >> % 2433 0 obj << -/Names [(subsection.6.2) 320 0 R (subsection.6.20) 392 0 R (subsection.6.21) 396 0 R (subsection.6.22) 400 0 R (subsection.6.23) 405 0 R (subsection.6.24) 409 0 R] -/Limits [(subsection.6.2) (subsection.6.24)] +/Names [(subsection.6.13) 364 0 R (subsection.6.14) 368 0 R (subsection.6.15) 372 0 R (subsection.6.16) 376 0 R (subsection.6.17) 380 0 R (subsection.6.18) 384 0 R] +/Limits [(subsection.6.13) (subsection.6.18)] >> % 2434 0 obj << -/Names [(subsection.6.25) 413 0 R (subsection.6.26) 417 0 R (subsection.6.27) 421 0 R (subsection.6.3) 324 0 R (subsection.6.4) 328 0 R (subsection.6.5) 332 0 R] -/Limits [(subsection.6.25) (subsection.6.5)] +/Names [(subsection.6.19) 388 0 R (subsection.6.2) 320 0 R (subsection.6.20) 392 0 R (subsection.6.21) 396 0 R (subsection.6.22) 400 0 R (subsection.6.23) 405 0 R] +/Limits [(subsection.6.19) (subsection.6.23)] >> % 2435 0 obj << -/Names [(subsection.6.6) 336 0 R (subsection.6.7) 340 0 R (subsection.6.8) 344 0 R (subsection.6.9) 348 0 R (subsection.7.1) 429 0 R (subsection.7.10) 465 0 R] -/Limits [(subsection.6.6) (subsection.7.10)] +/Names [(subsection.6.24) 409 0 R (subsection.6.25) 413 0 R (subsection.6.26) 417 0 R (subsection.6.27) 421 0 R (subsection.6.3) 324 0 R (subsection.6.4) 328 0 R] +/Limits [(subsection.6.24) (subsection.6.4)] >> % 2436 0 obj << -/Names [(subsection.7.11) 469 0 R (subsection.7.12) 473 0 R (subsection.7.13) 477 0 R (subsection.7.14) 481 0 R (subsection.7.15) 485 0 R (subsection.7.16) 489 0 R] -/Limits [(subsection.7.11) (subsection.7.16)] +/Names [(subsection.6.5) 332 0 R (subsection.6.6) 336 0 R (subsection.6.7) 340 0 R (subsection.6.8) 344 0 R (subsection.6.9) 348 0 R (subsection.7.1) 429 0 R] +/Limits [(subsection.6.5) (subsection.7.1)] >> % 2437 0 obj << -/Names [(subsection.7.17) 493 0 R (subsection.7.2) 433 0 R (subsection.7.3) 437 0 R (subsection.7.4) 441 0 R (subsection.7.5) 445 0 R (subsection.7.6) 449 0 R] -/Limits [(subsection.7.17) (subsection.7.6)] +/Names [(subsection.7.10) 465 0 R (subsection.7.11) 469 0 R (subsection.7.12) 473 0 R (subsection.7.13) 477 0 R (subsection.7.14) 481 0 R (subsection.7.15) 485 0 R] +/Limits [(subsection.7.10) (subsection.7.15)] >> % 2438 0 obj << -/Names [(subsection.7.7) 453 0 R (subsection.7.8) 457 0 R (subsection.7.9) 461 0 R (subsection.8.1) 501 0 R (subsection.8.2) 505 0 R (subsection.8.3) 509 0 R] -/Limits [(subsection.7.7) (subsection.8.3)] +/Names [(subsection.7.16) 489 0 R (subsection.7.17) 493 0 R (subsection.7.2) 433 0 R (subsection.7.3) 437 0 R (subsection.7.4) 441 0 R (subsection.7.5) 445 0 R] +/Limits [(subsection.7.16) (subsection.7.5)] >> % 2439 0 obj << -/Names [(subsection.8.4) 513 0 R (subsection.9.1) 521 0 R (subsection.9.2) 525 0 R (subsection.9.3) 529 0 R (subsection.9.4) 533 0 R (subsection.9.5) 537 0 R] -/Limits [(subsection.8.4) (subsection.9.5)] +/Names [(subsection.7.6) 449 0 R (subsection.7.7) 453 0 R (subsection.7.8) 457 0 R (subsection.7.9) 461 0 R (subsection.8.1) 501 0 R (subsection.8.2) 505 0 R] +/Limits [(subsection.7.6) (subsection.8.2)] >> % 2440 0 obj << -/Names [(subsection.9.6) 541 0 R (subsubsection.2.3.1) 31 0 R (subsubsection.3.1.1) 47 0 R (subsubsection.3.1.10) 83 0 R (subsubsection.3.1.11) 87 0 R (subsubsection.3.1.12) 91 0 R] -/Limits [(subsection.9.6) (subsubsection.3.1.12)] +/Names [(subsection.8.3) 509 0 R (subsection.8.4) 513 0 R (subsection.9.1) 521 0 R (subsection.9.2) 525 0 R (subsection.9.3) 529 0 R (subsection.9.4) 533 0 R] +/Limits [(subsection.8.3) (subsection.9.4)] >> % 2441 0 obj << -/Names [(subsubsection.3.1.13) 95 0 R (subsubsection.3.1.14) 99 0 R (subsubsection.3.1.15) 103 0 R (subsubsection.3.1.2) 51 0 R (subsubsection.3.1.3) 55 0 R (subsubsection.3.1.4) 59 0 R] -/Limits [(subsubsection.3.1.13) (subsubsection.3.1.4)] +/Names [(subsection.9.5) 537 0 R (subsection.9.6) 541 0 R (subsubsection.2.3.1) 31 0 R (subsubsection.3.1.1) 47 0 R (subsubsection.3.1.10) 83 0 R (subsubsection.3.1.11) 87 0 R] +/Limits [(subsection.9.5) (subsubsection.3.1.11)] >> % 2442 0 obj << -/Names [(subsubsection.3.1.5) 63 0 R (subsubsection.3.1.6) 67 0 R (subsubsection.3.1.7) 71 0 R (subsubsection.3.1.8) 75 0 R (subsubsection.3.1.9) 79 0 R (subsubsection.3.2.1) 111 0 R] -/Limits [(subsubsection.3.1.5) (subsubsection.3.2.1)] +/Names [(subsubsection.3.1.12) 91 0 R (subsubsection.3.1.13) 95 0 R (subsubsection.3.1.14) 99 0 R (subsubsection.3.1.15) 103 0 R (subsubsection.3.1.2) 51 0 R (subsubsection.3.1.3) 55 0 R] +/Limits [(subsubsection.3.1.12) (subsubsection.3.1.3)] >> % 2443 0 obj << -/Names [(subsubsection.3.2.10) 147 0 R (subsubsection.3.2.11) 151 0 R (subsubsection.3.2.12) 155 0 R (subsubsection.3.2.13) 159 0 R (subsubsection.3.2.14) 163 0 R (subsubsection.3.2.15) 167 0 R] -/Limits [(subsubsection.3.2.10) (subsubsection.3.2.15)] +/Names [(subsubsection.3.1.4) 59 0 R (subsubsection.3.1.5) 63 0 R (subsubsection.3.1.6) 67 0 R (subsubsection.3.1.7) 71 0 R (subsubsection.3.1.8) 75 0 R (subsubsection.3.1.9) 79 0 R] +/Limits [(subsubsection.3.1.4) (subsubsection.3.1.9)] >> % 2444 0 obj << -/Names [(subsubsection.3.2.16) 171 0 R (subsubsection.3.2.17) 175 0 R (subsubsection.3.2.18) 179 0 R (subsubsection.3.2.19) 183 0 R (subsubsection.3.2.2) 115 0 R (subsubsection.3.2.3) 119 0 R] -/Limits [(subsubsection.3.2.16) (subsubsection.3.2.3)] +/Names [(subsubsection.3.2.1) 111 0 R (subsubsection.3.2.10) 147 0 R (subsubsection.3.2.11) 151 0 R (subsubsection.3.2.12) 155 0 R (subsubsection.3.2.13) 159 0 R (subsubsection.3.2.14) 163 0 R] +/Limits [(subsubsection.3.2.1) (subsubsection.3.2.14)] >> % 2445 0 obj << -/Names [(subsubsection.3.2.4) 123 0 R (subsubsection.3.2.5) 127 0 R (subsubsection.3.2.6) 131 0 R (subsubsection.3.2.7) 135 0 R (subsubsection.3.2.8) 139 0 R (subsubsection.3.2.9) 143 0 R] -/Limits [(subsubsection.3.2.4) (subsubsection.3.2.9)] +/Names [(subsubsection.3.2.15) 167 0 R (subsubsection.3.2.16) 171 0 R (subsubsection.3.2.17) 175 0 R (subsubsection.3.2.18) 179 0 R (subsubsection.3.2.19) 183 0 R (subsubsection.3.2.2) 115 0 R] +/Limits [(subsubsection.3.2.15) (subsubsection.3.2.2)] >> % 2446 0 obj << -/Names [(subsubsection.3.3.1) 191 0 R (subsubsection.3.3.2) 195 0 R (subsubsection.3.3.3) 199 0 R (subsubsection.3.3.4) 204 0 R (subsubsection.3.3.5) 208 0 R (subsubsection.3.3.6) 212 0 R] -/Limits [(subsubsection.3.3.1) (subsubsection.3.3.6)] +/Names [(subsubsection.3.2.3) 119 0 R (subsubsection.3.2.4) 123 0 R (subsubsection.3.2.5) 127 0 R (subsubsection.3.2.6) 131 0 R (subsubsection.3.2.7) 135 0 R (subsubsection.3.2.8) 139 0 R] +/Limits [(subsubsection.3.2.3) (subsubsection.3.2.8)] >> % 2447 0 obj << -/Names [(table.1) 1129 0 R (table.10) 1277 0 R (table.11) 1286 0 R (table.12) 1299 0 R (table.13) 1318 0 R (table.14) 1346 0 R] -/Limits [(table.1) (table.14)] +/Names [(subsubsection.3.2.9) 143 0 R (subsubsection.3.3.1) 191 0 R (subsubsection.3.3.2) 195 0 R (subsubsection.3.3.3) 199 0 R (subsubsection.3.3.4) 204 0 R (subsubsection.3.3.5) 208 0 R] +/Limits [(subsubsection.3.2.9) (subsubsection.3.3.5)] >> % 2448 0 obj << -/Names [(table.15) 1363 0 R (table.16) 1377 0 R (table.17) 1392 0 R (table.18) 1420 0 R (table.19) 1456 0 R (table.2) 1175 0 R] -/Limits [(table.15) (table.2)] +/Names [(subsubsection.3.3.6) 212 0 R (table.1) 1129 0 R (table.10) 1277 0 R (table.11) 1286 0 R (table.12) 1299 0 R (table.13) 1318 0 R] +/Limits [(subsubsection.3.3.6) (table.13)] >> % 2449 0 obj << -/Names [(table.20) 1468 0 R (table.21) 1999 0 R (table.22) 2144 0 R (table.3) 1192 0 R (table.4) 1204 0 R (table.5) 1218 0 R] -/Limits [(table.20) (table.5)] +/Names [(table.14) 1346 0 R (table.15) 1363 0 R (table.16) 1377 0 R (table.17) 1392 0 R (table.18) 1420 0 R (table.19) 1456 0 R] +/Limits [(table.14) (table.19)] >> % 2450 0 obj << -/Names [(table.6) 1226 0 R (table.7) 1239 0 R (table.8) 1252 0 R (table.9) 1270 0 R (title.0) 3 0 R (vbasedata) 1061 0 R] -/Limits [(table.6) (vbasedata)] +/Names [(table.2) 1175 0 R (table.20) 1468 0 R (table.21) 2000 0 R (table.22) 2145 0 R (table.3) 1192 0 R (table.4) 1204 0 R] +/Limits [(table.2) (table.4)] >> % 2451 0 obj << -/Names [(vdata) 1116 0 R] -/Limits [(vdata) (vdata)] +/Names [(table.5) 1218 0 R (table.6) 1226 0 R (table.7) 1239 0 R (table.8) 1252 0 R (table.9) 1270 0 R (title.0) 3 0 R] +/Limits [(table.5) (title.0)] >> % 2452 0 obj << -/Kids [2345 0 R 2346 0 R 2347 0 R 2348 0 R 2349 0 R 2350 0 R] -/Limits [(Doc-Start) (Item.125)] +/Names [(vbasedata) 1061 0 R (vdata) 1116 0 R] +/Limits [(vbasedata) (vdata)] >> % 2453 0 obj << -/Kids [2351 0 R 2352 0 R 2353 0 R 2354 0 R 2355 0 R 2356 0 R] -/Limits [(Item.126) (Item.22)] +/Kids [2346 0 R 2347 0 R 2348 0 R 2349 0 R 2350 0 R 2351 0 R] +/Limits [(Doc-Start) (Item.125)] >> % 2454 0 obj << -/Kids [2357 0 R 2358 0 R 2359 0 R 2360 0 R 2361 0 R 2362 0 R] -/Limits [(Item.23) (Item.55)] +/Kids [2352 0 R 2353 0 R 2354 0 R 2355 0 R 2356 0 R 2357 0 R] +/Limits [(Item.126) (Item.21)] >> % 2455 0 obj << -/Kids [2363 0 R 2364 0 R 2365 0 R 2366 0 R 2367 0 R 2368 0 R] -/Limits [(Item.56) (Item.88)] +/Kids [2358 0 R 2359 0 R 2360 0 R 2361 0 R 2362 0 R 2363 0 R] +/Limits [(Item.22) (Item.54)] >> % 2456 0 obj << -/Kids [2369 0 R 2370 0 R 2371 0 R 2372 0 R 2373 0 R 2375 0 R] -/Limits [(Item.89) (cite.Sparse03)] +/Kids [2364 0 R 2365 0 R 2366 0 R 2367 0 R 2368 0 R 2369 0 R] +/Limits [(Item.55) (Item.87)] >> % 2457 0 obj << -/Kids [2376 0 R 2377 0 R 2378 0 R 2379 0 R 2380 0 R 2381 0 R] -/Limits [(cite.machiels) (lstlisting.-8)] +/Kids [2370 0 R 2371 0 R 2372 0 R 2373 0 R 2375 0 R 2376 0 R] +/Limits [(Item.88) (cite.RouXiaXu:11)] >> % 2458 0 obj << -/Kids [2382 0 R 2383 0 R 2384 0 R 2385 0 R 2386 0 R 2387 0 R] -/Limits [(lstlisting.-9) (page.107)] +/Kids [2377 0 R 2378 0 R 2379 0 R 2380 0 R 2381 0 R 2382 0 R] +/Limits [(cite.Sparse03) (lstlisting.-7)] >> % 2459 0 obj << -/Kids [2388 0 R 2389 0 R 2390 0 R 2391 0 R 2392 0 R 2393 0 R] -/Limits [(page.108) (page.14)] +/Kids [2383 0 R 2384 0 R 2385 0 R 2386 0 R 2387 0 R 2388 0 R] +/Limits [(lstlisting.-8) (page.106)] >> % 2460 0 obj << -/Kids [2394 0 R 2395 0 R 2396 0 R 2397 0 R 2398 0 R 2399 0 R] -/Limits [(page.140) (page.172)] +/Kids [2389 0 R 2390 0 R 2391 0 R 2392 0 R 2393 0 R 2394 0 R] +/Limits [(page.107) (page.139)] >> % 2461 0 obj << -/Kids [2400 0 R 2401 0 R 2402 0 R 2403 0 R 2404 0 R 2405 0 R] -/Limits [(page.173) (page.39)] +/Kids [2395 0 R 2396 0 R 2397 0 R 2398 0 R 2399 0 R 2400 0 R] +/Limits [(page.14) (page.171)] >> % 2462 0 obj << -/Kids [2406 0 R 2407 0 R 2408 0 R 2409 0 R 2410 0 R 2411 0 R] -/Limits [(page.4) (page.71)] +/Kids [2401 0 R 2402 0 R 2403 0 R 2404 0 R 2405 0 R 2406 0 R] +/Limits [(page.172) (page.38)] >> % 2463 0 obj << -/Kids [2412 0 R 2413 0 R 2414 0 R 2415 0 R 2416 0 R 2417 0 R] -/Limits [(page.72) (section*.1)] +/Kids [2407 0 R 2408 0 R 2409 0 R 2410 0 R 2411 0 R 2412 0 R] +/Limits [(page.39) (page.70)] >> % 2464 0 obj << -/Kids [2418 0 R 2419 0 R 2420 0 R 2421 0 R 2422 0 R 2423 0 R] -/Limits [(section*.10) (subsection.10.1)] +/Kids [2413 0 R 2414 0 R 2415 0 R 2416 0 R 2417 0 R 2418 0 R] +/Limits [(page.71) (precdata)] >> % 2465 0 obj << -/Kids [2424 0 R 2425 0 R 2426 0 R 2427 0 R 2428 0 R 2429 0 R] -/Limits [(subsection.10.2) (subsection.4.6)] +/Kids [2419 0 R 2420 0 R 2421 0 R 2422 0 R 2423 0 R 2424 0 R] +/Limits [(section*.1) (spdata)] >> % 2466 0 obj << -/Kids [2430 0 R 2431 0 R 2432 0 R 2433 0 R 2434 0 R 2435 0 R] -/Limits [(subsection.4.7) (subsection.7.10)] +/Kids [2425 0 R 2426 0 R 2427 0 R 2428 0 R 2429 0 R 2430 0 R] +/Limits [(subsection.10.1) (subsection.4.5)] >> % 2467 0 obj << -/Kids [2436 0 R 2437 0 R 2438 0 R 2439 0 R 2440 0 R 2441 0 R] -/Limits [(subsection.7.11) (subsubsection.3.1.4)] +/Kids [2431 0 R 2432 0 R 2433 0 R 2434 0 R 2435 0 R 2436 0 R] +/Limits [(subsection.4.6) (subsection.7.1)] >> % 2468 0 obj << -/Kids [2442 0 R 2443 0 R 2444 0 R 2445 0 R 2446 0 R 2447 0 R] -/Limits [(subsubsection.3.1.5) (table.14)] +/Kids [2437 0 R 2438 0 R 2439 0 R 2440 0 R 2441 0 R 2442 0 R] +/Limits [(subsection.7.10) (subsubsection.3.1.3)] >> % 2469 0 obj << -/Kids [2448 0 R 2449 0 R 2450 0 R 2451 0 R] -/Limits [(table.15) (vdata)] +/Kids [2443 0 R 2444 0 R 2445 0 R 2446 0 R 2447 0 R 2448 0 R] +/Limits [(subsubsection.3.1.4) (table.13)] >> % 2470 0 obj << -/Kids [2452 0 R 2453 0 R 2454 0 R 2455 0 R 2456 0 R 2457 0 R] -/Limits [(Doc-Start) (lstlisting.-8)] +/Kids [2449 0 R 2450 0 R 2451 0 R 2452 0 R] +/Limits [(table.14) (vdata)] >> % 2471 0 obj << -/Kids [2458 0 R 2459 0 R 2460 0 R 2461 0 R 2462 0 R 2463 0 R] -/Limits [(lstlisting.-9) (section*.1)] +/Kids [2453 0 R 2454 0 R 2455 0 R 2456 0 R 2457 0 R 2458 0 R] +/Limits [(Doc-Start) (lstlisting.-7)] >> % 2472 0 obj << -/Kids [2464 0 R 2465 0 R 2466 0 R 2467 0 R 2468 0 R 2469 0 R] -/Limits [(section*.10) (vdata)] +/Kids [2459 0 R 2460 0 R 2461 0 R 2462 0 R 2463 0 R 2464 0 R] +/Limits [(lstlisting.-8) (precdata)] >> % 2473 0 obj << -/Kids [2470 0 R 2471 0 R 2472 0 R] -/Limits [(Doc-Start) (vdata)] +/Kids [2465 0 R 2466 0 R 2467 0 R 2468 0 R 2469 0 R 2470 0 R] +/Limits [(section*.1) (vdata)] >> endstream endobj -2477 0 obj +2478 0 obj << /Title (Parallel Sparse BLAS V. 3.9.0) /Subject (Parallel Sparse Basic Linear Algebra Subroutines) /Keywords (Computer Science Linear Algebra Fluid Dynamics Parallel Linux MPI PSBLAS Iterative Solvers Preconditioners) /Creator (pdfLaTeX) /Producer ($Id$) /Author()/Title()/Subject()/Creator(LaTeX with hyperref)/Keywords() -/CreationDate (D:20250930190717+02'00') -/ModDate (D:20250930190717+02'00') +/CreationDate (D:20251008095233+02'00') +/ModDate (D:20251008095233+02'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) kpathsea version 6.3.5) >> @@ -38819,66 +38881,71 @@ endobj 2475 0 obj << /Type /ObjStm -/N 2 -/First 15 -/Length 263 +/N 3 +/First 24 +/Length 356 >> stream -2474 0 2476 35 +2474 0 2476 84 2477 119 % 2474 0 obj << -/Dests 2473 0 R +/Kids [2471 0 R 2472 0 R 2473 0 R] +/Limits [(Doc-Start) (vdata)] >> % 2476 0 obj << +/Dests 2474 0 R +>> +% 2477 0 obj +<< /Type /Catalog -/Pages 2341 0 R -/Outlines 2343 0 R -/Names 2474 0 R +/Pages 2342 0 R +/Outlines 2344 0 R +/Names 2476 0 R /URI (http://ce.uniroma2.it/psblas) /PageMode/UseOutlines/PageLabels<>2<>6<>]>> /OpenAction 677 0 R >> endstream endobj -2478 0 obj +2479 0 obj << /Type /XRef -/Index [0 2479] -/Size 2479 +/Index [0 2480] +/Size 2480 /W [1 3 1] -/Root 2476 0 R -/Info 2477 0 R -/ID [<74AF8409D9443F34D74B521E914F839E> <74AF8409D9443F34D74B521E914F839E>] -/Length 12395 ->> -stream -]) (Gz& (Fz3 (Ez> (DzF (C  -zR (B  z[ (A  (@ (?$ (>% (=E (<F (;G (:H (9L (8 M (7!"N (6#$R (5%&S (4'(U (3)*V (2+,Z (1-.[ (0/0\ (/12c (.344 (-564 (,784 (+9:4  (*;<4  ()=>4 ((?@4 ('AB4 (&CD4 (%EF4 ($GH4 (#IJ4 ("KL4 (!MN4% ( OP4& (QR4' (ST4+ (UV41 (WX42 (YZ43 ([\44 (]^4: (_`4; (ab4< (c>\4B (4G (4H (4I (4P (  -4T (  4^ (  - ( ( % ( 1 ( 9 ( -E ( P (a ( (   (!" (#$( (%&C ('(P ()*_ (+,g &c-.g &b/0g &a12g= &`34gF &_56gQ &^78gR &]9: &\;< &[=> &Z?@ &YAB$ &XCD/ &WEF: &VGHU &UIJL &TKLL &SMNL &ROPL &QQRL$ &PSTL, &OUVL0 &NWXL5 &MYZL? &L[\LD &K]^LJ &J_`LP &IabLV &Hc|YL\ &GLc &F &E &D &C  -( &B  , &A 2 &@8 &?? &>C &=G &<K &;O &:S &9] &8 " &7!""  &6#$" &5%&"! &4'("+ &3)*"7 &2+,"< &1-."C &0/0"L &/12"R &.34"X &-56"^ &,78 &+9: &*;<  &)=> &(?@ &'AB! &&CD( &%EF1 &$GH8 &#IJA &"KLN &!MNZ & OP_ &QRc &ST &UV  &WX &YZ &[\ &]^4 &_`K &abL &c]{S &]]T &]]? &]]C &]]D &] ] -F &] ] J &] ]K &]]L & ]]M & ]]N & ]]O & -]]P & ]]Q &]]U &]]V &]] W &]!]"X &]#]$]%]&]*]'](=?>@Ғ]-]+0],]/]0]1]2]3]4]5]6]7]8]9]:];]<]=]>]?]@]A]B]D]F]G]H]I]J]K]L]M]N]P]R]S]T]U]V]W]X]Y]Z][]`]^].]\]]]C]E]O]Q]a]b]c  +/Root 2477 0 R +/Info 2478 0 R +/ID [ ] +/Length 12400 +>> +stream +]) )Hz& )Gz3 )Fz> )EzF )D  +zR )C  z[ )B  )A )@$ )?% )>E )=F )<G );H ):L )9 M )8!"N )7#$R )6%&S )5'(U )4)*V )3+,Z )2-.[ )1/0\ )012c )/344 ).564 )-784 ),9:4  )+;<4  )*=>4 ))?@4 )(AB4 )'CD4 )&EF4 )%GH4 )$IJ4 )#KL4 )"MN4% )!OP4& ) QR4' )ST4+ )UV41 )WX42 )YZ43 )[\44 )]^4: )_`4; )ab4< )c>\4B )4G )4H )4I )4P )  +4T )  4^ )  + ) )% ) 1 ) 9 ) E ) +P ) a ) )   )!" )#$( )%&C )'(P ))*_ )+,g )-.g 'c/0g 'b12g= 'a34gF '`56gQ '_78gR '^9: '];< '\=> '[?@ 'ZAB$ 'YCD/ 'XEF: 'WGHU 'VIJL 'UKLL 'TMNL 'SOPL 'RQRL$ 'QSTL, 'PUVL0 'OWXL5 'NYZL? 'M[\LD 'L]^LJ 'K_`LP 'JabLV 'Ic|YL\ 'HLc 'G 'F 'E 'D  +) 'C  - 'B 3 'A9 '@@ '?D '>H '=L '<P ';T ':^ '9 # '8!"# '7#$# '6%&#" '5'(#, '4)*#8 '3+,#= '2-.#D '1/0#M '012#S '/34#Y '.56#_ '-78 ',9: '+;<  '*=> ')?@ '(AB" ''CD) '&EF2 '%GH9 '$IJB '#KLO '"MN[ '!OP` ' QR 'ST 'UV 'WX 'YZ '[\ ']^5 '_`L 'abM 'c]{T ']]U ']]@ ']]D ']]E '] ] +G '] ] K '] ]L ']]M ']]N ' ]]O ' ]]P ' ]]Q ' +]]R ' ]]V ']]W ']] X ']!]"Y ']#]$]%]&]*]'](>@?AҒ]-]+0],]/]0]1]2]3]4]5]6]7]8]9]:];]<]=]>]?]@]A]B]D]F]G]H]I]J]K]L]M]N]P]R]S]T]U]V]W]X]Y]Z][]`]^].]\]]]C]E]O]Q]a]b]c      !"#$%&'()*.,]_L+/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTVWY[`^-4]UXZ\bzzzzzzzzz z -z z z zzzzzzzzzzzzzzzzzzz z!z"z$_}!z#aczJz'z%TAz)z*z+z,z-z.z/z0z1z2z4z( z:z;z<BzBz@z5+z=z?z6z7z8z9GzCzDzIzAS&zE876zGzH zNzOzSzJwzPzQzKzLzMcbzUzVzXzTYzWzY^zZz\z]z^z_z`zazbzcB4  -   9 &"'!Eo#&)*+2(g,-./0145@3:6789:;<=>:?BCIADCOJIKWPQT]XY_`a4^b4 4^4 444444 -T54 4D44d444v44"444 4!4(4#4$4,4)4*4.4/464-t4045E494=47484?4@4C4>4A4_4E4M4K4D4F4J4O4Q4L$4N4U4R6)4S4W4X4Y4Z4[4\4b4`4V74]<F4c4aU! F   ؼ!"#' >$&G+(x)*-./3,02567;4 8:?<>X=>ABCG@JDFJHhIHLMNRKkROQ[STUVWXYZ]^_c\`bNe   -; I !"$(#&,*%C1')-./0124+c5367958;<=>?@AE:BDHF^GJJKLMNTURIOQWS$VYZ[\]aX֠^`cgbgHggggg -g*gg R[ggg EggKg g gggg`%ggggggg!ggg g#g$g%g*g"g&g'g(g)g6g-g+0g,g7g.Lg5g/g0g1g2g3g4"hUg9g:g;g?g8og<g>LgBg@NgAgDgJgHgCgEgGgKgLgNgIgMgSgODgPgUgXgTgVgWgZg]gYg[5g\Mg^<-g_g`gagbgcfw @  -  ŞN!"% T#*&'(),-1+.072d3456=;8 9>?F<i@ABCDEOOGLBLFLA_LCLELHLLLGmLILKLNLRLM+LOLQRLTLXLS3LULWLZL_LYOL[L]L^LaL`GLb! +z z z zzzzzzzzzzzzzzzzzzz z!z"z$_}!z#aczJz'z%TBz)z*z+z,z-z.z/z0z1z2z4z(z:z;z<BzBz@z5+z=z?z6z7z8z9GzCzDzIzAS&zE987zGzH zNzOzSzJwzPzQzKzLzMczUzVzXzTYzWzY^zZz\z]z^z_z`zazbzcC4  +   : &"'!Eo#&)*+2(g,-./0145@3:6789:;<=>;?BCIADDOJIKWPQT]XY_`a4^b4 4^4 444444 +T54 4E44d444v44"444 4!4(4#4$4,4)4*4.4/464-t4045F494=47484?4@4C4>4A4_4E4M4K4D4F4J4O4Q4L$4N4U4R6)4S4W4X4Y4Z4[4\4b4`4V74]=G4c4aU! F   ؼ!"#' >$&H+(x)*-./3,02567;4 8:?<>X=>ABCG@JDFJHhIILMNRKkROQ[STUVWXYZ]^_c\`bNe   +< J !"$(#&,*%C1')-./0124+c5367958;<=>?@AE:BDHF^GKJKLMNTURIOQWS$VYZ[\]aX֠^`cgbgHggggg +g*gg R[ggg EggLg g gggg`%ggggggg!ggg g#g$g%g*g"g&g'g(g)g6g-g+0g,g7g.Lg5g/g0g1g2g3g4"hUg9g:g;g?g8og<g>MgBg@NgAgDgJgHgCgEgGgKgLgNgIgMgSgODgPgUgXgTgVgWgZg]gYg[6g\Ng^<-g_g`gagbgcfw @  +  ŞO!"% T#*&'(),-1+.072d3456=;8 9>?F<i@ABCDEPOGLBLFLA_LCLELHLLLGmLILKLNLRLM+LOLQSLTLXLS3LULWLZL_LYOL[L]L^LaL`GLb!+    -   S % 6 !"#$)& \'/* ]t+-.50 xf134<6 %79:;T@= >DA iBHE FLI JPM NTQ RUZU VWXY4^[ \"_! `abc"P""!B"" -"!Z"""" "" !o4" V""!q""""""!"""!*"""""""!;" "("#!"$"%"&"'",")!"*W"4"-" %"."/"03"1"2"3"9"5"'"6"8">":"=@";"="@"A"D"?"S{"B"G"H"I"E"n"F"O"J"f"K"M"NX"U"P""Q"S"T"["V"1"W"Y"Z"a"\""]"_"`"b""c$" - "  Y##$#( "#&+%#F')*.,#c-2/#f}0Z456:3#l179F<=>?DB;#+@GC#oEaIJKLOH#MRP#(QTUVWX[S#Y[]`\$^a$b%$>  - $I $a$n\%#$q< !"&'(*$$),.+$-012:8/$3567;<>9$b=A?$5@]CEFGHIMB%JDOP%Z-Q%|[WN%"RUV]aX%G \^_`YZ%iGb%j  -   c%'v%%%%& %&w&&&,J*,&kb(.!&K )+-^"#$%&&vk'&wg&xw&&N69/&G7801&Љ234&5&&&!<:&b;@='>GA'!BERH'8IYS'NlT_\Z'YN[]'Y^_`* 'B - !2"#$'%'r&'b'(o((;)(c*(f+(7,)O-) .)0/)e0)|1*C*G*Ne*T*[*c*j*p\*v*z-*~**`abc & & &*ٙ &+2 (H (I (J (K (L (M (N (O (P (Q (R (S (T (U (V (W (X (Y (Z ([ (\ (] (^ (_ (` (a (b (c F+/ F F F F F F F F F  F - F  F  F  F F F F F F F F F F F F F F F F F F F  F! F" F# F$ F% F& F' F( F) F* F+ F, F- F. F/ F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F: F; F< F= F> F? F@ FA FB FC FD FE FF FG FH FI FJ FK FL FM FN FO FP FQ FR FS FT FU FV FW FX FY FZ F[ F\ F] F^ F_ F` Fa Fb Fc +}4 +{+~ +   T & < !"#$%*' jA(0+ k*,./61 245=7 8:;<UA> ?EB CIF “GMJ cKQN ZOUR ҞSV[V WXYZ5_\ 7]#`!abc#"##!Px## #!ha### # +## !|# W##!4######!s###!####### !#!#)#$!y#%#&#'#(#-#*"#+X#5#."#/#0#14#2#3#4#:#6"4#7#9#?#;"K#<#>#A#B#E#@"a>#C#H#I#J#F"|Q#G#P#K")#L#N#OY#V#Q"T#R#T#U#\#W"#X#Z#[#b#]"`#^#`#a#c"ǿ$! "  +#W Z##%V %#6!#$',&#TQ(*+/-#qq.30#t>1[567;4#y8:G=>?@EC<#AHD#0FbJKLMPI#NSQ#RUVWXY\T#Z\^a]$_b$c%>$L  +  $W $o$|b]&$$~ !"#'()+%$M*-/,$.123;90$ΰ4678<=?:$$>B@% A^DFGHIJNC%vKEPQ%gR%\XO%0SVW^bY%T]_`aZ[%w c%x  +   %''%/%%%/% &8!%; &)&*&+&9+-&x)/"&Xe*,._#$%&'&(&&&Y&Г7:0&8912&345&?6&;&[&f=;' <A>'-?HB'/+CFSI'F<JZT'[U`]['f\ ^'g!_`a* +'  !"3#$%'W&'6'( &((*3)(I`*(qX+(*,(-).)./)>s0))1*@2*Q*U*\)*be*i^*q*w*~ *_****abc ' ' ' '* '+  )I )J )K )L )M )N )O )P )Q )R )S )T )U )V )W )X )Y )Z )[ )\ )] )^ )_ )` )a )b )c F+< F F F F F F F F F  F + F  F  F  F F F F F F F F F F F F F F F F F F F  F! F" F# F$ F% F& F' F( F) F* F+ F, F- F. F/ F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F: F; F< F= F> F? F@ FA FB FC FD FE FF FG FH FI FJ FK FL FM FN FO FP FQ FR FS FT FU FV FW FX FY FZ F[ F\ F] F^ F_ F` Fa Fb Fc +  ++ endstream endobj startxref -2850453 +2854025 %%EOF diff --git a/docs/src/toolsrout.tex b/docs/src/toolsrout.tex index d58faadc..d43af726 100644 --- a/docs/src/toolsrout.tex +++ b/docs/src/toolsrout.tex @@ -1791,10 +1791,10 @@ Returned as: an \verb|integer(psb_long_int_k_)| number. {\par\noindent\large\bfseries psb\_hsort --- Sorting by the Heapsort algorithm} \begin{verbatim} -call psb_isort(x,ix,dir,flag) -call psb_msort(x,ix,dir,flag) -call psb_qsort(x,ix,dir,flag) -call psb_hsort(x,ix,dir,flag) +call psb_isort(x,ix,dir,flag,reord) +call psb_msort(x,ix,dir,flag,reord) +call psb_qsort(x,ix,dir,flag,reord) +call psb_hsort(x,ix,dir,flag,reord) \end{verbatim} These serial routines sort a sequence $X$ into ascending or @@ -1809,7 +1809,8 @@ Type:{\bf required}.\\ Specified as: an integer, real or complex array of rank 1. \item[ix] A vector of indices.\\ Type:{\bf optional}.\\ -Specified as: an integer array of (at least) the same size as $X$. +Specified as: an integer array of (at least) the same size as +$X$. This argument is required when $reord=psb\_sort\_noreord\_x\_$. \item[dir] The desired ordering.\\ Type:{\bf optional}.\\ Specified as: an integer value: \begin{description} @@ -1824,18 +1825,24 @@ default \verb|psb_lsort_up_|. Type:{\bf optional}.\\ Specified as: an integer value \verb|psb_sort_ovw_idx_| or \verb|psb_sort_keep_idx_|; default \verb|psb_sort_ovw_idx_|. +\item[reord] Whether to reorder the input vector $x$ or just return + $IX$ for further usage.\\ +Type:{\bf optional}.\\ +Specified as: an integer value \verb|psb_sort_reord_x_| or +\verb|psb_sort_noreord_x_|; default \verb|psb_sort_reord_x_|. \end{description} \begin{description} \item[\bf On Return] -\item[x] The sequence of values, in the chosen ordering.\\ +\item[x] The sequence of values; if \verb|reord=psb_sort_reord_x_| it + will be in the chosen ordering.\\ Type:{\bf required}.\\ Specified as: an integer, real or complex array of rank 1. \item[ix] A vector of indices.\\ Type: {\bf Optional} \\ -An integer array of rank 1, whose entries are moved to the same -position as the corresponding entries in $x$. +An integer array of rank 1, whose $i$-th entry gives the position of +the (sorted) value of $x$ in the original sequence. \end{description} {\goodbreak\par\noindent\large\bfseries Notes} @@ -1850,7 +1857,10 @@ position as the corresponding entries in $x$. equal value) in the original input. With the insertion-sort or merge-sort algorithms ties are preserved in the same relative order as they had in the original sequence, while this is not guaranteed for quicksort or - heapsort; + heapsort; +\item If $reord=psb\_sort\_noreord\_x\_$, then the input sequence $x$ + is not reordered; the output is given in $ix$. Calling without $ix$ + in this case is flagged as an error; \item If $flag = psb\_sort\_ovw\_idx\_$ then the entries in $ix(1:n)$ where $n$ is the size of $x$ are initialized to $ix(i) \leftarrow i$; thus, upon return from the subroutine, for each diff --git a/test/openacc/Makefile b/test/openacc/Makefile index 5b69c2d6..b62373f2 100644 --- a/test/openacc/Makefile +++ b/test/openacc/Makefile @@ -14,7 +14,7 @@ LDLIBS=$(PSBGPULDLIBS) FINCLUDES=$(FMFLAG)$(MODDIR) $(FMFLAG)$(INCDIR) $(FMFLAG). $(FMFLAG)$(PSBMODDIR) $(FMFLAG)$(PSBINCDIR) $(LIBRSB_DEFINES) -FFLAGS=-O3 -march=native -fopenacc -foffload=nvptx-none="-march=sm_75" +FFLAGS=-O3 -march=native $(FCOPENACC) -DOPENACC CFLAGS=-O3 -march=native VTC=vectoacc.o @@ -47,9 +47,8 @@ psb_d_oacc_pde3d: $(FLINK) -fopenacc -DOPENACC psb_d_oacc_pde3d.o -o psb_d_oacc_pde3d $(PSBLAS_LIB) $(LDLIBS) /bin/mv psb_d_oacc_pde3d $(EXEDIR) -dpdegenmv: - mpifort -fallow-argument-mismatch -frecursive -g -O3 -frecursive -I../../modules/ -I. -DOPENACC -DHAVE_LAPACK -DHAVE_FLUSH_STMT -DLPK8 -DIPK4 -DMPI_MOD -c dpdegenmv.F90 -o dpdegenmv.o - $(FLINK) -fopenacc -DOPENACC dpdegenmv.o -o dpdegenmv $(PSBLAS_LIB) $(LDLIBS) +dpdegenmv: dpdegenmv.o + $(FLINK) $(FCOPENACC) dpdegenmv.o -o dpdegenmv $(PSBLAS_LIB) $(LDLIBS) /bin/mv dpdegenmv $(EXEDIR) clean: diff --git a/test/openacc/runs/ppde.inp b/test/openacc/runs/ppde.inp deleted file mode 100644 index f6a0cff3..00000000 --- a/test/openacc/runs/ppde.inp +++ /dev/null @@ -1,19 +0,0 @@ -17 Number of entries below this -BICGSTAB Iterative method BICGSTAB CGS BICG BICGSTABL RGMRES FCG CGR RICHARDSON -BJAC Preconditioner NONE DIAG BJAC -CSR Storage format for matrix A: CSR COO -HLL Storage format for matrix A: CSR COO -140 Domain size (acutal system is this**3 (pde3d) or **2 (pde2d) ) -3 Partition: 1 BLOCK 3 3D -2 Stopping criterion 1 2 -0200 MAXIT -10 ITRACE -002 IRST restart for RGMRES and BiCGSTABL -INVK Block Solver ILU,ILUT,INVK,INVT,AINV -NONE If ILU : MILU or NONE othewise ignored -NONE Scaling if ILUT: NONE, MAXVAL otherwise ignored -0 Level of fill for forward factorization -1 Level of fill for inverse factorization (only INVK,INVT) -1E-1 Threshold for forward factorization -1E-1 Threshold for inverse factorization (Only INVK, INVT) -LLK What orthogonalization algorithm? (Only AINV)