# ---------------------------------------------------------------------------
#     ACALIB.PL
#
#      Ver: 8_4_8
# ---------------------------------------------------------------------------
# SSI Web - Web Surveying System
# Copyright Sawtooth Software, Inc. 1998-2015. All rights reserved.
# Orem, UT  USA  (801) 477-4700
#
# Any modification of this script will be considered violation of
# copyright (with the exception of the first line which can be
# modified to reflect the correct path to the Perl interpreter)
#
# Any use of this script or its code for purposes outside of
# the systems created by Sawtooth Software is prohibited.
# ---------------------------------------------------------------------------
 use strict; package acalib8_4_8; our @ISA = qw(questionlib8_4_8); $acalib8_4_8::_cfz = {}; sub _ces { $acalib8_4_8::_cfz = {}; } sub _bls { my ($__enh) = @_; $__enh->SUPER::_bls(); my $__enf = $__enh->{'_bgt'}; my $__eng = authlib8_4_8::_bpl($__enf, 1); $__enh->{'_bkt'}->{'_cgg'} = $__eng; } sub _cet { my($__enj, $__enk) = @_; if (!exists($acalib8_4_8::_cfz->{$__enj})) { if ($authlib8_4_8::_bxe) { seek $authlib8_4_8::_byh, $authlib8_4_8::_bxe, 0; my $__eni = authlib8_4_8::_bps($__enk); _ceu($__eni, $__enj, $__enk); } } } sub _ceu { my($__enu, $__env, $__enw) = @_; if (exists $__enu->{$__env}) { my $__enl = $__enu->{$__env}; seek $authlib8_4_8::_byh, $__enl, 0; $acalib8_4_8::_cfz->{$__env} = authlib8_4_8::_bps($__enw); $acalib8_4_8::_cfz->{$__env}->{'_cga'} = $__env; $acalib8_4_8::_cfz->{$__env}->{'_cgb'} = 7; $acalib8_4_8::_cfz->{$__env}->{'_cgc'} = {}; $acalib8_4_8::_cfz->{$__env}->{'_cgc'}->{'jointMatrix'} = []; $acalib8_4_8::_cfz->{$__env}->{'_cgc'}->{'ijMatrix'} = []; $acalib8_4_8::_cfz->{$__env}->{'_cgc'}->{'CovMatrix'} = []; my $__enm = $acalib8_4_8::_cfz->{$__env}->{'_asc'}; my $__enn = @{$__enm}; my $__eno = 0; my $__enp = 0; my @__enq = (); my @__enr = (); my $__ens = 0; my $__ent = 0; for ($__eno = 0; $__eno < $__enn; $__eno++) { push @__enq, $__ens; $__ent = @{$__enm->[$__eno]->{'_bca'}}; for($__enp = 0; $__enp < $__ent; $__enp++) { push @__enr, $__enm->[$__eno]->{'_bca'}->[$__enp]; } $__ens += $__ent; } $acalib8_4_8::_cfz->{$__env}->{'_cgd'} = \@__enq; $acalib8_4_8::_cfz->{$__env}->{'_cge'} = \@__enr; } else { authlib8_4_8::_bqa(140, "Cannot find ACA exercise.", "Cannot find ACA exercise: " . $__env . " in lookup table.", ""); } } sub _cev { if ($authlib8_4_8::_bxe) { seek $authlib8_4_8::_byh, $authlib8_4_8::_bxe, 0; my $__enx = authlib8_4_8::_bps(1); my $__eny = ""; foreach $__eny (sort keys %{$__enx}) { _ceu($__enx, $__eny); } } } sub _cew { my($__eon, $__eoo, $__eop, $__eoq) = @_; my $__enz = $__eon->{'_asc'}; my $__eoa = 0; my $__eob = ""; my $__eoc = 0; my $__eod = 0; my @__eoe = (); my @__eof = (); if ($__eoo =~ m/_(Rating|Importance)(\d+)/i) { $__eoc = $2; } if ($__eoc > 0) { if ($__eop == &authlib8_4_8::_CCA && (exists $authlib8_4_8::_bzi{"hid_Random_ACARAT"})) { $__eoa = 1; $__eob = $authlib8_4_8::_bzi{"hid_Random_ACARAT"}; } elsif ($__eop == &authlib8_4_8::_CCB && (exists $authlib8_4_8::_bzi{"hid_Random_ACAIMP"})) { $__eoa = 1; $__eob = $authlib8_4_8::_bzi{"hid_Random_ACAIMP"}; } if ($__eoa || $__eoq) { if ($__eoa) { my @__eog = split(",", $__eob); $__eod = $__eog[$__eoc - 1]; if ($__eop == &authlib8_4_8::_CCA) { @__eoe = @__eog; } elsif($__eop == &authlib8_4_8::_CCB) { @__eof = @__eog; } } elsif($__eoq) { my $__eoh = @{$__enz}; my $__eoi = 0; my $__eoj = 0; my $__eok = $authlib8_4_8::_bzi{"hid_respnum"}; my $__eol = authlib8_4_8::_bsi($__eok, $__eoh, 4649); @__eoe = ("") x $__eoh; @__eof = ("") x $__eoh; my $__eom = 0; for ($__eoi = 0; $__eoi < $__eoh; $__eoi++) { $__eof[$__eoi] = $__eol->[$__eoi] + 1; if ($__enz->[$__eoi]->{'_bgu'} == 0) { while ($__eom < $__eoh) { if ($__enz->[$__eol->[$__eom]]->{'_bgu'} == 0) { $__eoe[$__eoi] = $__eol->[$__eom] + 1; $__eom++; last; } $__eom++; } } } $authlib8_4_8::_bzi{"hid_Random_ACARAT"} = join(",", @__eoe); $authlib8_4_8::_bzi{"hid_Random_ACAIMP"} = join(",", @__eof); if ($__eop == &authlib8_4_8::_CCA) { $__eod = $__eoe[$__eoc - 1]; } elsif ($__eop == &authlib8_4_8::_CCB) { $__eod = $__eof[$__eoc - 1]; } } $__eoo =~ s/(_Rating|_Importance)$__eoc/$1$__eod/i; } } return ($__eoo, \@__eoe, \@__eof, $__eoc); } sub _cex { my($__eou, $__eov) = @_; my $__eor = 0; my $__eos = @{$__eou}; my $__eot = 0; for ($__eor = 0; $__eor <= $__eos; $__eor++) { if ($__eou->[$__eor] == $__eov) { $__eot = $__eor + 1; } } return $__eot; } sub _cey { _cev(); if ($acalib8_4_8::_cfz) { my $__eow = ""; my $__eox = 0; foreach $__eow (sort keys %{$acalib8_4_8::_cfz}) { $__eox = $acalib8_4_8::_cfz->{$__eow}; if (exists $__eox->{'_hk'}) { if (exists $__eox->{'_hk'}->{'_hl'}) { my $__eoy = 0; my $__eoz = $__eox->{'_asc'}; my $__epa = @{$__eoz}; my $__epb = 0; ($__eoy, $__epb) = _cfx($__eow); my $__epc = 0; my $__epd = 0; my $__epe = 0; for ($__epc = 1; $__epc <= $__epa; $__epc++) { $__epe = authlib8_4_8::_bqp($__eox, $__epc); if ($__epe > $__epd) { $__epd = $__epe; } } my $__epf = 0; my $__epg = 0; my @__eph = (); if ($__epd > 0) { for ($__epc = 1; $__epc <= $__epa; $__epc++) { if ($__epb != 0) { $__epf = $__epb->[$__epc - 1]; } $__epg = authlib8_4_8::_bqp($__eox, $__epc); push @__eph, (($__epf * $__eoy) + ($__epg * $acalib8_4_8::_cfz->{$__eow}->{'_cgb'} / $__epd)) / ($__eoy + 1); } my $__epi = ""; my $__epj = 0; if ($__eoy) { eval { $__epi = "UPDATE `" . $authlib8_4_8::_bzb . "_aca_avg_imp` SET `num_respondents` = " . ($__eoy + 1) . ", `num_attributes` = " . $__epa . ", `scores_array` = " . $authlib8_4_8::_byw->quote(join(",", @__eph)) . " WHERE `exercise_name` = " . $authlib8_4_8::_byw->quote($__eow); $__epj = $authlib8_4_8::_byw->prepare(authlib8_4_8::_bmy($__epi, 0)); $__epj->execute(); }; if ($@) { authlib8_4_8::_bqa(239, "Database error.", "Database error. Cannot update aca_avg_imp table.", $@); } } else { my $__epk = 0; eval { $__epi = "SELECT * FROM `" . $authlib8_4_8::_bzb . "_aca_avg_imp`"; $__epk = $authlib8_4_8::_byw->selectrow_hashref(authlib8_4_8::_bmy($__epi, 0)); }; if (!$__epk) { eval { $__epi = "CREATE TABLE `" . $authlib8_4_8::_bzb . "_aca_avg_imp` (`exercise_name` TEXT, `num_respondents` INT, `num_attributes` INT, `scores_array` TEXT) " . $authlib8_4_8::_bwn->{'_cax'}; $__epj = $authlib8_4_8::_byw->prepare(authlib8_4_8::_bmy($__epi, 1)); $__epj->execute(); }; if ($@) { authlib8_4_8::_bqa(237, "Database error.", "Database error. Cannot create aca_avg_imp table.", $@); } } eval { $__epi = "INSERT INTO `" . $authlib8_4_8::_bzb . "_aca_avg_imp` (`exercise_name`, `num_respondents`, `num_attributes`, `scores_array`) VALUES (" . $authlib8_4_8::_byw->quote($__eow) . ", 1," . $__epa . ",". $authlib8_4_8::_byw->quote(join(",", @__eph)) . ")"; $__epj = $authlib8_4_8::_byw->prepare(authlib8_4_8::_bmy($__epi, 0)); $__epj->execute(); }; if ($@) { authlib8_4_8::_bqa(238, "Database error.", "Database error. Cannot insert into aca_avg_imp table.", $@); } } } } } } $authlib8_4_8::_byw->commit(); } } sub _cez { my ($__epo, $__epp, $__epq) = @_; my $__epl = 0; my $__epm = 0; if ($__epq != 0) { $__epm = $__epq->{'_ml'}; } if (!exists $__epo->{'_cgc'}->{'blnComputeUtils'}) { $__epp--; my $__epn = $authlib8_4_8::_bzi{"hid_respnum"} + $authlib8_4_8::_bzi{"hid_pagenum"} + $__epp; srand $__epn; rand(); _cfa($__epo, $__epm); _cfc($__epo); for ($__epl = 0; $__epl < $__epp; $__epl++) { _cfd($__epo, $__epl, $__epq); } $__epo->{'_cgc'}->{'blnComputeUtils'} = 1; } } sub _cfa { my ($__eql, $__eqm) = @_; my ($__eqn,$__eqo,$__eqp,$__eqq,$__eqr) = (0) x 5; my ($__eqs,$__eqt,$__equ,$__eqv,$__eqw) = (0) x 5; my $__epr = 0; my $__eps = ""; my @__ept = (); my $__epu = $__eql->{'_cga'}; my @__epv = (); my $__epw = $__eql->{'_asc'}; $__eqn = @{$__epw}; if ($authlib8_4_8::_bzy) { my @__epx = (3,7,4,6,5,2,1); my $__epy = 0; my $__epz = 0; for ($__eqo = 0; $__eqo < $__eqn; $__eqo++) { $__epz = @{$__epw->[$__eqo]->{'_bca'}}; if ($__eqo < 7) { $__epy = $__epx[$__eqo]; } push @__epv,($__eqo, $__epy, 0, $__epz - 1); } } else { my $__eqa = $authlib8_4_8::_bzi{"hid_pagenum"}; my $__eqb = ""; my $__eqc = 0; my $__eqd = 0; my $__eqe = 0; my $__eqf = 0; if(exists $__eql->{'_hk'}) { $__eqe = 1; } for ($__eqo = 0; $__eqo < $__eqn; $__eqo++) { $__eqf = 0; $__eqb = $__epu . "_Importance" . ($__eqo+1); if ($__eqe) { $__eqf = 1; } else { if (exists $authlib8_4_8::_bwq{$__eqb}) { $__eqd = $authlib8_4_8::_bwq{$__eqb}; $__eqc = $__eqd->{'_v'}; if ($__eqc > 0 && $__eqc < $__eqa) { $__eqf = 1; } } } if ($__eqf) { $__eps = authlib8_4_8::_bnc($__eqb); if ($__eps) { @__ept = split(",", $__eps); $__ept[1]--; $__ept[2]--; push @__epv, ($__eqo, @__ept); } } } } my $__eqg = 0; if(exists $__eql->{'_hk'}) { if(exists $__eql->{'_hk'}->{'_hl'}) { $__eqg = 1; } } if ($__eqg) { my $__eqh = 0; my $__eqi = 0; my $__eqj = 0; my $__eqk = 0; for ($__eqo = 0; $__eqo < $__eqn; $__eqo++) { $__eqh += $__epv[($__eqo * 4) + 1]; } $__eqw = $authlib8_4_8::_bzi{"hid_respnum"}; for ($__eqo = 0; $__eqo < $__eqn - 1; $__eqo++) { $__eqk = $__eqh * authlib8_4_8::_bsj($__eqw * 47 + $__eqo); $__equ = $__eqo; $__eqi = 0; for ($__eqp=$__eqo;$__eqp<$__eqn;$__eqp++) { $__eqj = $__epv[$__eqp*4+1]; $__eqi += $__eqj; if ($__eqi > $__eqk) { $__equ = $__eqp; $__eqh -= $__eqj; last; } } if ($__equ != $__eqo) { for($__eqq=0;$__eqq<4;$__eqq++){ $__eqr = $__epv[$__equ*4+$__eqq]; $__epv[$__equ*4+$__eqq] = $__epv[$__eqo*4+$__eqq]; $__epv[$__eqo*4+$__eqq] = $__eqr; } } } } else { for ($__eqo=0;$__eqo<$__eqn-1;$__eqo++) { $__eqs = $__epv[$__eqo*4+1]; $__eqt = 1; $__equ = $__eqo; for ($__eqp=$__eqo+1;$__eqp<$__eqn;$__eqp++) { if ($__epv[$__eqp*4+1] == $__eqs) { $__eqt++; } elsif ($__epv[$__eqp*4+1] > $__eqs) { $__eqs = $__epv[$__eqp*4+1]; $__eqt = 1; $__equ = $__eqp; } } if (($__equ != $__eqo) || ($__eqt > 1)) { if ($__eqt > 1) { $__eqw = $authlib8_4_8::_bzi{"hid_respnum"}; $__epr = authlib8_4_8::_bsi($__eqw,$__eqt,$__eqo); $__eqv = $__epr->[0] + 1; $__eqt = 0; for ($__eqp=$__eqo;$__eqp<$__eqn;$__eqp++) { if ($__eqs == $__epv[$__eqp*4+1]) { $__eqt++; if ($__eqv == $__eqt) { $__equ = $__eqp; last; } } } } if ($__equ != $__eqo) { for($__eqq=0;$__eqq<4;$__eqq++){ $__eqr = $__epv[$__equ*4+$__eqq]; $__epv[$__equ*4+$__eqq] = $__epv[$__eqo*4+$__eqq]; $__epv[$__eqo*4+$__eqq] = $__eqr; } } } } } $__eql->{'_cgc'}->{'ImpDesign'} = \@__epv; } sub _cfb { my ($__erp, $__erq) = @_; my $__eqx = $__erp->{'_asc'}; my $__eqy = $__erp->{'_cga'}; my $__eqz = []; if (exists $__erp->{'_aqj'}) { $__eqz = $__erp->{'_aqj'}; } my $__era = @{$__eqz} / 4; my ($__err,$__ers,$__ert,$__eru,$__erv,$__erw) = (0) x 6; my ($__erx,$__ery,$__erz,$__esa) = (0) x 4; my @__erb = (); my $__erc = 15; $__err = @{$__eqx}; my $__erd = 0; if (exists $authlib8_4_8::_bwq{$__eqy . "_Pair1"}) { my $__ere = $authlib8_4_8::_bwq{$__eqy . "_Pair1"}; my $__erf = $__ere->{'_w'}; seek $authlib8_4_8::_byh, $__erf, 0; my $__erg = authlib8_4_8::_bps(0); $__erd = $__erg->{'_ml'}; } _cfa($__erp, $__erd); my @__erh = (); my $__eri = $__erp->{'_cgc'}->{'ImpDesign'}; push @__erh, @{$__eri}; my $__erj = 0; my $__erk = 0; my $__erl = 0; my $__erm = 0; my $__ern = 0; my $__ero = 0; for ($__ers=0;$__ers<$__err-1;$__ers++){ for ($__ert=$__ers+1;$__ert<$__err;$__ert++){ if ($__erh[$__ers*4+1]==-1 || $__erh[$__ert*4+1]==-1){ next; } $__erx = $__erh[$__ers*4] + 1; $__ery = $__erh[$__ert*4] + 1; $__erj = @{$__eqx->[$__erx - 1]->{'_bca'}}; $__erk = @{$__eqx->[$__ery - 1]->{'_bca'}}; for ($__eru=0; $__eru < $__erk; $__eru++){ for ($__erv = 0; $__erv < $__erj; $__erv++){ $__erb[$__eru*$__erc+$__erv] = 0; } } $__erz = 0; for ($__eru = 0; $__eru < $__era; $__eru++){ $__erl = $__eru*4; $__erm = $__erl + 2; $__ern = $__erl + 1; $__ero = $__erl + 3; if ($__ery==$__eqz->[$__erl] && $__erx==$__eqz->[$__erm]) { $__erv = $__eqz->[$__erl]; $__eqz->[$__erl] = $__eqz->[$__erm]; $__eqz->[$__erm] = $__erv; $__erv = $__eqz->[$__ern]; $__eqz->[$__ern] = $__eqz->[$__ero]; $__eqz->[$__ero] = $__erv; } if ($__erx==$__eqz->[$__erl] && $__ery==$__eqz->[$__erm]) { if ($__eqz->[$__ern]==-1 && $__eqz->[$__ero]==-1){ $__erz = 2; last; } elsif ($__eqz->[$__ern]==-1){ for ($__erv = 0; $__erv < $__erj; $__erv++){ $__erb[($__eqz->[$__ero]-1)*$__erc+$__erv] = -1; } $__erz = 1; } elsif ($__eqz->[$__ero]==-1){ for ($__erv = 0; $__erv < $__erk; $__erv++){ $__erb[$__erv*$__erc+$__eqz->[$__ern]-1] = -1; } $__erz = 1; } else { $__erb[($__eqz->[$__ero]-1)*$__erc+$__eqz->[$__ern]-1] = -1; $__erz = 1; } } } if ($__erz==1){ for ($__eru = 0; $__eru < $__erk; $__eru++){ for ($__erv = 0; $__erv < $__erj; $__erv++){ if ($__erb[$__eru*$__erc+$__erv] != -1){ $__erz = 0; last; } } if ($__erz==0){ last; } } if ($__erz==1){ $__erz = 2; } } if ($__erz==2){ $__erh[$__ert*4+1] = -1; $__esa = 1; } } } if ($__esa==1){ for ($__ers=0;$__ers<$__err-1;$__ers++){ for ($__ert=$__ers+1;$__ert<$__err;$__ert++){ if ($__erh[$__ers*4+1] < $__erh[$__ert*4+1]) { for($__eru=0;$__eru<4;$__eru++){ $__erw = $__erh[$__ert*4+$__eru]; $__erh[$__ert*4+$__eru] = $__erh[$__ers*4+$__eru]; $__erh[$__ers*4+$__eru] = $__erw; } } } } } $__ert = 0; for ($__ers=0;$__ers<$__err;$__ers++) { if ($__erh[$__ers*4+1]>=0) { $__ert++; } } if ($__erq != 0) { if ($__ert < $__erq->{'_ml'}) { $__erq->{'_ml'} = $__ert; } if ($__ert+1 < $__erq->{'_mk'}) { $__erq->{'_mk'} = $__ert+1; } } return \@__erh; } sub _cfc { my($__esp) = @_; my $__esb = $__esp->{'_cga'}; my $__esc = $__esp->{'_asc'}; my ($__esq,$__esr,$__ess,$__est,$__esu,$__esv,$__esw,$__esx) = (0) x 8; my @__esd = (); my $__ese = $__esp->{'_cgb'}; my $__esf = 0; my $__esg = ""; my $__esh = 0; my $__esi = 0; my $__esj = 0; my $__esk = @{$__esc}; my $__esl = 0; my $__esm = $__esp->{'_cgc'}->{'ImpDesign'}; my @__esn = (); if (exists $authlib8_4_8::_bwq{$__esb . "_Importance1"}) { my $__eso = 0; $__esi = $authlib8_4_8::_bwq{$__esb . "_Importance1"}; $__esj = $__esi->{'_w'}; seek $authlib8_4_8::_byh, ($__esj), 0; $__eso = authlib8_4_8::_bps(0); $__ese = @{$__eso->{'_vq'}->{'_vr'}}; } for ($__esq = 0; $__esq < $__esk; $__esq++){ $__esu = $__esm->[$__esq*4]; $__est = $__esc->[$__esu]->{'_bgu'}; $__ess = @{$__esc->[$__esu]->{'_bca'}}; if ($__est == 1){ for($__esr=0;$__esr<$__ess;$__esr++){ $__esd[$__esr] = $__esr / ($__ess - 1); } } elsif ($__est == 2){ for($__esr=0;$__esr<$__ess;$__esr++){ $__esd[$__esr] = ($__ess - $__esr - 1) / ($__ess - 1); } } else { for ($__esr=0;$__esr<$__ess;$__esr++){ $__esg = $__esb . "_Rating" . ($__esu + 1) . "_" . ($__esr + 1); $__esd[$__esr] = authlib8_4_8::_bnc($__esg); if ($__esr == 0){ $__esv = $__esd[$__esr]; $__esw = $__esd[$__esr]; } if ($__esd[$__esr] < $__esv){ $__esv = $__esd[$__esr]; } if ($__esd[$__esr] > $__esw){ $__esw = $__esd[$__esr]; } } for ($__esr=0;$__esr<$__ess;$__esr++){ $__esd[$__esr] -= $__esv; if ($__esw > $__esv){ $__esd[$__esr] /= ($__esw - $__esv); } } } $__esh = 0; for ($__esr=0;$__esr<$__ess;$__esr++){ $__esl = $__esm->[$__esq*4+1]; if ($__esl <= 0) { $__esl = 1 / ($__esp->{'_cgb'} + 1); } $__esd[$__esr] *= (4 * $__esl); $__esd[$__esr] /= $__ese; $__esh += $__esd[$__esr]; } $__esh /= $__ess; for ($__esr=0;$__esr<$__ess;$__esr++){ $__esd[$__esr] -= $__esh; push @__esn, $__esd[$__esr]; } $__esm->[$__esq*4+2] = $__esx; $__esm->[$__esq*4+3] = $__ess; $__esx += $__ess; } $__esp->{'_cgc'}->{'XUtils'} = \@__esn; } sub _cfd { my($__etn, $__eto, $__etp) = @_; my $__esy = $__etn->{'_cga'}; my ($__etq,$__etr,$__ets,$__ett,$__etu,$__etv) = (0) x 6; my @__esz = (); my $__eta = $__etp->{'_ml'}; my $__etb = @{$__etp->{'_vq'}->{'_vr'}}; my $__etc = $__etn->{'_cgc'}->{'ImpDesign'}; my @__etd = (); my @__ete = (); $__etq = $__etc->[($__eta-1)*4+2] + $__etc->[($__eta-1)*4+3]; if ($__eto == 0) { my @__etf = (); my @__etg = (); my @__eth = (); $__ets = $__etq * ($__etq + 1) / 2; for($__etr=0;$__etr<$__ets;$__etr++){ $__etf[$__etr] = 0; } $__ett = 0; for ($__etr=0;$__etr<$__etq;$__etr++){ for ($__ets=$__etr;$__ets<$__etq;$__ets++){ if ($__etr==$__ets){ $__etf[$__ett] = 1; } $__ett++; } } $__ett = 0; for($__etr=0;$__etr<$__eta;$__etr++){ @__etd = (); $__ett = $__etc->[$__etr*4+3]; $__ett = $__ett * ($__ett - 1) / 2; for ($__ets=0;$__ets<$__ett;$__ets++){ $__etd[$__ets] = 0; } $__etg[$__etr] = [@__etd]; for ($__ets=0;$__ets<$__eta;$__ets++){ $__eth[$__etr*$__eta+$__ets] = 0; } } $__etn->{'_cgc'}->{'jointMatrix'} = \@__eth; $__etn->{'_cgc'}->{'ijMatrix'} = \@__etg; $__etn->{'_cgc'}->{'CovMatrix'} = \@__etf; } my $__eti = $__esy . "_Pair" . ($__eto + 1); if (exists $authlib8_4_8::_bwq{$__eti}) { my $__etj = $authlib8_4_8::_bwq{$__eti}; my $__etk = $__etj->{'_v'}; my $__etl = $authlib8_4_8::_bzi{"hid_pagenum"}; if ($__etk < $__etl) { my $__etm = authlib8_4_8::_bnc($__eti); if ($__etm) { @__esz = split(",", $__etm); for ($__etr=0;$__etr<$__etq;$__etr++){ $__ete[$__etr] = 0; } for ($__etr=1;$__etr<@__esz;$__etr++){ $__etu = _cfe($__etn, $__esz[$__etr], $__eta); if ($__esz[$__etr] < 0) { $__ete[$__etu] = -1; } else { $__ete[$__etu] = 1; } } $__etv = 1 + (8 / ($__etb - 1)) * ($__esz[0] - 1); $__etv -= 5; _cff($__etn, $__etq,$__etv,\@__ete); _cfg($__etn, $__eta, \@__ete); _cfh($__etn, $__eta, \@__ete); } } } } sub _cfe { my ($__ety, $__etz, $__eua) = @_; my $__etw = $__ety->{'_cgc'}->{'ImpDesign'}; my $__etx = $__ety->{'_cgd'}; my ($__eub,$__euc,$__eud) = (0) x 3; if ($__etz < 0){ $__etz = -$__etz; } $__etz--; $__eub = -1; for($__euc=0;$__euc<$__eua;$__euc++){ $__eud = $__etx->[$__etw->[$__euc*4]]; if (($__etz >= $__eud) && ($__etz < ($__eud + $__etw->[$__euc*4+3]))){ $__eub = $__etw->[$__euc*4+2] + $__etz - $__eud; last; } } if ($__eub == -1){ authlib8_4_8::_bqa(141, "", "ACA error in LookupPersLevel.", ""); } return $__eub; } sub _cff { my ($__eug, $__euh, $__eui, $__euj) = @_; my ($__euk,$__eul,$__eum,$__eun,$__euo) = (0) x 5; my ($__eup,$__euq,$__eur) = (0.0) x 3; my (@__eus); my $__eue = 0; my $__euf = 0; if (exists $__eug->{'_cgc'}->{'XUtils'}) { $__eue = $__eug->{'_cgc'}->{'XUtils'}; } if (exists $__eug->{'_cgc'}->{'CovMatrix'}) { $__euf = $__eug->{'_cgc'}->{'CovMatrix'}; } for($__euk=0;$__euk<$__euh;$__euk++){ $__eus[$__euk] = 0; $__eun = $__euk * $__euh - $__euk * ($__euk+1) / 2; for ($__eul=0;$__eul<$__euh;$__eul++){ $__euo = $__euj->[$__eul]; if ($__euo == 0) { next; } if ($__euk <= $__eul){ $__eum = $__eun + $__eul; } else { $__eum = $__eul * $__euh - $__eul * ($__eul+1)/2 + $__euk; } if ($__euo > 0){ $__eus[$__euk] += $__euf->[$__eum]; } else { $__eus[$__euk] -= $__euf->[$__eum]; } } } $__euq = 0; $__eup = 0; for($__euk=0;$__euk<$__euh;$__euk++){ if ($__euj->[$__euk]==0) { next; } $__euq += $__euj->[$__euk] * $__eus[$__euk]; $__eup += $__euj->[$__euk] * $__eue->[$__euk]; } $__euq = 1 / ($__euq +1); $__eup = $__eui - $__eup; $__eum = 0; for($__euk=0;$__euk<$__euh;$__euk++){ $__eur = $__eus[$__euk] * $__euq; $__eue->[$__euk] += $__eur * $__eup; for ($__eul=$__euk;$__eul<$__euh;$__eul++){ $__euf->[$__eum] -= $__eur * $__eus[$__eul]; $__eum++; } } } sub _cfg { my($__euv, $__euw, $__eux) = @_; my ($__euy,$__euz,$__eva,$__evb,$__evc,$__evd,$__eve,$__evf) = (0) x 8; my $__eut = $__euv->{'_cgc'}->{'ImpDesign'}; my $__euu = $__euv->{'_cgc'}->{'ijMatrix'}; for($__euy=0;$__euy<$__euw;$__euy++){ $__evf = 0; $__euz = $__eut->[$__euy*4+2]; for($__eva = 0; $__eva < $__eut->[$__euy*4+3]; $__eva++){ if ($__eux->[$__euz+$__eva] != 0) { if ($__evf==1){ $__eve = $__eva; $__evf = 2; } else { $__evd = $__eva; $__evf = 1; } } } if ($__evf == 0) { next; } if ($__evf != 2){ authlib8_4_8::_bqa(142, "", "ACA error in Updateijmat.", ""); } $__evc = 0; for($__eva = 0; $__eva < $__eut->[$__euy*4+3] - 1; $__eva++){ for ($__evb = $__eva + 1; $__evb < $__eut->[$__euy*4+3]; $__evb++){ if ($__eva==$__evd && $__evb==$__eve){ $__euu->[$__euy][$__evc] += 1; } $__evc++; } } } } sub _cfh { my($__evi, $__evj, $__evk) = @_; my $__evg = $__evi->{'_cgc'}->{'ImpDesign'}; my $__evh = $__evi->{'_cgc'}->{'jointMatrix'}; my ($__evl,$__evm,$__evn,$__evo,$__evp) = (0) x 5; my (@__evq); @__evq = (); for($__evl=0;$__evl<$__evj;$__evl++){ $__evm = $__evg->[$__evl*4+2]; for($__evn = 0; $__evn < $__evg->[$__evl*4+3]; $__evn++){ if ($__evk->[$__evm+$__evn] != 0) { push @__evq,$__evl; last; } } } for($__evl=0;$__evl<scalar(@__evq)-1;$__evl++){ for($__evn=$__evl+1;$__evn<scalar(@__evq);$__evn++){ $__evo = $__evq[$__evl]; $__evp = $__evq[$__evn]; $__evh->[$__evo*$__evj+$__evp] ++; $__evh->[$__evp*$__evj+$__evo] ++; } } } sub _cfi { my($__ewd, $__ewe, $__ewf, $__ewg) = @_; my $__evr = 0; my $__evs = {}; if (exists $__ewd->{'_cgf'}) { $__evs = $__ewd->{'_cgf'}; if (exists $__evs->{$__ewf}) { $__evr = $__evs->{$__ewf}; } } if ($__evr == 0) { my @__evt = (); my $__evu = []; if (exists $__ewd->{'_aqj'}) { $__evu = $__ewd->{'_aqj'}; } my $__evv = @{$__evu} / 4; my $__evw = $__ewd->{'_cgc'}->{'ImpDesign'}; my $__evx = $__ewd->{'_cgd'}; my @__evy = (); my $__evz = 0; my $__ewa = 0; my ($__ewh,$__ewi,$__ewj,$__ewk) = (0) x 4; my ($__ewl, $__ewm, $__ewn, $__ewo, $__ewp, $__ewq, $__ewr) = (0) x 7; my $__ewb = $authlib8_4_8::_bzi{"hid_respnum"}; my $__ewc = ($__ewb * 31) + $__ewf; srand($__ewc); rand(); xyz: $__evz = _cfj($__ewd, $__ewe,$__ewf,$__ewg,$__ewl,$__ewc); $__ewm = 0; abc: @__evt = (); for ($__ewh=0;$__ewh<@{$__evz};$__ewh++){ $__ewa = $__evz->[$__ewh]*4; @__evy = _cfk($__ewd, $__evz->[$__ewh], $__evw->[$__ewa + 3]); $__evy[0] += $__evw->[$__ewa + 2]; $__evy[1] += $__evw->[$__ewa + 2]; push @__evt,@__evy; } _cfl($__ewd, scalar (@{$__evz}), \@__evt); for ($__ewi=0;$__ewi<@{$__evz};$__ewi++){ $__ewa = $__evz->[$__ewi]*4; for($__ewj=0;$__ewj<2;$__ewj++){ $__evt[$__ewi*2+$__ewj] -= $__evw->[$__ewa + 2]; $__evt[$__ewi*2+$__ewj] += $__evx->[$__evw->[$__ewa]]; } } $__ewn = 0; for($__ewh=0; $__ewh < $__evv; $__ewh++){ for ($__ewi=0;$__ewi< scalar (@{$__evz}) - 1;$__ewi++){ for ($__ewj=$__ewi+1;$__ewj<@{$__evz};$__ewj++){ for ($__ewk=0;$__ewk<2;$__ewk++){ $__ewq = $__evw->[$__evz->[$__ewi]*4] + 1; $__ewr = $__evw->[$__evz->[$__ewj]*4] + 1; $__ewo = $__evt[$__ewi*2+$__ewk] - $__evx->[$__evw->[$__evz->[$__ewi]*4]] + 1; $__ewp = $__evt[$__ewj*2+$__ewk] - $__evx->[$__evw->[$__evz->[$__ewj]*4]] + 1; $__ewn = _cfn($__evu, $__ewn, $__ewh, $__ewq, $__ewr, $__ewo, $__ewp); if ($__ewn){ last; } } if ($__ewn){ last; } } if ($__ewn){ last; } } if ($__ewn){ last; } } if ($__ewn){ if ($__ewm < 50){ $__ewm++; goto abc; } if ($__ewl < 50){ $__ewl++; goto xyz; } authlib8_4_8::_bqa(143, "", "ACA error: Too many constraints in attributes.", ""); } _cfm(scalar (@{$__evz}), \@__evt); $__evr = \@__evt; $__evs->{$__ewf} = $__evr; $__ewd->{'_cgf'} = $__evs; } return $__evr; } sub _cfj { my($__exd, $__exe,$__exf,$__exg,$__exh,$__exi) = @_; my $__ews = $__exd->{'_cgc'}->{'ImpDesign'}; my $__ewt = $__exd->{'_cgc'}->{'jointMatrix'}; my ($__exj, $__exk, $__exl, $__exm, $__exn, $__exo, $__exp) = (0) x 7; my @__ewu = (); my ($__exq, $__exr, $__exs) = (0.0) x 3; my ($__ext,$__exu) = (0) x 2; my (@__exv); my $__ewv = 0; my $__eww = 0; if ($__exe == 2 && $__exf < $__exg && $__exh == 0){ if (exists $__exd->{'_hk'}) { if (exists $__exd->{'_hk'}->{'_hl'}) { $__eww = 1; my @__ewx = (); my @__ewy = (); my $__ewz = 0; my $__exa = 0; my $__exb = 0; my $__exc = 0; for ($__exj=0;$__exj<$__exg;$__exj++){ $__ewy[$__exj] = $__ews->[$__exj*4+1]; $__ewz += $__ewy[$__exj]; } srand($authlib8_4_8::_bzi{"hid_respnum"} * 31); rand(); for ($__exj=0;$__exj<$__exg;$__exj++){ $__exa = rand; $__exb = 0; $__exc = 0; for ($__exk=0;$__exk<$__exg;$__exk++) { if ($__ewy[$__exk] > 0) { $__exc = $__exk; if (($__exb + ($__ewy[$__exk]/ $__ewz)) >= $__exa) { last; } else{ $__exb += ($__ewy[$__exk] / $__ewz); } } } $__ewx[$__exj] = $__exc; $__ewz -= $__ewy[$__exc]; $__ewy[$__exc] = 0; } srand($__exi); rand(); push @__ewu,$__ewx[$__exf]; if ($__exg == $__exf+1){ push @__ewu,$__ewx[0]; } else { push @__ewu,$__ewx[$__exf+1]; } } } if (!$__eww) { push @__ewu,$__exf; if ($__exg == $__exf+1){ push @__ewu,0; } else { push @__ewu,($__exf+1); } } $__exj = $__ewu[0]; $__exk = $__ewu[1]; $__ewt->[$__exj*$__exg+$__exk] ++; $__ewt->[$__exk*$__exg+$__exj] ++; return (\@__ewu); } $__exq = 0.0; $__exr = 0.0; $__ext = 0; $__exu = 1.; for ($__exj=0;$__exj<$__exg;$__exj++){ $__exv[$__exj] = rand; for ($__exk=0;$__exk<$__exg;$__exk++){ if ($__exj==$__exk){ next; } $__ewv = $__exj*$__exg+$__exk; $__exv[$__exj] += $__ewt->[$__ewv]; if ($__exj<$__exk){ next; } $__ext++; $__exq += $__ewt->[$__ewv]; } } if ($__ext != 0) { $__exr = $__exq / $__ext; } for($__exj=0;$__exj<$__exe;$__exj++){ RETRY: for ($__exp=0;$__exp<$__exg;$__exp++){ $__exl = 0; $__exs = $__exv[0]; for ($__exm=0;$__exm<$__exg;$__exm++){ if ($__exv[$__exm]<$__exs){ $__exs = $__exv[$__exm]; $__exl = $__exm; } } $__exn = 1; for ($__exo=0;$__exo<$__exj;$__exo++){ $__exm = $__ewu[$__exo]; $__ewv = $__exl*$__exg+$__exm; if (($__exl==$__exm) || ($__ewt->[$__ewv] > $__exr * $__exu) || ($__ewt->[$__ewv] >= 1000)){ $__exn = 0; last; } } if ($__exn==1){ last; } $__exv[$__exl]++; } if ($__exn==0){ $__exu *= 1.1; if ($__exu > 1000){ authlib8_4_8::_bqa(144, "", "ACA Error in PickAtts.", ""); } goto RETRY; } push @__ewu,$__exl; $__exv[$__exl] = 1000; for ($__exo=0;$__exo<$__exj;$__exo++){ $__exm = $__ewu[$__exo]; $__ewt->[$__exl*$__exg+$__exm] ++; $__ewt->[$__exm*$__exg+$__exl] ++; $__exv[$__exm] ++; $__exq++; } if ($__ext != 0){ $__exr = $__exq / $__ext; } } return (\@__ewu); } sub _cfk { my($__exx, $__exy, $__exz) = @_; my ($__eya,$__eyb,$__eyc,$__eyd,$__eye,$__eyf,$__eyg,$__eyh) = (0) x 8; my $__exw = $__exx->{'_cgc'}->{'ijMatrix'}; $__eyg = $__exz - 1; $__eyf = $__exz * $__eyg / 2; $__eyc = int (rand 32000); $__eyh = 0; RESTART: for($__eyd=0;$__eyd<$__eyf;$__eyd++){ $__eye = ($__eyd + $__eyc) % $__eyf; if ($__exw->[$__exy][$__eye]==0){ $__eyh = 1; last; } } if ($__eyh==0){ for($__eyd=0;$__eyd<$__eyf;$__eyd++){ if ($__exw->[$__exy][$__eyd] > 0) { $__exw->[$__exy][$__eyd] -= 1; } } goto RESTART; } $__eyd = 0; for ($__eya=0;$__eya<$__eyg;$__eya++){ for ($__eyb=$__eya+1;$__eyb<$__exz;$__eyb++){ if ($__eyd==$__eye) { goto FOUND; } $__eyd++; } } FOUND: $__exw->[$__exy][$__eye] = 1; return ($__eya,$__eyb); } sub _cfl { my ($__eyj, $__eyk,$__eyl) = @_; my ($__eym, $__eyn, $__eyo) = (0) x 3; my ($__eyp, $__eyq, $__eyr) = (0.0) x 3; my (@__eys); my $__eyi = 0; if (exists $__eyj->{'_cgc'}->{'XUtils'}) { $__eyi = $__eyj->{'_cgc'}->{'XUtils'}; } for ($__eym=0;$__eym<$__eyk;$__eym++){ $__eys[$__eym] = $__eyi->[$__eyl->[$__eym*2+1]] - $__eyi->[$__eyl->[$__eym*2]]; $__eyp += $__eys[$__eym]; } $__eyq = $__eyp; if ($__eyq < 0) { $__eyq = -$__eyq; } for(;;){ $__eyo = -1; for($__eym=0;$__eym<$__eyk;$__eym++){ $__eyr = $__eyp - 2 * $__eys[$__eym]; if ($__eyr < 0) { $__eyr = -$__eyr; } if ($__eyr >= $__eyq){ next; } $__eyo = $__eym; $__eyq = $__eyr; } if ($__eyo< 0){ last; } $__eyn = $__eyl->[$__eyo*2+1]; $__eyl->[$__eyo*2+1] = $__eyl->[$__eyo*2]; $__eyl->[$__eyo*2] = $__eyn; $__eyp -= 2 * $__eys[$__eyo]; $__eys[$__eyo] = -$__eys[$__eyo]; } $__eyr = rand; if ($__eyr < .5) { for ($__eym=0;$__eym<$__eyk;$__eym++) { $__eyn = $__eyl->[$__eym*2]; $__eyl->[$__eym*2] = $__eyl->[$__eym*2+1]; $__eyl->[$__eym*2+1] = $__eyn; } } } sub _cfm { my($__eyt,$__eyu) = @_; my ($__eyv,$__eyw,$__eyx,$__eyy) = (0) x 4; my (@__eyz); for($__eyv=0;$__eyv<$__eyt;$__eyv++){ $__eyz[$__eyv] = rand; } for($__eyv=0;$__eyv<$__eyt-1;$__eyv++){ for($__eyw=$__eyv+1;$__eyw<$__eyt;$__eyw++){ if ($__eyz[$__eyv] >= $__eyz[$__eyw]){ $__eyy = $__eyz[$__eyv]; $__eyz[$__eyv] = $__eyz[$__eyw]; $__eyz[$__eyw] = $__eyy; for($__eyx=0;$__eyx<2;$__eyx++){ $__eyy = $__eyu->[$__eyv*2+$__eyx]; $__eyu->[$__eyv*2+$__eyx] = $__eyu->[$__eyw*2+$__eyx]; $__eyu->[$__eyw*2+$__eyx] = $__eyy; } } } } } sub _cfn { my($__eze, $__ezf, $__ezg, $__ezh, $__ezi, $__ezj, $__ezk) = @_; my $__eza = $__eze->[$__ezg*4]; my $__ezb = $__eze->[$__ezg*4+2]; my $__ezc = $__eze->[$__ezg*4+1]; my $__ezd = $__eze->[$__ezg*4+3]; if ((($__eza==$__ezh) || ($__eza==$__ezi)) && (($__ezb==$__ezh) || ($__ezb==$__ezi))){ if ($__ezc==-1 || $__ezd==-1){ if ($__ezc==-1 && $__ezd==-1){ $__ezf = 1; } else { if ($__ezc==-1){ if ($__eza==$__ezh){ if ($__ezk == $__ezd){ $__ezf = 1; } } else { if ($__ezj == $__ezd){ $__ezf = 1; } } } else { if ($__eza==$__ezh){ if ($__ezj == $__ezc){ $__ezf = 1; } } else { if ($__ezk == $__ezc){ $__ezf = 1; } } } } } else { if ($__eza==$__ezh){ if (($__ezj == $__ezc) && ($__ezk == $__ezd)){ $__ezf = 1; } } else { if (($__ezk == $__ezc) && ($__ezj == $__ezd)){ $__ezf = 1; } } } } return $__ezf; } sub _cfo { my ($__ezs, $__ezt) = @_; my $__ezl = $__ezs->{'_asc'}; my $__ezm = $__ezs->{'_cgd'}; my $__ezn = []; if (exists $__ezs->{'_aqj'}) { $__ezn = $__ezs->{'_aqj'}; } my $__ezo = @{$__ezn} / 4; my ($__ezu, $__ezv, $__ezw, $__ezx, $__ezy, $__ezz, $__faa, $__fab) = (0) x 8; my ($__fac, $__fad, $__fae, $__faf, $__fag, $__fah, $__fai, $__faj) = (0) x 8; my $__ezp = 0; my $__ezq = 0; my $__ezr = 0; abc: $__fab = 0; for($__ezu = 0; $__ezu < $__ezo; $__ezu++){ for ($__ezv=0;$__ezv< scalar (@{$__ezt}) - 1;$__ezv++){ for ($__ezw=$__ezv+1;$__ezw<@{$__ezt};$__ezw++){ ($__ezx,$__ezz) = _cfp($__ezs, $__ezt->[$__ezv]); ($__ezy,$__faa) = _cfp($__ezs, $__ezt->[$__ezw]); $__ezp = @{$__ezl->[$__ezx - 1]->{'_bca'}}; $__ezq = @{$__ezl->[$__ezy - 1]->{'_bca'}}; $__fab = _cfn($__ezn, $__fab, $__ezu, $__ezx, $__ezy, $__ezz, $__faa); if ($__fab){ $__fah = $__ezu; last; } } if ($__fab){ last; } } if ($__fab){ last; } } if ($__fab==1){ if ($__fad == 0 && $__fac == 0 && $__faj == 0) { $__fag = 1; if ($__faa == $__ezq) { $__fag = 0; } $__faf = 1; if ($__ezz == $__ezp) { $__faf = 0; } } $__fad++; $__fae ++; if ($__fag == 1) { $__ezt->[$__ezw]++; if ($__ezt->[$__ezw] >= ($__ezq + $__ezm->[$__ezy-1])){ $__ezt->[$__ezw] = $__ezm->[$__ezy-1]; } } else { $__ezt->[$__ezw]--; if ($__ezt->[$__ezw] < $__ezm->[$__ezy-1]){ $__ezt->[$__ezw] = $__ezq + $__ezm->[$__ezy-1] - 1; } } if ($__fah != $__fai) { $__faj = 1; $__fad = 0; } if (($__fad >= $__ezq) || ($__fae > 50)){ $__fad = 0; $__fae = 0; if ($__faj) { $__faj = 0; $__fag = 1 - $__fag; } $__fac++; if ($__faf == 1) { $__ezt->[$__ezv]++; if ($__ezt->[$__ezv] >= ($__ezp + $__ezm->[$__ezx-1])){ $__ezt->[$__ezv] = $__ezm->[$__ezx-1]; } } else { $__ezt->[$__ezv]--; if ($__ezt->[$__ezv] < $__ezm->[$__ezx-1]){ $__ezt->[$__ezv] = $__ezp + $__ezm->[$__ezx-1] - 1; } } if ($__fac > 50){ authlib8_4_8::_bse(0, "Too many Prohibitions in ACA design file. Call Sawtooth Software (or your Sawtooth Software representative) for assistance."); $__ezr = 1; return $__ezr; } } $__fai = $__fah; goto abc; } return $__ezr; } sub _cfp { my($__fam, $__fan) = @_; my $__fak = $__fam->{'_asc'}; my $__fal = $__fam->{'_cgd'}; my ($__fao,$__fap,$__faq) = (0) x 3; $__fao = @{$__fak}; for($__fap=0;$__fap<$__fao;$__fap++){ $__faq = $__fal->[$__fap]; if (($__fan >= $__faq) && ($__fan < ($__faq + @{$__fak->[$__fap]->{'_bca'}}))){ return ($__fap+1,($__fan - $__faq+1)); } } } sub _cfq { my ($__fas, $__fat, $__fau, $__fav, $__faw) = @_; my $__far = $__fas->{'_cgd'}; my ($__fax,$__fay) = (0) x 2; if ($__faw == 0 || $__faw == 1){ $__fay = 1; } elsif ($__faw == 2 || $__faw == 5){ $__fay = .5; } elsif ($__faw == 3 || $__faw == 4){ $__fay = .25; } elsif ($__faw == 6 || $__faw == 7){ $__fay = .75; } if ($__faw < 8){ if ($__faw%2 == 1){ if ($__fav < $__fay * $__fau){ $__fax = $__far->[$__fat->[$__fav*4]] + $__fat->[$__fav*4+2]; } else { $__fax = $__far->[$__fat->[$__fav*4]] + $__fat->[$__fav*4+3]; } } else { if ($__fav >= $__fay * $__fau){ $__fax = $__far->[$__fat->[$__fav*4]] + $__fat->[$__fav*4+2]; } else { $__fax = $__far->[$__fat->[$__fav*4]] + $__fat->[$__fav*4+3]; } } } return $__fax; } sub _cfr { my($__fbi, $__fbj, $__fbk) = @_; my $__faz = 0; my $__fba = 0; my $__fbb = 0; my $__fbc = 0; my $__fbd = 0; my $__fbe = $__fbi->{'_cga'}; if (authlib8_4_8::_bnc($__fbe . "_Importance1") eq "") { $__faz = 0; } else { if (!exists $__fbi->{'_cgc'}->{'blnComputeUtils'}) { if (exists $authlib8_4_8::_bwq{$__fbe . "_Pair1"}) { my $__fbf = $__fbe . "_Pair"; $__fba = grep(/^$__fbf/, keys(%authlib8_4_8::_bwq)); $__fba = $__fba + 1; $__fbc = $authlib8_4_8::_bwq{$__fbe . "_Pair1"}; $__fbd = $__fbc->{'_w'}; seek $authlib8_4_8::_byh, ($__fbd), 0; $__fbb = authlib8_4_8::_bps(0); } _cez($__fbi, $__fba, $__fbb); } _cfs($__fbi); if ($__fbk > 0) { my $__fbg = $__fbi->{'_cgc'}->{'ACAUtil'}; $__faz = $__fbg->[$__fbi->{'_cgd'}->[$__fbj-1] + $__fbk - 1]; } else { my $__fbh = $__fbi->{'_cgc'}->{'ACAImp'}; $__faz = $__fbh->[$__fbj-1]; } } return $__faz; } sub _cfs { my($__fbr) = @_; my ($__fbs,$__fbt,$__fbu,$__fbv,$__fbw,$__fbx) = (0) x 6; my ($__fby,$__fbz,$__fca,$__fcb) = (0) x 4; my $__fbl = $__fbr->{'_asc'}; my $__fbm = $__fbr->{'_cgd'}; my $__fbn = 0; my $__fbo = 0; if (exists $__fbr->{'_cgc'}->{'XUtils'}) { $__fbo = $__fbr->{'_cgc'}->{'XUtils'}; } if (!exists $__fbr->{'_cgc'}->{'blnNormalizedUtils'}) { my @__fbp = (); my @__fbq = (); $__fcb = @{$__fbl}; for ($__fbs=0;$__fbs<$__fcb;$__fbs++){ $__fbx = 0; $__fbw = @{$__fbl->[$__fbs]->{'_bca'}}; $__fbu = $__fbm->[$__fbs]; $__fbv = _cfe($__fbr, $__fbu+1, $__fcb); for($__fbt=0;$__fbt<$__fbw;$__fbt++){ $__fbx = $__fbx + $__fbo->[$__fbv+$__fbt]; } if ($__fbw > 0){ $__fbx = $__fbx / $__fbw; } for($__fbt=0;$__fbt<$__fbw;$__fbt++){ $__fbn = $__fbu+$__fbt; $__fbp[$__fbn] = $__fbo->[$__fbv+$__fbt] - $__fbx; if ($__fbt == 0) { $__fby = $__fbp[$__fbu]; $__fbz = $__fbp[$__fbu]; } else { if ($__fbp[$__fbn] > $__fby) { $__fby = $__fbp[$__fbn]; } if ($__fbp[$__fbn] < $__fbz) { $__fbz = $__fbp[$__fbn]; } } } if ($__fby > $__fbz) { $__fca = $__fca + $__fby - $__fbz; } } for ($__fbs=0;$__fbs<$__fcb;$__fbs++){ $__fbw = @{$__fbl->[$__fbs]->{'_bca'}}; $__fbu = $__fbm->[$__fbs]; for($__fbt=0;$__fbt<$__fbw;$__fbt++){ if ($__fbt == 0) { $__fby = $__fbp[$__fbu]; $__fbz = $__fbp[$__fbu]; } else { if ($__fbp[$__fbu+$__fbt] > $__fby) { $__fby = $__fbp[$__fbu+$__fbt]; } if ($__fbp[$__fbu+$__fbt] < $__fbz) { $__fbz = $__fbp[$__fbu+$__fbt]; } } } if ($__fby > $__fbz && $__fca > 0) { $__fbq[$__fbs] = 100 * ($__fby - $__fbz) / $__fca; } else { $__fbq[$__fbs] = 0; } for($__fbt=0; ($__fbt < $__fbw) && ($__fca > 0); $__fbt++){ $__fbn = $__fbu+$__fbt; if ($__fbp[$__fbn] < 0) { $__fbp[$__fbn] = (abs($__fbp[$__fbn]) * $__fcb * 100 / $__fca) * -1; } else { $__fbp[$__fbn] = $__fbp[$__fbn] * $__fcb * 100 / $__fca; } } } $__fbr->{'_cgc'}->{'ACAUtil'} = \@__fbp; $__fbr->{'_cgc'}->{'ACAImp'} = \@__fbq; $__fbr->{'_cgc'}->{'blnNormalizedUtils'} = 1; } } sub _cft { my($__fcp) = @_; my $__fcc = $__fcp->{'_bkt'}; my $__fcd = $__fcc->{'_cgg'}; my @__fce = ('_bfd', '_bfi', '_jr', '_nd', '_bfs'); my $__fcf = ""; my $__fcg = ""; foreach $__fcf (@__fce) { if (exists $__fcc->{$__fcf}) { $__fcg = authlib8_4_8::_bsl($__fcc->{$__fcf}->{'_bft'}); if ($__fcp->{'_bgu'} == &authlib8_4_8::_CCA || $__fcp->{'_bgu'} == &authlib8_4_8::_CCB) { my $__fch = $__fcd->{'_asc'}; my $__fci = $__fcc->{'_cgh'}; $__fcg =~ s/\[%ACAATTRIBUTE\(\)%\]/$__fch->[$__fci - 1]->{'_bgt'}/sig; if ($__fcp->{'_bgu'} == &authlib8_4_8::_CCB) { my $__fcj = $__fcc->{'_cgi'}; my $__fck = $__fcc->{'_cgj'}; my $__fcl = $__fch->[$__fci - 1]->{'_bca'}->[$__fcj - 1]; my $__fcm = $__fch->[$__fci - 1]->{'_bca'}->[$__fck - 1]; $__fcg =~ s/\[%ACABEST\(\)%\]/$__fcl/sig; $__fcg =~ s/\[%ACAWORST\(\)%\]/$__fcm/sig; } } elsif ($__fcp->{'_bgu'} == &authlib8_4_8::_CCD) { my $__fcn = $__fcc->{'_bgp'}; my $__fco = $__fcc->{'_aop'}; $__fcg =~ s/\[%ACACALMIN\(\)%\]/$__fcn/sig; $__fcg =~ s/\[%ACACALMAX\(\)%\]/$__fco/sig; } $__fcc->{$__fcf}->{'_bft'} = $__fcg; } } } sub _cfu { my($__fde) = @_; my $__fcq = $__fde->{'_bgt'}; my $__fcr = $__fde->{'_bkt'}; my $__fcs = $__fcr->{'_cgg'}; my $__fct = acalib8_4_8::_cfb($__fcs, $__fcr); my $__fcu = $__fcr->{'_xa'}; my $__fcv = $__fcr->{'_mk'}; my $__fcw = $__fcr->{'_ml'}; my $__fcx = 0; my $__fcy = 0; my @__fcz = (); my $__fda = 0; my $__fdb = 0; my $__fdc = 0; my @__fdd = (); if ($__fcq =~ m/_Calibration(\d+)/) { $__fda = $1; $__fda--; } if ($__fcu == 1) { $__fcv = 1; } for ($__fcx = 0; $__fcx < $__fcv; $__fcx++) { @__fcz = (); for ($__fcy = 0; $__fcy < $__fcw; $__fcy++) { $__fdb = _cfq($__fcs, $__fct, $__fcw, $__fcy, ($__fda + $__fcx)); push @__fcz, $__fdb; } $__fdc = _cfo($__fcs, \@__fcz); if ($__fdc) { last; } if (exists $__fcr->{'_mn'}) { @__fcz = sort {$a <=> $b} @__fcz; } push @__fdd, [@__fcz]; } $__fcr->{'_bca'} = \@__fdd; return $__fdc; } sub _cfv { my ($__fdo, $__fdp, $__fdq) = @_; my $__fdf = 1; my $__fdg = 1; my $__fdh = 0; my $__fdi = 0; if ($__fdq > @{$__fdp}) { die("Script is referring to an attribute that is greater than the number of attributes in the study"); } else { $__fdi = $__fdp->[$__fdq - 1]->{'_bgu'}; $__fdh = @{$__fdp->[$__fdq - 1]->{'_bca'}}; if ($__fdi == 1) { $__fdf = $__fdh; $__fdg = 1; } elsif ($__fdi == 2 || $authlib8_4_8::_bzy) { $__fdf = 1; $__fdg = $__fdh; } else { my $__fdj = 1; my $__fdk = 1; my $__fdl = 1; my $__fdm = 1; my $__fdn = ""; for ($__fdj = 1; $__fdj <= $__fdh; $__fdj++) { $__fdn = $__fdo . "_Rating" . $__fdq . "_" . $__fdj; $__fdk = authlib8_4_8::_bnc($__fdn); if ($__fdk) { if ($__fdj == 1) { $__fdl = $__fdk; $__fdm = $__fdk; } else { if ($__fdk > $__fdl) { $__fdl = $__fdk; $__fdf = $__fdj; } elsif ($__fdk <= $__fdm) { $__fdm = $__fdk; $__fdg = $__fdj; } } } } } } return ($__fdf, $__fdg); } sub _cfw { my($__feg, $__feh) = @_; if (exists $__feg->{'_hk'}) { my $__fdr = $__feg->{'_hk'}; my $__fds = @{$__feg->{'_asc'}}; my $__fdt = 0; my $__fdu = 0; my $__fdv = []; my $__fdw = 0; my $__fdx = 0; my $__fdy = 0; my $__fdz = 0; if (exists $__fdr->{'_hl'}) { my $__fea = $__fdr->{'_hl'}; my $__feb = 0; ($__feb, $__fdv) = _cfx($__feh); if ($__feb < $__fea) { $__fdu = 1; } } elsif (exists $__fdr->{'_hm'}) { $__fdw = 1; $__fdv = $__fdr->{'_hm'}; for ($__fdt = 0; $__fdt < $__fds; $__fdt++) { $__fdx = $__fdv->[$__fdt]; if (authlib8_4_8::_brv($__fdx) == 0 || $__fdx < 0) { authlib8_4_8::_bse(0, "An incorrect value (" . $__fdx . ") was used while setting ACA Importance scores. This score has been set to 0."); $__fdx = 0; $__fdv->[$__fdt] = $__fdx; } else { $__fdx =~ s/,/\./; } if ($__fdt == 0) { $__fdy = $__fdx; $__fdz = $__fdx; } else { if ($__fdx < $__fdy) { $__fdy = $__fdx; } if ($__fdx > $__fdz) { $__fdz = $__fdx; } } } if ($__fdy == $__fdz) { $__fdu = 1; } } else { $__fdu = 1; } my $__fec = 0; my $__fed = 0; my $__fee = 0; my @__fef = (); if (!$__fdu) { if (@{$__fdv} != $__fds) { authlib8_4_8::_bqa(145, "ACA error.", "The number of ACAImportance scores generated " . @{$__fdv} . " does not match the number of attributes in the study (" . $__fds . ").", ""); } } for ($__fdt = 1; $__fdt <= $__fds; $__fdt++) { if ($__fdu) { $__fee = $__feg->{'_cgb'} / 2; } else { $__fee = $__fdv->[$__fdt - 1]; if ($__fdw) { $__fee = (($__fee * $__feg->{'_cgb'}) / $__fdz); } } ($__fec, $__fed) = _cfv($__feh, $__feg->{'_asc'}, $__fdt); push @__fef, [$__feh . "_Importance" . $__fdt, $__fee . "," . $__fec . "," . $__fed]; } authlib8_4_8::_boc(\@__fef, $authlib8_4_8::_bzi{"hid_respnum"}, 1, 1); authlib8_4_8::_bnu(\@__fef, $authlib8_4_8::_bzi{"hid_respnum"}, 0); } else { authlib8_4_8::_bqa(146, "", "Arrived at ACAPair section without any ACAImportance data.", ""); } } sub _cfx { my ($__fen) = @_; my $__fei = 0; my $__fej = 0; my $__fek = {}; my $__fel = ""; eval { $__fel = "SELECT * FROM `" . $authlib8_4_8::_bzb . "_aca_avg_imp` WHERE `exercise_name` = " . $authlib8_4_8::_byw->quote($__fen); $__fek = $authlib8_4_8::_byw->selectrow_hashref(authlib8_4_8::_bmy($__fel, 0)); }; if (keys %{$__fek}) { $__fei = $__fek->{"num_respondents"}; my @__fem = split(/,/, $__fek->{"scores_array"}); $__fej = \@__fem; } return($__fei, $__fej); } 1;  package acaratlib8_4_8; our @ISA = qw(acalib8_4_8); sub new { my ($__feo) = @_; $__feo->{'_bmc'} = "acarating"; bless($__feo); return $__feo; } sub _bls { my ($__fet) = @_; $__fet->SUPER::_bls(); my $__fep = $__fet->{'_bgt'}; my $__feq = $__fet->{'_bkt'}; my $__fer = 0; if ($__fep =~ m/_Rating(\d+)/i) { $__fer = $1; } my $__fes = @{$__feq->{'_cgg'}->{'_asc'}->[$__fer - 1]->{'_bca'}}; $__feq->{'_cgh'} = $__fer; $__feq->{'_cgk'} = $__fes; acalib8_4_8::_cft($__fet); } sub _blt { my ($__fex) = @_; my $__feu = ""; my $__fev = ""; my $__few = $__fex->{'_bkt'}; if (exists $__few->{'_nd'}) { $__fev = ciwlib8_4_8::_bkb($__few->{'_nd'}, 0, 0); if ($__fev) { $__feu .= "\n#" . $__fex->{'_bgt'} . "_div .row_label_cell {" . $__fev . "}\n"; } } if (exists $__few->{'_bdl'}) { $__feu .= "\n#" . $__fex->{'_bgt'} . "_div .inner_table .input_cell {padding: " . $__few->{'_bdl'} . "px;}\n"; $__feu .= "\n#" . $__fex->{'_bgt'} . "_div .inner_table .row_label_cell {padding: " . $__few->{'_bdl'} . "px;}\n"; } if (exists $__few->{'_vq'}) { $__fev = ciwlib8_4_8::_bkb($__few->{'_vq'}, 0, 0); if ($__fev) { $__feu .= "\n#" . $__fex->{'_bgt'} . "_div .anchor_text_cell {" . $__fev . "}\n"; } } if (exists $__few->{'_bef'}) { if (exists $__few->{'_bef'}->{'_beg'}) { $__feu .= "\n#" . $__fex->{'_bgt'} . "_div .alt_color1 {background-color: #" . $__few->{'_bef'}->{'_beg'} . ";}\n"; } if (exists $__few->{'_bef'}->{'_beh'}) { $__feu .= "\n#" . $__fex->{'_bgt'} . "_div .alt_color2 {background-color: #" . $__few->{'_bef'}->{'_beh'} . ";}\n"; } } return $__feu; } sub _bmf { my ($__ffo, $__ffp, $__ffq, $__ffr, $__ffs) = @_; my $__fey = ""; my $__fez = $__ffo->{'_bgt'}; my $__ffa = $__ffo->{'_bkt'}; my $__ffb = $__ffa->{'_cgg'}; my $__ffc = $__ffa->{'_cgh'}; my $__ffd = $__ffa->{'_cgk'}; my $__ffe = 0; my $__fff = 0; my $__ffg = ""; my $__ffh = ""; my $__ffi = @{$__ffa->{'_vq'}->{'_vr'}}; my $__ffj = 20; if (exists $__ffa->{'_bdj'}) { $__ffj = $__ffa->{'_bdj'}; } if ($__ffi < 2) { $__ffi = 2; } my $__ffk = int((100 - $__ffj) / $__ffi); $__fey .= "<table class=\"inner_table\" width=\"100%\">\n"; if (exists($__ffa->{'_jr'})) { $__fey .= "<tr><td>&nbsp;</td>"; $__fey .= "<td class=\"scale_header_cell\" colspan=\"" . $__ffi . "\">"; $__fey .= "<div class=\"scale_header\" "; $__fey .= ciwlib8_4_8::_bkb($__ffa->{'_jr'}, 1, 0); $__fey .= ">\n" . $__ffa->{'_jr'}->{'_bft'}; $__fey .= "</div></td></tr>"; } $__fey .= "<tr><td>&nbsp;</td>"; for ($__ffe = 0; $__ffe < $__ffi; $__ffe++) { $__fey .= "<td width=\"" . $__ffk . "%\" class=\"anchor_text_cell\""; if($__ffa->{'_vq'}->{'_bfw'}->[$__ffe] ne "") { $__fey .= " style=\"text-align: " . $__ffa->{'_vq'}->{'_bfw'}->[$__ffe] . "\""; } $__fey .= "><div class=\"anchor_text\">\n"; $__ffg = $__ffa->{'_vq'}->{'_vr'}->[$__ffe]; if ($__ffg eq "") { $__fey .= "&nbsp;"; } else { $__fey .= $__ffg; } $__fey .= "</div></td>"; } $__fey .= "</tr>\n"; my $__ffl = 0; my $__ffm = []; my $__ffn = 0; if (exists $__ffa->{'_hs'}) { $__ffn = 1; $__ffm = authlib8_4_8::_bsi($__ffq, $__ffd, 7417); } for ($__ffe = 0; $__ffe < $__ffd; $__ffe++) { if ($__ffn) { $__ffl = $__ffm->[$__ffe]; } else { $__ffl = $__ffe; } $__fey .= "<tr "; $__ffh = $__fez . "_" . ($__ffl + 1); $__fey .= "id=\"" . $__ffh . "_row\""; if ($__ffs) { $__fey .= " class=\"alt_color1\" "; } else { $__fey .= " class=\"alt_color2\" "; } $__fey .= ">\n"; $__fey .= "<td width=\"" . $__ffj . "%\" class=\"row_label_cell " . $__ffh . "\">"; $__fey .= "<div class=\"label_text\">\n"; $__fey .= $__ffb->{'_asc'}->[$__ffc - 1]->{'_bca'}->[$__ffl]; $__fey .= "</div>\n"; $__fey .= "</td>\n"; for ($__fff = 0; $__fff < $__ffi; $__fff++) { $__fey .= "<td class=\"input_cell clickable " . $__ffh . "\">"; $__fey .= ciwlib8_4_8::_bkd($__ffh, $__fff + 1, 1, $__ffa); $__fey .= "</td>"; } $__fey .= "</tr>\n"; if ($authlib8_4_8::_byb) { $__fey .= "<!--LoadTestMode: <question><name>$__ffh</name><type>acarat</type><min>1</min><max>$__ffi</max></question>-->\n"; } $__ffs = !$__ffs; } $__fey .= "</table>\n"; $__fey .= "<input type=\"hidden\" name=\"hid_" . $__fez . "_levels\" value=\"" . $__ffd . "\">\n"; return $__fey; } sub _bmg { my($__fga, $__fgb, $__fgc, $__fgd) = @_; my $__fft = $__fga->{'_bgt'}; my $__ffu = $__fga->{'_bkt'}; my $__ffv = $__ffu->{'_cgh'}; my $__ffw = $__ffu->{'_cgk'}; my $__ffx = 0; my $__ffy = ""; my $__ffz = ""; if (exists $__ffu->{'_bds'}) { $__ffz = $__ffu->{'_bds'}; } for ($__ffx = 1; $__ffx <= $__ffw; $__ffx++) { $__ffy = "SSI_RadCheck(\"" . $__fft . "_" . $__ffx . "\",\"" . $__fft . "\",\"" . $__ffz . "\"," . $__fgd . ", true)"; push @{$__fgb}, ($__ffy); } $__fgc->{'_bli'} = 1; } 1;  package acaimplib8_4_8; our @ISA = qw(acalib8_4_8); sub new { my ($__fge) = @_; $__fge->{'_bmc'} = "acaimportance"; bless($__fge); return $__fge; } sub _bls { my ($__fgk) = @_; $__fgk->SUPER::_bls(); my $__fgf = $__fgk->{'_bgt'}; my $__fgg = $__fgk->{'_bkt'}; my $__fgh = $__fgg->{'_cgg'}; my $__fgi = $__fgh->{'_asc'}; my $__fgj = 0; if ($__fgf =~ m/_Importance(\d+)/i) { $__fgj = $1; } my ($__fgl, $__fgm) = acalib8_4_8::_cfv($__fgh->{'_cga'}, $__fgi, $__fgj); $__fgg->{'_cgh'} = $__fgj; $__fgg->{'_cgi'} = $__fgl; $__fgg->{'_cgj'} = $__fgm; acalib8_4_8::_cft($__fgk); } sub _blt { my ($__fgq) = @_; my $__fgn = ""; my $__fgo = ""; my $__fgp = $__fgq->{'_bkt'}; if (exists $__fgp->{'_nd'}) { $__fgo = ciwlib8_4_8::_bkb($__fgp->{'_nd'}, 0, 0); if ($__fgo) { $__fgn .= "\n#" . $__fgq->{'_bgt'} . "_div .row_label_cell {" . $__fgo . "}\n"; } } if (exists $__fgp->{'_vq'}) { $__fgo = ciwlib8_4_8::_bkb($__fgp->{'_vq'}, 0, 0); if ($__fgo) { $__fgn .= "\n#" . $__fgq->{'_bgt'} . "_div .anchor_text_cell {" . $__fgo . "}\n"; } } if (exists $__fgp->{'_bdl'}) { $__fgn .= "\n#" . $__fgq->{'_bgt'} . "_div .inner_table .input_cell {padding: " . $__fgp->{'_bdl'} . "px;}\n"; $__fgn .= "\n#" . $__fgq->{'_bgt'} . "_div .inner_table .row_label_cell {padding: " . $__fgp->{'_bdl'} . "px;}\n"; } if (exists $__fgp->{'_bef'}) { if (exists $__fgp->{'_bef'}->{'_beg'}) { $__fgn .= "\n#" . $__fgq->{'_bgt'} . "_div .alt_color1 {background-color: #" . $__fgp->{'_bef'}->{'_beg'} . ";}\n"; } if (exists $__fgp->{'_bef'}->{'_beh'}) { $__fgn .= "\n#" . $__fgq->{'_bgt'} . "_div .alt_color2 {background-color: #" . $__fgp->{'_bef'}->{'_beh'} . ";}\n"; } } return $__fgn; } sub _bmf { my ($__fhe, $__fhf, $__fhg, $__fhh, $__fhi) = @_; my $__fgr = ""; my $__fgs = $__fhe->{'_bkt'}; my $__fgt = $__fhe->{'_bgt'}; my $__fgu = 0; my $__fgv = 0; my $__fgw = 0; my $__fgx = 0; my $__fgy = ""; my $__fgz = 0; my $__fha = 0; my $__fhb = @{$__fgs->{'_vq'}->{'_vr'}}; my $__fhc = 30; if (exists $__fgs->{'_bdj'}) { $__fhc = $__fgs->{'_bdj'}; } if ($__fhb < 2) { $__fhb = 2; } my $__fhd = int((100 - $__fhc) / $__fhb); $__fgr .= "<table class=\"inner_table\" width=\"100%\">"; if (exists($__fgs->{'_jr'})) { $__fgr .= "<tr><td>&nbsp;</td>"; $__fgr .= "<td class=\"scale_header_cell\" colspan=\"" . $__fhb . "\">\n"; $__fgr .= "<div class=\"scale_header\" "; $__fgr .= ciwlib8_4_8::_bkb($__fgs->{'_jr'}, 1, 0); $__fgr .= ">\n" . $__fgs->{'_jr'}->{'_bft'}; $__fgr .= "</div></td></tr>"; } $__fgr .= "<tr><td>&nbsp;</td>"; for ($__fgx = 0; $__fgx < $__fhb; $__fgx++) { $__fgr .= "<td width=\"" . $__fhd . "%\" class=\"anchor_text_cell\""; if($__fgs->{'_vq'}->{'_bfw'}->[$__fgx] ne "") { $__fgr .= " style=\"text-align: " . $__fgs->{'_vq'}->{'_bfw'}->[$__fgx] . "\""; } $__fgr .= "><div class=\"anchor_text\">\n"; $__fgy = $__fgs->{'_vq'}->{'_vr'}->[$__fgx]; if ($__fgy eq "") { $__fgr .= "&nbsp;"; } else { $__fgr .= $__fgy; } $__fgr .= "</div></td>"; } $__fgr .= "</tr>\n"; $__fgr .= "<tr"; if ($__fhi == 1) { $__fgr .= " class=\"alt_color1\" "; } else { $__fgr .= " class=\"alt_color2\" "; } $__fgr .= ">\n"; $__fgr .= "<td width=\"" . $__fhc . "%\" class=\"row_label_cell\">"; $__fgr .= "<div class=\"label_text\">\n"; $__fgr .= $__fgs->{'_nd'}->{'_bft'}; $__fgr .= "</div>\n"; $__fgr .= "</td>\n"; for ($__fgx = 0; $__fgx < $__fhb; $__fgx++) { $__fgr .= "<td class=\"input_cell clickable\">"; $__fgr .= ciwlib8_4_8::_bkd($__fgt, $__fgx + 1, 1, $__fgs); $__fgr .= "</td>\n"; } $__fgr .= "</tr>\n"; $__fgr .= "</table>\n"; $__fgr .= "<input type=\"hidden\" name=\"hid_" . $__fgt . "\" value=\"" . $__fgs->{'_cgi'} . "," . $__fgs->{'_cgj'} . "\">\n"; if ($authlib8_4_8::_byb) { $__fgr .= "<!--LoadTestMode: <question><name>$__fgt</name><type>acaimp</type><min>1</min><max>$__fhb</max></question>-->\n"; } return $__fgr; } sub _bmg { my($__fhn, $__fho, $__fhp, $__fhq) = @_; my $__fhj = $__fhn->{'_bgt'}; my $__fhk = $__fhn->{'_bkt'}; my $__fhl = ""; if (exists $__fhk->{'_bds'}) { $__fhl = $__fhk->{'_bds'}; } my $__fhm = "SSI_RadCheck(\"" . $__fhj . "\",\"" . $__fhj . "\",\"" . $__fhl . "\"," . $__fhq . ", true)"; push @{$__fho}, ($__fhm); $__fhp->{'_bli'} = 1; } 1;  package acaparlib8_4_8; our @ISA = qw(acalib8_4_8); sub new { my ($__fhr) = @_; $__fhr->{'_bmc'} = "acapair"; bless($__fhr); return $__fhr; } sub _bls { my ($__fhx) = @_; $__fhx->SUPER::_bls(); my $__fhs = $__fhx->{'_bgt'}; my $__fht = ""; my $__fhu = $__fhx->{'_bkt'}; my $__fhv = 0; if ($__fhs =~ m/(.*?)_Pair(\d+)/) { $__fht = $1; $__fhv = $2; } my $__fhw = $__fhu->{'_cgg'}; if ((authlib8_4_8::_bnc($__fht . "_Importance1") eq "") && ($authlib8_4_8::_bzy == 0)) { acalib8_4_8::_cfw($__fhw, $__fht); } acalib8_4_8::_cez($__fhw, $__fhv, $__fhu); } sub _blt { my ($__fic) = @_; my $__fhy = ""; my $__fhz = ""; my $__fia = $__fic->{'_bkt'}; if (exists $__fia->{'_nd'}) { if (exists $__fia->{'_nd'}->{'_bfu'}) { my $__fib = $__fia->{'_nd'}->{'_bfu'}; if (exists $__fib->{'_bfw'}) { if ($__fib->{'_bfw'} eq "left - right") { $__fhy .= "\n#" . $__fic->{'_bgt'} . "_div .left_concept {text-align: left;}\n"; $__fhy .= "\n#" . $__fic->{'_bgt'} . "_div .right_concept {text-align: right;}\n"; } } } $__fhz = ciwlib8_4_8::_bkb($__fia->{'_nd'}, 0, 0); if ($__fhz) { $__fhy .= "\n#" . $__fic->{'_bgt'} . "_div .level_text_cell {" . $__fhz . "}\n"; } } if (exists $__fia->{'_vq'}) { $__fhz = ciwlib8_4_8::_bkb($__fia->{'_vq'}, 0, 0); if ($__fhz) { $__fhy .= "\n#" . $__fic->{'_bgt'} . "_div .anchor_text_cell {" . $__fhz . "}\n"; } } if (exists $__fia->{'_bdl'}) { $__fhy .= "\n#" . $__fic->{'_bgt'} . "_div .inner_table .level_text_cell {padding: " . $__fia->{'_bdl'} . "px;}\n"; } if (exists $__fia->{'_bef'}) { if (exists $__fia->{'_bef'}->{'_beg'}) { $__fhy .= "\n#" . $__fic->{'_bgt'} . "_div .alt_color1 {background-color: #" . $__fia->{'_bef'}->{'_beg'} . ";}\n"; } if (exists $__fia->{'_bef'}->{'_beh'}) { $__fhy .= "\n#" . $__fic->{'_bgt'} . "_div .alt_color2 {background-color: #" . $__fia->{'_bef'}->{'_beh'} . ";}\n"; } } if (exists $__fia->{'_bdk'}) { $__fhy .= "\n#" . $__fic->{'_bgt'} . "_div .level_text_cell{border-width: " . $__fia->{'_bdk'} . "px; border-style: solid;}\n"; } return $__fhy; } sub _bmf { my ($__fjb, $__fjc, $__fjd, $__fje, $__fjf) = @_; my $__fid = ""; my $__fie = $__fjb->{'_bgt'}; my $__fif = $__fjb->{'_bkt'}; my $__fig = $__fif->{'_cgg'}; my $__fih = 0; my ($__fjg, $__fjh) = (0) x 2; my $__fii = ""; my $__fij = ""; my $__fik = 0; my $__fil = 0; my $__fim = @{$__fif->{'_vq'}->{'_vr'}}; my $__fin = $__fif->{'_vq'}->{'_bfw'}; my $__fio = ""; my $__fip = 50; my $__fiq = 0; my $__fir = 0; my $__fis = "alt_color1"; my $__fit = "alt_color2"; if ($__fjf == 0) { $__fis = "alt_color2"; $__fit = "alt_color1"; } if ($__fie =~ m/_Pair(\d+)/i) { $__fik = $1; $__fik--; } $__fih = $__fif->{'_ks'} + int ($__fik / $__fif->{'_kr'}); if ($__fih > $__fif->{'_kt'}) { $__fih = $__fif->{'_kt'}; } my $__fiu = acalib8_4_8::_cfi($__fig, $__fih, $__fik, $__fif->{'_ml'}); my $__fiv = @{$__fiu}; my @__fiw = (); for ($__fjh = 0; $__fjh < $__fiv; $__fjh += 2) { push @__fiw, [$__fiu->[$__fjh], $__fiu->[$__fjh + 1]]; } if (exists $__fif->{'_mn'}) { @__fiw = sort {$a->[0] <=> $b->[0]} @__fiw; } my $__fix = @__fiw; my $__fiy = ""; my $__fiz = ""; my $__fja = ""; for ($__fjh = 0; $__fjh < $__fix; $__fjh++) { $__fiy .= "-" . ($__fiw[$__fjh]->[0] + 1) . ","; $__fiz .= ($__fiw[$__fjh]->[1] + 1) . ","; } chop $__fiz; $__fja = $__fiy . $__fiz; $__fid .= "<input type=\"hidden\" name=\"hid_" . $__fie . "\" value=\"" . $__fja . "\">\n"; $__fid .= "<table class=\"inner_table\" width=\"100%\">\n"; $__fid .= "<tr><td>\n"; $__fid .= "<table class=\"acapair_table\" width=\"100%\">"; if (exists($__fif->{'_wa'})) { $__fip = 45; $__fiq = 10; } for ($__fjh = 0; $__fjh < $__fih; $__fjh++) { $__fid .= "<tr>"; $__fid .= "<td class=\"level_text_cell left_concept " . $__fis . "\" width=\"" . $__fip . "%\">\n"; $__fid .= "<div class=\"level_text\">\n"; $__fid .= $__fig->{'_cge'}->[$__fiw[$__fjh]->[0]]; $__fid .= "</div></td>"; if (($__fjh == 0) && (exists($__fif->{'_wa'}))) { $__fid .= "<td class=\"or_header_cell\" rowspan=\"" . $__fih . "\" valign=\"middle\" width=\"" . $__fiq . "%\">"; $__fid .= "<div class=\"or_header\""; $__fid .= ciwlib8_4_8::_bkb($__fif->{'_wa'}, 1, 0); $__fid .= ">\n"; $__fid .= $__fif->{'_wa'}->{'_bft'}; $__fid .= "</div></td>"; } $__fid .= "<td class=\"level_text_cell right_concept " . $__fit . "\" width=\"" . $__fip . "%\">\n"; $__fid .= "<div class=\"level_text\">\n"; $__fid .= $__fig->{'_cge'}->[$__fiw[$__fjh]->[1]]; $__fid .= "</div></td>"; $__fid .= "</tr>"; } $__fid .= "</table>"; $__fid .= "</td></tr>"; $__fid .= "<tr><td align=\"center\">\n"; $__fid .= "<table border=\"0\" width=\"98%\">"; $__fir = int(100 / $__fim); $__fid .= "<tr>"; for ($__fjh = 0; $__fjh < $__fim; $__fjh++) { $__fid .= "<td class=\"input_cell clickable\" width=\"" . $__fir . "%\">\n"; $__fid .= ciwlib8_4_8::_bkd($__fie, $__fjh + 1, 1, $__fif); $__fid .= "</td>\n"; } $__fid .= "</tr>"; $__fid .= "<tr>"; for ($__fjh = 0; $__fjh < $__fim; $__fjh++) { $__fid .= "<td valign=\"middle\" class=\"anchor_text_cell\""; if($__fif->{'_vq'}->{'_bfw'}->[$__fjh] ne "") { $__fid .= " style=\"text-align: " . $__fif->{'_vq'}->{'_bfw'}->[$__fjh] . "\""; } $__fid .= "><div class=\"anchor_text\">\n"; $__fid .= $__fif->{'_vq'}->{'_vr'}->[$__fjh]; $__fid .= "</div></td>"; } $__fid .= "</tr>"; $__fid .= "</table>"; $__fid .= "</td></tr>"; $__fid .= "</table>\n"; if ($authlib8_4_8::_byb) { $__fid .= "<!--LoadTestMode: <question><name>$__fie</name><type>acapar</type><min>1</min><max>$__fim</max></question>-->\n"; } return $__fid; } sub _bmg { my($__fjm, $__fjn, $__fjo, $__fjp) = @_; my $__fji = $__fjm->{'_bgt'}; my $__fjj = $__fjm->{'_bkt'}; my $__fjk = ""; if (exists $__fjj->{'_bds'}) { $__fjk = $__fjj->{'_bds'}; } my $__fjl = "SSI_RadCheck(\"" . $__fji . "\",\"" . $__fji . "\", \"" . $__fjk . "\"," . $__fjp . ", true)"; push @{$__fjn}, ($__fjl); $__fjo->{'_bli'} = 1; } 1;  package acacallib8_4_8; our @ISA = qw(acalib8_4_8); sub new { my ($__fjq) = @_; $__fjq->{'_bmc'} = "acacalibration"; bless($__fjq); return $__fjq; } sub _bls { my ($__fjv) = @_; $__fjv->SUPER::_bls(); my $__fjr = acalib8_4_8::_cfu($__fjv); if ($__fjr) { $__fjv->{'_bky'} = 1; } my $__fjs = $__fjv->{'_bkt'}->{'_xa'}; if ($__fjs == 2) { my $__fjt = $__fjv->{'_bgt'}; my $__fju = 0; if ($__fjt =~ m/_Calibration(\d)/i) { $__fju = $1; } if ($__fju > 1) { $__fjv->{'_bky'} = 1; } } acalib8_4_8::_cft($__fjv); } sub _blt { my ($__fjz) = @_; my $__fjw = ""; my $__fjx = ""; my $__fjy = $__fjz->{'_bkt'}; if (exists $__fjy->{'_nd'}) { $__fjx = ciwlib8_4_8::_bkb($__fjy->{'_nd'}, 0, 0); if ($__fjx) { $__fjw .= "\n#" . $__fjz->{'_bgt'} . "_div .level_text_cell {" . $__fjx . "}\n"; } } if (exists $__fjy->{'_bef'}) { if (exists $__fjy->{'_bef'}->{'_beg'}) { $__fjw .= "\n#" . $__fjz->{'_bgt'} . "_div .alt_color1 {background-color: #" . $__fjy->{'_bef'}->{'_beg'} . ";}\n"; } if (exists $__fjy->{'_bef'}->{'_beh'}) { $__fjw .= "\n#" . $__fjz->{'_bgt'} . "_div .alt_color2 {background-color: #" . $__fjy->{'_bef'}->{'_beh'} . ";}\n"; } } if (exists $__fjy->{'_bdk'}) { $__fjw .= "\n#" . $__fjz->{'_bgt'} . "_div .inner_table td{border-width: " . $__fjy->{'_bdk'} . "px; border-style: solid;}\n"; } if (exists $__fjy->{'_bdl'}) { $__fjw .= "\n#" . $__fjz->{'_bgt'} . "_div .inner_table .level_text_cell {padding: " . $__fjy->{'_bdl'} . "px;}\n"; } if (exists $__fjy->{'_bam'}) { $__fjw .= "\n#" . $__fjz->{'_bgt'} . "_div .inner_table {" . ciwlib8_4_8::_bkc($__fjy->{'_bam'}) . "}\n"; } if (exists $__fjy->{'_bal'}) { $__fjw .= "\n#" . $__fjz->{'_bgt'} . "_div .inner_table {width: " . $__fjy->{'_bal'} . "px;}\n"; } return $__fjw; } sub _bmf { my ($__fkr, $__fks, $__fkt, $__fku, $__fkv) = @_; my $__fka = ""; my $__fkb = $__fkr->{'_bgt'}; my $__fkc = $__fkr->{'_bkt'}; my $__fkd = $__fkc->{'_cgg'}; my $__fke = 0; my $__fkf = 0; my $__fkg = $__fkc->{'_mk'}; my $__fkh = ""; my $__fki = 0; my $__fkj = 0; my $__fkk = ""; my $__fkl = $__fkc->{'_xa'}; my $__fkm = $__fkc->{'_ml'}; my $__fkn = 0; my $__fko = $__fkc->{'_bgp'}; my $__fkp = $__fkc->{'_aop'}; $__fki = length(authlib8_4_8::_bpy($__fko)); $__fkj = length(authlib8_4_8::_bpy($__fkp)); if ($__fkj > $__fki) { $__fki = $__fkj; } if ($__fkl == 1) { $__fkg = 1; } $__fka .= "<table class=\"inner_table"; if ($__fkg == 1) { $__fka .= " single_concept"; } $__fka .= "\" width=\"100%\">"; $__fkn = int(100 / $__fkg); my $__fkq = ""; for ($__fke = 0; $__fke <= $__fkm; $__fke++) { $__fka .= "<tr>"; for ($__fkf = 0; $__fkf < $__fkg; $__fkf++) { $__fka .= "<td class=\""; if ($__fke == $__fkm) { $__fka .= "input_row"; } else { $__fka .= "level_text_cell"; } if ($__fkv) { $__fka .= " alt_color1"; } else { $__fka .= " alt_color2"; } $__fka .= "\""; if (exists $__fkc->{'_mj'} && $__fke == $__fkm) { $__fka .= " style=\"text-align: " . $__fkc->{'_mj'} . "\""; } $__fka .= " width=\"" . $__fkn . "%\">"; if ($__fke == $__fkm) { $__fkh = $__fkb; if ($__fkf > 0) { if ($__fkb =~ m/(.*?_Calibration)/i) { $__fkh = $1 . ($__fkf + 1); } } if (exists $authlib8_4_8::_bzi{"hid_test_mode"} && $__fkl == 2) { $__fka .= ciwlib8_4_8::_bjv($__fkh, 0, 1); } $__fka .= "<input type=\"tel\" class=\"numeric_input\" name=\"" . $__fkh . "\""; if (exists $__fkc->{'_bku'}) { $__fka .= " value=\"" . $__fkc->{'_bku'}->{$__fkh} . "\""; } $__fkq = join(",", map{$_ + 1} @{$__fkc->{'_bca'}->[$__fkf]}); $__fka .= " size=\"" . $__fki . "\" id=\"" . $__fkh . "_input\">\n"; $__fka .= "<input type=\"hidden\" name=\"hid_" . $__fkh . "\" value=\"" . $__fkq . "\">\n"; if ($authlib8_4_8::_byb) { $__fka .= "<!--LoadTestMode: <question><name>$__fkh</name><type>acacal</type><min>" . $__fko . "</min><max>" . $__fkp . "</max></question>-->\n"; } } else { $__fka .= "<div class=\"level_text\">\n"; $__fka .= $__fkd->{'_cge'}->[$__fkc->{'_bca'}->[$__fkf][$__fke]]; $__fka .= "</div>\n"; } $__fka .= "</td>"; if ($__fkl == 2) { $__fkv = !$__fkv; } } if (($__fkl == 2) && ($__fkg % 2)) { $__fkv = !$__fkv; } $__fka .= "</tr>"; } $__fka .= "</table>\n"; return $__fka; } sub _bmg { my($__flf, $__flg, $__flh, $__fli) = @_; my $__fkw = 0; my $__fkx = $__flf->{'_bgt'}; my $__fky = $__flf->{'_bkt'}; my $__fkz = $__fky->{'_mk'}; my $__fla = $__fky->{'_xa'}; my $__flb = ""; my $__flc = ""; my $__fld = ""; my $__fle = ""; if (exists $__fky->{'_bds'}) { $__fle = $__fky->{'_bds'}; } if ($__fkx =~ m/(.*?_Calibration)/i) { $__flb = $1; } if ($__fla == 1) { $__fkz = 1; } authlib8_4_8::_btm($__fky); for ($__fkw = 1; $__fkw <= $__fkz; $__fkw++) { if ($__fla == 2) { $__fld = $__flb . $__fkw; } else { $__fld = $__fkx; } $__flc = "SSI_NumCheck(\"" . $__fld . "\",\"" . $__fkx . "\",\"" . $__fle . "\", " . $__fli . ", true" . ", " . $__fky->{'_bgp'} . ", " . $__fky->{'_aop'} . ", \"\", false)"; push @{$__flg}, ($__flc); } $__flh->{'_blk'} = 1; } 1;
